@element-plus/nightly 0.0.20250722 → 0.0.20250723

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 (559) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +130 -36
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +130 -36
  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/anchor/index.mjs +1 -1
  278. package/es/components/anchor/src/anchor-link.mjs +81 -5
  279. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  280. package/es/components/anchor/src/anchor-link2.mjs +5 -81
  281. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  282. package/es/components/calendar/index.mjs +2 -2
  283. package/es/components/calendar/src/calendar.mjs +134 -16
  284. package/es/components/calendar/src/calendar.mjs.map +1 -1
  285. package/es/components/calendar/src/calendar2.mjs +16 -134
  286. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  287. package/es/components/collapse/index.mjs +2 -2
  288. package/es/components/collapse/src/collapse.mjs +23 -28
  289. package/es/components/collapse/src/collapse.mjs.map +1 -1
  290. package/es/components/collapse/src/collapse2.mjs +28 -23
  291. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  292. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  293. package/es/components/divider/index.mjs +2 -2
  294. package/es/components/divider/src/divider.mjs +16 -34
  295. package/es/components/divider/src/divider.mjs.map +1 -1
  296. package/es/components/divider/src/divider2.mjs +34 -16
  297. package/es/components/divider/src/divider2.mjs.map +1 -1
  298. package/es/components/dropdown/src/dropdown-item.mjs +3 -1
  299. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  300. package/es/components/dropdown/src/dropdown2.mjs +6 -2
  301. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  302. package/es/components/empty/index.mjs +2 -2
  303. package/es/components/empty/src/empty.mjs +11 -52
  304. package/es/components/empty/src/empty.mjs.map +1 -1
  305. package/es/components/empty/src/empty2.mjs +52 -11
  306. package/es/components/empty/src/empty2.mjs.map +1 -1
  307. package/es/components/form/src/hooks/use-form-item.mjs +16 -2
  308. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  309. package/es/components/image/index.mjs +2 -2
  310. package/es/components/image/src/image.mjs +65 -226
  311. package/es/components/image/src/image.mjs.map +1 -1
  312. package/es/components/image/src/image2.mjs +226 -65
  313. package/es/components/image/src/image2.mjs.map +1 -1
  314. package/es/components/index.mjs +15 -15
  315. package/es/components/input-tag/index.mjs +2 -2
  316. package/es/components/input-tag/src/input-tag.mjs +70 -215
  317. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  318. package/es/components/input-tag/src/input-tag2.mjs +215 -70
  319. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  320. package/es/components/link/index.mjs +2 -2
  321. package/es/components/link/src/link.mjs +25 -71
  322. package/es/components/link/src/link.mjs.map +1 -1
  323. package/es/components/link/src/link2.mjs +71 -25
  324. package/es/components/link/src/link2.mjs.map +1 -1
  325. package/es/components/menu/src/menu.mjs +12 -7
  326. package/es/components/menu/src/menu.mjs.map +1 -1
  327. package/es/components/message-box/src/index.mjs.map +1 -1
  328. package/es/components/page-header/index.mjs +2 -2
  329. package/es/components/page-header/src/page-header.mjs +16 -97
  330. package/es/components/page-header/src/page-header.mjs.map +1 -1
  331. package/es/components/page-header/src/page-header2.mjs +97 -16
  332. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  333. package/es/components/popover/index.mjs +2 -2
  334. package/es/components/popover/src/popover.mjs +66 -112
  335. package/es/components/popover/src/popover.mjs.map +1 -1
  336. package/es/components/popover/src/popover2.mjs +112 -66
  337. package/es/components/popover/src/popover2.mjs.map +1 -1
  338. package/es/components/scrollbar/index.mjs +1 -1
  339. package/es/components/scrollbar/src/bar2.mjs +1 -1
  340. package/es/components/scrollbar/src/scrollbar.d.ts +1 -0
  341. package/es/components/scrollbar/src/scrollbar.mjs +4 -0
  342. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  343. package/es/components/scrollbar/src/scrollbar.vue.d.ts +3 -0
  344. package/es/components/scrollbar/src/scrollbar2.mjs +49 -8
  345. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  346. package/es/components/scrollbar/src/thumb.mjs +11 -139
  347. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  348. package/es/components/scrollbar/src/thumb2.mjs +139 -11
  349. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  350. package/es/components/select/index.mjs +1 -1
  351. package/es/components/select/src/option.mjs +89 -13
  352. package/es/components/select/src/option.mjs.map +1 -1
  353. package/es/components/select/src/option2.mjs +13 -89
  354. package/es/components/select/src/option2.mjs.map +1 -1
  355. package/es/components/select/src/select2.mjs +1 -1
  356. package/es/components/select/src/useOption.mjs +1 -1
  357. package/es/components/slider/src/button.mjs +91 -19
  358. package/es/components/slider/src/button.mjs.map +1 -1
  359. package/es/components/slider/src/button2.mjs +19 -91
  360. package/es/components/slider/src/button2.mjs.map +1 -1
  361. package/es/components/slider/src/slider2.mjs +1 -1
  362. package/es/components/splitter/index.mjs +2 -2
  363. package/es/components/splitter/src/splitter.mjs +80 -7
  364. package/es/components/splitter/src/splitter.mjs.map +1 -1
  365. package/es/components/splitter/src/splitter2.mjs +7 -80
  366. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  367. package/es/components/statistic/index.mjs +2 -2
  368. package/es/components/statistic/src/statistic.mjs +69 -25
  369. package/es/components/statistic/src/statistic.mjs.map +1 -1
  370. package/es/components/statistic/src/statistic2.mjs +25 -69
  371. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  372. package/es/components/table-v2/src/renderers/row.mjs +2 -2
  373. package/es/components/table-v2/src/renderers/row.mjs.map +1 -1
  374. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +20 -12
  375. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  376. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs +18 -2
  377. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
  378. package/es/components/tooltip-v2/index.mjs +1 -1
  379. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  380. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  381. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  382. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  383. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  384. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  385. package/es/components/tour/index.mjs +2 -2
  386. package/es/components/tour/src/step.mjs +44 -168
  387. package/es/components/tour/src/step.mjs.map +1 -1
  388. package/es/components/tour/src/step2.mjs +168 -44
  389. package/es/components/tour/src/step2.mjs.map +1 -1
  390. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  391. package/es/components/transfer/src/transfer-panel.mjs +19 -130
  392. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  393. package/es/components/transfer/src/transfer-panel2.mjs +130 -19
  394. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  395. package/es/components/transfer/src/transfer2.mjs +1 -1
  396. package/es/components/upload/index.mjs +2 -2
  397. package/es/components/upload/src/upload-content2.mjs +1 -1
  398. package/es/components/upload/src/upload-dragger.mjs +61 -8
  399. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  400. package/es/components/upload/src/upload-dragger2.mjs +8 -61
  401. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  402. package/es/components/upload/src/upload-list.mjs +25 -173
  403. package/es/components/upload/src/upload-list.mjs.map +1 -1
  404. package/es/components/upload/src/upload-list2.mjs +173 -25
  405. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  406. package/es/components/upload/src/upload2.mjs +1 -1
  407. package/es/components/watermark/src/utils.d.ts +1 -1
  408. package/es/components/watermark/src/utils.mjs.map +1 -1
  409. package/es/index.d.ts +4 -0
  410. package/es/index.mjs +15 -15
  411. package/es/version.d.ts +1 -1
  412. package/es/version.mjs +1 -1
  413. package/es/version.mjs.map +1 -1
  414. package/lib/components/anchor/index.js +1 -1
  415. package/lib/components/anchor/src/anchor-link.js +81 -5
  416. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  417. package/lib/components/anchor/src/anchor-link2.js +5 -81
  418. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  419. package/lib/components/calendar/index.js +2 -2
  420. package/lib/components/calendar/src/calendar.js +134 -17
  421. package/lib/components/calendar/src/calendar.js.map +1 -1
  422. package/lib/components/calendar/src/calendar2.js +17 -134
  423. package/lib/components/calendar/src/calendar2.js.map +1 -1
  424. package/lib/components/collapse/index.js +2 -2
  425. package/lib/components/collapse/src/collapse.js +25 -28
  426. package/lib/components/collapse/src/collapse.js.map +1 -1
  427. package/lib/components/collapse/src/collapse2.js +28 -25
  428. package/lib/components/collapse/src/collapse2.js.map +1 -1
  429. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  430. package/lib/components/divider/index.js +2 -2
  431. package/lib/components/divider/src/divider.js +16 -34
  432. package/lib/components/divider/src/divider.js.map +1 -1
  433. package/lib/components/divider/src/divider2.js +34 -16
  434. package/lib/components/divider/src/divider2.js.map +1 -1
  435. package/lib/components/dropdown/src/dropdown-item.js +3 -1
  436. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  437. package/lib/components/dropdown/src/dropdown2.js +6 -2
  438. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  439. package/lib/components/empty/index.js +2 -2
  440. package/lib/components/empty/src/empty.js +11 -52
  441. package/lib/components/empty/src/empty.js.map +1 -1
  442. package/lib/components/empty/src/empty2.js +52 -11
  443. package/lib/components/empty/src/empty2.js.map +1 -1
  444. package/lib/components/form/src/hooks/use-form-item.js +15 -1
  445. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  446. package/lib/components/image/index.js +2 -2
  447. package/lib/components/image/src/image.js +65 -225
  448. package/lib/components/image/src/image.js.map +1 -1
  449. package/lib/components/image/src/image2.js +225 -65
  450. package/lib/components/image/src/image2.js.map +1 -1
  451. package/lib/components/index.js +15 -15
  452. package/lib/components/input-tag/index.js +2 -2
  453. package/lib/components/input-tag/src/input-tag.js +70 -214
  454. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  455. package/lib/components/input-tag/src/input-tag2.js +214 -70
  456. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  457. package/lib/components/link/index.js +2 -2
  458. package/lib/components/link/src/link.js +26 -71
  459. package/lib/components/link/src/link.js.map +1 -1
  460. package/lib/components/link/src/link2.js +71 -26
  461. package/lib/components/link/src/link2.js.map +1 -1
  462. package/lib/components/menu/src/menu.js +11 -6
  463. package/lib/components/menu/src/menu.js.map +1 -1
  464. package/lib/components/message-box/src/index.js.map +1 -1
  465. package/lib/components/page-header/index.js +2 -2
  466. package/lib/components/page-header/src/page-header.js +17 -97
  467. package/lib/components/page-header/src/page-header.js.map +1 -1
  468. package/lib/components/page-header/src/page-header2.js +97 -17
  469. package/lib/components/page-header/src/page-header2.js.map +1 -1
  470. package/lib/components/popover/index.js +2 -2
  471. package/lib/components/popover/src/popover.js +67 -112
  472. package/lib/components/popover/src/popover.js.map +1 -1
  473. package/lib/components/popover/src/popover2.js +112 -67
  474. package/lib/components/popover/src/popover2.js.map +1 -1
  475. package/lib/components/scrollbar/index.js +1 -1
  476. package/lib/components/scrollbar/src/bar2.js +1 -1
  477. package/lib/components/scrollbar/src/scrollbar.d.ts +1 -0
  478. package/lib/components/scrollbar/src/scrollbar.js +4 -0
  479. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  480. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +3 -0
  481. package/lib/components/scrollbar/src/scrollbar2.js +49 -8
  482. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  483. package/lib/components/scrollbar/src/thumb.js +11 -139
  484. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  485. package/lib/components/scrollbar/src/thumb2.js +139 -11
  486. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  487. package/lib/components/select/index.js +1 -1
  488. package/lib/components/select/src/option.js +89 -14
  489. package/lib/components/select/src/option.js.map +1 -1
  490. package/lib/components/select/src/option2.js +14 -89
  491. package/lib/components/select/src/option2.js.map +1 -1
  492. package/lib/components/select/src/select2.js +1 -1
  493. package/lib/components/select/src/useOption.js +1 -1
  494. package/lib/components/slider/src/button.js +91 -20
  495. package/lib/components/slider/src/button.js.map +1 -1
  496. package/lib/components/slider/src/button2.js +20 -91
  497. package/lib/components/slider/src/button2.js.map +1 -1
  498. package/lib/components/slider/src/slider2.js +1 -1
  499. package/lib/components/splitter/index.js +2 -2
  500. package/lib/components/splitter/src/splitter.js +80 -7
  501. package/lib/components/splitter/src/splitter.js.map +1 -1
  502. package/lib/components/splitter/src/splitter2.js +7 -80
  503. package/lib/components/splitter/src/splitter2.js.map +1 -1
  504. package/lib/components/statistic/index.js +2 -2
  505. package/lib/components/statistic/src/statistic.js +69 -25
  506. package/lib/components/statistic/src/statistic.js.map +1 -1
  507. package/lib/components/statistic/src/statistic2.js +25 -69
  508. package/lib/components/statistic/src/statistic2.js.map +1 -1
  509. package/lib/components/table-v2/src/renderers/row.js +2 -2
  510. package/lib/components/table-v2/src/renderers/row.js.map +1 -1
  511. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +20 -12
  512. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  513. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js +18 -2
  514. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
  515. package/lib/components/tooltip-v2/index.js +1 -1
  516. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  517. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  518. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  519. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  520. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  521. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  522. package/lib/components/tour/index.js +2 -2
  523. package/lib/components/tour/src/step.js +44 -167
  524. package/lib/components/tour/src/step.js.map +1 -1
  525. package/lib/components/tour/src/step2.js +167 -44
  526. package/lib/components/tour/src/step2.js.map +1 -1
  527. package/lib/components/transfer/src/composables/use-check.js +1 -1
  528. package/lib/components/transfer/src/transfer-panel.js +21 -130
  529. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  530. package/lib/components/transfer/src/transfer-panel2.js +130 -21
  531. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  532. package/lib/components/transfer/src/transfer2.js +1 -1
  533. package/lib/components/upload/index.js +2 -2
  534. package/lib/components/upload/src/upload-content2.js +1 -1
  535. package/lib/components/upload/src/upload-dragger.js +61 -9
  536. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  537. package/lib/components/upload/src/upload-dragger2.js +9 -61
  538. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  539. package/lib/components/upload/src/upload-list.js +26 -173
  540. package/lib/components/upload/src/upload-list.js.map +1 -1
  541. package/lib/components/upload/src/upload-list2.js +173 -26
  542. package/lib/components/upload/src/upload-list2.js.map +1 -1
  543. package/lib/components/upload/src/upload2.js +1 -1
  544. package/lib/components/watermark/src/utils.d.ts +1 -1
  545. package/lib/components/watermark/src/utils.js.map +1 -1
  546. package/lib/index.d.ts +4 -0
  547. package/lib/index.js +15 -15
  548. package/lib/version.d.ts +1 -1
  549. package/lib/version.js +1 -1
  550. package/lib/version.js.map +1 -1
  551. package/package.json +2 -2
  552. package/tags.json +1 -1
  553. package/theme-chalk/el-menu.css +1 -1
  554. package/theme-chalk/el-select-v2.css +1 -1
  555. package/theme-chalk/el-select.css +1 -1
  556. package/theme-chalk/index.css +1 -1
  557. package/theme-chalk/src/menu.scss +4 -0
  558. package/theme-chalk/src/select.scss +5 -0
  559. package/web-types.json +1 -1
