@element-plus/nightly 0.0.20251125 → 0.0.20251126

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 (400) hide show
  1. package/dist/index.full.js +29 -4
  2. package/dist/index.full.min.js +13 -13
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +12 -12
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +29 -4
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/countdown/index.mjs +2 -2
  276. package/es/components/countdown/src/countdown.mjs +21 -79
  277. package/es/components/countdown/src/countdown.mjs.map +1 -1
  278. package/es/components/countdown/src/countdown2.mjs +79 -21
  279. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  280. package/es/components/index.mjs +7 -7
  281. package/es/components/scrollbar/index.mjs +1 -1
  282. package/es/components/scrollbar/src/bar.mjs +10 -64
  283. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  284. package/es/components/scrollbar/src/bar2.mjs +64 -10
  285. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  286. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  287. package/es/components/scrollbar/src/thumb.mjs +11 -139
  288. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  289. package/es/components/scrollbar/src/thumb2.mjs +139 -11
  290. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  291. package/es/components/select-v2/src/useProps.d.ts +1 -1
  292. package/es/components/select-v2/src/useProps.mjs +10 -3
  293. package/es/components/select-v2/src/useProps.mjs.map +1 -1
  294. package/es/components/splitter/index.mjs +4 -4
  295. package/es/components/splitter/src/split-panel.mjs +20 -160
  296. package/es/components/splitter/src/split-panel.mjs.map +1 -1
  297. package/es/components/splitter/src/split-panel2.mjs +160 -20
  298. package/es/components/splitter/src/split-panel2.mjs.map +1 -1
  299. package/es/components/splitter/src/splitter.mjs +100 -15
  300. package/es/components/splitter/src/splitter.mjs.map +1 -1
  301. package/es/components/splitter/src/splitter2.mjs +15 -100
  302. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  303. package/es/components/table/src/table-column/render-helper.mjs +9 -3
  304. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  305. package/es/components/table/src/util.d.ts +2 -1
  306. package/es/components/table/src/util.mjs +14 -2
  307. package/es/components/table/src/util.mjs.map +1 -1
  308. package/es/components/tabs/index.mjs +1 -1
  309. package/es/components/tabs/src/tab-bar.mjs +92 -11
  310. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  311. package/es/components/tabs/src/tab-bar2.mjs +11 -92
  312. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  313. package/es/components/tabs/src/tab-nav.mjs +1 -1
  314. package/es/components/time-select/index.mjs +2 -2
  315. package/es/components/time-select/src/time-select.mjs +134 -64
  316. package/es/components/time-select/src/time-select.mjs.map +1 -1
  317. package/es/components/time-select/src/time-select2.mjs +64 -134
  318. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  319. package/es/components/tour/index.mjs +1 -1
  320. package/es/components/tour/src/content.mjs +67 -43
  321. package/es/components/tour/src/content.mjs.map +1 -1
  322. package/es/components/tour/src/content2.mjs +43 -67
  323. package/es/components/tour/src/content2.mjs.map +1 -1
  324. package/es/components/tour/src/step.mjs +1 -1
  325. package/es/components/tour/src/tour.mjs +1 -1
  326. package/es/components/tour/src/tour2.mjs +1 -1
  327. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  328. package/es/components/transfer/src/transfer-panel.mjs +130 -19
  329. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  330. package/es/components/transfer/src/transfer-panel2.mjs +19 -130
  331. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  332. package/es/components/transfer/src/transfer2.mjs +1 -1
  333. package/es/index.mjs +7 -7
  334. package/es/version.d.ts +1 -1
  335. package/es/version.mjs +1 -1
  336. package/es/version.mjs.map +1 -1
  337. package/lib/components/countdown/index.js +2 -2
  338. package/lib/components/countdown/src/countdown.js +22 -79
  339. package/lib/components/countdown/src/countdown.js.map +1 -1
  340. package/lib/components/countdown/src/countdown2.js +79 -22
  341. package/lib/components/countdown/src/countdown2.js.map +1 -1
  342. package/lib/components/index.js +7 -7
  343. package/lib/components/scrollbar/index.js +1 -1
  344. package/lib/components/scrollbar/src/bar.js +10 -64
  345. package/lib/components/scrollbar/src/bar.js.map +1 -1
  346. package/lib/components/scrollbar/src/bar2.js +64 -10
  347. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  348. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  349. package/lib/components/scrollbar/src/thumb.js +11 -139
  350. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  351. package/lib/components/scrollbar/src/thumb2.js +139 -11
  352. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  353. package/lib/components/select-v2/src/useProps.d.ts +1 -1
  354. package/lib/components/select-v2/src/useProps.js +8 -1
  355. package/lib/components/select-v2/src/useProps.js.map +1 -1
  356. package/lib/components/splitter/index.js +4 -4
  357. package/lib/components/splitter/src/split-panel.js +21 -160
  358. package/lib/components/splitter/src/split-panel.js.map +1 -1
  359. package/lib/components/splitter/src/split-panel2.js +160 -21
  360. package/lib/components/splitter/src/split-panel2.js.map +1 -1
  361. package/lib/components/splitter/src/splitter.js +100 -16
  362. package/lib/components/splitter/src/splitter.js.map +1 -1
  363. package/lib/components/splitter/src/splitter2.js +16 -100
  364. package/lib/components/splitter/src/splitter2.js.map +1 -1
  365. package/lib/components/table/src/table-column/render-helper.js +7 -1
  366. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  367. package/lib/components/table/src/util.d.ts +2 -1
  368. package/lib/components/table/src/util.js +13 -0
  369. package/lib/components/table/src/util.js.map +1 -1
  370. package/lib/components/tabs/index.js +1 -1
  371. package/lib/components/tabs/src/tab-bar.js +92 -11
  372. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  373. package/lib/components/tabs/src/tab-bar2.js +11 -92
  374. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  375. package/lib/components/tabs/src/tab-nav.js +1 -1
  376. package/lib/components/time-select/index.js +2 -2
  377. package/lib/components/time-select/src/time-select.js +139 -64
  378. package/lib/components/time-select/src/time-select.js.map +1 -1
  379. package/lib/components/time-select/src/time-select2.js +64 -139
  380. package/lib/components/time-select/src/time-select2.js.map +1 -1
  381. package/lib/components/tour/index.js +1 -1
  382. package/lib/components/tour/src/content.js +67 -46
  383. package/lib/components/tour/src/content.js.map +1 -1
  384. package/lib/components/tour/src/content2.js +46 -67
  385. package/lib/components/tour/src/content2.js.map +1 -1
  386. package/lib/components/tour/src/step.js +1 -1
  387. package/lib/components/tour/src/tour.js +1 -1
  388. package/lib/components/tour/src/tour2.js +1 -1
  389. package/lib/components/transfer/src/composables/use-check.js +1 -1
  390. package/lib/components/transfer/src/transfer-panel.js +130 -21
  391. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  392. package/lib/components/transfer/src/transfer-panel2.js +21 -130
  393. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  394. package/lib/components/transfer/src/transfer2.js +1 -1
  395. package/lib/index.js +7 -7
  396. package/lib/version.d.ts +1 -1
  397. package/lib/version.js +1 -1
  398. package/lib/version.js.map +1 -1
  399. package/package.json +2 -2
  400. package/web-types.json +1 -1
