@element-plus/nightly 0.0.20260813 → 0.0.20260814

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 (506) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +5 -7
  3. package/dist/index.full.min.js +3 -3
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +3 -3
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +5 -7
  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/src/anchor.d.ts +1 -1
  277. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  278. package/es/components/autocomplete/src/autocomplete.d.ts +1 -1
  279. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  280. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  281. package/es/components/badge/src/badge.vue.d.ts +1 -1
  282. package/es/components/button/src/button.vue.d.ts +1 -1
  283. package/es/components/button/src/use-button.d.ts +1 -1
  284. package/es/components/calendar/src/calendar.d.ts +1 -1
  285. package/es/components/calendar/style/css.mjs +1 -1
  286. package/es/components/calendar/style/index.mjs +1 -1
  287. package/es/components/cascader/src/cascader.d.ts +2 -2
  288. package/es/components/cascader/src/cascader.vue.d.ts +3 -3
  289. package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
  290. package/es/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  291. package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  292. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  293. package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
  294. package/es/components/col/src/col.vue.d.ts +1 -1
  295. package/es/components/collapse/src/collapse.vue.d.ts +2 -2
  296. package/es/components/color-picker/src/color-picker.vue.d.ts +3 -3
  297. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  298. package/es/components/date-picker/src/date-picker.d.ts +7 -7
  299. package/es/components/date-picker/src/props.d.ts +2 -2
  300. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  301. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  302. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +3 -3
  303. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs +3 -5
  304. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  305. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  306. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +5 -5
  307. package/es/components/date-picker-panel/src/panel-utils.d.ts +9 -9
  308. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  309. package/es/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
  310. package/es/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
  311. package/es/components/date-picker-panel/src/props/shared.d.ts +1 -1
  312. package/es/components/descriptions/src/description-item.d.ts +18 -18
  313. package/es/components/dialog/src/dialog.vue.d.ts +2 -2
  314. package/es/components/divider/src/divider.d.ts +1 -1
  315. package/es/components/drawer/src/drawer.vue.d.ts +5 -5
  316. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  317. package/es/components/dropdown/src/dropdown.d.ts +2 -2
  318. package/es/components/dropdown/src/dropdown.vue.d.ts +24 -24
  319. package/es/components/dropdown/style/css.mjs +1 -1
  320. package/es/components/dropdown/style/index.mjs +1 -1
  321. package/es/components/form/src/form-item.d.ts +1 -1
  322. package/es/components/form/src/form.d.ts +1 -1
  323. package/es/components/input/src/input.vue.d.ts +4 -4
  324. package/es/components/input-number/src/input-number.d.ts +1 -1
  325. package/es/components/input-number/src/input-number.vue.d.ts +3 -3
  326. package/es/components/input-otp/src/input-otp.vue.d.ts +4 -4
  327. package/es/components/input-tag/src/input-tag.vue.d.ts +4 -4
  328. package/es/components/link/src/link.vue.d.ts +1 -1
  329. package/es/components/menu/src/menu.d.ts +1 -1
  330. package/es/components/message/src/message.vue.d.ts +3 -3
  331. package/es/components/message-box/src/index.vue.d.ts +14 -14
  332. package/es/components/notification/src/notification.vue.d.ts +3 -3
  333. package/es/components/pagination/src/pagination.d.ts +2 -2
  334. package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  335. package/es/components/popover/src/popover.d.ts +9 -9
  336. package/es/components/popover/src/popover.vue.d.ts +3 -3
  337. package/es/components/popper/src/composables/use-content.d.ts +2 -2
  338. package/es/components/popper/src/popper.d.ts +2 -2
  339. package/es/components/progress/src/progress.vue.d.ts +3 -3
  340. package/es/components/radio/src/radio-button.d.ts +3 -3
  341. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  342. package/es/components/radio/src/radio.d.ts +6 -6
  343. package/es/components/radio/src/radio.vue.d.ts +2 -2
  344. package/es/components/rate/src/rate.vue.d.ts +2 -2
  345. package/es/components/segmented/index.d.ts +3 -3
  346. package/es/components/segmented/src/segmented.d.ts +1 -1
  347. package/es/components/segmented/src/segmented.vue.d.ts +2 -2
  348. package/es/components/select/src/option.d.ts +2 -2
  349. package/es/components/select/src/option.vue.d.ts +5 -5
  350. package/es/components/select/src/select.d.ts +3 -3
  351. package/es/components/select/src/select.vue.d.ts +38 -38
  352. package/es/components/select/src/useOption.d.ts +2 -2
  353. package/es/components/select/src/useSelect.d.ts +4 -4
  354. package/es/components/select-v2/src/defaults.d.ts +1 -1
  355. package/es/components/select-v2/src/select.vue.d.ts +25 -25
  356. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  357. package/es/components/slider/src/slider.vue.d.ts +2 -2
  358. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  359. package/es/components/switch/src/switch.vue.d.ts +2 -2
  360. package/es/components/table/src/filter-panel.vue.d.ts +27 -27
  361. package/es/components/table/src/table/defaults.d.ts +5 -5
  362. package/es/components/table/src/table-column/defaults.d.ts +4 -4
  363. package/es/components/table/src/table-header/index.d.ts +5 -5
  364. package/es/components/table/src/table.vue.d.ts +2 -2
  365. package/es/components/tabs/src/tabs.d.ts +4 -4
  366. package/es/components/time-picker/src/common/picker.vue.d.ts +6 -6
  367. package/es/components/time-picker/src/common/props.d.ts +1 -1
  368. package/es/components/time-picker/src/time-picker.d.ts +4 -4
  369. package/es/components/time-select/src/time-select.vue.d.ts +4 -4
  370. package/es/components/tooltip/src/content.vue.d.ts +3 -3
  371. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  372. package/es/components/tooltip/src/tooltip.vue.d.ts +5 -5
  373. package/es/components/tour/src/content.d.ts +1 -1
  374. package/es/components/tour/src/mask.vue.d.ts +1 -1
  375. package/es/components/tour/src/step.d.ts +1 -1
  376. package/es/components/tour/src/tour.d.ts +1 -1
  377. package/es/components/tour/src/tour.vue.d.ts +2 -2
  378. package/es/components/transfer/src/transfer.vue.d.ts +2 -2
  379. package/es/components/tree/src/tree-node.vue.d.ts +6 -6
  380. package/es/components/tree/src/tree.vue.d.ts +7 -7
  381. package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
  382. package/es/components/tree-select/src/tree-select.vue.d.ts +15 -15
  383. package/es/hooks/use-floating/index.d.ts +8 -8
  384. package/es/hooks/use-popper/index.d.ts +2 -2
  385. package/es/utils/vue/size.d.ts +1 -1
  386. package/es/version.d.ts +1 -1
  387. package/es/version.mjs +1 -1
  388. package/es/version.mjs.map +1 -1
  389. package/lib/components/anchor/src/anchor.d.ts +1 -1
  390. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  391. package/lib/components/autocomplete/src/autocomplete.d.ts +1 -1
  392. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  393. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  394. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  395. package/lib/components/button/src/button.vue.d.ts +1 -1
  396. package/lib/components/button/src/use-button.d.ts +1 -1
  397. package/lib/components/calendar/src/calendar.d.ts +1 -1
  398. package/lib/components/calendar/style/css.js +1 -1
  399. package/lib/components/calendar/style/index.js +1 -1
  400. package/lib/components/cascader/src/cascader.d.ts +2 -2
  401. package/lib/components/cascader/src/cascader.vue.d.ts +3 -3
  402. package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
  403. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  404. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  405. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  406. package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
  407. package/lib/components/col/src/col.vue.d.ts +1 -1
  408. package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
  409. package/lib/components/color-picker/src/color-picker.vue.d.ts +3 -3
  410. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  411. package/lib/components/date-picker/src/date-picker.d.ts +7 -7
  412. package/lib/components/date-picker/src/props.d.ts +2 -2
  413. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  414. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.js.map +1 -1
  415. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +3 -3
  416. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js +3 -5
  417. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js.map +1 -1
  418. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  419. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +5 -5
  420. package/lib/components/date-picker-panel/src/panel-utils.d.ts +9 -9
  421. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  422. package/lib/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
  423. package/lib/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
  424. package/lib/components/date-picker-panel/src/props/shared.d.ts +1 -1
  425. package/lib/components/descriptions/src/description-item.d.ts +18 -18
  426. package/lib/components/dialog/src/dialog.vue.d.ts +2 -2
  427. package/lib/components/divider/src/divider.d.ts +1 -1
  428. package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
  429. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  430. package/lib/components/dropdown/src/dropdown.d.ts +2 -2
  431. package/lib/components/dropdown/src/dropdown.vue.d.ts +24 -24
  432. package/lib/components/dropdown/style/css.js +1 -1
  433. package/lib/components/dropdown/style/index.js +1 -1
  434. package/lib/components/form/src/form-item.d.ts +1 -1
  435. package/lib/components/form/src/form.d.ts +1 -1
  436. package/lib/components/input/src/input.vue.d.ts +4 -4
  437. package/lib/components/input-number/src/input-number.d.ts +1 -1
  438. package/lib/components/input-number/src/input-number.vue.d.ts +3 -3
  439. package/lib/components/input-otp/src/input-otp.vue.d.ts +4 -4
  440. package/lib/components/input-tag/src/input-tag.vue.d.ts +4 -4
  441. package/lib/components/link/src/link.vue.d.ts +1 -1
  442. package/lib/components/menu/src/menu.d.ts +1 -1
  443. package/lib/components/message/src/message.vue.d.ts +3 -3
  444. package/lib/components/message-box/src/index.vue.d.ts +14 -14
  445. package/lib/components/notification/src/notification.vue.d.ts +3 -3
  446. package/lib/components/pagination/src/pagination.d.ts +2 -2
  447. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  448. package/lib/components/popover/src/popover.d.ts +9 -9
  449. package/lib/components/popover/src/popover.vue.d.ts +3 -3
  450. package/lib/components/popper/src/composables/use-content.d.ts +2 -2
  451. package/lib/components/popper/src/popper.d.ts +2 -2
  452. package/lib/components/progress/src/progress.vue.d.ts +3 -3
  453. package/lib/components/radio/src/radio-button.d.ts +3 -3
  454. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  455. package/lib/components/radio/src/radio.d.ts +6 -6
  456. package/lib/components/radio/src/radio.vue.d.ts +2 -2
  457. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  458. package/lib/components/segmented/index.d.ts +3 -3
  459. package/lib/components/segmented/src/segmented.d.ts +1 -1
  460. package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
  461. package/lib/components/select/src/option.d.ts +2 -2
  462. package/lib/components/select/src/option.vue.d.ts +5 -5
  463. package/lib/components/select/src/select.d.ts +3 -3
  464. package/lib/components/select/src/select.vue.d.ts +38 -38
  465. package/lib/components/select/src/useOption.d.ts +2 -2
  466. package/lib/components/select/src/useSelect.d.ts +4 -4
  467. package/lib/components/select-v2/src/defaults.d.ts +1 -1
  468. package/lib/components/select-v2/src/select.vue.d.ts +25 -25
  469. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  470. package/lib/components/slider/src/slider.vue.d.ts +2 -2
  471. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  472. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  473. package/lib/components/table/src/filter-panel.vue.d.ts +27 -27
  474. package/lib/components/table/src/table/defaults.d.ts +5 -5
  475. package/lib/components/table/src/table-column/defaults.d.ts +4 -4
  476. package/lib/components/table/src/table-header/index.d.ts +5 -5
  477. package/lib/components/table/src/table.vue.d.ts +2 -2
  478. package/lib/components/tabs/src/tabs.d.ts +4 -4
  479. package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -6
  480. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  481. package/lib/components/time-picker/src/time-picker.d.ts +4 -4
  482. package/lib/components/time-select/src/time-select.vue.d.ts +4 -4
  483. package/lib/components/tooltip/src/content.vue.d.ts +3 -3
  484. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  485. package/lib/components/tooltip/src/tooltip.vue.d.ts +5 -5
  486. package/lib/components/tour/src/content.d.ts +1 -1
  487. package/lib/components/tour/src/mask.vue.d.ts +1 -1
  488. package/lib/components/tour/src/step.d.ts +1 -1
  489. package/lib/components/tour/src/tour.d.ts +1 -1
  490. package/lib/components/tour/src/tour.vue.d.ts +2 -2
  491. package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
  492. package/lib/components/tree/src/tree-node.vue.d.ts +6 -6
  493. package/lib/components/tree/src/tree.vue.d.ts +7 -7
  494. package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
  495. package/lib/components/tree-select/src/tree-select.vue.d.ts +15 -15
  496. package/lib/hooks/use-floating/index.d.ts +8 -8
  497. package/lib/hooks/use-popper/index.d.ts +2 -2
  498. package/lib/utils/vue/size.d.ts +1 -1
  499. package/lib/version.d.ts +1 -1
  500. package/lib/version.js +1 -1
  501. package/lib/version.js.map +1 -1
  502. package/package.json +2 -2
  503. package/theme-chalk/el-input.css +1 -1
  504. package/theme-chalk/index.css +1 -1
  505. package/theme-chalk/src/input.scss +3 -0
  506. package/web-types.json +1 -1
