@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
@@ -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.mjs","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.mjs","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;
@@ -339,8 +339,7 @@ var panel_date_pick_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
339
339
  "month",
340
340
  "year",
341
341
  "date",
342
- "quarter",
343
- "quarters"
342
+ "quarter"
344
343
  ].includes(selectionMode.value)) currentViewRef.value?.focus();
345
344
  };
346
345
  const _handleFocusPicker = () => {
@@ -417,12 +416,11 @@ var panel_date_pick_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
417
416
  };
418
417
  const newDate = innerDate.value.toDate();
419
418
  while (Math.abs(innerDate.value.diff(newDate, "year", true)) < 1) {
420
- const mode = keyboardMode.value === "quarters" ? "quarter" : keyboardMode.value;
421
- const map = mapping[mode];
419
+ const map = mapping[keyboardMode.value];
422
420
  if (!map) return;
423
421
  map.offset(newDate, isFunction(map[code]) ? map[code](newDate) : map[code] ?? 0);
424
422
  let result;
425
- if (mode === "quarter") {
423
+ if (keyboardMode.value === "quarter") {
426
424
  const candidate = dayjs(newDate).locale(lang.value);
427
425
  if (isQuarterFullyDisabled(candidate, lang.value, disabledDate.value)) break;
428
426
  result = getValidDateOfQuarter(candidate, candidate.year(), candidate.quarter() - 1, lang.value, disabledDate.value);