@element-plus/nightly 0.0.20250727 → 0.0.20250729

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 (549) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +65 -20
  3. package/dist/index.full.min.js +11 -11
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +10 -10
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +65 -21
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/anchor/index.mjs +1 -1
  277. package/es/components/anchor/src/anchor-link.mjs +5 -81
  278. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  279. package/es/components/anchor/src/anchor-link2.mjs +81 -5
  280. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  281. package/es/components/backtop/index.mjs +2 -2
  282. package/es/components/backtop/src/backtop.mjs +21 -53
  283. package/es/components/backtop/src/backtop.mjs.map +1 -1
  284. package/es/components/backtop/src/backtop2.mjs +53 -21
  285. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  286. package/es/components/button/src/button.vue.d.ts +1 -1
  287. package/es/components/card/index.mjs +1 -1
  288. package/es/components/card/src/card.d.ts +6 -2
  289. package/es/components/card/src/card.mjs +3 -2
  290. package/es/components/card/src/card.mjs.map +1 -1
  291. package/es/components/card/src/card.vue.d.ts +2 -2
  292. package/es/components/card/src/card2.mjs +7 -1
  293. package/es/components/card/src/card2.mjs.map +1 -1
  294. package/es/components/col/index.mjs +2 -2
  295. package/es/components/col/src/col.mjs +64 -43
  296. package/es/components/col/src/col.mjs.map +1 -1
  297. package/es/components/col/src/col2.mjs +43 -64
  298. package/es/components/col/src/col2.mjs.map +1 -1
  299. package/es/components/collapse/index.mjs +2 -2
  300. package/es/components/collapse/src/collapse-item.mjs +18 -95
  301. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  302. package/es/components/collapse/src/collapse-item2.mjs +95 -18
  303. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  304. package/es/components/collection/index.mjs +1 -1
  305. package/es/components/collection/src/collection.mjs +10 -62
  306. package/es/components/collection/src/collection.mjs.map +1 -1
  307. package/es/components/collection/src/collection2.mjs +62 -10
  308. package/es/components/collection/src/collection2.mjs.map +1 -1
  309. package/es/components/config-provider/src/config-provider-props.d.ts +7 -0
  310. package/es/components/config-provider/src/config-provider-props.mjs +3 -0
  311. package/es/components/config-provider/src/config-provider-props.mjs.map +1 -1
  312. package/es/components/config-provider/src/config-provider.d.ts +12 -0
  313. package/es/components/date-picker/src/composables/use-range-picker.mjs +5 -1
  314. package/es/components/date-picker/src/composables/use-range-picker.mjs.map +1 -1
  315. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -2
  316. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  317. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +3 -8
  318. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  319. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -0
  320. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +10 -5
  321. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  322. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -0
  323. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -0
  324. package/es/components/date-picker/src/date-picker-com/panel-year-range.vue.d.ts +3 -0
  325. package/es/components/date-picker/src/date-picker.d.ts +3 -0
  326. package/es/components/date-picker/src/panel-utils.d.ts +24 -3
  327. package/es/components/date-picker/src/props/date-picker.d.ts +1 -0
  328. package/es/components/date-picker/src/props/panel-date-pick.d.ts +1 -0
  329. package/es/components/date-picker/src/props/panel-date-range.d.ts +1 -0
  330. package/es/components/date-picker/src/props/panel-month-range.d.ts +1 -0
  331. package/es/components/date-picker/src/props/panel-year-range.d.ts +1 -0
  332. package/es/components/date-picker/src/props/shared.d.ts +2 -0
  333. package/es/components/date-picker/src/props/shared.mjs +8 -0
  334. package/es/components/date-picker/src/props/shared.mjs.map +1 -1
  335. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  336. package/es/components/dropdown/src/dropdown.mjs +1 -1
  337. package/es/components/index.mjs +10 -10
  338. package/es/components/mention/index.mjs +2 -2
  339. package/es/components/mention/src/mention.mjs +65 -285
  340. package/es/components/mention/src/mention.mjs.map +1 -1
  341. package/es/components/mention/src/mention2.mjs +285 -65
  342. package/es/components/mention/src/mention2.mjs.map +1 -1
  343. package/es/components/page-header/index.mjs +2 -2
  344. package/es/components/page-header/src/page-header.mjs +16 -97
  345. package/es/components/page-header/src/page-header.mjs.map +1 -1
  346. package/es/components/page-header/src/page-header2.mjs +97 -16
  347. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  348. package/es/components/pagination/src/components/prev.mjs +35 -17
  349. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  350. package/es/components/pagination/src/components/prev2.mjs +17 -35
  351. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  352. package/es/components/pagination/src/pagination.mjs +1 -1
  353. package/es/components/roving-focus-group/src/roving-focus-group.mjs +1 -1
  354. package/es/components/select/src/select.d.ts +17 -0
  355. package/es/components/select/src/select.mjs +6 -0
  356. package/es/components/select/src/select.mjs.map +1 -1
  357. package/es/components/select/src/select.vue.d.ts +24 -0
  358. package/es/components/select/src/select2.mjs +11 -1
  359. package/es/components/select/src/select2.mjs.map +1 -1
  360. package/es/components/switch/index.mjs +2 -2
  361. package/es/components/switch/src/switch.mjs +228 -72
  362. package/es/components/switch/src/switch.mjs.map +1 -1
  363. package/es/components/switch/src/switch2.mjs +72 -228
  364. package/es/components/switch/src/switch2.mjs.map +1 -1
  365. package/es/components/time-picker/src/common/picker.mjs +1 -0
  366. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  367. package/es/components/time-picker/src/common/picker.vue.d.ts +4 -0
  368. package/es/components/time-picker/src/common/props.d.ts +1 -0
  369. package/es/components/time-picker/src/common/props.mjs +4 -0
  370. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  371. package/es/components/time-picker/src/time-picker.d.ts +3 -0
  372. package/es/components/tooltip-v2/index.mjs +2 -2
  373. package/es/components/tooltip-v2/src/arrow.mjs +37 -21
  374. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  375. package/es/components/tooltip-v2/src/arrow2.mjs +21 -37
  376. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  377. package/es/components/tooltip-v2/src/content.mjs +110 -48
  378. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  379. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  380. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  381. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  382. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  383. package/es/components/tour/src/content.mjs.map +1 -1
  384. package/es/components/tree/src/tree.mjs +4 -1
  385. package/es/components/tree/src/tree.mjs.map +1 -1
  386. package/es/components/upload/index.mjs +4 -4
  387. package/es/components/upload/src/upload-content.mjs +33 -196
  388. package/es/components/upload/src/upload-content.mjs.map +1 -1
  389. package/es/components/upload/src/upload-content2.mjs +196 -33
  390. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  391. package/es/components/upload/src/upload-list.mjs +25 -173
  392. package/es/components/upload/src/upload-list.mjs.map +1 -1
  393. package/es/components/upload/src/upload-list2.mjs +173 -25
  394. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  395. package/es/components/upload/src/upload.mjs +97 -125
  396. package/es/components/upload/src/upload.mjs.map +1 -1
  397. package/es/components/upload/src/upload2.mjs +125 -97
  398. package/es/components/upload/src/upload2.mjs.map +1 -1
  399. package/es/components/upload/src/use-handlers.mjs +1 -1
  400. package/es/components/visual-hidden/index.mjs +3 -3
  401. package/es/components/visual-hidden/src/visual-hidden.mjs +6 -35
  402. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  403. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -6
  404. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  405. package/es/index.d.ts +79 -4
  406. package/es/index.mjs +10 -10
  407. package/es/version.d.ts +1 -1
  408. package/es/version.mjs +1 -1
  409. package/es/version.mjs.map +1 -1
  410. package/lib/components/anchor/index.js +1 -1
  411. package/lib/components/anchor/src/anchor-link.js +5 -81
  412. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  413. package/lib/components/anchor/src/anchor-link2.js +81 -5
  414. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  415. package/lib/components/backtop/index.js +2 -2
  416. package/lib/components/backtop/src/backtop.js +22 -53
  417. package/lib/components/backtop/src/backtop.js.map +1 -1
  418. package/lib/components/backtop/src/backtop2.js +53 -22
  419. package/lib/components/backtop/src/backtop2.js.map +1 -1
  420. package/lib/components/button/src/button.vue.d.ts +1 -1
  421. package/lib/components/card/index.js +1 -0
  422. package/lib/components/card/index.js.map +1 -1
  423. package/lib/components/card/src/card.d.ts +6 -2
  424. package/lib/components/card/src/card.js +3 -1
  425. package/lib/components/card/src/card.js.map +1 -1
  426. package/lib/components/card/src/card.vue.d.ts +2 -2
  427. package/lib/components/card/src/card2.js +7 -1
  428. package/lib/components/card/src/card2.js.map +1 -1
  429. package/lib/components/col/index.js +2 -2
  430. package/lib/components/col/src/col.js +64 -43
  431. package/lib/components/col/src/col.js.map +1 -1
  432. package/lib/components/col/src/col2.js +43 -64
  433. package/lib/components/col/src/col2.js.map +1 -1
  434. package/lib/components/collapse/index.js +2 -2
  435. package/lib/components/collapse/src/collapse-item.js +18 -95
  436. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  437. package/lib/components/collapse/src/collapse-item2.js +95 -18
  438. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  439. package/lib/components/collection/index.js +1 -1
  440. package/lib/components/collection/src/collection.js +9 -62
  441. package/lib/components/collection/src/collection.js.map +1 -1
  442. package/lib/components/collection/src/collection2.js +62 -9
  443. package/lib/components/collection/src/collection2.js.map +1 -1
  444. package/lib/components/config-provider/src/config-provider-props.d.ts +7 -0
  445. package/lib/components/config-provider/src/config-provider-props.js +3 -0
  446. package/lib/components/config-provider/src/config-provider-props.js.map +1 -1
  447. package/lib/components/config-provider/src/config-provider.d.ts +12 -0
  448. package/lib/components/date-picker/src/composables/use-range-picker.js +5 -1
  449. package/lib/components/date-picker/src/composables/use-range-picker.js.map +1 -1
  450. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +1 -1
  451. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  452. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +3 -8
  453. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  454. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -0
  455. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +9 -4
  456. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  457. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -0
  458. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -0
  459. package/lib/components/date-picker/src/date-picker-com/panel-year-range.vue.d.ts +3 -0
  460. package/lib/components/date-picker/src/date-picker.d.ts +3 -0
  461. package/lib/components/date-picker/src/panel-utils.d.ts +24 -3
  462. package/lib/components/date-picker/src/props/date-picker.d.ts +1 -0
  463. package/lib/components/date-picker/src/props/panel-date-pick.d.ts +1 -0
  464. package/lib/components/date-picker/src/props/panel-date-range.d.ts +1 -0
  465. package/lib/components/date-picker/src/props/panel-month-range.d.ts +1 -0
  466. package/lib/components/date-picker/src/props/panel-year-range.d.ts +1 -0
  467. package/lib/components/date-picker/src/props/shared.d.ts +2 -0
  468. package/lib/components/date-picker/src/props/shared.js +8 -0
  469. package/lib/components/date-picker/src/props/shared.js.map +1 -1
  470. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  471. package/lib/components/dropdown/src/dropdown.js +1 -1
  472. package/lib/components/index.js +10 -9
  473. package/lib/components/index.js.map +1 -1
  474. package/lib/components/mention/index.js +2 -2
  475. package/lib/components/mention/src/mention.js +64 -283
  476. package/lib/components/mention/src/mention.js.map +1 -1
  477. package/lib/components/mention/src/mention2.js +283 -64
  478. package/lib/components/mention/src/mention2.js.map +1 -1
  479. package/lib/components/page-header/index.js +2 -2
  480. package/lib/components/page-header/src/page-header.js +17 -97
  481. package/lib/components/page-header/src/page-header.js.map +1 -1
  482. package/lib/components/page-header/src/page-header2.js +97 -17
  483. package/lib/components/page-header/src/page-header2.js.map +1 -1
  484. package/lib/components/pagination/src/components/prev.js +35 -18
  485. package/lib/components/pagination/src/components/prev.js.map +1 -1
  486. package/lib/components/pagination/src/components/prev2.js +18 -35
  487. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  488. package/lib/components/pagination/src/pagination.js +1 -1
  489. package/lib/components/roving-focus-group/src/roving-focus-group.js +1 -1
  490. package/lib/components/select/src/select.d.ts +17 -0
  491. package/lib/components/select/src/select.js +6 -0
  492. package/lib/components/select/src/select.js.map +1 -1
  493. package/lib/components/select/src/select.vue.d.ts +24 -0
  494. package/lib/components/select/src/select2.js +11 -1
  495. package/lib/components/select/src/select2.js.map +1 -1
  496. package/lib/components/switch/index.js +2 -2
  497. package/lib/components/switch/src/switch.js +227 -72
  498. package/lib/components/switch/src/switch.js.map +1 -1
  499. package/lib/components/switch/src/switch2.js +72 -227
  500. package/lib/components/switch/src/switch2.js.map +1 -1
  501. package/lib/components/time-picker/src/common/picker.js +1 -0
  502. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  503. package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -0
  504. package/lib/components/time-picker/src/common/props.d.ts +1 -0
  505. package/lib/components/time-picker/src/common/props.js +4 -0
  506. package/lib/components/time-picker/src/common/props.js.map +1 -1
  507. package/lib/components/time-picker/src/time-picker.d.ts +3 -0
  508. package/lib/components/tooltip-v2/index.js +2 -2
  509. package/lib/components/tooltip-v2/src/arrow.js +37 -22
  510. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  511. package/lib/components/tooltip-v2/src/arrow2.js +22 -37
  512. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  513. package/lib/components/tooltip-v2/src/content.js +110 -48
  514. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  515. package/lib/components/tooltip-v2/src/content2.js +48 -110
  516. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  517. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  518. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  519. package/lib/components/tour/src/content.js.map +1 -1
  520. package/lib/components/tree/src/tree.js +4 -1
  521. package/lib/components/tree/src/tree.js.map +1 -1
  522. package/lib/components/upload/index.js +4 -4
  523. package/lib/components/upload/src/upload-content.js +32 -195
  524. package/lib/components/upload/src/upload-content.js.map +1 -1
  525. package/lib/components/upload/src/upload-content2.js +195 -32
  526. package/lib/components/upload/src/upload-content2.js.map +1 -1
  527. package/lib/components/upload/src/upload-list.js +26 -173
  528. package/lib/components/upload/src/upload-list.js.map +1 -1
  529. package/lib/components/upload/src/upload-list2.js +173 -26
  530. package/lib/components/upload/src/upload-list2.js.map +1 -1
  531. package/lib/components/upload/src/upload.js +100 -125
  532. package/lib/components/upload/src/upload.js.map +1 -1
  533. package/lib/components/upload/src/upload2.js +125 -100
  534. package/lib/components/upload/src/upload2.js.map +1 -1
  535. package/lib/components/upload/src/use-handlers.js +1 -1
  536. package/lib/components/visual-hidden/index.js +2 -2
  537. package/lib/components/visual-hidden/src/visual-hidden.js +6 -35
  538. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  539. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -6
  540. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  541. package/lib/index.d.ts +79 -4
  542. package/lib/index.js +10 -9
  543. package/lib/index.js.map +1 -1
  544. package/lib/version.d.ts +1 -1
  545. package/lib/version.js +1 -1
  546. package/lib/version.js.map +1 -1
  547. package/package.json +2 -2
  548. package/tags.json +1 -1
  549. package/web-types.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue';