@@ -1,85 +1,12 @@
1
- import { defineComponent, toRef, getCurrentInstance, watch, provide, reactive, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createVNode, createCommentVNode } from 'vue';
2
- import { splitterProps } from './splitter.mjs';
3
- import { splitterRootContextKey } from './type.mjs';
4
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
5
- import { useContainer } from './hooks/useContainer.mjs';
6
- import { useSize } from './hooks/useSize.mjs';
7
- import { useResize } from './hooks/useResize.mjs';
8
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
- import { useOrderedChildren } from '../../../hooks/use-ordered-children/index.mjs';
1
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
10
2
 
11
- const __default__ = defineComponent({
12
- name: "ElSplitter"
13
- });
14
- const _sfc_main = /* @__PURE__ */ defineComponent({
15
- ...__default__,
16
- props: splitterProps,
17
- emits: ["resizeStart", "resize", "resizeEnd", "collapse"],
18
- setup(__props, { emit: emits }) {
19
- const props = __props;
20
- const ns = useNamespace("splitter");
21
- const { containerEl, containerSize } = useContainer(toRef(props, "layout"));
22
- const {
23
- removeChild: unregisterPanel,
24
- children: panels,
25
- addChild: registerPanel,
26
- ChildrenSorter: PanelsSorter
27
- } = useOrderedChildren(getCurrentInstance(), "ElSplitterPanel");
28
- watch(panels, () => {
29
- panels.value.forEach((instance, index) => {
30
- instance.setIndex(index);
31
- });
32
- });
33
- const { percentSizes, pxSizes } = useSize(panels, containerSize);
34
- const { onMoveStart, onMoving, onMoveEnd, onCollapse, movingIndex } = useResize(panels, containerSize, pxSizes);
35
- const onResizeStart = (index) => {
36
- onMoveStart(index);
37
- emits("resizeStart", index, pxSizes.value);
38
- };
39
- const onResize = (index, offset) => {
40
- onMoving(index, offset);
41
- emits("resize", index, pxSizes.value);
42
- };
43
- const onResizeEnd = (index) => {
44
- onMoveEnd();
45
- emits("resizeEnd", index, pxSizes.value);
46
- };
47
- const onCollapsible = (index, type) => {
48
- onCollapse(index, type);
49
- emits("collapse", index, type, pxSizes.value);
50
- };
51
- provide(splitterRootContextKey, reactive({
52
- panels,
53
- percentSizes,
54
- pxSizes,
55
- layout: props.layout,
56
- movingIndex,
57
- containerSize,
58
- onMoveStart: onResizeStart,
59
- onMoving: onResize,
60
- onMoveEnd: onResizeEnd,
61
- onCollapse: onCollapsible,
62
- registerPanel,
63
- unregisterPanel
64
- }));
65
- return (_ctx, _cache) => {
66
- return openBlock(), createElementBlock("div", {
67
- ref_key: "containerEl",
68
- ref: containerEl,
69
- class: normalizeClass([unref(ns).b(), unref(ns).e(_ctx.layout)])
70
- }, [
71
- renderSlot(_ctx.$slots, "default"),
72
- createVNode(unref(PanelsSorter)),
73
- createCommentVNode(" Prevent iframe touch events from breaking "),
74
- unref(movingIndex) ? (openBlock(), createElementBlock("div", {
75
- key: 0,
76
- class: normalizeClass([unref(ns).e("mask"), unref(ns).e(`mask-${_ctx.layout}`)])
77
- }, null, 2)) : createCommentVNode("v-if", true)
78
- ], 2);
79
- };
3
+ const splitterProps = buildProps({
4
+ layout: {
5
+ type: String,
6
+ default: "horizontal",
7
+ values: ["horizontal", "vertical"]
80
8
  }
81
9
  });
82
- var Splitter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "splitter.vue"]]);
83
10
 