@@ -1,68 +1,138 @@
1
- import { Clock, CircleClose } from '@element-plus/icons-vue';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
4
- import { useEmptyValuesProps } from '../../../hooks/use-empty-values/index.mjs';
1
+ import { defineComponent, ref, computed, openBlock, createBlock, unref, withCtx, normalizeClass, resolveDynamicComponent, createCommentVNode, createElementBlock, Fragment, renderList } from 'vue';
2
+ import dayjs from 'dayjs';
3
+ import customParseFormat from 'dayjs/plugin/customParseFormat.js';
4
+ import { ElSelect } from '../../select/index.mjs';
5
+ import { ElIcon } from '../../icon/index.mjs';
6
+ import { timeSelectProps } from './time-select2.mjs';
7
+ import { parseTime, formatTime, compareTime, nextTime } from './utils.mjs';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
+ import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
10
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
+ import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
12
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
5
13
 
6
- const timeSelectProps = buildProps({
7
- format: {
8
- type: String,
9
- default: "HH:mm"
10
- },
11
- modelValue: {
12
- type: definePropType(String)
13
- },
14
- disabled: Boolean,
15
- editable: {
16
- type: Boolean,
17
- default: true
18
- },
19
- effect: {
20
- type: definePropType(String),
21
- default: "light"
22
- },
23
- clearable: {
24
- type: Boolean,
25
- default: true
26
- },
27
- size: useSizeProp,
28
- placeholder: String,
29
- start: {
30
- type: String,
31
- default: "09:00"
32
- },
33
- end: {
34
- type: String,
35
- default: "18:00"
36
- },
37
- step: {
38
- type: String,
39
- default: "00:30"
40
- },
41
- minTime: {
42
- type: definePropType(String)
43
- },
44
- maxTime: {
45
- type: definePropType(String)
46
- },
47
- includeEndTime: Boolean,
48
- name: String,
49
- prefixIcon: {
50
- type: definePropType([String, Object]),
51
- default: () => Clock
52
- },
53
- clearIcon: {
54
- type: definePropType([String, Object]),
55
- default: () => CircleClose
56
- },
57
- popperClass: {
58
- type: String,
59
- default: ""
60
- },
61
- popperStyle: {
62
- type: definePropType([String, Object])
63
- },
64
- ...useEmptyValuesProps
14
+ const __default__ = defineComponent({
15
+ name: "ElTimeSelect"
65
16
  });
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
18
+ ...__default__,
19
+ props: timeSelectProps,
20
+ emits: [CHANGE_EVENT, "blur", "focus", "clear", UPDATE_MODEL_EVENT],
21
+ setup(__props, { expose }) {
22
+ const props = __props;
23
+ dayjs.extend(customParseFormat);
24
+ const { Option: ElOption } = ElSelect;
25
+ const nsInput = useNamespace("input");
26
+ const select = ref();
27
+ const _disabled = useFormDisabled();
28
+ const { lang } = useLocale();
29
+ const value = computed(() => props.modelValue);
30
+ const start = computed(() => {
31
+ const time = parseTime(props.start);
32
+ return time ? formatTime(time) : null;
33
+ });
34
+ const end = computed(() => {
35
+ const time = parseTime(props.end);
36
+ return time ? formatTime(time) : null;
37
+ });
38
+ const step = computed(() => {
39
+ const time = parseTime(props.step);
40
+ return time ? formatTime(time) : null;
41
+ });
42
+ const minTime = computed(() => {
43
+ const time = parseTime(props.minTime || "");
44
+ return time ? formatTime(time) : null;
45
+ });
46
+ const maxTime = computed(() => {
47
+ const time = parseTime(props.maxTime || "");
48
+ return time ? formatTime(time) : null;
49
+ });
50
+ const items = computed(() => {
51
+ var _a;
52
+ const result = [];
53
+ const push = (formattedValue, rawValue) => {
54
+ result.push({
55
+ value: formattedValue,
56
+ disabled: compareTime(rawValue, minTime.value || "-1:-1") <= 0 || compareTime(rawValue, maxTime.value || "100:100") >= 0
57
+ });
58
+ };
59
+ if (props.start && props.end && props.step) {
60
+ let current = start.value;
61
+ let currentTime;
62
+ while (current && end.value && compareTime(current, end.value) <= 0) {
63
+ currentTime = dayjs(current, "HH:mm").locale(lang.value).format(props.format);
64
+ push(currentTime, current);
65
+ current = nextTime(current, step.value);
66
+ }
67
+ if (props.includeEndTime && end.value && ((_a = result[result.length - 1]) == null ? void 0 : _a.value) !== end.value) {
68
+ const formattedValue = dayjs(end.value, "HH:mm").locale(lang.value).format(props.format);
69
+ push(formattedValue, end.value);
70
+ }
71
+ }
72
+ return result;
73
+ });
74
+ const blur = () => {
75
+ var _a, _b;
76
+ (_b = (_a = select.value) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
77
+ };
78
+ const focus = () => {
79
+ var _a, _b;
80
+ (_b = (_a = select.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
81
+ };
82
+ expose({
83
+ blur,
84
+ focus
85
+ });
86
+ return (_ctx, _cache) => {
87
+ return openBlock(), createBlock(unref(ElSelect), {
88
+ ref_key: "select",
89
+ ref: select,
90
+ "model-value": unref(value),
91
+ disabled: unref(_disabled),
92
+ clearable: _ctx.clearable,
93
+ "clear-icon": _ctx.clearIcon,
94
+ size: _ctx.size,
95
+ effect: _ctx.effect,
96
+ placeholder: _ctx.placeholder,
97
+ "default-first-option": "",
98
+ filterable: _ctx.editable,
99
+ "empty-values": _ctx.emptyValues,
100
+ "value-on-clear": _ctx.valueOnClear,
101
+ "popper-class": _ctx.popperClass,
102
+ "popper-style": _ctx.popperStyle,
103
+ "onUpdate:modelValue": (event) => _ctx.$emit(unref(UPDATE_MODEL_EVENT), event),
104
+ onChange: (event) => _ctx.$emit(unref(CHANGE_EVENT), event),
105
+ onBlur: (event) => _ctx.$emit("blur", event),
106
+ onFocus: (event) => _ctx.$emit("focus", event),
107
+ onClear: () => _ctx.$emit("clear")
108
+ }, {
109
+ prefix: withCtx(() => [
110
+ _ctx.prefixIcon ? (openBlock(), createBlock(unref(ElIcon), {
111
+ key: 0,
112
+ class: normalizeClass(unref(nsInput).e("prefix-icon"))
113
+ }, {
114
+ default: withCtx(() => [
115
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon)))
116
+ ]),
117
+ _: 1
118
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
119
+ ]),
120
+ default: withCtx(() => [
121
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
122
+ return openBlock(), createBlock(unref(ElOption), {
123
+ key: item.value,
124
+ label: item.value,
125
+ value: item.value,
126
+ disabled: item.disabled
127
+ }, null, 8, ["label", "value", "disabled"]);
128
+ }), 128))
129
+ ]),
130
+ _: 1
131
+ }, 8, ["model-value", "disabled", "clearable", "clear-icon", "size", "effect", "placeholder", "filterable", "empty-values", "value-on-clear", "popper-class", "popper-style", "onUpdate:modelValue", "onChange", "onBlur", "onFocus", "onClear"]);
132
+ };
133
+ }
134
+ });
135
+ var TimeSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "time-select.vue"]]);
66
136
 