@@ -187,25 +187,24 @@ declare const __VLS_base: _$vue.DefineComponent<CascaderComponentProps, {
187
187
  focus: () => void; /** @description blur the input element */
188
188
  blur: () => void;
189
189
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
190
- "update:modelValue": (value: CascaderValue | null | undefined) => void;
191
190
  change: (value: CascaderValue | null | undefined) => void;
192
191
  clear: () => void;
192
+ "update:modelValue": (value: CascaderValue | null | undefined) => void;
193
193
  focus: (evt: FocusEvent) => void;
194
194
  blur: (evt: FocusEvent) => void;
195
195
  visibleChange: (val: boolean) => void;
196
196
  expandChange: (val: CascaderValue) => void;
197
197
  removeTag: (val: CascaderNodeValue | CascaderNodePathValue) => void;
198
198
  }, string, _$vue.PublicProps, Readonly<CascaderComponentProps> & Readonly<{
199
- "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
200
199
  onChange?: ((value: CascaderValue | null | undefined) => any) | undefined;
201
200
  onClear?: (() => any) | undefined;
201
+ "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
202
202
  onFocus?: ((evt: FocusEvent) => any) | undefined;
203
203
  onBlur?: ((evt: FocusEvent) => any) | undefined;
204
204
  onVisibleChange?: ((val: boolean) => any) | undefined;
205
205
  onExpandChange?: ((val: CascaderValue) => any) | undefined;
206
206
  onRemoveTag?: ((val: CascaderNodeValue | CascaderNodePathValue) => any) | undefined;
207
207
  }>, {
208
- valueOnClear: string | number | boolean | Function | null;
209
208
  teleported: boolean;
210
209
  props: CascaderProps;
211
210
  effect: PopperEffect;
@@ -221,6 +220,7 @@ declare const __VLS_base: _$vue.DefineComponent<CascaderComponentProps, {
221
220
  persistent: boolean;
222
221
  options: CascaderOption[];
223
222
  debounce: number;
223
+ valueOnClear: string | number | boolean | Function | null;
224
224
  showPrefix: boolean;
225
225
  filterMethod: (node: Node, keyword: string) => boolean;
226
226
  showAllLevels: boolean;
@@ -268,14 +268,14 @@ declare const __VLS_base: _$vue.DefineComponent<CascaderPanelProps, {
268
268
  scrollToExpandingNode: () => void;
269
269
  loadLazyRootNodes: () => void;
270
270
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
271
- "update:modelValue": (value: CascaderValue | null | undefined) => void;
272
271
  change: (value: CascaderValue | null | undefined) => void;
273
272
  close: () => void;
273
+ "update:modelValue": (value: CascaderValue | null | undefined) => void;
274
274
  "expand-change": (value: CascaderNodePathValue) => void;
275
275
  }, string, _$vue.PublicProps, Readonly<CascaderPanelProps> & Readonly<{
276
- "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
277
276
  onChange?: ((value: CascaderValue | null | undefined) => any) | undefined;
278
277
  onClose?: (() => any) | undefined;
278
+ "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
279
279
  "onExpand-change"?: ((value: CascaderNodePathValue) => any) | undefined;
280
280
  }>, {
281
281
  props: CascaderProps;
@@ -7,11 +7,11 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
10
- "update:modelValue": (val: CheckboxValueType) => void;
11
10
  change: (val: CheckboxValueType) => void;
11
+ "update:modelValue": (val: CheckboxValueType) => void;
12
12
  }, string, _$vue.PublicProps, Readonly<CheckboxProps> & Readonly<{
13
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
14
13
  onChange?: ((val: CheckboxValueType) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
15
15
  }>, {
16
16
  id: string;
17
17
  disabled: boolean;
@@ -8,18 +8,18 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_8) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<CheckboxGroupProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
- "update:modelValue": (val: CheckboxGroupValueType) => void;
12
11
  change: (val: CheckboxValueType[]) => void;
12
+ "update:modelValue": (val: CheckboxGroupValueType) => void;
13
13
  }, string, _$vue.PublicProps, Readonly<CheckboxGroupProps> & Readonly<{
14
- "onUpdate:modelValue"?: ((val: CheckboxGroupValueType) => any) | undefined;
15
14
  onChange?: ((val: CheckboxValueType[]) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((val: CheckboxGroupValueType) => any) | undefined;
16
16
  }>, {
17
- type: "checkbox" | "button";
18
17
  props: {
19
18
  value?: string;
20
19
  label?: string;
21
20
  disabled?: string;
22
21
  };
22
+ type: "checkbox" | "button";
23
23
  disabled: boolean;
24
24
  modelValue: CheckboxGroupValueType;
25
25
  validateEvent: boolean;
@@ -84,21 +84,21 @@ declare const checkboxProps: {
84
84
  * @description binding value
85
85
  */
86
86
  modelValue: {
87
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
87
+ type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
88
88
  default: undefined;
89
89
  };
90
90
  /**
91
91
  * @description label of the Checkbox when used inside a `checkbox-group`
92
92
  */
93
93
  label: {
94
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[];
94
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[];
95
95
  default: undefined;
96
96
  };
97
97
  /**
98
98
  * @description value of the Checkbox when used inside a `checkbox-group`
99
99
  */
100
100
  value: {
101
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[];
101
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[];
102
102
  default: undefined;
103
103
  };
104
104
  /**
@@ -127,14 +127,14 @@ declare const checkboxProps: {
127
127
  * @description value of the Checkbox if it's checked
128
128
  */
129
129
  trueValue: {
130
- type: (StringConstructor | NumberConstructor)[];
130
+ type: (NumberConstructor | StringConstructor)[];
131
131
  default: undefined;
132
132
  };
133
133
  /**
134
134
  * @description value of the Checkbox if it's not checked
135
135
  */
136
136
  falseValue: {
137
- type: (StringConstructor | NumberConstructor)[];
137
+ type: (NumberConstructor | StringConstructor)[];
138
138
  default: undefined;
139
139
  };
140
140
  /**
@@ -142,7 +142,7 @@ declare const checkboxProps: {
142
142
  * @description value of the Checkbox if it's checked
143
143
  */
144
144
  trueLabel: {
145
- type: (StringConstructor | NumberConstructor)[];
145
+ type: (NumberConstructor | StringConstructor)[];
146
146
  default: undefined;
147
147
  };
148
148
  /**
@@ -150,7 +150,7 @@ declare const checkboxProps: {
150
150
  * @description value of the Checkbox if it's not checked
151
151
  */
152
152
  falseLabel: {
153
- type: (StringConstructor | NumberConstructor)[];
153
+ type: (NumberConstructor | StringConstructor)[];
154
154
  default: undefined;
155
155
  };
156
156
  /**
@@ -176,7 +176,7 @@ declare const checkboxProps: {
176
176
  /**
177
177
  * @description input tabindex
178
178
  */
179
- tabindex: (StringConstructor | NumberConstructor)[];
179
+ tabindex: (NumberConstructor | StringConstructor)[];
180
180
  /**
181
181
  * @description whether to trigger form validation
182
182
  */
@@ -7,11 +7,11 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_10) => any;
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
10
- "update:modelValue": (val: CheckboxValueType) => void;
11
10
  change: (val: CheckboxValueType) => void;
11
+ "update:modelValue": (val: CheckboxValueType) => void;
12
12
  }, string, _$vue.PublicProps, Readonly<CheckboxProps> & Readonly<{
13
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
14
13
  onChange?: ((val: CheckboxValueType) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
15
15
  }>, {
16
16
  id: string;
17
17
  disabled: boolean;
@@ -7,8 +7,8 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_8) => any;
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<ColProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ColProps> & Readonly<{}>, {
10
- push: number;
11
10
  offset: number;
11
+ push: number;
12
12
  tag: string;
13
13
  span: number;
14
14
  pull: number;
@@ -10,11 +10,11 @@ declare const __VLS_base: _$vue.DefineComponent<CollapseProps, {
10
10
  /** @description active names */activeNames: _$vue.Ref<(string | number)[], (string | number)[]>; /** @description set active names */
11
11
  setActiveNames: (_activeNames: CollapseActiveName[]) => void;
12
12
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
13
- "update:modelValue": (value: CollapseModelValue) => void;
14
13
  change: (value: CollapseModelValue) => void;
14
+ "update:modelValue": (value: CollapseModelValue) => void;
15
15
  }, string, _$vue.PublicProps, Readonly<CollapseProps> & Readonly<{
16
- "onUpdate:modelValue"?: ((value: CollapseModelValue) => any) | undefined;
17
16
  onChange?: ((value: CollapseModelValue) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: CollapseModelValue) => any) | undefined;
18
18
  }>, {
19
19
  modelValue: CollapseModelValue;
20
20
  expandIconPosition: CollapseIconPositionType;
@@ -30,21 +30,20 @@ declare const __VLS_export: _$vue.DefineComponent<ColorPickerProps, {
30
30
  */
31
31
  blur: typeof blur;
32
32
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
33
- "update:modelValue": (val: string | null) => void;
34
33
  change: (val: string | null) => void;
35
34
  clear: () => void;
35
+ "update:modelValue": (val: string | null) => void;
36
36
  focus: (evt: FocusEvent) => void;
37
37
  blur: (evt: FocusEvent) => void;
38
38
  activeChange: (val: string | null) => void;
39
39
  }, string, _$vue.PublicProps, Readonly<ColorPickerProps> & Readonly<{
40
- "onUpdate:modelValue"?: ((val: string | null) => any) | undefined;
41
40
  onChange?: ((val: string | null) => any) | undefined;
42
41
  onClear?: (() => any) | undefined;
42
+ "onUpdate:modelValue"?: ((val: string | null) => any) | undefined;
43
43
  onFocus?: ((evt: FocusEvent) => any) | undefined;
44
44
  onBlur?: ((evt: FocusEvent) => any) | undefined;
45
45
  onActiveChange?: ((val: string | null) => any) | undefined;
46
46
  }>, {
47
- valueOnClear: string | number | boolean | Function | null;
48
47
  teleported: boolean;
49
48
  disabled: boolean;
50
49
  modelValue: string | null;
@@ -54,6 +53,7 @@ declare const __VLS_export: _$vue.DefineComponent<ColorPickerProps, {
54
53
  popperClass: string | false | Record<string, any> | ClassValue[] | null;
55
54
  popperStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
56
55
  persistent: boolean;
56
+ valueOnClear: string | number | boolean | Function | null;
57
57
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
58
58
  declare const _default: typeof __VLS_export;
59
59
  //#endregion
@@ -32,7 +32,7 @@ declare function useGlobalComponentSettings(block: string, sizeFallback?: MaybeR
32
32
  currentZIndex: _$vue.ComputedRef<number>;
33
33
  nextZIndex: () => number;
34
34
  };
35
- size: _$vue.ComputedRef<"default" | "" | "small" | "large">;
35
+ size: _$vue.ComputedRef<"" | "default" | "small" | "large">;
36
36
  };
37
37
  declare const provideGlobalConfig: (config: MaybeRef<ConfigProviderContext>, app?: App, global?: boolean) => _$vue.ComputedRef<Partial<ConfigProviderProps>> | undefined;
38
38
  //#endregion
@@ -8,7 +8,7 @@ import * as _$vue_jsx_runtime0 from "vue/jsx-runtime";
8
8
 
9
9
  //#region ../../packages/components/date-picker/src/date-picker.d.ts
10
10
  declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
11
- readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
11
+ readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
12
12
  readonly showNow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
13
13
  readonly showConfirm: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
14
14
  readonly showFooter: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -34,7 +34,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
34
34
  readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
35
35
  readonly unlinkPanels: BooleanConstructor;
36
36
  readonly singlePanel: BooleanConstructor;
37
- readonly placement: EpPropFinalized<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
37
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
38
38
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
39
39
  readonly disabledHours: {
40
40
  readonly type: _$vue.PropType<GetDisabledHours>;
@@ -106,7 +106,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
106
106
  };
107
107
  readonly isRange: BooleanConstructor;
108
108
  }>, () => _$vue_jsx_runtime0.JSX.Element, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
109
- readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
109
+ readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
110
110
  readonly showNow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
111
111
  readonly showConfirm: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
112
112
  readonly showFooter: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -132,7 +132,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
132
132
  readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
133
133
  readonly unlinkPanels: BooleanConstructor;
134
134
  readonly singlePanel: BooleanConstructor;
135
- readonly placement: EpPropFinalized<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
135
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
136
136
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
137
137
  readonly disabledHours: {
138
138
  readonly type: _$vue.PropType<GetDisabledHours>;
@@ -206,8 +206,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
206
206
  }>> & Readonly<{
207
207
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
208
208
  }>, {
209
- readonly type: EpPropMergeType<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown>;
210
- readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
209
+ readonly type: EpPropMergeType<(new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown>;
211
210
  readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
212
211
  readonly modelValue: EpPropMergeType<(new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null) | (((new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null)) | null)[], unknown, unknown>;
213
212
  readonly placeholder: string;
@@ -220,8 +219,9 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
220
219
  readonly popperClass: ClassValue;
221
220
  readonly popperStyle: _$vue.StyleValue;
222
221
  readonly fallbackPlacements: Placement[];
223
- readonly placement: EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
222
+ readonly placement: EpPropMergeType<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
224
223
  readonly popperOptions: Partial<Options>;
224
+ readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
225
225
  readonly automaticDropdown: EpPropMergeType<BooleanConstructor, unknown, unknown>;
226
226
  readonly editable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
227
227
  readonly saveOnBlur: EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -8,7 +8,7 @@ import { ExtractPropTypes, ExtractPublicPropTypes } from "vue";
8
8
 
9
9
  //#region ../../packages/components/date-picker/src/props.d.ts
10
10
  declare const datePickerProps: {
11
- readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
11
+ readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
12
12
  readonly showNow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
13
13
  readonly showConfirm: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
14
14
  readonly showFooter: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -34,7 +34,7 @@ declare const datePickerProps: {
34
34
  readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
35
35
  readonly unlinkPanels: BooleanConstructor;
36
36
  readonly singlePanel: BooleanConstructor;
37
- readonly placement: EpPropFinalized<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
37
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
38
38
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
39
39
  readonly disabledHours: {
40
40
  readonly type: _$vue.PropType<GetDisabledHours>;
@@ -214,7 +214,7 @@ declare const useBasicDateTable: (props: BasicDateTableProps, emit: SetupContext
214
214
  isSameOrAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
215
215
  isSameOrBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
216
216
  } | undefined;
217
- type?: ("week" | "normal" | "prev-month" | "next-month" | "today") | undefined;
217
+ type?: ("normal" | "prev-month" | "next-month" | "today" | "week") | undefined;
218
218
  }[][]>;
219
219
  tbodyRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
220
220
  currentCellRef: _$vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.js","names":[],"sources":["../../../../../../../packages/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n ppNs.is('border', border),\n ppNs.is('disabled', dateDisabled),\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\n :readonly=\"!editable\"\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 :disabled=\"dateDisabled\"\n :readonly=\"!editable\"\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' ||\n currentView === 'month' ||\n currentView === 'quarter') &&\n dpNs.em('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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\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=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\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=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\n :parsed-value=\"parsedValue\"\n :cell-class-name=\"cellClassName\"\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 :disabled=\"dateDisabled\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleMonthPick\"\n />\n <quarter-table\n v-if=\"currentView === 'quarter'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :disabled=\"dateDisabled\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleQuarterPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-if=\"showFooter && footerVisible && footerFilled\"\n :class=\"ppNs.e('footer')\"\n >\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 v-if=\"showConfirm\"\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 DEFAULT_FORMATS_DATE,\n DEFAULT_FORMATS_TIME,\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 {\n extractFirst,\n getEventCode,\n isArray,\n isFunction,\n} 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 { panelDatePickProps } from '../props/panel-date-pick'\nimport {\n correctlyParseUserInput,\n getValidDateOfMonth,\n getValidDateOfQuarter,\n getValidDateOfYear,\n isQuarterFullyDisabled,\n isSelectableQuarterDate,\n normalizeQuarterDate,\n} from '../utils'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport QuarterTable from './basic-quarter-table.vue'\nimport YearTable from './basic-year-table.vue'\nimport { useFormDisabled } from '@element-plus/components/form'\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 QuartersPickerEmits,\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 { shortcuts, cellClassName, defaultTime } = pickerBase.props\nconst disabledDate = toRef(pickerBase.props, 'disabledDate')\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(\n date,\n selectableRange.value,\n props.format || DEFAULT_FORMATS_TIME\n )\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' && dayjs.isDayjs(value)) {\n const parsedDateValue = extractFirst(props.parsedValue)\n let newDate = parsedDateValue\n ? parsedDateValue\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 (\n [\n 'week',\n 'month',\n 'months',\n 'year',\n 'years',\n 'dates',\n 'quarter',\n 'quarters',\n ].includes(type)\n )\n return type\n return 'date'\n})\n\nconst isMultipleType = computed(() => {\n return (\n selectionMode.value === 'dates' ||\n selectionMode.value === 'months' ||\n selectionMode.value === 'years' ||\n selectionMode.value === 'quarters'\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.value\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.value\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 handleQuarterPick = async (\n quarter: number | QuartersPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'quarter') {\n innerDate.value = getValidDateOfQuarter(\n innerDate.value,\n innerDate.value.year(),\n quarter as number,\n lang.value,\n disabledDate.value\n )\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'quarters') {\n emit(quarter as QuartersPickerEmits, keepOpen ?? true)\n }\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.value)\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.value)\n currentView.value = ['quarter', 'quarters'].includes(selectionMode.value)\n ? 'quarter'\n : 'month'\n if (\n ['month', 'year', 'date', 'week', 'quarter'].includes(selectionMode.value)\n ) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst dateDisabled = useFormDisabled()\n\nconst showPicker = async (view: 'month' | 'year') => {\n if (dateDisabled.value) return\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 showQuarterFooter = selectionMode.value === 'quarters'\n const isDateView = currentView.value === 'date'\n const isYearView = currentView.value === 'year'\n const isMonthView = currentView.value === 'month'\n const isQuarterView = currentView.value === 'quarter'\n return (\n (showDateFooter && isDateView) ||\n (showYearFooter && isYearView) ||\n (showMonthFooter && isMonthView) ||\n (showQuarterFooter && isQuarterView)\n )\n})\n\nconst footerFilled = computed(\n () => (!isMultipleType.value && props.showNow) || props.showConfirm\n)\n\nconst disabledConfirm = computed(() => {\n if (!disabledDate.value) return false\n if (!props.parsedValue) return true\n if (isArray(props.parsedValue)) {\n if (!props.parsedValue.length) return true\n\n if (selectionMode.value === 'quarters') {\n return props.parsedValue.some((date) =>\n isQuarterFullyDisabled(date, lang.value, disabledDate.value)\n )\n }\n\n return disabledDate.value(props.parsedValue[0].toDate())\n }\n return disabledDate.value(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 = extractFirst(props.parsedValue)\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.value) return false\n return disabledDate.value(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.value || !disabledDate.value(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return (\n props.timeFormat || extractTimeFormat(props.format) || DEFAULT_FORMATS_TIME\n )\n})\n\nconst dateFormat = computed(() => {\n return (\n props.dateFormat || extractDateFormat(props.format) || DEFAULT_FORMATS_DATE\n )\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n const dateValue = extractFirst(props.parsedValue) || innerDate.value\n return dateValue.format(timeFormat.value)\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n const dateValue = extractFirst(props.parsedValue) || innerDate.value\n return dateValue.format(dateFormat.value)\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 parsedDateValue = extractFirst(props.parsedValue)\n const newDate = parsedDateValue\n ? parsedDateValue.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 ) as Dayjs\n if (newDate.isValid()) {\n if (disabledDate.value && disabledDate.value(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 if (!dayjs.isDayjs(date) || !date.isValid()) {\n return false\n }\n\n if (selectionMode.value === 'quarter') {\n return isSelectableQuarterDate(date, lang.value, disabledDate.value)\n }\n\n return disabledDate.value ? !disabledDate.value(date.toDate()) : true\n}\n\nconst parseUserInput = (value: Dayjs | Dayjs[]) => {\n const parsed = correctlyParseUserInput(value, props.format, lang.value) as\n Dayjs | Dayjs[]\n\n if (!['quarter', 'quarters'].includes(selectionMode.value)) {\n return parsed\n }\n\n const normalize = (date: Dayjs) =>\n normalizeQuarterDate(date, lang.value, disabledDate.value)\n\n if (isArray(parsed)) {\n return parsed.map(normalize)\n }\n if (!dayjs.isDayjs(parsed) || !parsed.isValid()) {\n return parsed\n }\n return normalize(parsed)\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 (\n ['week', 'month', 'year', 'date', 'quarter', 'quarters'].includes(\n selectionMode.value\n )\n ) {\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 = getEventCode(event)\n\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 quarter: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step * 3),\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 mode =\n keyboardMode.value === 'quarters' ? 'quarter' : keyboardMode.value\n const map = mapping[mode]\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\n let result: Dayjs\n if (mode === 'quarter') {\n const candidate = dayjs(newDate).locale(lang.value)\n if (isQuarterFullyDisabled(candidate, lang.value, disabledDate.value)) {\n break\n }\n result = getValidDateOfQuarter(\n candidate,\n candidate.year(),\n candidate.quarter() - 1,\n lang.value,\n disabledDate.value\n )\n } else {\n if (disabledDate.value && disabledDate.value(newDate)) {\n break\n }\n result = dayjs(newDate).locale(lang.value)\n }\n\n innerDate.value = result\n if (!isMultipleType.value) {\n contextEmit('pick', result, true)\n }\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', 'quarter'].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 } else if (val === 'quarters') {\n currentView.value = 'quarter'\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\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', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', _handleFocusPicker])\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"panel-date-pick.js","names":[],"sources":["../../../../../../../packages/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n ppNs.is('border', border),\n ppNs.is('disabled', dateDisabled),\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\n :readonly=\"!editable\"\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 :disabled=\"dateDisabled\"\n :readonly=\"!editable\"\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' ||\n currentView === 'month' ||\n currentView === 'quarter') &&\n dpNs.em('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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\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=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\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=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\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 :disabled=\"dateDisabled\"\n :parsed-value=\"parsedValue\"\n :cell-class-name=\"cellClassName\"\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 :disabled=\"dateDisabled\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleMonthPick\"\n />\n <quarter-table\n v-if=\"currentView === 'quarter'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :disabled=\"dateDisabled\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleQuarterPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-if=\"showFooter && footerVisible && footerFilled\"\n :class=\"ppNs.e('footer')\"\n >\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 v-if=\"showConfirm\"\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 DEFAULT_FORMATS_DATE,\n DEFAULT_FORMATS_TIME,\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 {\n extractFirst,\n getEventCode,\n isArray,\n isFunction,\n} 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 { panelDatePickProps } from '../props/panel-date-pick'\nimport {\n correctlyParseUserInput,\n getValidDateOfMonth,\n getValidDateOfQuarter,\n getValidDateOfYear,\n isQuarterFullyDisabled,\n isSelectableQuarterDate,\n normalizeQuarterDate,\n} from '../utils'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport QuarterTable from './basic-quarter-table.vue'\nimport YearTable from './basic-year-table.vue'\nimport { useFormDisabled } from '@element-plus/components/form'\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 QuartersPickerEmits,\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 { shortcuts, cellClassName, defaultTime } = pickerBase.props\nconst disabledDate = toRef(pickerBase.props, 'disabledDate')\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(\n date,\n selectableRange.value,\n props.format || DEFAULT_FORMATS_TIME\n )\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' && dayjs.isDayjs(value)) {\n const parsedDateValue = extractFirst(props.parsedValue)\n let newDate = parsedDateValue\n ? parsedDateValue\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 (\n [\n 'week',\n 'month',\n 'months',\n 'year',\n 'years',\n 'dates',\n 'quarter',\n 'quarters',\n ].includes(type)\n )\n return type\n return 'date'\n})\n\nconst isMultipleType = computed(() => {\n return (\n selectionMode.value === 'dates' ||\n selectionMode.value === 'months' ||\n selectionMode.value === 'years' ||\n selectionMode.value === 'quarters'\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.value\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.value\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 handleQuarterPick = async (\n quarter: number | QuartersPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'quarter') {\n innerDate.value = getValidDateOfQuarter(\n innerDate.value,\n innerDate.value.year(),\n quarter as number,\n lang.value,\n disabledDate.value\n )\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'quarters') {\n emit(quarter as QuartersPickerEmits, keepOpen ?? true)\n }\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.value)\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.value)\n currentView.value = ['quarter', 'quarters'].includes(selectionMode.value)\n ? 'quarter'\n : 'month'\n if (\n ['month', 'year', 'date', 'week', 'quarter'].includes(selectionMode.value)\n ) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst dateDisabled = useFormDisabled()\n\nconst showPicker = async (view: 'month' | 'year') => {\n if (dateDisabled.value) return\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 showQuarterFooter = selectionMode.value === 'quarters'\n const isDateView = currentView.value === 'date'\n const isYearView = currentView.value === 'year'\n const isMonthView = currentView.value === 'month'\n const isQuarterView = currentView.value === 'quarter'\n return (\n (showDateFooter && isDateView) ||\n (showYearFooter && isYearView) ||\n (showMonthFooter && isMonthView) ||\n (showQuarterFooter && isQuarterView)\n )\n})\n\nconst footerFilled = computed(\n () => (!isMultipleType.value && props.showNow) || props.showConfirm\n)\n\nconst disabledConfirm = computed(() => {\n if (!disabledDate.value) return false\n if (!props.parsedValue) return true\n if (isArray(props.parsedValue)) {\n if (!props.parsedValue.length) return true\n\n if (selectionMode.value === 'quarters') {\n return props.parsedValue.some((date) =>\n isQuarterFullyDisabled(date, lang.value, disabledDate.value)\n )\n }\n\n return disabledDate.value(props.parsedValue[0].toDate())\n }\n return disabledDate.value(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 = extractFirst(props.parsedValue)\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.value) return false\n return disabledDate.value(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.value || !disabledDate.value(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return (\n props.timeFormat || extractTimeFormat(props.format) || DEFAULT_FORMATS_TIME\n )\n})\n\nconst dateFormat = computed(() => {\n return (\n props.dateFormat || extractDateFormat(props.format) || DEFAULT_FORMATS_DATE\n )\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n const dateValue = extractFirst(props.parsedValue) || innerDate.value\n return dateValue.format(timeFormat.value)\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n const dateValue = extractFirst(props.parsedValue) || innerDate.value\n return dateValue.format(dateFormat.value)\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 parsedDateValue = extractFirst(props.parsedValue)\n const newDate = parsedDateValue\n ? parsedDateValue.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 ) as Dayjs\n if (newDate.isValid()) {\n if (disabledDate.value && disabledDate.value(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 if (!dayjs.isDayjs(date) || !date.isValid()) {\n return false\n }\n\n if (selectionMode.value === 'quarter') {\n return isSelectableQuarterDate(date, lang.value, disabledDate.value)\n }\n\n return disabledDate.value ? !disabledDate.value(date.toDate()) : true\n}\n\nconst parseUserInput = (value: Dayjs | Dayjs[]) => {\n const parsed = correctlyParseUserInput(value, props.format, lang.value) as\n Dayjs | Dayjs[]\n\n if (!['quarter', 'quarters'].includes(selectionMode.value)) {\n return parsed\n }\n\n const normalize = (date: Dayjs) =>\n normalizeQuarterDate(date, lang.value, disabledDate.value)\n\n if (isArray(parsed)) {\n return parsed.map(normalize)\n }\n if (!dayjs.isDayjs(parsed) || !parsed.isValid()) {\n return parsed\n }\n return normalize(parsed)\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 (\n ['week', 'month', 'year', 'date', 'quarter'].includes(selectionMode.value)\n ) {\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 = getEventCode(event)\n\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 quarter: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step * 3),\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\n let result: Dayjs\n if (keyboardMode.value === 'quarter') {\n const candidate = dayjs(newDate).locale(lang.value)\n if (isQuarterFullyDisabled(candidate, lang.value, disabledDate.value)) {\n break\n }\n result = getValidDateOfQuarter(\n candidate,\n candidate.year(),\n candidate.quarter() - 1,\n lang.value,\n disabledDate.value\n )\n } else {\n if (disabledDate.value && disabledDate.value(newDate)) {\n break\n }\n result = dayjs(newDate).locale(lang.value)\n }\n\n innerDate.value = result\n if (!isMultipleType.value) {\n contextEmit('pick', result, true)\n }\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', 'quarter'].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 } else if (val === 'quarters') {\n currentView.value = 'quarter'\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\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', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', _handleFocusPicker])\n</script>\n"],"mappings":""}
@@ -28,7 +28,7 @@ declare const __VLS_base: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
28
28
  readonly visible: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
29
29
  readonly format: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
30
30
  readonly type: {
31
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange")) | null)[], "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange", unknown>>;
31
+ readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (((new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange")) | null)[], "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange", unknown>>;
32
32
  readonly required: true;
33
33
  readonly validator: ((val: unknown) => boolean) | undefined;
34
34
  __epPropKey: true;
@@ -56,7 +56,7 @@ declare const __VLS_base: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
56
56
  readonly visible: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
57
57
  readonly format: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
58
58
  readonly type: {
59
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange")) | null)[], "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "quarter" | "quarters" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange", unknown>>;
59
+ readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (((new (...args: any[]) => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange") | (() => "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange")) | null)[], "year" | "months" | "month" | "date" | "years" | "dates" | "quarter" | "quarters" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange" | "quarterrange", unknown>>;
60
60
  readonly required: true;
61
61
  readonly validator: ((val: unknown) => boolean) | undefined;
62
62
  __epPropKey: true;
@@ -78,12 +78,12 @@ declare const __VLS_base: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
78
78
  readonly disabled: boolean;
79
79
  readonly visible: EpPropMergeType<BooleanConstructor, unknown, unknown>;
80
80
  readonly border: boolean;
81
+ readonly format: string;
81
82
  readonly editable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
82
83
  readonly showNow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
83
84
  readonly showConfirm: boolean;
84
85
  readonly showFooter: EpPropMergeType<BooleanConstructor, unknown, unknown>;
85
86
  readonly showWeekNumber: boolean;
86
- readonly format: string;
87
87
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
88
88
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
89
89
  declare const _default: typeof __VLS_export;
@@ -341,8 +341,7 @@ var panel_date_pick_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
341
341
  "month",
342
342
  "year",
343
343
  "date",
344
- "quarter",
345
- "quarters"
344
+ "quarter"
346
345
  ].includes(selectionMode.value)) currentViewRef.value?.focus();
347
346
  };
348
347
  const _handleFocusPicker = () => {
@@ -419,12 +418,11 @@ var panel_date_pick_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
419
418
  };
420
419
  const newDate = innerDate.value.toDate();
421
420
  while (Math.abs(innerDate.value.diff(newDate, "year", true)) < 1) {
422
- const mode = keyboardMode.value === "quarters" ? "quarter" : keyboardMode.value;
423
- const map = mapping[mode];
421
+ const map = mapping[keyboardMode.value];
424
422
  if (!map) return;
425
423
  map.offset(newDate, (0, _vue_shared.isFunction)(map[code]) ? map[code](newDate) : map[code] ?? 0);
426
424
  let result;
427
- if (mode === "quarter") {
425
+ if (keyboardMode.value === "quarter") {
428
426
  const candidate = (0, dayjs.default)(newDate).locale(lang.value);
429
427
  if (require_utils$1.isQuarterFullyDisabled(candidate, lang.value, disabledDate.value)) break;
430
428
  result = require_utils$1.getValidDateOfQuarter(candidate, candidate.year(), candidate.quarter() - 1, lang.value, disabledDate.value);