84
- export { Splitter as default };
11
+ export { splitterProps };
85
12
  //# sourceMappingURL=splitter2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitter2.mjs","sources":["../../../../../../packages/components/splitter/src/splitter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getCurrentInstance, provide, reactive, toRef, watch } from 'vue'\nimport { useNamespace, useOrderedChildren } from '@element-plus/hooks'\nimport { useContainer, useResize, useSize } from './hooks'\nimport { splitterProps } from './splitter'\nimport { type PanelItemState, splitterRootContextKey } from './type'\n\nconst ns = useNamespace('splitter')\n\ndefineOptions({\n name: 'ElSplitter',\n})\n\nconst emits = defineEmits<{\n (e: 'resizeStart', index: number, sizes: number[]): void\n (e: 'resize', index: number, sizes: number[]): void\n (e: 'resizeEnd', index: number, sizes: number[]): void\n (e: 'collapse', index: number, type: 'start' | 'end', sizes: number[]): void\n}>()\n\nconst props = defineProps(splitterProps)\n\nconst { containerEl, containerSize } = useContainer(toRef(props, 'layout'))\n\nconst {\n removeChild: unregisterPanel,\n children: panels,\n addChild: registerPanel,\n ChildrenSorter: PanelsSorter,\n} = useOrderedChildren<PanelItemState>(getCurrentInstance()!, 'ElSplitterPanel')\n\nwatch(panels, () => {\n panels.value.forEach((instance: PanelItemState, index: number) => {\n instance.setIndex(index)\n })\n})\n\nconst { percentSizes, pxSizes } = useSize(panels, containerSize)\n\nconst { onMoveStart, onMoving, onMoveEnd, onCollapse, movingIndex } = useResize(\n panels,\n containerSize,\n pxSizes\n)\n\nconst onResizeStart = (index: number) => {\n onMoveStart(index)\n emits('resizeStart', index, pxSizes.value)\n}\n\nconst onResize = (index: number, offset: number) => {\n onMoving(index, offset)\n emits('resize', index, pxSizes.value)\n}\n\nconst onResizeEnd = (index: number) => {\n onMoveEnd()\n emits('resizeEnd', index, pxSizes.value)\n}\n\nconst onCollapsible = (index: number, type: 'start' | 'end') => {\n onCollapse(index, type)\n emits('collapse', index, type, pxSizes.value)\n}\n\nprovide(\n splitterRootContextKey,\n reactive({\n panels,\n percentSizes,\n pxSizes,\n layout: props.layout,\n movingIndex,\n containerSize,\n onMoveStart: onResizeStart,\n onMoving: onResize,\n onMoveEnd: onResizeEnd,\n onCollapse: onCollapsible,\n registerPanel,\n unregisterPanel,\n })\n)\n</script>\n\n<template>\n <div ref=\"containerEl\" :class=\"[ns.b(), ns.e(layout)]\">\n <slot />\n <panels-sorter />\n <!-- Prevent iframe touch events from breaking -->\n <div v-if=\"movingIndex\" :class=\"[ns.e('mask'), ns.e(`mask-${layout}`)]\" />\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"splitter2.mjs","sources":["../../../../../../packages/components/splitter/src/splitter.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type Splitter from './splitter.vue'\n\nexport const splitterProps = buildProps({\n layout: {\n type: String,\n default: 'horizontal',\n values: ['horizontal', 'vertical'] as const,\n },\n} as const)\n\nexport type SplitterProps = ExtractPropTypes<typeof splitterProps>\nexport type SplitterPropsPublic = __ExtractPublicPropTypes<typeof splitterProps>\nexport type SplitterInstance = InstanceType<typeof Splitter> & unknown\n"],"names":[],"mappings":";;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,GAAG;AACH,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