67
- export { timeSelectProps };
137
+ export { TimeSelect as default };
68
138
  //# sourceMappingURL=time-select.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-select.mjs","sources":["../../../../../../packages/components/time-select/src/time-select.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { CircleClose, Clock } from '@element-plus/icons-vue'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type TimeSelect from './time-select.vue'\nimport type {\n CSSProperties,\n Component,\n ExtractPropTypes,\n __ExtractPublicPropTypes,\n} from 'vue'\n\nexport const timeSelectProps = buildProps({\n /**\n * @description set format of time\n */\n format: {\n type: String,\n default: 'HH:mm',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description whether TimeSelect is disabled\n */\n disabled: Boolean,\n /**\n * @description whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description placeholder in non-range mode\n */\n placeholder: String,\n /**\n * @description start time\n */\n start: {\n type: String,\n default: '09:00',\n },\n /**\n * @description end time\n */\n end: {\n type: String,\n default: '18:00',\n },\n /**\n * @description time step\n */\n step: {\n type: String,\n default: '00:30',\n },\n /**\n * @description minimum time, any time before this time will be disabled\n */\n minTime: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description maximum time, any time after this time will be disabled\n */\n maxTime: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description whether `end` is included in options\n */\n includeEndTime: Boolean,\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description custom prefix icon component\n */\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => Clock,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => CircleClose,\n },\n /**\n * @description custom class name for TimeSelect's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description custom style for TimeSelect's dropdown\n */\n popperStyle: {\n type: definePropType<string | CSSProperties>([String, Object]),\n },\n ...useEmptyValuesProps,\n} as const)\n\nexport type TimeSelectProps = ExtractPropTypes<typeof timeSelectProps>\nexport type TimeSelectPropsPublic = __ExtractPublicPropTypes<\n typeof timeSelectProps\n>\n\nexport type TimeSelectInstance = InstanceType<typeof TimeSelect> & unknown\n"],"names":[],"mappings":";;;;;AAGY,MAAC,eAAe,GAAG,UAAU,CAAC;AAC1C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,cAAc,EAAE,OAAO;AACzB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAM,KAAK;AACxB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAM,WAAW;AAC9B,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,GAAG,mBAAmB;AACxB,CAAC;;;;"}