2
2
  import type { Language } from '@element-plus/nightly/es/locale';
3
3
  import type { ButtonConfigContext } from '@element-plus/nightly/es/components/button';
4
+ import type { CardConfigContext } from '@element-plus/nightly/es/components/card';
4
5
  import type { MessageConfigContext } from '@element-plus/nightly/es/components/message';
5
6
  import type { LinkConfigContext } from '@element-plus/nightly/es/components/link';
6
7
  export type ExperimentalFeatures = {};
@@ -26,6 +27,12 @@ export declare const configProviderProps: {
26
27
  readonly validator: ((val: unknown) => boolean) | undefined;
27
28
  __epPropKey: true;
28
29
  };
30
+ readonly card: {
31
+ readonly type: import("vue").PropType<CardConfigContext>;
32
+ readonly required: false;
33
+ readonly validator: ((val: unknown) => boolean) | undefined;
34
+ __epPropKey: true;
35
+ };
29
36
  readonly link: {
30
37
  readonly type: import("vue").PropType<LinkConfigContext>;
31
38
  readonly required: false;
@@ -14,6 +14,9 @@ const configProviderProps = buildProps({
14
14
  button: {
15
15
  type: definePropType(Object)
16
16
  },
17
+ card: {
18
+ type: definePropType(Object)
19
+ },
17
20
  link: {
18
21
  type: definePropType(Object)
19
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider-props.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider-props.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { Language } from '@element-plus/locale'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\nimport type { MessageConfigContext } from '@element-plus/components/message'\nimport type { LinkConfigContext } from '@element-plus/components/link'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type ExperimentalFeatures = {\n // TO BE Defined\n}\n\nexport const configProviderProps = buildProps({\n /**\n * @description Controlling if the users want a11y features\n */\n a11y: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Locale Object\n */\n locale: {\n type: definePropType<Language>(Object),\n },\n /**\n * @description global component size\n */\n size: useSizeProp,\n /**\n * @description button related configuration, [see the following table](#button-attributes)\n */\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n /**\n * @description link related configuration, [see the following table](link-attributes)\n */\n link: {\n type: definePropType<LinkConfigContext>(Object),\n },\n /**\n * @description features at experimental stage to be added, all features are default to be set to false | ^[object]\n */\n experimentalFeatures: {\n type: definePropType<ExperimentalFeatures>(Object),\n },\n /**\n * @description Controls if we should handle keyboard navigation\n */\n keyboardNavigation: {\n type: Boolean,\n default: true,\n },\n /**\n * @description message related configuration, [see the following table](#message-attributes)\n */\n message: {\n type: definePropType<MessageConfigContext>(Object),\n },\n /**\n * @description global Initial zIndex\n */\n zIndex: Number,\n /**\n * @description global component className prefix (cooperated with [$namespace](https://github.com/element-plus/element-plus/blob/dev/packages/theme-chalk/src/mixins/config.scss#L1)) | ^[string]\n */\n namespace: {\n type: String,\n default: 'el',\n },\n ...useEmptyValuesProps,\n} as const)\nexport type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>\nexport type ConfigProviderPropsPublic = __ExtractPublicPropTypes<\n typeof configProviderProps\n>\n"],"names":[],"mappings":";;;;AAEY,MAAC,mBAAmB,GAAG,UAAU,CAAC;AAC9C,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,GAAG,mBAAmB;AACxB,CAAC;;;;"}
1
+ {"version":3,"file":"config-provider-props.mjs","sources":["../../../../../../packages/components/config-provider/src/config-provider-props.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { Language } from '@element-plus/locale'\nimport type { ButtonConfigContext } from '@element-plus/components/button'\nimport type { CardConfigContext } from '@element-plus/components/card'\nimport type { MessageConfigContext } from '@element-plus/components/message'\nimport type { LinkConfigContext } from '@element-plus/components/link'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type ExperimentalFeatures = {\n // TO BE Defined\n}\n\nexport const configProviderProps = buildProps({\n /**\n * @description Controlling if the users want a11y features\n */\n a11y: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Locale Object\n */\n locale: {\n type: definePropType<Language>(Object),\n },\n /**\n * @description global component size\n */\n size: useSizeProp,\n /**\n * @description button related configuration, [see the following table](#button-attributes)\n */\n button: {\n type: definePropType<ButtonConfigContext>(Object),\n },\n /**\n * @description card related configuration, [see the following table](link-attributes)\n */\n card: {\n type: definePropType<CardConfigContext>(Object),\n },\n /**\n * @description link related configuration, [see the following table](card-attributes)\n */\n link: {\n type: definePropType<LinkConfigContext>(Object),\n },\n /**\n * @description features at experimental stage to be added, all features are default to be set to false | ^[object]\n */\n experimentalFeatures: {\n type: definePropType<ExperimentalFeatures>(Object),\n },\n /**\n * @description Controls if we should handle keyboard navigation\n */\n keyboardNavigation: {\n type: Boolean,\n default: true,\n },\n /**\n * @description message related configuration, [see the following table](#message-attributes)\n */\n message: {\n type: definePropType<MessageConfigContext>(Object),\n },\n /**\n * @description global Initial zIndex\n */\n zIndex: Number,\n /**\n * @description global component className prefix (cooperated with [$namespace](https://github.com/element-plus/element-plus/blob/dev/packages/theme-chalk/src/mixins/config.scss#L1)) | ^[string]\n */\n namespace: {\n type: String,\n default: 'el',\n },\n ...useEmptyValuesProps,\n} as const)\nexport type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>\nexport type ConfigProviderPropsPublic = __ExtractPublicPropTypes<\n typeof configProviderProps\n>\n"],"names":[],"mappings":";;;;AAEY,MAAC,mBAAmB,GAAG,UAAU,CAAC;AAC9C,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,GAAG,mBAAmB;AACxB,CAAC;;;;"}
@@ -22,6 +22,12 @@ declare const ConfigProvider: import("vue").DefineComponent<{
22
22
  readonly validator: ((val: unknown) => boolean) | undefined;
23
23
  __epPropKey: true;
24
24
  };
25
+ readonly card: {
26
+ readonly type: import("vue").PropType<import("element-plus").CardConfigContext>;
27
+ readonly required: false;
28
+ readonly validator: ((val: unknown) => boolean) | undefined;
29
+ __epPropKey: true;
30
+ };
25
31
  readonly link: {
26
32
  readonly type: import("vue").PropType<import("element-plus").LinkConfigContext>;
27
33
  readonly required: false;
@@ -67,6 +73,12 @@ declare const ConfigProvider: import("vue").DefineComponent<{
67
73
  readonly validator: ((val: unknown) => boolean) | undefined;
68
74
  __epPropKey: true;
69
75
  };
76
+ readonly card: {
77
+ readonly type: import("vue").PropType<import("element-plus").CardConfigContext>;
78
+ readonly required: false;
79
+ readonly validator: ((val: unknown) => boolean) | undefined;
80
+ __epPropKey: true;
81
+ };
70
82
  readonly link: {
71
83
  readonly type: import("vue").PropType<import("element-plus").LinkConfigContext>;
72
84
  readonly required: false;
@@ -90,7 +90,11 @@ const useRangePicker = (props, {
90
90
  restoreDefault();
91
91
  }
92
92
  }, { immediate: true });
93
- watch(() => props.parsedValue, onReset, { immediate: true });
93
+ watch(() => props.parsedValue, (parsedValue) => {
94
+ if (!props.visible || !(parsedValue == null ? void 0 : parsedValue.length)) {
95
+ onReset(parsedValue);
96
+ }
97
+ }, { immediate: true });
94
98
  return {
95
99
  minDate,
96
100
  maxDate,
@@ -1 +1 @@
1
- {"version":3,"file":"use-range-picker.mjs","sources":["../../../../../../../packages/components/date-picker/src/composables/use-range-picker.ts"],"sourcesContent":["import { getCurrentInstance, inject, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { getDefaultValue, isValidRange } from '../utils'\nimport { ROOT_PICKER_INJECTION_KEY } from '../constants'\nimport { useShortcut } from './use-shortcut'\n\nimport type { Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { PanelRangeSharedProps, RangeState } from '../props/shared'\nimport type { DefaultValue } from '../utils'\n\ntype UseRangePickerProps = {\n onParsedValueChanged: (\n minDate: Dayjs | undefined,\n maxDate: Dayjs | undefined\n ) => void\n defaultValue: Ref<DefaultValue>\n defaultTime?: Ref<DefaultValue>\n leftDate: Ref<Dayjs>\n rightDate: Ref<Dayjs>\n step?: number\n unit: 'month' | 'year'\n}\n\nexport const useRangePicker = (\n props: PanelRangeSharedProps,\n {\n defaultValue,\n defaultTime,\n leftDate,\n rightDate,\n step,\n unit,\n\n onParsedValueChanged,\n }: UseRangePickerProps\n) => {\n const { emit } = getCurrentInstance()!\n\n const { pickerNs } = inject(ROOT_PICKER_INJECTION_KEY)!\n const drpNs = useNamespace('date-range-picker')\n const { t, lang } = useLocale()\n const handleShortcutClick = useShortcut(lang)\n const minDate = ref<Dayjs>()\n const maxDate = ref<Dayjs>()\n const rangeState = ref<RangeState>({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val: RangeState) => {\n rangeState.value = val\n }\n\n const handleRangeConfirm = (visible = false) => {\n const _minDate = unref(minDate)\n const _maxDate = unref(maxDate)\n\n if (isValidRange([_minDate, _maxDate])) {\n emit('pick', [_minDate, _maxDate], visible)\n }\n }\n\n const onSelect = (selecting: boolean) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const onReset = (parsedValue: PanelRangeSharedProps['parsedValue']) => {\n if (isArray(parsedValue) && parsedValue.length === 2) {\n const [start, end] = parsedValue\n minDate.value = start\n leftDate.value = start\n maxDate.value = end\n onParsedValueChanged(unref(minDate), unref(maxDate))\n } else {\n restoreDefault()\n }\n }\n\n const restoreDefault = () => {\n let [start, end] = getDefaultValue(unref(defaultValue), {\n lang: unref(lang),\n step,\n unit,\n unlinkPanels: props.unlinkPanels,\n })\n const getShift = (day: Dayjs) => {\n return day.diff(day.startOf('d'), 'ms')\n }\n const maybeTimes = unref(defaultTime)\n if (maybeTimes) {\n let leftShift = 0\n let rightShift = 0\n if (isArray(maybeTimes)) {\n const [timeStart, timeEnd] = maybeTimes.map(dayjs)\n leftShift = getShift(timeStart)\n rightShift = getShift(timeEnd)\n } else {\n const shift = getShift(dayjs(maybeTimes))\n leftShift = shift\n rightShift = shift\n }\n start = start.startOf('d').add(leftShift, 'ms')\n end = end.startOf('d').add(rightShift, 'ms')\n }\n\n minDate.value = undefined\n maxDate.value = undefined\n leftDate.value = start\n rightDate.value = end\n }\n\n watch(\n defaultValue,\n (val) => {\n if (val) {\n restoreDefault()\n }\n },\n { immediate: true }\n )\n\n watch(() => props.parsedValue, onReset, { immediate: true })\n\n return {\n minDate,\n maxDate,\n rangeState,\n lang,\n ppNs: pickerNs,\n drpNs,\n\n handleChangeRange,\n handleRangeConfirm,\n handleShortcutClick,\n onSelect,\n onReset,\n t,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-range-picker.mjs","sources":["../../../../../../../packages/components/date-picker/src/composables/use-range-picker.ts"],"sourcesContent":["import { getCurrentInstance, inject, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { getDefaultValue, isValidRange } from '../utils'\nimport { ROOT_PICKER_INJECTION_KEY } from '../constants'\nimport { useShortcut } from './use-shortcut'\n\nimport type { Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { PanelRangeSharedProps, RangeState } from '../props/shared'\nimport type { DefaultValue } from '../utils'\n\ntype UseRangePickerProps = {\n onParsedValueChanged: (\n minDate: Dayjs | undefined,\n maxDate: Dayjs | undefined\n ) => void\n defaultValue: Ref<DefaultValue>\n defaultTime?: Ref<DefaultValue>\n leftDate: Ref<Dayjs>\n rightDate: Ref<Dayjs>\n step?: number\n unit: 'month' | 'year'\n}\n\nexport const useRangePicker = (\n props: PanelRangeSharedProps,\n {\n defaultValue,\n defaultTime,\n leftDate,\n rightDate,\n step,\n unit,\n\n onParsedValueChanged,\n }: UseRangePickerProps\n) => {\n const { emit } = getCurrentInstance()!\n\n const { pickerNs } = inject(ROOT_PICKER_INJECTION_KEY)!\n const drpNs = useNamespace('date-range-picker')\n const { t, lang } = useLocale()\n const handleShortcutClick = useShortcut(lang)\n const minDate = ref<Dayjs>()\n const maxDate = ref<Dayjs>()\n const rangeState = ref<RangeState>({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val: RangeState) => {\n rangeState.value = val\n }\n\n const handleRangeConfirm = (visible = false) => {\n const _minDate = unref(minDate)\n const _maxDate = unref(maxDate)\n\n if (isValidRange([_minDate, _maxDate])) {\n emit('pick', [_minDate, _maxDate], visible)\n }\n }\n\n const onSelect = (selecting: boolean) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const onReset = (parsedValue: PanelRangeSharedProps['parsedValue']) => {\n if (isArray(parsedValue) && parsedValue.length === 2) {\n const [start, end] = parsedValue\n minDate.value = start\n leftDate.value = start\n maxDate.value = end\n onParsedValueChanged(unref(minDate), unref(maxDate))\n } else {\n restoreDefault()\n }\n }\n\n const restoreDefault = () => {\n let [start, end] = getDefaultValue(unref(defaultValue), {\n lang: unref(lang),\n step,\n unit,\n unlinkPanels: props.unlinkPanels,\n })\n const getShift = (day: Dayjs) => {\n return day.diff(day.startOf('d'), 'ms')\n }\n const maybeTimes = unref(defaultTime)\n if (maybeTimes) {\n let leftShift = 0\n let rightShift = 0\n if (isArray(maybeTimes)) {\n const [timeStart, timeEnd] = maybeTimes.map(dayjs)\n leftShift = getShift(timeStart)\n rightShift = getShift(timeEnd)\n } else {\n const shift = getShift(dayjs(maybeTimes))\n leftShift = shift\n rightShift = shift\n }\n start = start.startOf('d').add(leftShift, 'ms')\n end = end.startOf('d').add(rightShift, 'ms')\n }\n\n minDate.value = undefined\n maxDate.value = undefined\n leftDate.value = start\n rightDate.value = end\n }\n\n watch(\n defaultValue,\n (val) => {\n if (val) {\n restoreDefault()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (parsedValue) => {\n if (!props.visible || !parsedValue?.length) {\n onReset(parsedValue)\n }\n },\n { immediate: true }\n )\n\n return {\n minDate,\n maxDate,\n rangeState,\n lang,\n ppNs: pickerNs,\n drpNs,\n\n handleChangeRange,\n handleRangeConfirm,\n handleShortcutClick,\n onSelect,\n onReset,\n t,\n }\n}\n"],"names":[],"mappings":";;;;;;;;;AAOY,MAAC,cAAc,GAAG,CAAC,KAAK,EAAE;AACtC,EAAE,YAAY;AACd,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,oBAAoB;AACtB,CAAC,KAAK;AACN,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACzD,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAClD,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;AAClC,EAAE,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAChD,EAAE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;AACxB,EAAE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;AACxB,EAAE,MAAM,UAAU,GAAG,GAAG,CAAC;AACzB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,KAAK;AACpB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACrC,IAAI,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,OAAO,GAAG,KAAK,KAAK;AAClD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AACpC,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AACpC,IAAI,IAAI,YAAY,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC5C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,CAAC,SAAS,KAAK;AAClC,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACtC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,CAAC,WAAW,KAAK;AACnC,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1D,MAAM,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;AACvC,MAAM,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,MAAM,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAC7B,MAAM,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;AAC1B,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,KAAK,MAAM;AACX,MAAM,cAAc,EAAE,CAAC;AACvB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;AAC5D,MAAM,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AACvB,MAAM,IAAI;AACV,MAAM,IAAI;AACV,MAAM,YAAY,EAAE,KAAK,CAAC,YAAY;AACtC,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK;AAC9B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,KAAK,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAC1C,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC;AACxB,MAAM,IAAI,UAAU,GAAG,CAAC,CAAC;AACzB,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;AAC/B,QAAQ,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAQ,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,QAAQ,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvC,OAAO,MAAM;AACb,QAAQ,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAClD,QAAQ,SAAS,GAAG,KAAK,CAAC;AAC1B,QAAQ,UAAU,GAAG,KAAK,CAAC;AAC3B,OAAO;AACP,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAC3B,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAC3B,IAAI,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,IAAI,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;AAC1B,GAAG,CAAC;AACJ,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK;AAC/B,IAAI,IAAI,GAAG,EAAE;AACb,MAAM,cAAc,EAAE,CAAC;AACvB,KAAK;AACL,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,WAAW,KAAK;AAClD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE;AAChF,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AAC3B,KAAK;AACL,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,KAAK;AACT,IAAI,iBAAiB;AACrB,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,CAAC;AACL,GAAG,CAAC;AACJ;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, onBeforeUnmount, openBlock, createElementBlock, unref, normalizeClass, withModifiers, createElementVNode, createCommentVNode, Fragment, renderList, toDisplayString, createVNode } from 'vue';
1
+ import { defineComponent, onBeforeUnmount, openBlock, createElementBlock, unref, normalizeClass, createElementVNode, createCommentVNode, Fragment, renderList, toDisplayString, createVNode } from 'vue';
2
2
  import { basicDateTableProps, basicDateTableEmits } from '../props/basic-date-table.mjs';
3
3
  import { useBasicDateTable, useBasicDateTableDOM } from '../composables/use-basic-date-table.mjs';
4
4
  import ElDatePickerCell from './basic-cell-render.mjs';
@@ -45,7 +45,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
45
  role: "grid",
46
46
  onClick: unref(handlePickDate),
47
47
  onMousemove: unref(handleMouseMove),
48
- onMousedown: withModifiers(unref(handleMouseDown), ["prevent"]),
48
+ onMousedown: unref(handleMouseDown),
49
49
  onMouseup: unref(handleMouseUp)
50
50
  }, [
51
51
  createElementVNode("tbody", {
@@ -1 +1 @@
1
- {"version":3,"file":"basic-date-table.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n :aria-label=\"tableLabel\"\n :class=\"tableKls\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n role=\"grid\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n @mousedown.prevent=\"handleMouseDown\"\n @mouseup=\"handleMouseUp\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\" :class=\"weekHeaderClass\" />\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n scope=\"col\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, rowKey) in rows\"\n :key=\"rowKey\"\n :class=\"getRowKls(row[1])\"\n >\n <td\n v-for=\"(cell, columnKey) in row\"\n :key=\"`${rowKey}.${columnKey}`\"\n :ref=\"(el) => !isUnmounting && isSelectedCell(cell) && (currentCellRef = el as HTMLElement)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"cell.isCurrent\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onBeforeUnmount } from 'vue'\nimport {\n basicDateTableEmits,\n basicDateTableProps,\n} from '../props/basic-date-table'\nimport {\n useBasicDateTable,\n useBasicDateTableDOM,\n} from '../composables/use-basic-date-table'\nimport ElDatePickerCell from './basic-cell-render'\n\nconst props = defineProps(basicDateTableProps)\nconst emit = defineEmits(basicDateTableEmits)\n\nconst {\n WEEKS,\n rows,\n tbodyRef,\n currentCellRef,\n\n focus,\n isCurrent,\n isWeekActive,\n isSelectedCell,\n\n handlePickDate,\n handleMouseUp,\n handleMouseDown,\n handleMouseMove,\n handleFocus,\n} = useBasicDateTable(props, emit)\nconst { tableLabel, tableKls, getCellClasses, getRowKls, weekHeaderClass, t } =\n useBasicDateTableDOM(props, {\n isCurrent,\n isWeekActive,\n })\nlet isUnmounting = false\n\nonBeforeUnmount(() => {\n isUnmounting = true\n})\n\ndefineExpose({\n /**\n * @description focus on current cell\n */\n focus,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_unref"],"mappings":";;;;;;;;;;;;AA6DA,IAAM,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,MAEA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MAEA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,KACF,GAAI,iBAAkB,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AACjC,IAAM,MAAA,EAAE,YAAY,QAAU,EAAA,cAAA,EAAgB,WAAW,eAAiB,EAAA,CAAA,EACxE,GAAA,oBAAA,CAAqB,KAAO,EAAA;AAAA,MAC1B,SAAA;AAAA,MACA,YAAA;AAAA,KACD,CAAA,CAAA;AACH,IAAA,IAAI,YAAe,GAAA,KAAA,CAAA;AAEnB,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAe,YAAA,GAAA,IAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAAA,KAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAIX,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,OAAA,EAAA;AAAA,QACD,YAAA,EAAAC,KAAA,CAAA,UAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"basic-date-table.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n :aria-label=\"tableLabel\"\n :class=\"tableKls\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n role=\"grid\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown\"\n @mouseup=\"handleMouseUp\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\" :class=\"weekHeaderClass\" />\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n scope=\"col\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, rowKey) in rows\"\n :key=\"rowKey\"\n :class=\"getRowKls(row[1])\"\n >\n <td\n v-for=\"(cell, columnKey) in row\"\n :key=\"`${rowKey}.${columnKey}`\"\n :ref=\"(el) => !isUnmounting && isSelectedCell(cell) && (currentCellRef = el as HTMLElement)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"cell.isCurrent\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onBeforeUnmount } from 'vue'\nimport {\n basicDateTableEmits,\n basicDateTableProps,\n} from '../props/basic-date-table'\nimport {\n useBasicDateTable,\n useBasicDateTableDOM,\n} from '../composables/use-basic-date-table'\nimport ElDatePickerCell from './basic-cell-render'\n\nconst props = defineProps(basicDateTableProps)\nconst emit = defineEmits(basicDateTableEmits)\n\nconst {\n WEEKS,\n rows,\n tbodyRef,\n currentCellRef,\n\n focus,\n isCurrent,\n isWeekActive,\n isSelectedCell,\n\n handlePickDate,\n handleMouseUp,\n handleMouseDown,\n handleMouseMove,\n handleFocus,\n} = useBasicDateTable(props, emit)\nconst { tableLabel, tableKls, getCellClasses, getRowKls, weekHeaderClass, t } =\n useBasicDateTableDOM(props, {\n isCurrent,\n isWeekActive,\n })\nlet isUnmounting = false\n\nonBeforeUnmount(() => {\n isUnmounting = true\n})\n\ndefineExpose({\n /**\n * @description focus on current cell\n */\n focus,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_unref"],"mappings":";;;;;;;;;;;;AA6DA,IAAM,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,MAEA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MAEA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,KACF,GAAI,iBAAkB,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AACjC,IAAM,MAAA,EAAE,YAAY,QAAU,EAAA,cAAA,EAAgB,WAAW,eAAiB,EAAA,CAAA,EACxE,GAAA,oBAAA,CAAqB,KAAO,EAAA;AAAA,MAC1B,SAAA;AAAA,MACA,YAAA;AAAA,KACD,CAAA,CAAA;AACH,IAAA,IAAI,YAAe,GAAA,KAAA,CAAA;AAEnB,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAe,YAAA,GAAA,IAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAAA,KAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAIX,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,OAAA,EAAA;AAAA,QACD,YAAA,EAAAC,KAAA,CAAA,UAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -89,10 +89,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
89
  }
90
90
  innerDate.value = newDate;
91
91
  emit(newDate, showTime.value || keepOpen);
92
- if (props.type === "datetime") {
93
- await nextTick();
94
- handleFocusPicker();
95
- }
96
92
  } else if (selectionMode.value === "week") {
97
93
  emit(value.date);
98
94
  } else if (selectionMode.value === "dates") {
@@ -661,7 +657,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
661
657
  ], 34)
662
658
  ], 2)
663
659
  ], 2),
664
- withDirectives(createElementVNode("div", {
660
+ _ctx.showFooter && unref(footerVisible) ? (openBlock(), createElementBlock("div", {
661
+ key: 0,
665
662
  class: normalizeClass(unref(ppNs).e("footer"))
666
663
  }, [
667
664
  withDirectives(createVNode(unref(ElButton), {
@@ -690,9 +687,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
690
687
  ]),
691
688
  _: 1
692
689
  }, 8, ["class", "disabled"])
693
- ], 2), [
694
- [vShow, unref(footerVisible)]
695
- ])
690
+ ], 2)) : createCommentVNode("v-if", true)
696
691
  ], 2);
697
692
  };
698
693
  }
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div :class=\"ppNs.e('body-wrapper')\">\n <slot name=\"sidebar\" :class=\"ppNs.e('sidebar')\" />\n <div v-if=\"hasShortcuts\" :class=\"ppNs.e('sidebar')\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n :class=\"ppNs.e('shortcut')\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div :class=\"ppNs.e('body')\">\n <div v-if=\"showTime\" :class=\"dpNs.e('time-header')\">\n <span :class=\"dpNs.e('editor-wrap')\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n :validate-event=\"false\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-click-outside=\"handleTimePickClose\"\n :class=\"dpNs.e('editor-wrap')\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n :validate-event=\"false\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n :class=\"[\n dpNs.e('header'),\n (currentView === 'year' || currentView === 'month') &&\n dpNs.e('header--bordered'),\n ]\"\n >\n <span :class=\"dpNs.e('prev-btn')\">\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"d-arrow-left\"\n :class=\"ppNs.e('icon-btn')\"\n @click=\"moveByYear(false)\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-left\"\n @click=\"moveByMonth(false)\"\n >\n <slot name=\"prev-month\">\n <el-icon><arrow-left /></el-icon>\n </slot>\n </button>\n </span>\n <span\n role=\"button\"\n :class=\"dpNs.e('header-label')\"\n aria-live=\"polite\"\n tabindex=\"0\"\n @keydown.enter=\"showPicker('year')\"\n @click=\"showPicker('year')\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n aria-live=\"polite\"\n tabindex=\"0\"\n :class=\"[\n dpNs.e('header-label'),\n { active: currentView === 'month' },\n ]\"\n @keydown.enter=\"showPicker('month')\"\n @click=\"showPicker('month')\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <span :class=\"dpNs.e('next-btn')\">\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-right\"\n @click=\"moveByMonth(true)\"\n >\n <slot name=\"next-month\">\n <el-icon><arrow-right /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"moveByYear(true)\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n </span>\n </div>\n <div :class=\"ppNs.e('content')\" @keydown=\"handleKeydownTable\">\n <date-table\n v-if=\"currentView === 'date'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n :show-week-number=\"showWeekNumber\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div v-show=\"footerVisible\" :class=\"ppNs.e('footer')\">\n <el-button\n v-show=\"!isMultipleType && showNow\"\n text\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledNow\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledConfirm\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n ref,\n toRef,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n PICKER_BASE_INJECTION_KEY,\n TimePickPanel,\n extractDateFormat,\n extractTimeFormat,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { isArray, isFunction } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ArrowLeft,\n ArrowRight,\n DArrowLeft,\n DArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport { panelDatePickProps } from '../props/panel-date-pick'\nimport {\n correctlyParseUserInput,\n getValidDateOfMonth,\n getValidDateOfYear,\n} from '../utils'\nimport { ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY } from '../constants'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { SetupContext } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { PanelDatePickProps } from '../props/panel-date-pick'\nimport type {\n DateTableEmits,\n DatesPickerEmits,\n MonthsPickerEmits,\n WeekPickerEmits,\n YearsPickerEmits,\n} from '../props/basic-date-table'\n\ntype DatePickType = PanelDatePickProps['type']\n// todo\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\nconst props = defineProps(panelDatePickProps)\nconst contextEmit = defineEmits(['pick', 'set-picker-option', 'panel-change'])\nconst ppNs = useNamespace('picker-panel')\nconst dpNs = useNamespace('date-picker')\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst { t, lang } = useLocale()\nconst pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\nconst isDefaultFormat = inject(\n ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY\n) as any\nconst popper = inject(TOOLTIP_INJECTION_KEY)\nconst { shortcuts, disabledDate, cellClassName, defaultTime } = pickerBase.props\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\n\nconst currentViewRef = ref<{ focus: () => void }>()\n\nconst innerDate = ref(dayjs().locale(lang.value))\n\nconst isChangeToNow = ref(false)\n\nlet isShortcut = false\n\nconst defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n})\n\nconst month = computed(() => {\n return innerDate.value.month()\n})\n\nconst year = computed(() => {\n return innerDate.value.year()\n})\n\nconst selectableRange = ref([])\nconst userInputDate = ref<string | null>(null)\nconst userInputTime = ref<string | null>(null)\n// todo update to disableHour\nconst checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(date, selectableRange.value, props.format || 'HH:mm:ss')\n : true\n}\nconst formatEmit = (emitDayjs: Dayjs) => {\n if (\n defaultTime &&\n !visibleTime.value &&\n !isChangeToNow.value &&\n !isShortcut\n ) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n}\nconst emit = (value: Dayjs | Dayjs[], ...args: any[]) => {\n if (!value) {\n contextEmit('pick', value, ...args)\n } else if (isArray(value)) {\n const dates = value.map(formatEmit)\n contextEmit('pick', dates, ...args)\n } else {\n contextEmit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n isChangeToNow.value = false\n isShortcut = false\n}\nconst handleDatePick = async (value: DateTableEmits, keepOpen?: boolean) => {\n if (selectionMode.value === 'date') {\n value = value as Dayjs\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value || keepOpen)\n // fix: https://github.com/element-plus/element-plus/issues/14728\n if (props.type === 'datetime') {\n await nextTick()\n handleFocusPicker()\n }\n } else if (selectionMode.value === 'week') {\n emit((value as WeekPickerEmits).date)\n } else if (selectionMode.value === 'dates') {\n emit(value as DatesPickerEmits, true) // set true to keep panel open\n }\n}\n\nconst moveByMonth = (forward: boolean) => {\n const action = forward ? 'add' : 'subtract'\n innerDate.value = innerDate.value[action](1, 'month')\n handlePanelChange('month')\n}\n\nconst moveByYear = (forward: boolean) => {\n const currentDate = innerDate.value\n const action = forward ? 'add' : 'subtract'\n\n innerDate.value =\n currentView.value === 'year'\n ? currentDate[action](10, 'year')\n : currentDate[action](1, 'year')\n\n handlePanelChange('year')\n}\n\nconst currentView = ref('date')\n\nconst yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n})\n\ntype Shortcut = {\n value: (() => Dayjs) | Dayjs\n onClick?: (ctx: Omit<SetupContext, 'expose'>) => void\n}\n\nconst handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValue = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n if (shortcutValue) {\n isShortcut = true\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit as SetupContext['emit'],\n })\n }\n}\n\nconst selectionMode = computed<DatePickType>(() => {\n const { type } = props\n if (['week', 'month', 'months', 'year', 'years', 'dates'].includes(type))\n return type\n return 'date' as DatePickType\n})\n\nconst isMultipleType = computed(() => {\n return (\n selectionMode.value === 'dates' ||\n selectionMode.value === 'months' ||\n selectionMode.value === 'years'\n )\n})\n\nconst keyboardMode = computed<string>(() => {\n return selectionMode.value === 'date'\n ? currentView.value\n : selectionMode.value\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst handleMonthPick = async (\n month: number | MonthsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'month') {\n innerDate.value = getValidDateOfMonth(\n innerDate.value,\n innerDate.value.year(),\n month as number,\n lang.value,\n disabledDate\n )\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'months') {\n emit(month as MonthsPickerEmits, keepOpen ?? true)\n } else {\n innerDate.value = getValidDateOfMonth(\n innerDate.value,\n innerDate.value.year(),\n month as number,\n lang.value,\n disabledDate\n )\n currentView.value = 'date'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('month')\n}\n\nconst handleYearPick = async (\n year: number | YearsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'year') {\n const data = innerDate.value.startOf('year').year(year as number)\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'years') {\n emit(year as YearsPickerEmits, keepOpen ?? true)\n } else {\n const data = innerDate.value.year(year as number)\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n currentView.value = 'month'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst showPicker = async (view: 'month' | 'year') => {\n currentView.value = view\n await nextTick()\n handleFocusPicker()\n}\n\nconst showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n)\n\nconst footerVisible = computed(() => {\n const showDateFooter = showTime.value || selectionMode.value === 'dates'\n const showYearFooter = selectionMode.value === 'years'\n const showMonthFooter = selectionMode.value === 'months'\n const isDateView = currentView.value === 'date'\n const isYearView = currentView.value === 'year'\n const isMonthView = currentView.value === 'month'\n return (\n (showDateFooter && isDateView) ||\n (showYearFooter && isYearView) ||\n (showMonthFooter && isMonthView)\n )\n})\n\nconst disabledConfirm = computed(() => {\n if (!disabledDate) return false\n if (!props.parsedValue) return true\n if (isArray(props.parsedValue)) {\n return disabledDate(props.parsedValue[0].toDate())\n }\n return disabledDate(props.parsedValue.toDate())\n})\nconst onConfirm = () => {\n if (isMultipleType.value) {\n emit(props.parsedValue as Dayjs[])\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n}\n\nconst disabledNow = computed(() => {\n if (!disabledDate) return false\n return disabledDate(dayjs().locale(lang.value).toDate())\n})\nconst changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n isChangeToNow.value = true\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return props.timeFormat || extractTimeFormat(props.format)\n})\n\nconst dateFormat = computed(() => {\n return props.dateFormat || extractDateFormat(props.format)\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n})\n\nconst timePickerVisible = ref(false)\nconst onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n}\nconst handleTimePickClose = () => {\n timePickerVisible.value = false\n}\n\nconst getUnits = (date: Dayjs) => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date(),\n }\n}\n\nconst handleTimePick = (value: Dayjs, visible: boolean, first: boolean) => {\n const { hour, minute, second } = getUnits(value)\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs).hour(hour).minute(minute).second(second)\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n}\n\nconst handleVisibleTimeChange = (value: string) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const { year, month, date } = getUnits(innerDate.value)\n innerDate.value = newDate.year(year).month(month).date(date)\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n}\n\nconst handleVisibleDateChange = (value: string) => {\n const newDate = correctlyParseUserInput(\n value,\n dateFormat.value,\n lang.value,\n isDefaultFormat\n ) as Dayjs\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n const { hour, minute, second } = getUnits(innerDate.value)\n innerDate.value = newDate.hour(hour).minute(minute).second(second)\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n}\n\nconst isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? (value as Dayjs[]).map((_) => _.format(props.format))\n : (value as Dayjs).format(props.format)\n}\n\nconst parseUserInput = (value: Dayjs) => {\n return correctlyParseUserInput(\n value,\n props.format,\n lang.value,\n isDefaultFormat\n )\n}\n\nconst getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n}\n\nconst handleFocusPicker = () => {\n if (['week', 'month', 'year', 'date'].includes(selectionMode.value)) {\n currentViewRef.value?.focus()\n }\n}\n\nconst _handleFocusPicker = () => {\n handleFocusPicker()\n // TODO: After focus the date input, the first time you use the ArrowDown keys, you cannot focus on the date cell\n if (selectionMode.value === 'week') {\n handleKeyControl(EVENT_CODE.down)\n }\n}\n\nconst handleKeydownTable = (event: KeyboardEvent) => {\n const { code } = event\n const validCode = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n EVENT_CODE.home,\n EVENT_CODE.end,\n EVENT_CODE.pageUp,\n EVENT_CODE.pageDown,\n ]\n if (validCode.includes(code)) {\n handleKeyControl(code)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(\n code\n ) &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n event.preventDefault()\n emit(innerDate.value, false)\n }\n}\n\nconst handleKeyControl = (code: string) => {\n type KeyControlMappingCallableOffset = (date: Date, step?: number) => number\n type KeyControl = {\n [key: string]:\n | number\n | KeyControlMappingCallableOffset\n | ((date: Date, step: number) => any)\n offset: (date: Date, step: number) => any\n }\n interface KeyControlMapping {\n [key: string]: KeyControl\n }\n\n const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE\n const mapping: KeyControlMapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setFullYear(date.getFullYear() + step),\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step),\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setDate(date.getDate() + step * 7),\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: (date: Date) => -date.getDay(),\n [end]: (date: Date) => -date.getDay() + 6,\n [pageUp]: (date: Date) =>\n -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: (date: Date) =>\n new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date: Date, step: number) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[keyboardMode.value]\n if (!map) return\n map.offset(\n newDate,\n isFunction(map[code])\n ? (map[code] as unknown as KeyControlMappingCallableOffset)(newDate)\n : (map[code] as number) ?? 0\n )\n if (disabledDate && disabledDate(newDate)) {\n break\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n contextEmit('pick', result, true)\n break\n }\n}\n\nconst handlePanelChange = (mode: 'month' | 'year') => {\n contextEmit('panel-change', innerDate.value.toDate(), mode, currentView.value)\n}\n\nwatch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n } else if (val === 'years') {\n currentView.value = 'year'\n return\n } else if (val === 'months') {\n currentView.value = 'month'\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n)\n\nwatch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n)\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (isMultipleType.value) return\n if (isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\ncontextEmit('set-picker-option', ['isValidValue', isValidValue])\ncontextEmit('set-picker-option', ['formatToString', formatToString])\ncontextEmit('set-picker-option', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', _handleFocusPicker])\n</script>\n"],"names":["month","year","defaultTimeD","_openBlock","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","_Fragment","_renderList","_toDisplayString","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"panel-date-pick.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div :class=\"ppNs.e('body-wrapper')\">\n <slot name=\"sidebar\" :class=\"ppNs.e('sidebar')\" />\n <div v-if=\"hasShortcuts\" :class=\"ppNs.e('sidebar')\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n :class=\"ppNs.e('shortcut')\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div :class=\"ppNs.e('body')\">\n <div v-if=\"showTime\" :class=\"dpNs.e('time-header')\">\n <span :class=\"dpNs.e('editor-wrap')\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n :validate-event=\"false\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-click-outside=\"handleTimePickClose\"\n :class=\"dpNs.e('editor-wrap')\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n :validate-event=\"false\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n :class=\"[\n dpNs.e('header'),\n (currentView === 'year' || currentView === 'month') &&\n dpNs.e('header--bordered'),\n ]\"\n >\n <span :class=\"dpNs.e('prev-btn')\">\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"d-arrow-left\"\n :class=\"ppNs.e('icon-btn')\"\n @click=\"moveByYear(false)\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-left\"\n @click=\"moveByMonth(false)\"\n >\n <slot name=\"prev-month\">\n <el-icon><arrow-left /></el-icon>\n </slot>\n </button>\n </span>\n <span\n role=\"button\"\n :class=\"dpNs.e('header-label')\"\n aria-live=\"polite\"\n tabindex=\"0\"\n @keydown.enter=\"showPicker('year')\"\n @click=\"showPicker('year')\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n aria-live=\"polite\"\n tabindex=\"0\"\n :class=\"[\n dpNs.e('header-label'),\n { active: currentView === 'month' },\n ]\"\n @keydown.enter=\"showPicker('month')\"\n @click=\"showPicker('month')\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <span :class=\"dpNs.e('next-btn')\">\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-right\"\n @click=\"moveByMonth(true)\"\n >\n <slot name=\"next-month\">\n <el-icon><arrow-right /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"moveByYear(true)\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n </span>\n </div>\n <div :class=\"ppNs.e('content')\" @keydown=\"handleKeydownTable\">\n <date-table\n v-if=\"currentView === 'date'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n :show-week-number=\"showWeekNumber\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div v-if=\"showFooter && footerVisible\" :class=\"ppNs.e('footer')\">\n <el-button\n v-show=\"!isMultipleType && showNow\"\n text\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledNow\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledConfirm\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n ref,\n toRef,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n PICKER_BASE_INJECTION_KEY,\n TimePickPanel,\n extractDateFormat,\n extractTimeFormat,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { isArray, isFunction } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ArrowLeft,\n ArrowRight,\n DArrowLeft,\n DArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport { panelDatePickProps } from '../props/panel-date-pick'\nimport {\n correctlyParseUserInput,\n getValidDateOfMonth,\n getValidDateOfYear,\n} from '../utils'\nimport { ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY } from '../constants'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { SetupContext } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { PanelDatePickProps } from '../props/panel-date-pick'\nimport type {\n DateTableEmits,\n DatesPickerEmits,\n MonthsPickerEmits,\n WeekPickerEmits,\n YearsPickerEmits,\n} from '../props/basic-date-table'\n\ntype DatePickType = PanelDatePickProps['type']\n// todo\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\nconst props = defineProps(panelDatePickProps)\nconst contextEmit = defineEmits(['pick', 'set-picker-option', 'panel-change'])\nconst ppNs = useNamespace('picker-panel')\nconst dpNs = useNamespace('date-picker')\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst { t, lang } = useLocale()\nconst pickerBase = inject(PICKER_BASE_INJECTION_KEY) as any\nconst isDefaultFormat = inject(\n ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY\n) as any\nconst popper = inject(TOOLTIP_INJECTION_KEY)\nconst { shortcuts, disabledDate, cellClassName, defaultTime } = pickerBase.props\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\n\nconst currentViewRef = ref<{ focus: () => void }>()\n\nconst innerDate = ref(dayjs().locale(lang.value))\n\nconst isChangeToNow = ref(false)\n\nlet isShortcut = false\n\nconst defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n})\n\nconst month = computed(() => {\n return innerDate.value.month()\n})\n\nconst year = computed(() => {\n return innerDate.value.year()\n})\n\nconst selectableRange = ref([])\nconst userInputDate = ref<string | null>(null)\nconst userInputTime = ref<string | null>(null)\n// todo update to disableHour\nconst checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(date, selectableRange.value, props.format || 'HH:mm:ss')\n : true\n}\nconst formatEmit = (emitDayjs: Dayjs) => {\n if (\n defaultTime &&\n !visibleTime.value &&\n !isChangeToNow.value &&\n !isShortcut\n ) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n}\nconst emit = (value: Dayjs | Dayjs[], ...args: any[]) => {\n if (!value) {\n contextEmit('pick', value, ...args)\n } else if (isArray(value)) {\n const dates = value.map(formatEmit)\n contextEmit('pick', dates, ...args)\n } else {\n contextEmit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n isChangeToNow.value = false\n isShortcut = false\n}\nconst handleDatePick = async (value: DateTableEmits, keepOpen?: boolean) => {\n if (selectionMode.value === 'date') {\n value = value as Dayjs\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value || keepOpen)\n } else if (selectionMode.value === 'week') {\n emit((value as WeekPickerEmits).date)\n } else if (selectionMode.value === 'dates') {\n emit(value as DatesPickerEmits, true) // set true to keep panel open\n }\n}\n\nconst moveByMonth = (forward: boolean) => {\n const action = forward ? 'add' : 'subtract'\n innerDate.value = innerDate.value[action](1, 'month')\n handlePanelChange('month')\n}\n\nconst moveByYear = (forward: boolean) => {\n const currentDate = innerDate.value\n const action = forward ? 'add' : 'subtract'\n\n innerDate.value =\n currentView.value === 'year'\n ? currentDate[action](10, 'year')\n : currentDate[action](1, 'year')\n\n handlePanelChange('year')\n}\n\nconst currentView = ref('date')\n\nconst yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n})\n\ntype Shortcut = {\n value: (() => Dayjs) | Dayjs\n onClick?: (ctx: Omit<SetupContext, 'expose'>) => void\n}\n\nconst handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValue = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n if (shortcutValue) {\n isShortcut = true\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit as SetupContext['emit'],\n })\n }\n}\n\nconst selectionMode = computed<DatePickType>(() => {\n const { type } = props\n if (['week', 'month', 'months', 'year', 'years', 'dates'].includes(type))\n return type\n return 'date' as DatePickType\n})\n\nconst isMultipleType = computed(() => {\n return (\n selectionMode.value === 'dates' ||\n selectionMode.value === 'months' ||\n selectionMode.value === 'years'\n )\n})\n\nconst keyboardMode = computed<string>(() => {\n return selectionMode.value === 'date'\n ? currentView.value\n : selectionMode.value\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst handleMonthPick = async (\n month: number | MonthsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'month') {\n innerDate.value = getValidDateOfMonth(\n innerDate.value,\n innerDate.value.year(),\n month as number,\n lang.value,\n disabledDate\n )\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'months') {\n emit(month as MonthsPickerEmits, keepOpen ?? true)\n } else {\n innerDate.value = getValidDateOfMonth(\n innerDate.value,\n innerDate.value.year(),\n month as number,\n lang.value,\n disabledDate\n )\n currentView.value = 'date'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('month')\n}\n\nconst handleYearPick = async (\n year: number | YearsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'year') {\n const data = innerDate.value.startOf('year').year(year as number)\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'years') {\n emit(year as YearsPickerEmits, keepOpen ?? true)\n } else {\n const data = innerDate.value.year(year as number)\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n currentView.value = 'month'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst showPicker = async (view: 'month' | 'year') => {\n currentView.value = view\n await nextTick()\n handleFocusPicker()\n}\n\nconst showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n)\n\nconst footerVisible = computed(() => {\n const showDateFooter = showTime.value || selectionMode.value === 'dates'\n const showYearFooter = selectionMode.value === 'years'\n const showMonthFooter = selectionMode.value === 'months'\n const isDateView = currentView.value === 'date'\n const isYearView = currentView.value === 'year'\n const isMonthView = currentView.value === 'month'\n return (\n (showDateFooter && isDateView) ||\n (showYearFooter && isYearView) ||\n (showMonthFooter && isMonthView)\n )\n})\n\nconst disabledConfirm = computed(() => {\n if (!disabledDate) return false\n if (!props.parsedValue) return true\n if (isArray(props.parsedValue)) {\n return disabledDate(props.parsedValue[0].toDate())\n }\n return disabledDate(props.parsedValue.toDate())\n})\nconst onConfirm = () => {\n if (isMultipleType.value) {\n emit(props.parsedValue as Dayjs[])\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n}\n\nconst disabledNow = computed(() => {\n if (!disabledDate) return false\n return disabledDate(dayjs().locale(lang.value).toDate())\n})\nconst changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n isChangeToNow.value = true\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return props.timeFormat || extractTimeFormat(props.format)\n})\n\nconst dateFormat = computed(() => {\n return props.dateFormat || extractDateFormat(props.format)\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n})\n\nconst timePickerVisible = ref(false)\nconst onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n}\nconst handleTimePickClose = () => {\n timePickerVisible.value = false\n}\n\nconst getUnits = (date: Dayjs) => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date(),\n }\n}\n\nconst handleTimePick = (value: Dayjs, visible: boolean, first: boolean) => {\n const { hour, minute, second } = getUnits(value)\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs).hour(hour).minute(minute).second(second)\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n}\n\nconst handleVisibleTimeChange = (value: string) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const { year, month, date } = getUnits(innerDate.value)\n innerDate.value = newDate.year(year).month(month).date(date)\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n}\n\nconst handleVisibleDateChange = (value: string) => {\n const newDate = correctlyParseUserInput(\n value,\n dateFormat.value,\n lang.value,\n isDefaultFormat\n ) as Dayjs\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n const { hour, minute, second } = getUnits(innerDate.value)\n innerDate.value = newDate.hour(hour).minute(minute).second(second)\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n}\n\nconst isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? (value as Dayjs[]).map((_) => _.format(props.format))\n : (value as Dayjs).format(props.format)\n}\n\nconst parseUserInput = (value: Dayjs) => {\n return correctlyParseUserInput(\n value,\n props.format,\n lang.value,\n isDefaultFormat\n )\n}\n\nconst getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n}\n\nconst handleFocusPicker = () => {\n if (['week', 'month', 'year', 'date'].includes(selectionMode.value)) {\n currentViewRef.value?.focus()\n }\n}\n\nconst _handleFocusPicker = () => {\n handleFocusPicker()\n // TODO: After focus the date input, the first time you use the ArrowDown keys, you cannot focus on the date cell\n if (selectionMode.value === 'week') {\n handleKeyControl(EVENT_CODE.down)\n }\n}\n\nconst handleKeydownTable = (event: KeyboardEvent) => {\n const { code } = event\n const validCode = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n EVENT_CODE.home,\n EVENT_CODE.end,\n EVENT_CODE.pageUp,\n EVENT_CODE.pageDown,\n ]\n if (validCode.includes(code)) {\n handleKeyControl(code)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(\n code\n ) &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n event.preventDefault()\n emit(innerDate.value, false)\n }\n}\n\nconst handleKeyControl = (code: string) => {\n type KeyControlMappingCallableOffset = (date: Date, step?: number) => number\n type KeyControl = {\n [key: string]:\n | number\n | KeyControlMappingCallableOffset\n | ((date: Date, step: number) => any)\n offset: (date: Date, step: number) => any\n }\n interface KeyControlMapping {\n [key: string]: KeyControl\n }\n\n const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE\n const mapping: KeyControlMapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setFullYear(date.getFullYear() + step),\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step),\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setDate(date.getDate() + step * 7),\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: (date: Date) => -date.getDay(),\n [end]: (date: Date) => -date.getDay() + 6,\n [pageUp]: (date: Date) =>\n -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: (date: Date) =>\n new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date: Date, step: number) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[keyboardMode.value]\n if (!map) return\n map.offset(\n newDate,\n isFunction(map[code])\n ? (map[code] as unknown as KeyControlMappingCallableOffset)(newDate)\n : (map[code] as number) ?? 0\n )\n if (disabledDate && disabledDate(newDate)) {\n break\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n contextEmit('pick', result, true)\n break\n }\n}\n\nconst handlePanelChange = (mode: 'month' | 'year') => {\n contextEmit('panel-change', innerDate.value.toDate(), mode, currentView.value)\n}\n\nwatch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n } else if (val === 'years') {\n currentView.value = 'year'\n return\n } else if (val === 'months') {\n currentView.value = 'month'\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n)\n\nwatch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n)\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (isMultipleType.value) return\n if (isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\ncontextEmit('set-picker-option', ['isValidValue', isValidValue])\ncontextEmit('set-picker-option', ['formatToString', formatToString])\ncontextEmit('set-picker-option', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', _handleFocusPicker])\n</script>\n"],"names":["month","year","defaultTimeD","_openBlock","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","_Fragment","_renderList","_toDisplayString","_createCommentVNode"],"mappings":"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"}
@@ -31,6 +31,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
31
31
  readonly dateFormat: StringConstructor;