- import Statistic from './src/statistic2.mjs';
2
- export { statisticProps } from './src/statistic.mjs';
1
+ import Statistic from './src/statistic.mjs';
2
+ export { statisticProps } from './src/statistic2.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElStatistic = withInstall(Statistic);
@@ -1,30 +1,74 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, normalizeStyle } from 'vue';
2
+ import { statisticProps } from './statistic2.mjs';
3
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
5
+ import { isFunction } from '@vue/shared';
6
+ import { isNumber } from '../../../utils/types.mjs';
2
7
 
3
- const statisticProps = buildProps({
4
- decimalSeparator: {
5
- type: String,
6
- default: "."
7
- },
8
- groupSeparator: {
9
- type: String,
10
- default: ","
11
- },
12
- precision: {
13
- type: Number,
14
- default: 0
15
- },
16
- formatter: Function,
17
- value: {
18
- type: definePropType([Number, Object]),
19
- default: 0
20
- },
21
- prefix: String,
22
- suffix: String,
23
- title: String,
24
- valueStyle: {
25
- type: definePropType([String, Object, Array])
8
+ const __default__ = defineComponent({
9
+ name: "ElStatistic"
10
+ });
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ ...__default__,
13
+ props: statisticProps,
14
+ setup(__props, { expose }) {
15
+ const props = __props;
16
+ const ns = useNamespace("statistic");
17
+ const displayValue = computed(() => {
18
+ const { value, formatter, precision, decimalSeparator, groupSeparator } = props;
19
+ if (isFunction(formatter))
20
+ return formatter(value);
21
+ if (!isNumber(value) || Number.isNaN(value))
22
+ return value;
23
+ let [integer, decimal = ""] = String(value).split(".");
24
+ decimal = decimal.padEnd(precision, "0").slice(0, precision > 0 ? precision : 0);
25
+ integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, groupSeparator);
26
+ return [integer, decimal].join(decimal ? decimalSeparator : "");
27
+ });
28
+ expose({
29
+ displayValue
30
+ });
31
+ return (_ctx, _cache) => {
32
+ return openBlock(), createElementBlock("div", {
33
+ class: normalizeClass(unref(ns).b())
34
+ }, [
35
+ _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("div", {
36
+ key: 0,
37
+ class: normalizeClass(unref(ns).e("head"))
38
+ }, [
39
+ renderSlot(_ctx.$slots, "title", {}, () => [
40
+ createTextVNode(toDisplayString(_ctx.title), 1)
41
+ ])
42
+ ], 2)) : createCommentVNode("v-if", true),
43
+ createElementVNode("div", {
44
+ class: normalizeClass(unref(ns).e("content"))
45
+ }, [
46
+ _ctx.$slots.prefix || _ctx.prefix ? (openBlock(), createElementBlock("div", {
47
+ key: 0,
48
+ class: normalizeClass(unref(ns).e("prefix"))
49
+ }, [
50
+ renderSlot(_ctx.$slots, "prefix", {}, () => [
51
+ createElementVNode("span", null, toDisplayString(_ctx.prefix), 1)
52
+ ])
53
+ ], 2)) : createCommentVNode("v-if", true),
54
+ createElementVNode("span", {
55
+ class: normalizeClass(unref(ns).e("number")),
56
+ style: normalizeStyle(_ctx.valueStyle)
57
+ }, toDisplayString(unref(displayValue)), 7),
58
+ _ctx.$slots.suffix || _ctx.suffix ? (openBlock(), createElementBlock("div", {
59
+ key: 1,
60
+ class: normalizeClass(unref(ns).e("suffix"))
61
+ }, [
62
+ renderSlot(_ctx.$slots, "suffix", {}, () => [
63
+ createElementVNode("span", null, toDisplayString(_ctx.suffix), 1)
64
+ ])
65
+ ], 2)) : createCommentVNode("v-if", true)
66
+ ], 2)
67
+ ], 2);
68
+ };
26
69
  }
27
70
  });
71
+ var Statistic = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "statistic.vue"]]);
28
72
 