1
+ {"version":3,"file":"time-select.mjs","sources":["../../../../../../packages/components/time-select/src/time-select.vue"],"sourcesContent":["<template>\n <el-select\n ref=\"select\"\n :model-value=\"value\"\n :disabled=\"_disabled\"\n :clearable=\"clearable\"\n :clear-icon=\"clearIcon\"\n :size=\"size\"\n :effect=\"effect\"\n :placeholder=\"placeholder\"\n default-first-option\n :filterable=\"editable\"\n :empty-values=\"emptyValues\"\n :value-on-clear=\"valueOnClear\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n @update:model-value=\"(event) => $emit(UPDATE_MODEL_EVENT, event)\"\n @change=\"(event) => $emit(CHANGE_EVENT, event)\"\n @blur=\"(event) => $emit('blur', event)\"\n @focus=\"(event) => $emit('focus', event)\"\n @clear=\"() => $emit('clear')\"\n >\n <el-option\n v-for=\"item in items\"\n :key=\"item.value\"\n :label=\"item.value\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n />\n <template #prefix>\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('prefix-icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </template>\n </el-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport ElSelect from '@element-plus/components/select'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { timeSelectProps } from './time-select'\nimport { compareTime, formatTime, nextTime, parseTime } from './utils'\n\ndayjs.extend(customParseFormat)\n\nconst { Option: ElOption } = ElSelect\n\ndefineOptions({\n name: 'ElTimeSelect',\n})\n\ndefineEmits([CHANGE_EVENT, 'blur', 'focus', 'clear', UPDATE_MODEL_EVENT])\n\nconst props = defineProps(timeSelectProps)\n\nconst nsInput = useNamespace('input')\nconst select = ref<typeof ElSelect>()\n\nconst _disabled = useFormDisabled()\nconst { lang } = useLocale()\n\nconst value = computed(() => props.modelValue)\nconst start = computed(() => {\n const time = parseTime(props.start)\n return time ? formatTime(time) : null\n})\n\nconst end = computed(() => {\n const time = parseTime(props.end)\n return time ? formatTime(time) : null\n})\n\nconst step = computed(() => {\n const time = parseTime(props.step)\n return time ? formatTime(time) : null\n})\n\nconst minTime = computed(() => {\n const time = parseTime(props.minTime || '')\n return time ? formatTime(time) : null\n})\n\nconst maxTime = computed(() => {\n const time = parseTime(props.maxTime || '')\n return time ? formatTime(time) : null\n})\n\nconst items = computed(() => {\n const result: { value: string; disabled: boolean }[] = []\n const push = (formattedValue: string, rawValue: string) => {\n result.push({\n value: formattedValue,\n disabled:\n compareTime(rawValue, minTime.value || '-1:-1') <= 0 ||\n compareTime(rawValue, maxTime.value || '100:100') >= 0,\n })\n }\n\n if (props.start && props.end && props.step) {\n let current = start.value\n let currentTime: string\n while (current && end.value && compareTime(current, end.value) <= 0) {\n currentTime = dayjs(current, 'HH:mm')\n .locale(lang.value)\n .format(props.format)\n push(currentTime, current)\n current = nextTime(current, step.value!)\n }\n if (\n props.includeEndTime &&\n end.value &&\n result[result.length - 1]?.value !== end.value\n ) {\n const formattedValue = dayjs(end.value, 'HH:mm')\n .locale(lang.value)\n .format(props.format)\n push(formattedValue, end.value)\n }\n }\n return result\n})\n\nconst blur = () => {\n select.value?.blur?.()\n}\n\nconst focus = () => {\n select.value?.focus?.()\n}\n\ndefineExpose({\n /**\n * @description blur the Input component\n */\n blur,\n /**\n * @description focus the Input component\n */\n focus,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref"],"mappings":"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"}
@@ -1,138 +1,68 @@
1
- import { defineComponent, ref, computed, openBlock, createBlock, unref, withCtx, normalizeClass, resolveDynamicComponent, createCommentVNode, createElementBlock, Fragment, renderList } from 'vue';
2
- import dayjs from 'dayjs';
3
- import customParseFormat from 'dayjs/plugin/customParseFormat.js';
4
- import { ElSelect } from '../../select/index.mjs';
5
- import { ElIcon } from '../../icon/index.mjs';
6
- import { timeSelectProps } from './time-select.mjs';
7
- import { parseTime, formatTime, compareTime, nextTime } from './utils.mjs';
8
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
- import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
10
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
- import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
12
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
1
+ import { Clock, CircleClose } from '@element-plus/icons-vue';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
+ import { useSizeProp } from '../../../hooks/use-size/index.mjs';
4
+ import { useEmptyValuesProps } from '../../../hooks/use-empty-values/index.mjs';
13
5
 