32
32
  readonly timeFormat: StringConstructor;
33
33
  readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
34
+ readonly showFooter: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
34
35
  readonly showWeekNumber: BooleanConstructor;
35
36
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
37
  "panel-change": (...args: any[]) => void;
@@ -59,6 +60,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
59
60
  readonly dateFormat: StringConstructor;
60
61
  readonly timeFormat: StringConstructor;
61
62
  readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
63
+ readonly showFooter: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
62
64
  readonly showWeekNumber: BooleanConstructor;
63
65
  }>> & {
64
66
  onPick?: ((...args: any[]) => any) | undefined;
@@ -67,6 +69,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
67
69
  }, {
68
70
  readonly format: string;
69
71
  readonly showNow: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
72
+ readonly showFooter: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
70
73
  readonly showWeekNumber: boolean;
71
74
  }>;
72
75
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, toRef, ref, watch, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, Fragment, renderList, toDisplayString, createCommentVNode, createVNode, withDirectives, withCtx, vShow, withKeys, createBlock, createTextVNode } from 'vue';
1
+ import { defineComponent, inject, toRef, ref, watch, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, Fragment, renderList, toDisplayString, createCommentVNode, createVNode, withDirectives, withCtx, vShow, withKeys, createBlock, createTextVNode, nextTick } from 'vue';
2
2
  import dayjs from 'dayjs';