29
- export { statisticProps };
73
+ export { Statistic as default };
30
74
  //# sourceMappingURL=statistic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"statistic.mjs","sources":["../../../../../../packages/components/statistic/src/statistic.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type {\n ExtractPropTypes,\n StyleValue,\n __ExtractPublicPropTypes,\n} from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Statistic from './statistic.vue'\n\nexport const statisticProps = buildProps({\n /**\n * @description Setting the decimal point\n */\n decimalSeparator: {\n type: String,\n default: '.',\n },\n /**\n * @description Sets the thousandth identifier\n */\n groupSeparator: {\n type: String,\n default: ',',\n },\n /**\n * @description numerical precision\n */\n precision: {\n type: Number,\n default: 0,\n },\n /**\n * @description Custom numerical presentation\n */\n formatter: Function,\n /**\n * @description Numerical content\n */\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n default: 0,\n },\n /**\n * @description Sets the prefix of a number\n */\n prefix: String,\n\n /**\n * @description Sets the suffix of a number\n */\n suffix: String,\n /**\n * @description Numeric titles\n */\n title: String,\n /**\n * @description Styles numeric values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n} as const)\nexport type StatisticProps = ExtractPropTypes<typeof statisticProps>\nexport type StatisticPropsPublic = __ExtractPublicPropTypes<\n typeof statisticProps\n>\n\nexport type StatisticInstance = InstanceType<typeof Statistic> & unknown\n"],"names":[],"mappings":";;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE,QAAQ;AACrB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"statistic.mjs","sources":["../../../../../../packages/components/statistic/src/statistic.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div v-if=\"$slots.title || title\" :class=\"ns.e('head')\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div :class=\"ns.e('content')\">\n <div v-if=\"$slots.prefix || prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\">\n <span>{{ prefix }}</span>\n </slot>\n </div>\n <span :class=\"ns.e('number')\" :style=\"valueStyle\">\n {{ displayValue }}\n </span>\n <div v-if=\"$slots.suffix || suffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\">\n <span>{{ suffix }}</span>\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isNumber } from '@element-plus/utils'\nimport { statisticProps } from './statistic'\n\ndefineOptions({\n name: 'ElStatistic',\n})\n\nconst props = defineProps(statisticProps)\nconst ns = useNamespace('statistic')\n\nconst displayValue = computed(() => {\n const { value, formatter, precision, decimalSeparator, groupSeparator } =\n props\n\n if (isFunction(formatter)) return formatter(value)\n\n // https://github.com/element-plus/element-plus/issues/17784\n if (!isNumber(value) || Number.isNaN(value)) return value\n\n let [integer, decimal = ''] = String(value).split('.')\n decimal = decimal\n .padEnd(precision, '0')\n .slice(0, precision > 0 ? precision : 0)\n integer = integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, groupSeparator)\n return [integer, decimal].join(decimal ? decimalSeparator : '')\n})\n\ndefineExpose({\n /**\n * @description current display value\n */\n displayValue,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;mCA+Bc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAGA,IAAM,MAAA,EAAA,GAAK,aAAa,WAAW,CAAA,CAAA;AAEnC,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,EAAE,KAAO,EAAA,SAAA,EAAW,SAAW,EAAA,gBAAA,EAAkB,gBACrD,GAAA,KAAA,CAAA;AAEF,MAAA,IAAI,UAAW,CAAA,SAAS,CAAG;AAG3B,QAAI,gBAAe,CAAA,KAAK;AAExB,MAAI,IAAA,CAAC,SAAS,KAAU,CAAA,IAAA,MAAM,CAAO,KAAA,CAAA,KAAK,CAAE;AAC5C,QAAU,OAAA,KAAA,CAAA;AAGV,MAAU,IAAA,CAAA,OAAA,EAAA,OAAgB,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,GAAuC,CAAA,CAAA;AACjE,MAAA,OAAO,GAAU,OAAA,CAAA,MAAO,UAAO,EAAA,GAAA,CAAA,CAAU,qBAAqB,CAAA,GAAA,SAAA,GAAA,CAAA,CAAA,CAAA;AAAA,MAC/D,OAAA,GAAA,OAAA,CAAA,OAAA,CAAA,uBAAA,EAAA,cAAA,CAAA,CAAA;AAED,MAAa,OAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,OAAA,GAAA,gBAAA,GAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAAA,MAAA,CAAA;AAAA,MAAA,YAAA;AAAA,KAIX,CAAA,CAAA;AAAA,IACF,OAAC,CAAA,IAAA,EAAA,MAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,74 +1,30 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, normalizeStyle } from 'vue';
2
- import { statisticProps } from './statistic.mjs';
3
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
5
- import { isFunction } from '@vue/shared';
6
- import { isNumber } from '../../../utils/types.mjs';
1
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
7
2
 
8
- const __default__ = defineComponent({
9
- name: "ElStatistic"
10
- });
11
- const _sfc_main = /* @__PURE__ */ defineComponent({
12
- ...__default__,
13
- props: statisticProps,
14
- setup(__props, { expose }) {
15
- const props = __props;
16
- const ns = useNamespace("statistic");
17
- const displayValue = computed(() => {
18
- const { value, formatter, precision, decimalSeparator, groupSeparator } = props;
19
- if (isFunction(formatter))
20
- return formatter(value);
21
- if (!isNumber(value) || Number.isNaN(value))
22
- return value;
23
- let [integer, decimal = ""] = String(value).split(".");
24
- decimal = decimal.padEnd(precision, "0").slice(0, precision > 0 ? precision : 0);
25
- integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, groupSeparator);
26
- return [integer, decimal].join(decimal ? decimalSeparator : "");
27
- });
28
- expose({
29
- displayValue
30
- });
31
- return (_ctx, _cache) => {
32
- return openBlock(), createElementBlock("div", {
33
- class: normalizeClass(unref(ns).b())
34
- }, [
35
- _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("div", {
36
- key: 0,
37
- class: normalizeClass(unref(ns).e("head"))
38
- }, [
39
- renderSlot(_ctx.$slots, "title", {}, () => [
40
- createTextVNode(toDisplayString(_ctx.title), 1)
41
- ])
42
- ], 2)) : createCommentVNode("v-if", true),
43
- createElementVNode("div", {
44
- class: normalizeClass(unref(ns).e("content"))
45
- }, [
46
- _ctx.$slots.prefix || _ctx.prefix ? (openBlock(), createElementBlock("div", {
47
- key: 0,
48
- class: normalizeClass(unref(ns).e("prefix"))
49
- }, [
50
- renderSlot(_ctx.$slots, "prefix", {}, () => [
51
- createElementVNode("span", null, toDisplayString(_ctx.prefix), 1)
52
- ])
53
- ], 2)) : createCommentVNode("v-if", true),
54
- createElementVNode("span", {
55
- class: normalizeClass(unref(ns).e("number")),
56
- style: normalizeStyle(_ctx.valueStyle)
57
- }, toDisplayString(unref(displayValue)), 7),
58
- _ctx.$slots.suffix || _ctx.suffix ? (openBlock(), createElementBlock("div", {
59
- key: 1,
60
- class: normalizeClass(unref(ns).e("suffix"))
61
- }, [
62
- renderSlot(_ctx.$slots, "suffix", {}, () => [
63
- createElementVNode("span", null, toDisplayString(_ctx.suffix), 1)
64
- ])
65
- ], 2)) : createCommentVNode("v-if", true)
66
- ], 2)
67
- ], 2);
68
- };
3
+ const statisticProps = buildProps({
4
+ decimalSeparator: {
5
+ type: String,
6
+ default: "."
7
+ },
8
+ groupSeparator: {
9
+ type: String,
10
+ default: ","
11
+ },
12
+ precision: {
13
+ type: Number,
14
+ default: 0
15
+ },
16
+ formatter: Function,
17
+ value: {
18
+ type: definePropType([Number, Object]),
19
+ default: 0
20
+ },
21
+ prefix: String,
22
+ suffix: String,
23
+ title: String,
24
+ valueStyle: {
25
+ type: definePropType([String, Object, Array])
69
26
  }
70
27
  });
71
- var Statistic = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "statistic.vue"]]);
72
28
 