14
- const __default__ = defineComponent({
15
- name: "ElTimeSelect"
6
+ const timeSelectProps = buildProps({
7
+ format: {
8
+ type: String,
9
+ default: "HH:mm"
10
+ },
11
+ modelValue: {
12
+ type: definePropType(String)
13
+ },
14
+ disabled: Boolean,
15
+ editable: {
16
+ type: Boolean,
17
+ default: true
18
+ },
19
+ effect: {
20
+ type: definePropType(String),
21
+ default: "light"
22
+ },
23
+ clearable: {
24
+ type: Boolean,
25
+ default: true
26
+ },
27
+ size: useSizeProp,
28
+ placeholder: String,
29
+ start: {
30
+ type: String,
31
+ default: "09:00"
32
+ },
33
+ end: {
34
+ type: String,
35
+ default: "18:00"
36
+ },
37
+ step: {
38
+ type: String,
39
+ default: "00:30"
40
+ },
41
+ minTime: {
42
+ type: definePropType(String)
43
+ },
44
+ maxTime: {
45
+ type: definePropType(String)
46
+ },
47
+ includeEndTime: Boolean,
48
+ name: String,
49
+ prefixIcon: {
50
+ type: definePropType([String, Object]),
51
+ default: () => Clock
52
+ },
53
+ clearIcon: {
54
+ type: definePropType([String, Object]),
55
+ default: () => CircleClose
56
+ },
57
+ popperClass: {
58
+ type: String,
59
+ default: ""
60
+ },
61
+ popperStyle: {
62
+ type: definePropType([String, Object])
63
+ },
64
+ ...useEmptyValuesProps
16
65
  });
17
- const _sfc_main = /* @__PURE__ */ defineComponent({
18
- ...__default__,
19
- props: timeSelectProps,
20
- emits: [CHANGE_EVENT, "blur", "focus", "clear", UPDATE_MODEL_EVENT],
21
- setup(__props, { expose }) {
22
- const props = __props;
23
- dayjs.extend(customParseFormat);
24
- const { Option: ElOption } = ElSelect;
25
- const nsInput = useNamespace("input");
26
- const select = ref();
27
- const _disabled = useFormDisabled();
28
- const { lang } = useLocale();
29
- const value = computed(() => props.modelValue);
30
- const start = computed(() => {
31
- const time = parseTime(props.start);
32
- return time ? formatTime(time) : null;
33
- });
34
- const end = computed(() => {
35
- const time = parseTime(props.end);
36
- return time ? formatTime(time) : null;
37
- });
38
- const step = computed(() => {
39
- const time = parseTime(props.step);
40
- return time ? formatTime(time) : null;
41
- });
42
- const minTime = computed(() => {
43
- const time = parseTime(props.minTime || "");
44
- return time ? formatTime(time) : null;
45
- });
46
- const maxTime = computed(() => {
47
- const time = parseTime(props.maxTime || "");
48
- return time ? formatTime(time) : null;
49
- });
50
- const items = computed(() => {
51
- var _a;
52
- const result = [];
53
- const push = (formattedValue, rawValue) => {
54
- result.push({
55
- value: formattedValue,
56
- disabled: compareTime(rawValue, minTime.value || "-1:-1") <= 0 || compareTime(rawValue, maxTime.value || "100:100") >= 0
57
- });
58
- };
59
- if (props.start && props.end && props.step) {
60
- let current = start.value;
61
- let currentTime;
62
- while (current && end.value && compareTime(current, end.value) <= 0) {
63
- currentTime = dayjs(current, "HH:mm").locale(lang.value).format(props.format);
64
- push(currentTime, current);
65
- current = nextTime(current, step.value);
66
- }
67
- if (props.includeEndTime && end.value && ((_a = result[result.length - 1]) == null ? void 0 : _a.value) !== end.value) {
68
- const formattedValue = dayjs(end.value, "HH:mm").locale(lang.value).format(props.format);
69
- push(formattedValue, end.value);
70
- }
71
- }
72
- return result;
73
- });
74
- const blur = () => {
75
- var _a, _b;
76
- (_b = (_a = select.value) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
77
- };
78
- const focus = () => {
79
- var _a, _b;
80
- (_b = (_a = select.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
81
- };
82
- expose({
83
- blur,
84
- focus
85
- });
86
- return (_ctx, _cache) => {
87
- return openBlock(), createBlock(unref(ElSelect), {
88
- ref_key: "select",
89
- ref: select,
90
- "model-value": unref(value),
91
- disabled: unref(_disabled),
92
- clearable: _ctx.clearable,
93
- "clear-icon": _ctx.clearIcon,
94
- size: _ctx.size,
95
- effect: _ctx.effect,
96
- placeholder: _ctx.placeholder,
97
- "default-first-option": "",
98
- filterable: _ctx.editable,
99
- "empty-values": _ctx.emptyValues,
100
- "value-on-clear": _ctx.valueOnClear,
101
- "popper-class": _ctx.popperClass,
102
- "popper-style": _ctx.popperStyle,
103
- "onUpdate:modelValue": (event) => _ctx.$emit(unref(UPDATE_MODEL_EVENT), event),
104
- onChange: (event) => _ctx.$emit(unref(CHANGE_EVENT), event),
105
- onBlur: (event) => _ctx.$emit("blur", event),
106
- onFocus: (event) => _ctx.$emit("focus", event),
107
- onClear: () => _ctx.$emit("clear")
108
- }, {
109
- prefix: withCtx(() => [
110
- _ctx.prefixIcon ? (openBlock(), createBlock(unref(ElIcon), {
111
- key: 0,
112
- class: normalizeClass(unref(nsInput).e("prefix-icon"))
113
- }, {
114
- default: withCtx(() => [
115
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon)))
116
- ]),
117
- _: 1
118
- }, 8, ["class"])) : createCommentVNode("v-if", true)
119
- ]),
120
- default: withCtx(() => [
121
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
122
- return openBlock(), createBlock(unref(ElOption), {
123
- key: item.value,
124
- label: item.value,
125
- value: item.value,
126
- disabled: item.disabled
127
- }, null, 8, ["label", "value", "disabled"]);
128
- }), 128))
129
- ]),
130
- _: 1
131
- }, 8, ["model-value", "disabled", "clearable", "clear-icon", "size", "effect", "placeholder", "filterable", "empty-values", "value-on-clear", "popper-class", "popper-style", "onUpdate:modelValue", "onChange", "onBlur", "onFocus", "onClear"]);
132
- };
133
- }
134
- });
135
- var TimeSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "time-select.vue"]]);
136
66
 