3
3
  import { ElButton } from '../../../button/index.mjs';
4
4
  import { ElInput } from '../../../input/index.mjs';
@@ -214,10 +214,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
214
214
  emit("calendar-change", [min_.toDate(), max_ && max_.toDate()]);
215
215
  maxDate.value = maxDate_;
216
216
  minDate.value = minDate_;
217
- if (!close || showTime.value)
218
- return;
219
- handleRangeConfirm();
217
+ handleRangeConfirm(close);
220
218
  };
219
+ watch([maxDate, minDate], ([min, max]) => {
220
+ if (min && max)
221
+ handleRangeConfirm(true);
222
+ }, { flush: "post" });
221
223
  const minTimePickerVisible = ref(false);
222
224
  const maxTimePickerVisible = ref(false);
223
225
  const handleMinTimeClose = () => {
@@ -296,6 +298,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
296
298
  if (!maxDate.value || maxDate.value.isBefore(minDate.value)) {
297
299
  maxDate.value = minDate.value;
298
300
  rightDate.value = value;
301
+ nextTick(() => {
302
+ onReset(props.parsedValue);
303
+ });
299
304
  }
300
305
  };
301
306
  const handleMaxTimePick = (value, visible, first) => {
@@ -753,7 +758,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
753
758
  ], 2)
754
759
  ], 2)
755
760
  ], 2),
756
- unref(showTime) ? (openBlock(), createElementBlock("div", {
761
+ _ctx.showFooter && unref(showTime) ? (openBlock(), createElementBlock("div", {
757
762
  key: 0,
758
763
  class: normalizeClass(unref(ppNs).e("footer"))
759
764
  }, [