73
- export { Statistic as default };
29
+ export { statisticProps };
74
30
  //# sourceMappingURL=statistic2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"statistic2.mjs","sources":["../../../../../../packages/components/statistic/src/statistic.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div v-if=\"$slots.title || title\" :class=\"ns.e('head')\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div :class=\"ns.e('content')\">\n <div v-if=\"$slots.prefix || prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\">\n <span>{{ prefix }}</span>\n </slot>\n </div>\n <span :class=\"ns.e('number')\" :style=\"valueStyle\">\n {{ displayValue }}\n </span>\n <div v-if=\"$slots.suffix || suffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\">\n <span>{{ suffix }}</span>\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isNumber } from '@element-plus/utils'\nimport { statisticProps } from './statistic'\n\ndefineOptions({\n name: 'ElStatistic',\n})\n\nconst props = defineProps(statisticProps)\nconst ns = useNamespace('statistic')\n\nconst displayValue = computed(() => {\n const { value, formatter, precision, decimalSeparator, groupSeparator } =\n props\n\n if (isFunction(formatter)) return formatter(value)\n\n // https://github.com/element-plus/element-plus/issues/17784\n if (!isNumber(value) || Number.isNaN(value)) return value\n\n let [integer, decimal = ''] = String(value).split('.')\n decimal = decimal\n .padEnd(precision, '0')\n .slice(0, precision > 0 ? precision : 0)\n integer = integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, groupSeparator)\n return [integer, decimal].join(decimal ? decimalSeparator : '')\n})\n\ndefineExpose({\n /**\n * @description current display value\n */\n displayValue,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;mCA+Bc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAGA,IAAM,MAAA,EAAA,GAAK,aAAa,WAAW,CAAA,CAAA;AAEnC,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,EAAE,KAAO,EAAA,SAAA,EAAW,SAAW,EAAA,gBAAA,EAAkB,gBACrD,GAAA,KAAA,CAAA;AAEF,MAAA,IAAI,UAAW,CAAA,SAAS,CAAG;AAG3B,QAAI,gBAAe,CAAA,KAAK;AAExB,MAAI,IAAA,CAAC,SAAS,KAAU,CAAA,IAAA,MAAM,CAAO,KAAA,CAAA,KAAK,CAAE;AAC5C,QAAU,OAAA,KAAA,CAAA;AAGV,MAAU,IAAA,CAAA,OAAA,EAAA,OAAgB,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,GAAuC,CAAA,CAAA;AACjE,MAAA,OAAO,GAAU,OAAA,CAAA,MAAO,UAAO,EAAA,GAAA,CAAA,CAAU,qBAAqB,CAAA,GAAA,SAAA,GAAA,CAAA,CAAA,CAAA;AAAA,MAC/D,OAAA,GAAA,OAAA,CAAA,OAAA,CAAA,uBAAA,EAAA,cAAA,CAAA,CAAA;AAED,MAAa,OAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,OAAA,GAAA,gBAAA,GAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAAA,MAAA,CAAA;AAAA,MAAA,YAAA;AAAA,KAIX,CAAA,CAAA;AAAA,IACF,OAAC,CAAA,IAAA,EAAA,MAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"statistic2.mjs","sources":["../../../../../../packages/components/statistic/src/statistic.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type {\n ExtractPropTypes,\n StyleValue,\n __ExtractPublicPropTypes,\n} from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Statistic from './statistic.vue'\n\nexport const statisticProps = buildProps({\n /**\n * @description Setting the decimal point\n */\n decimalSeparator: {\n type: String,\n default: '.',\n },\n /**\n * @description Sets the thousandth identifier\n */\n groupSeparator: {\n type: String,\n default: ',',\n },\n /**\n * @description numerical precision\n */\n precision: {\n type: Number,\n default: 0,\n },\n /**\n * @description Custom numerical presentation\n */\n formatter: Function,\n /**\n * @description Numerical content\n */\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n default: 0,\n },\n /**\n * @description Sets the prefix of a number\n */\n prefix: String,\n\n /**\n * @description Sets the suffix of a number\n */\n suffix: String,\n /**\n * @description Numeric titles\n */\n title: String,\n /**\n * @description Styles numeric values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n} as const)\nexport type StatisticProps = ExtractPropTypes<typeof statisticProps>\nexport type StatisticPropsPublic = __ExtractPublicPropTypes<\n typeof statisticProps\n>\n\nexport type StatisticInstance = InstanceType<typeof Statistic> & unknown\n"],"names":[],"mappings":";;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE,QAAQ;AACrB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC;;;;"}