137
- export { TimeSelect as default };
67
+ export { timeSelectProps };
138
68
  //# sourceMappingURL=time-select2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-select2.mjs","sources":["../../../../../../packages/components/time-select/src/time-select.vue"],"sourcesContent":["<template>\n <el-select\n ref=\"select\"\n :model-value=\"value\"\n :disabled=\"_disabled\"\n :clearable=\"clearable\"\n :clear-icon=\"clearIcon\"\n :size=\"size\"\n :effect=\"effect\"\n :placeholder=\"placeholder\"\n default-first-option\n :filterable=\"editable\"\n :empty-values=\"emptyValues\"\n :value-on-clear=\"valueOnClear\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n @update:model-value=\"(event) => $emit(UPDATE_MODEL_EVENT, event)\"\n @change=\"(event) => $emit(CHANGE_EVENT, event)\"\n @blur=\"(event) => $emit('blur', event)\"\n @focus=\"(event) => $emit('focus', event)\"\n @clear=\"() => $emit('clear')\"\n >\n <el-option\n v-for=\"item in items\"\n :key=\"item.value\"\n :label=\"item.value\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n />\n <template #prefix>\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('prefix-icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </template>\n </el-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport ElSelect from '@element-plus/components/select'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { timeSelectProps } from './time-select'\nimport { compareTime, formatTime, nextTime, parseTime } from './utils'\n\ndayjs.extend(customParseFormat)\n\nconst { Option: ElOption } = ElSelect\n\ndefineOptions({\n name: 'ElTimeSelect',\n})\n\ndefineEmits([CHANGE_EVENT, 'blur', 'focus', 'clear', UPDATE_MODEL_EVENT])\n\nconst props = defineProps(timeSelectProps)\n\nconst nsInput = useNamespace('input')\nconst select = ref<typeof ElSelect>()\n\nconst _disabled = useFormDisabled()\nconst { lang } = useLocale()\n\nconst value = computed(() => props.modelValue)\nconst start = computed(() => {\n const time = parseTime(props.start)\n return time ? formatTime(time) : null\n})\n\nconst end = computed(() => {\n const time = parseTime(props.end)\n return time ? formatTime(time) : null\n})\n\nconst step = computed(() => {\n const time = parseTime(props.step)\n return time ? formatTime(time) : null\n})\n\nconst minTime = computed(() => {\n const time = parseTime(props.minTime || '')\n return time ? formatTime(time) : null\n})\n\nconst maxTime = computed(() => {\n const time = parseTime(props.maxTime || '')\n return time ? formatTime(time) : null\n})\n\nconst items = computed(() => {\n const result: { value: string; disabled: boolean }[] = []\n const push = (formattedValue: string, rawValue: string) => {\n result.push({\n value: formattedValue,\n disabled:\n compareTime(rawValue, minTime.value || '-1:-1') <= 0 ||\n compareTime(rawValue, maxTime.value || '100:100') >= 0,\n })\n }\n\n if (props.start && props.end && props.step) {\n let current = start.value\n let currentTime: string\n while (current && end.value && compareTime(current, end.value) <= 0) {\n currentTime = dayjs(current, 'HH:mm')\n .locale(lang.value)\n .format(props.format)\n push(currentTime, current)\n current = nextTime(current, step.value!)\n }\n if (\n props.includeEndTime &&\n end.value &&\n result[result.length - 1]?.value !== end.value\n ) {\n const formattedValue = dayjs(end.value, 'HH:mm')\n .locale(lang.value)\n .format(props.format)\n push(formattedValue, end.value)\n }\n }\n return result\n})\n\nconst blur = () => {\n select.value?.blur?.()\n}\n\nconst focus = () => {\n select.value?.focus?.()\n}\n\ndefineExpose({\n /**\n * @description blur the Input component\n */\n blur,\n /**\n * @description focus the Input component\n */\n focus,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"time-select2.mjs","sources":["../../../../../../packages/components/time-select/src/time-select.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { CircleClose, Clock } from '@element-plus/icons-vue'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type TimeSelect from './time-select.vue'\nimport type {\n CSSProperties,\n Component,\n ExtractPropTypes,\n __ExtractPublicPropTypes,\n} from 'vue'\n\nexport const timeSelectProps = buildProps({\n /**\n * @description set format of time\n */\n format: {\n type: String,\n default: 'HH:mm',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description whether TimeSelect is disabled\n */\n disabled: Boolean,\n /**\n * @description whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description placeholder in non-range mode\n */\n placeholder: String,\n /**\n * @description start time\n */\n start: {\n type: String,\n default: '09:00',\n },\n /**\n * @description end time\n */\n end: {\n type: String,\n default: '18:00',\n },\n /**\n * @description time step\n */\n step: {\n type: String,\n default: '00:30',\n },\n /**\n * @description minimum time, any time before this time will be disabled\n */\n minTime: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description maximum time, any time after this time will be disabled\n */\n maxTime: {\n type: definePropType<string | null>(String),\n },\n /**\n * @description whether `end` is included in options\n */\n includeEndTime: Boolean,\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description custom prefix icon component\n */\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => Clock,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => CircleClose,\n },\n /**\n * @description custom class name for TimeSelect's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description custom style for TimeSelect's dropdown\n */\n popperStyle: {\n type: definePropType<string | CSSProperties>([String, Object]),\n },\n ...useEmptyValuesProps,\n} as const)\n\nexport type TimeSelectProps = ExtractPropTypes<typeof timeSelectProps>\nexport type TimeSelectPropsPublic = __ExtractPublicPropTypes<\n typeof timeSelectProps\n>\n\nexport type TimeSelectInstance = InstanceType<typeof TimeSelect> & unknown\n"],"names":[],"mappings":";;;;;AAGY,MAAC,eAAe,GAAG,UAAU,CAAC;AAC1C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,cAAc,EAAE,OAAO;AACzB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAM,KAAK;AACxB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAM,WAAW;AAC9B,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,GAAG,mBAAmB;AACxB,CAAC;;;;"}
@@ -2,7 +2,7 @@ import Tour from './src/tour2.mjs';
2
2
  import TourStep from './src/step2.mjs';
3
3
  export { tourEmits, tourProps } from './src/tour.mjs';
4
4
  export { tourStepEmits, tourStepProps } from './src/step.mjs';
5
- export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies } from './src/content.mjs';
5
+ export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies } from './src/content2.mjs';
6
6
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
7
7
 
8
8
  const ElTour = withInstall(Tour, {
@@ -1,48 +1,72 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, ref, watch, toRef, computed, inject, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createVNode, withCtx, renderSlot, createCommentVNode } from 'vue';
2
+ import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
3
+ import { tourContentProps, tourContentEmits } from './content2.mjs';
4
+ import { useFloating, tourKey } from './helper.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
2
6
 
3
- const tourStrategies = ["absolute", "fixed"];
4
- const tourPlacements = [
5
- "top-start",
6
- "top-end",
7
- "top",
8
- "bottom-start",
9
- "bottom-end",
10
- "bottom",
11
- "left-start",
12
- "left-end",
13
- "left",
14
- "right-start",
15
- "right-end",
16
- "right"
17
- ];
18
- const tourContentProps = buildProps({
19
- placement: {
20
- type: definePropType(String),
21
- values: tourPlacements,
22
- default: "bottom"
23
- },
24
- reference: {
25
- type: definePropType(Object),
26
- default: null
27
- },
28
- strategy: {
29
- type: definePropType(String),
30
- values: tourStrategies,
31
- default: "absolute"
32
- },
33
- offset: {
34
- type: Number,
35
- default: 10
36
- },
37
- showArrow: Boolean,
38
- zIndex: {
39
- type: Number,
40
- default: 2001
7
+ const __default__ = defineComponent({
8
+ name: "ElTourContent"
9
+ });
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ ...__default__,
12
+ props: tourContentProps,
13
+ emits: tourContentEmits,
14
+ setup(__props, { emit }) {
15
+ const props = __props;
16
+ const placement = ref(props.placement);
17
+ const strategy = ref(props.strategy);
18
+ const contentRef = ref(null);
19
+ const arrowRef = ref(null);
20
+ watch(() => props.placement, () => {
21
+ placement.value = props.placement;
22
+ });
23
+ const { contentStyle, arrowStyle } = useFloating(toRef(props, "reference"), contentRef, arrowRef, placement, strategy, toRef(props, "offset"), toRef(props, "zIndex"), toRef(props, "showArrow"));
24
+ const side = computed(() => {
25
+ return placement.value.split("-")[0];
26
+ });
27
+ const { ns } = inject(tourKey);
28
+ const onCloseRequested = () => {
29
+ emit("close");
30
+ };
31
+ const onFocusoutPrevented = (event) => {
32
+ if (event.detail.focusReason === "pointer") {
33
+ event.preventDefault();
34
+ }
35
+ };
36
+ return (_ctx, _cache) => {
37
+ return openBlock(), createElementBlock("div", {
38
+ ref_key: "contentRef",
39
+ ref: contentRef,
40
+ style: normalizeStyle(unref(contentStyle)),
41
+ class: normalizeClass(unref(ns).e("content")),
42
+ "data-side": unref(side),
43
+ tabindex: "-1"
44
+ }, [
45
+ createVNode(unref(ElFocusTrap), {
46
+ loop: "",
47
+ trapped: "",
48
+ "focus-start-el": "container",
49
+ "focus-trap-el": contentRef.value || void 0,
50
+ onReleaseRequested: onCloseRequested,
51
+ onFocusoutPrevented
52
+ }, {
53
+ default: withCtx(() => [
54
+ renderSlot(_ctx.$slots, "default")
55
+ ]),
56
+ _: 3
57
+ }, 8, ["focus-trap-el"]),
58
+ _ctx.showArrow ? (openBlock(), createElementBlock("span", {
59
+ key: 0,
60
+ ref_key: "arrowRef",
61
+ ref: arrowRef,
62
+ style: normalizeStyle(unref(arrowStyle)),
63
+ class: normalizeClass(unref(ns).e("arrow"))
64
+ }, null, 6)) : createCommentVNode("v-if", true)
65
+ ], 14, ["data-side"]);
66
+ };
41
67
  }
42
68
  });
43
- const tourContentEmits = {
44
- close: () => true
45
- };
69
+ var ElTourContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "content.vue"]]);
46
70
 
47
- export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies };
71
+ export { ElTourContent as default };
48
72
  //# sourceMappingURL=content.mjs.map