@@ -64,7 +64,7 @@ const RowRenderer = (props, {
64
64
  rowEventHandlers,
65
65
  style
66
66
  };
67
- const handlerMosueEnter = (e) => {
67
+ const handlerMouseEnter = (e) => {
68
68
  onRowHover == null ? void 0 : onRowHover({
69
69
  hovered: true,
70
70
  rowKey: _rowKey,
@@ -84,7 +84,7 @@ const RowRenderer = (props, {
84
84
  };
85
85
  return createVNode(Row$1, mergeProps(_rowProps, {
86
86
  "onRowExpand": onRowExpanded,
87
- "onMouseenter": handlerMosueEnter,
87
+ "onMouseenter": handlerMouseEnter,
88
88
  "onMouseleave": handlerMouseLeave,
89
89
  "rowkey": _rowKey
90
90
  }), _isSlot(slots) ? slots : {
@@ -1 +1 @@
1
- {"version":3,"file":"row.mjs","sources":["../../../../../../../packages/components/table-v2/src/renderers/row.tsx"],"sourcesContent":["import { Row } from '../components'\nimport { tryCall } from '../utils'\n\nimport type {\n ComponentInternalInstance,\n FunctionalComponent,\n UnwrapNestedRefs,\n} from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\nimport type { TableGridRowSlotParams } from '../table-grid'\n\ntype RowRendererProps = TableGridRowSlotParams &\n Pick<\n TableV2Props,\n | 'expandColumnKey'\n | 'estimatedRowHeight'\n | 'rowProps'\n | 'rowClass'\n | 'rowKey'\n | 'rowEventHandlers'\n > &\n UnwrapNestedRefs<\n Pick<\n UseTableReturn,\n | 'depthMap'\n | 'expandedRowKeys'\n | 'hasFixedColumns'\n | 'onRowHovered'\n | 'onRowExpanded'\n | 'columnsStyles'\n >\n > & {\n ns: UseNamespaceReturn\n tableInstance?: ComponentInternalInstance\n }\n\nconst RowRenderer: FunctionalComponent<RowRendererProps> = (\n props,\n { slots }\n) => {\n const {\n columns,\n columnsStyles,\n depthMap,\n expandColumnKey,\n expandedRowKeys,\n estimatedRowHeight,\n hasFixedColumns,\n rowData,\n rowIndex,\n style,\n isScrolling,\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n ns,\n onRowHovered,\n onRowExpanded,\n } = props\n\n const rowKls = tryCall(rowClass, { columns, rowData, rowIndex }, '')\n const additionalProps = tryCall(rowProps, {\n columns,\n rowData,\n rowIndex,\n })\n const _rowKey = rowData[rowKey]\n const depth = depthMap[_rowKey] || 0\n const canExpand = Boolean(expandColumnKey)\n const isFixedRow = rowIndex < 0\n const kls = [\n ns.e('row'),\n rowKls,\n {\n [ns.e(`row-depth-${depth}`)]: canExpand && rowIndex >= 0,\n [ns.is('expanded')]: canExpand && expandedRowKeys.includes(_rowKey),\n [ns.is('fixed')]: !depth && isFixedRow,\n [ns.is('customized')]: Boolean(slots.row),\n },\n ]\n\n const onRowHover = hasFixedColumns ? onRowHovered : undefined\n\n const _rowProps = {\n ...additionalProps,\n columns,\n columnsStyles,\n class: kls,\n depth,\n expandColumnKey,\n estimatedRowHeight: isFixedRow ? undefined : estimatedRowHeight,\n isScrolling,\n rowIndex,\n rowData,\n rowKey: _rowKey,\n rowEventHandlers,\n style,\n }\n\n const handlerMosueEnter = (e: MouseEvent) => {\n onRowHover?.({\n hovered: true,\n rowKey: _rowKey,\n event: e,\n rowData,\n rowIndex,\n })\n }\n\n const handlerMouseLeave = (e: MouseEvent) => {\n onRowHover?.({\n hovered: false,\n rowKey: _rowKey,\n event: e,\n rowData,\n rowIndex,\n })\n }\n\n return (\n <Row\n {..._rowProps}\n onRowExpand={onRowExpanded}\n onMouseenter={handlerMosueEnter}\n onMouseleave={handlerMouseLeave}\n rowkey={_rowKey}\n >\n {slots}\n </Row>\n )\n}\n\nexport default RowRenderer\n"],"names":["RowRenderer","slots","columns","columnsStyles","depthMap","expandColumnKey","expandedRowKeys","estimatedRowHeight","hasFixedColumns","rowData","rowIndex","style","isScrolling","rowProps","rowClass","rowKey","rowEventHandlers","ns","onRowExpanded","_rowKey","depth","canExpand","Boolean","isFixedRow","kls","e","is","class","handlerMosueEnter","onRowHover","hovered","event","handlerMouseLeave"],"mappings":"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"}
1
+ {"version":3,"file":"row.mjs","sources":["../../../../../../../packages/components/table-v2/src/renderers/row.tsx"],"sourcesContent":["import { Row } from '../components'\nimport { tryCall } from '../utils'\n\nimport type {\n ComponentInternalInstance,\n FunctionalComponent,\n UnwrapNestedRefs,\n} from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\nimport type { TableGridRowSlotParams } from '../table-grid'\n\ntype RowRendererProps = TableGridRowSlotParams &\n Pick<\n TableV2Props,\n | 'expandColumnKey'\n | 'estimatedRowHeight'\n | 'rowProps'\n | 'rowClass'\n | 'rowKey'\n | 'rowEventHandlers'\n > &\n UnwrapNestedRefs<\n Pick<\n UseTableReturn,\n | 'depthMap'\n | 'expandedRowKeys'\n | 'hasFixedColumns'\n | 'onRowHovered'\n | 'onRowExpanded'\n | 'columnsStyles'\n >\n > & {\n ns: UseNamespaceReturn\n tableInstance?: ComponentInternalInstance\n }\n\nconst RowRenderer: FunctionalComponent<RowRendererProps> = (\n props,\n { slots }\n) => {\n const {\n columns,\n columnsStyles,\n depthMap,\n expandColumnKey,\n expandedRowKeys,\n estimatedRowHeight,\n hasFixedColumns,\n rowData,\n rowIndex,\n style,\n isScrolling,\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n ns,\n onRowHovered,\n onRowExpanded,\n } = props\n\n const rowKls = tryCall(rowClass, { columns, rowData, rowIndex }, '')\n const additionalProps = tryCall(rowProps, {\n columns,\n rowData,\n rowIndex,\n })\n const _rowKey = rowData[rowKey]\n const depth = depthMap[_rowKey] || 0\n const canExpand = Boolean(expandColumnKey)\n const isFixedRow = rowIndex < 0\n const kls = [\n ns.e('row'),\n rowKls,\n {\n [ns.e(`row-depth-${depth}`)]: canExpand && rowIndex >= 0,\n [ns.is('expanded')]: canExpand && expandedRowKeys.includes(_rowKey),\n [ns.is('fixed')]: !depth && isFixedRow,\n [ns.is('customized')]: Boolean(slots.row),\n },\n ]\n\n const onRowHover = hasFixedColumns ? onRowHovered : undefined\n\n const _rowProps = {\n ...additionalProps,\n columns,\n columnsStyles,\n class: kls,\n depth,\n expandColumnKey,\n estimatedRowHeight: isFixedRow ? undefined : estimatedRowHeight,\n isScrolling,\n rowIndex,\n rowData,\n rowKey: _rowKey,\n rowEventHandlers,\n style,\n }\n\n const handlerMouseEnter = (e: MouseEvent) => {\n onRowHover?.({\n hovered: true,\n rowKey: _rowKey,\n event: e,\n rowData,\n rowIndex,\n })\n }\n\n const handlerMouseLeave = (e: MouseEvent) => {\n onRowHover?.({\n hovered: false,\n rowKey: _rowKey,\n event: e,\n rowData,\n rowIndex,\n })\n }\n\n return (\n <Row\n {..._rowProps}\n onRowExpand={onRowExpanded}\n onMouseenter={handlerMouseEnter}\n onMouseleave={handlerMouseLeave}\n rowkey={_rowKey}\n >\n {slots}\n </Row>\n )\n}\n\nexport default RowRenderer\n"],"names":["RowRenderer","slots","columns","columnsStyles","depthMap","expandColumnKey","expandedRowKeys","estimatedRowHeight","hasFixedColumns","rowData","rowIndex","style","isScrolling","rowProps","rowClass","rowKey","rowEventHandlers","ns","onRowExpanded","_rowKey","depth","canExpand","Boolean","isFixedRow","kls","e","is","class","handlerMouseEnter","onRowHover","hovered","event","handlerMouseLeave"],"mappings":"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"}
@@ -78,18 +78,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
78
78
  };
79
79
  const emitSelectRange = (type) => {
80
80
  let range = [0, 0];
81
- if (!format || format === DEFAULT_FORMATS_TIME) {
82
- switch (type) {
83
- case "hours":
84
- range = [0, 2];
85
- break;
86
- case "minutes":
87
- range = [3, 5];
88
- break;
89
- case "seconds":
90
- range = [6, 8];
91
- break;
92
- }
81
+ const actualFormat = format || DEFAULT_FORMATS_TIME;
82
+ const hourIndex = actualFormat.indexOf("HH");
83
+ const minuteIndex = actualFormat.indexOf("mm");
84
+ const secondIndex = actualFormat.indexOf("ss");
85
+ switch (type) {
86
+ case "hours":
87
+ if (hourIndex !== -1) {
88
+ range = [hourIndex, hourIndex + 2];
89
+ }
90
+ break;
91
+ case "minutes":
92
+ if (minuteIndex !== -1) {
93
+ range = [minuteIndex, minuteIndex + 2];
94
+ }
95
+ break;
96
+ case "seconds":
97
+ if (secondIndex !== -1) {
98
+ range = [secondIndex, secondIndex + 2];
99
+ }
100
+ break;
93
101
  }
94
102
  const [left, right] = range;
95
103
  emit("select-range", left, right);
@@ -1 +1 @@
1
- {"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"isNumber(time)\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getStyle, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport {\n DEFAULT_FORMATS_TIME,\n PICKER_BASE_INJECTION_KEY,\n timeUnits,\n} from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\nconst { isRange, format } = pickerBase.props\nconst emit = defineEmits([CHANGE_EVENT, 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n const { role, spinnerDate } = props\n const compare = !isRange ? spinnerDate : undefined\n return {\n hours: getHoursList(role, compare),\n minutes: getMinutesList(hours, role, compare),\n seconds: getSecondsList(hours, minutes, role, compare),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n}\n\nconst emitSelectRange = (type: TimeUnit) => {\n let range = [0, 0]\n if (!format || format === DEFAULT_FORMATS_TIME) {\n switch (type) {\n case 'hours':\n range = [0, 2]\n break\n case 'minutes':\n range = [3, 5]\n break\n case 'seconds':\n range = [6, 8]\n break\n }\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n const listItem = scrollbar?.$el.querySelector('li')\n if (listItem) {\n return Number.parseFloat(getStyle(listItem, 'height')) || 0\n }\n return 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit(CHANGE_EVENT, changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (!scrollbar) return\n\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(scrollbar.$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n}\n\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n})\n\nconst setRef = (scrollbar: ScrollbarInstance | null, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar ?? undefined\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_Fragment","_renderList","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"isNumber(time)\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getStyle, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport {\n DEFAULT_FORMATS_TIME,\n PICKER_BASE_INJECTION_KEY,\n timeUnits,\n} from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\nconst { isRange, format } = pickerBase.props\nconst emit = defineEmits([CHANGE_EVENT, 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n const { role, spinnerDate } = props\n const compare = !isRange ? spinnerDate : undefined\n return {\n hours: getHoursList(role, compare),\n minutes: getMinutesList(hours, role, compare),\n seconds: getSecondsList(hours, minutes, role, compare),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n}\n\nconst emitSelectRange = (type: TimeUnit) => {\n let range = [0, 0]\n const actualFormat = format || DEFAULT_FORMATS_TIME\n const hourIndex = actualFormat.indexOf('HH')\n const minuteIndex = actualFormat.indexOf('mm')\n const secondIndex = actualFormat.indexOf('ss')\n switch (type) {\n case 'hours':\n if (hourIndex !== -1) {\n range = [hourIndex, hourIndex + 2]\n }\n break\n case 'minutes':\n if (minuteIndex !== -1) {\n range = [minuteIndex, minuteIndex + 2]\n }\n break\n case 'seconds':\n if (secondIndex !== -1) {\n range = [secondIndex, secondIndex + 2]\n }\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n const listItem = scrollbar?.$el.querySelector('li')\n if (listItem) {\n return Number.parseFloat(getStyle(listItem, 'height')) || 0\n }\n return 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit(CHANGE_EVENT, changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (!scrollbar) return\n\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(scrollbar.$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n}\n\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n})\n\nconst setRef = (scrollbar: ScrollbarInstance | null, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar ?? undefined\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_Fragment","_renderList","_createBlock"],"mappings":"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"}
@@ -68,8 +68,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
68
68
  selectionRange.value = [start, end];
69
69
  };
70
70
  const changeSelectionRange = (step) => {
71
- const list = [0, 3].concat(showSeconds.value ? [6] : []);
72
- const mapping = ["hours", "minutes"].concat(showSeconds.value ? ["seconds"] : []);
71
+ const actualFormat = props.format;
72
+ const hourIndex = actualFormat.indexOf("HH");
73
+ const minuteIndex = actualFormat.indexOf("mm");
74
+ const secondIndex = actualFormat.indexOf("ss");
75
+ const list = [];
76
+ const mapping = [];
77
+ if (hourIndex !== -1) {
78
+ list.push(hourIndex);
79
+ mapping.push("hours");
80
+ }
81
+ if (minuteIndex !== -1) {
82
+ list.push(minuteIndex);
83
+ mapping.push("minutes");
84
+ }
85
+ if (secondIndex !== -1 && showSeconds.value) {
86
+ list.push(secondIndex);
87
+ mapping.push("seconds");
88
+ }
73
89
  const index = list.indexOf(selectionRange.value[0]);
74
90
  const next = (index + step + list.length) % list.length;
75
91
  timePickerOptions["start_emitSelectRange"](mapping[next]);