@element-plus/nightly 0.0.20220524 → 0.0.20220527

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 (548) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +1391 -1380
  3. package/dist/index.full.min.js +19 -19
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +24 -24
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +1390 -1380
  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.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +1 -1
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.mjs +1 -1
  35. package/dist/locale/cs.mjs +1 -1
  36. package/dist/locale/da.js +1 -1
  37. package/dist/locale/da.min.js +1 -1
  38. package/dist/locale/da.min.mjs +1 -1
  39. package/dist/locale/da.mjs +1 -1
  40. package/dist/locale/de.js +1 -1
  41. package/dist/locale/de.min.js +1 -1
  42. package/dist/locale/de.min.mjs +1 -1
  43. package/dist/locale/de.mjs +1 -1
  44. package/dist/locale/el.js +1 -1
  45. package/dist/locale/el.min.js +1 -1
  46. package/dist/locale/el.min.mjs +1 -1
  47. package/dist/locale/el.mjs +1 -1
  48. package/dist/locale/en.js +1 -1
  49. package/dist/locale/en.min.js +1 -1
  50. package/dist/locale/en.min.mjs +1 -1
  51. package/dist/locale/en.mjs +1 -1
  52. package/dist/locale/eo.js +1 -1
  53. package/dist/locale/eo.min.js +1 -1
  54. package/dist/locale/eo.min.mjs +1 -1
  55. package/dist/locale/eo.mjs +1 -1
  56. package/dist/locale/es.js +1 -1
  57. package/dist/locale/es.min.js +1 -1
  58. package/dist/locale/es.min.mjs +1 -1
  59. package/dist/locale/es.mjs +1 -1
  60. package/dist/locale/et.js +1 -1
  61. package/dist/locale/et.min.js +1 -1
  62. package/dist/locale/et.min.mjs +1 -1
  63. package/dist/locale/et.mjs +1 -1
  64. package/dist/locale/eu.js +1 -1
  65. package/dist/locale/eu.min.js +1 -1
  66. package/dist/locale/eu.min.mjs +1 -1
  67. package/dist/locale/eu.mjs +1 -1
  68. package/dist/locale/fa.js +1 -1
  69. package/dist/locale/fa.min.js +1 -1
  70. package/dist/locale/fa.min.mjs +1 -1
  71. package/dist/locale/fa.mjs +1 -1
  72. package/dist/locale/fi.js +1 -1
  73. package/dist/locale/fi.min.js +1 -1
  74. package/dist/locale/fi.min.mjs +1 -1
  75. package/dist/locale/fi.mjs +1 -1
  76. package/dist/locale/fr.js +1 -1
  77. package/dist/locale/fr.min.js +1 -1
  78. package/dist/locale/fr.min.mjs +1 -1
  79. package/dist/locale/fr.mjs +1 -1
  80. package/dist/locale/he.js +1 -1
  81. package/dist/locale/he.min.js +1 -1
  82. package/dist/locale/he.min.mjs +1 -1
  83. package/dist/locale/he.mjs +1 -1
  84. package/dist/locale/hr.js +1 -1
  85. package/dist/locale/hr.min.js +1 -1
  86. package/dist/locale/hr.min.mjs +1 -1
  87. package/dist/locale/hr.mjs +1 -1
  88. package/dist/locale/hu.js +1 -1
  89. package/dist/locale/hu.min.js +1 -1
  90. package/dist/locale/hu.min.mjs +1 -1
  91. package/dist/locale/hu.mjs +1 -1
  92. package/dist/locale/hy-am.js +1 -1
  93. package/dist/locale/hy-am.min.js +1 -1
  94. package/dist/locale/hy-am.min.mjs +1 -1
  95. package/dist/locale/hy-am.mjs +1 -1
  96. package/dist/locale/id.js +1 -1
  97. package/dist/locale/id.min.js +1 -1
  98. package/dist/locale/id.min.mjs +1 -1
  99. package/dist/locale/id.mjs +1 -1
  100. package/dist/locale/it.js +1 -1
  101. package/dist/locale/it.min.js +1 -1
  102. package/dist/locale/it.min.mjs +1 -1
  103. package/dist/locale/it.mjs +1 -1
  104. package/dist/locale/ja.js +1 -1
  105. package/dist/locale/ja.min.js +1 -1
  106. package/dist/locale/ja.min.mjs +1 -1
  107. package/dist/locale/ja.mjs +1 -1
  108. package/dist/locale/kk.js +1 -1
  109. package/dist/locale/kk.min.js +1 -1
  110. package/dist/locale/kk.min.mjs +1 -1
  111. package/dist/locale/kk.mjs +1 -1
  112. package/dist/locale/km.js +1 -1
  113. package/dist/locale/km.min.js +1 -1
  114. package/dist/locale/km.min.mjs +1 -1
  115. package/dist/locale/km.mjs +1 -1
  116. package/dist/locale/ko.js +1 -1
  117. package/dist/locale/ko.min.js +1 -1
  118. package/dist/locale/ko.min.mjs +1 -1
  119. package/dist/locale/ko.mjs +1 -1
  120. package/dist/locale/ku.js +1 -1
  121. package/dist/locale/ku.min.js +1 -1
  122. package/dist/locale/ku.min.mjs +1 -1
  123. package/dist/locale/ku.mjs +1 -1
  124. package/dist/locale/ky.js +1 -1
  125. package/dist/locale/ky.min.js +1 -1
  126. package/dist/locale/ky.min.mjs +1 -1
  127. package/dist/locale/ky.mjs +1 -1
  128. package/dist/locale/lt.js +1 -1
  129. package/dist/locale/lt.min.js +1 -1
  130. package/dist/locale/lt.min.mjs +1 -1
  131. package/dist/locale/lt.mjs +1 -1
  132. package/dist/locale/lv.js +1 -1
  133. package/dist/locale/lv.min.js +1 -1
  134. package/dist/locale/lv.min.mjs +1 -1
  135. package/dist/locale/lv.mjs +1 -1
  136. package/dist/locale/mg.js +1 -1
  137. package/dist/locale/mg.min.js +1 -1
  138. package/dist/locale/mg.min.mjs +1 -1
  139. package/dist/locale/mg.mjs +1 -1
  140. package/dist/locale/mn.js +1 -1
  141. package/dist/locale/mn.min.js +1 -1
  142. package/dist/locale/mn.min.mjs +1 -1
  143. package/dist/locale/mn.mjs +1 -1
  144. package/dist/locale/nb-no.js +1 -1
  145. package/dist/locale/nb-no.min.js +1 -1
  146. package/dist/locale/nb-no.min.mjs +1 -1
  147. package/dist/locale/nb-no.mjs +1 -1
  148. package/dist/locale/nl.js +1 -1
  149. package/dist/locale/nl.min.js +1 -1
  150. package/dist/locale/nl.min.mjs +1 -1
  151. package/dist/locale/nl.mjs +1 -1
  152. package/dist/locale/pa.js +1 -1
  153. package/dist/locale/pa.min.js +1 -1
  154. package/dist/locale/pa.min.mjs +1 -1
  155. package/dist/locale/pa.mjs +1 -1
  156. package/dist/locale/pl.js +1 -1
  157. package/dist/locale/pl.min.js +1 -1
  158. package/dist/locale/pl.min.mjs +1 -1
  159. package/dist/locale/pl.mjs +1 -1
  160. package/dist/locale/pt-br.js +1 -1
  161. package/dist/locale/pt-br.min.js +1 -1
  162. package/dist/locale/pt-br.min.mjs +1 -1
  163. package/dist/locale/pt-br.mjs +1 -1
  164. package/dist/locale/pt.js +1 -1
  165. package/dist/locale/pt.min.js +1 -1
  166. package/dist/locale/pt.min.mjs +1 -1
  167. package/dist/locale/pt.mjs +1 -1
  168. package/dist/locale/ro.js +1 -1
  169. package/dist/locale/ro.min.js +1 -1
  170. package/dist/locale/ro.min.mjs +1 -1
  171. package/dist/locale/ro.mjs +1 -1
  172. package/dist/locale/ru.js +1 -1
  173. package/dist/locale/ru.min.js +1 -1
  174. package/dist/locale/ru.min.mjs +1 -1
  175. package/dist/locale/ru.mjs +1 -1
  176. package/dist/locale/sk.js +1 -1
  177. package/dist/locale/sk.min.js +1 -1
  178. package/dist/locale/sk.min.mjs +1 -1
  179. package/dist/locale/sk.mjs +1 -1
  180. package/dist/locale/sl.js +1 -1
  181. package/dist/locale/sl.min.js +1 -1
  182. package/dist/locale/sl.min.mjs +1 -1
  183. package/dist/locale/sl.mjs +1 -1
  184. package/dist/locale/sr.js +1 -1
  185. package/dist/locale/sr.min.js +1 -1
  186. package/dist/locale/sr.min.mjs +1 -1
  187. package/dist/locale/sr.mjs +1 -1
  188. package/dist/locale/sv.js +1 -1
  189. package/dist/locale/sv.min.js +1 -1
  190. package/dist/locale/sv.min.mjs +1 -1
  191. package/dist/locale/sv.mjs +1 -1
  192. package/dist/locale/ta.js +1 -1
  193. package/dist/locale/ta.min.js +1 -1
  194. package/dist/locale/ta.min.mjs +1 -1
  195. package/dist/locale/ta.mjs +1 -1
  196. package/dist/locale/th.js +1 -1
  197. package/dist/locale/th.min.js +1 -1
  198. package/dist/locale/th.min.mjs +1 -1
  199. package/dist/locale/th.mjs +1 -1
  200. package/dist/locale/tk.js +1 -1
  201. package/dist/locale/tk.min.js +1 -1
  202. package/dist/locale/tk.min.mjs +1 -1
  203. package/dist/locale/tk.mjs +1 -1
  204. package/dist/locale/tr.js +1 -1
  205. package/dist/locale/tr.min.js +1 -1
  206. package/dist/locale/tr.min.mjs +1 -1
  207. package/dist/locale/tr.mjs +1 -1
  208. package/dist/locale/ug-cn.js +1 -1
  209. package/dist/locale/ug-cn.min.js +1 -1
  210. package/dist/locale/ug-cn.min.mjs +1 -1
  211. package/dist/locale/ug-cn.mjs +1 -1
  212. package/dist/locale/uk.js +1 -1
  213. package/dist/locale/uk.min.js +1 -1
  214. package/dist/locale/uk.min.mjs +1 -1
  215. package/dist/locale/uk.mjs +1 -1
  216. package/dist/locale/uz-uz.js +1 -1
  217. package/dist/locale/uz-uz.min.js +1 -1
  218. package/dist/locale/uz-uz.min.mjs +1 -1
  219. package/dist/locale/uz-uz.mjs +1 -1
  220. package/dist/locale/vi.js +1 -1
  221. package/dist/locale/vi.min.js +1 -1
  222. package/dist/locale/vi.min.mjs +1 -1
  223. package/dist/locale/vi.mjs +1 -1
  224. package/dist/locale/zh-cn.js +1 -1
  225. package/dist/locale/zh-cn.min.js +1 -1
  226. package/dist/locale/zh-cn.min.mjs +1 -1
  227. package/dist/locale/zh-cn.mjs +1 -1
  228. package/dist/locale/zh-tw.js +1 -1
  229. package/dist/locale/zh-tw.min.js +1 -1
  230. package/dist/locale/zh-tw.min.mjs +1 -1
  231. package/dist/locale/zh-tw.mjs +1 -1
  232. package/es/components/date-picker/index2.mjs +1 -1
  233. package/es/components/date-picker/src/composables/use-range-picker.mjs +2 -0
  234. package/es/components/date-picker/src/composables/use-range-picker.mjs.map +1 -0
  235. package/es/components/date-picker/src/composables/use-range-picker2.mjs +74 -0
  236. package/es/components/date-picker/src/composables/use-range-picker2.mjs.map +1 -0
  237. package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs +37 -1
  238. package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs.map +1 -1
  239. package/es/components/date-picker/src/date-picker-com/basic-date-table2.mjs +9 -39
  240. package/es/components/date-picker/src/date-picker-com/basic-date-table2.mjs.map +1 -1
  241. package/es/components/date-picker/src/date-picker-com/basic-month-table2.mjs +8 -31
  242. package/es/components/date-picker/src/date-picker-com/basic-month-table2.mjs.map +1 -1
  243. package/es/components/date-picker/src/date-picker-com/basic-year-table2.mjs +11 -17
  244. package/es/components/date-picker/src/date-picker-com/basic-year-table2.mjs.map +1 -1
  245. package/es/components/date-picker/src/date-picker-com/panel-date-pick2.mjs +83 -82
  246. package/es/components/date-picker/src/date-picker-com/panel-date-pick2.mjs.map +1 -1
  247. package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs +366 -445
  248. package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs.map +1 -1
  249. package/es/components/date-picker/src/date-picker-com/panel-month-range2.mjs +171 -172
  250. package/es/components/date-picker/src/date-picker-com/panel-month-range2.mjs.map +1 -1
  251. package/es/components/date-picker/src/date-picker.mjs +78 -1
  252. package/es/components/date-picker/src/date-picker.mjs.map +1 -1
  253. package/es/components/date-picker/src/date-picker.type.mjs +1 -1
  254. package/es/components/date-picker/src/date-picker.type2.mjs +0 -2
  255. package/es/components/date-picker/src/date-picker.type2.mjs.map +1 -1
  256. package/es/components/date-picker/src/props/basic-cell.mjs +2 -0
  257. package/es/components/date-picker/src/props/basic-cell.mjs.map +1 -0
  258. package/es/components/date-picker/src/props/basic-cell2.mjs +11 -0
  259. package/es/components/date-picker/src/props/basic-cell2.mjs.map +1 -0
  260. package/es/components/date-picker/src/props/basic-date-table.mjs +2 -0
  261. package/es/components/date-picker/src/props/basic-date-table.mjs.map +1 -0
  262. package/es/components/date-picker/src/props/basic-date-table2.mjs +15 -0
  263. package/es/components/date-picker/src/props/basic-date-table2.mjs.map +1 -0
  264. package/es/components/date-picker/src/props/basic-month-table.mjs +2 -0
  265. package/es/components/date-picker/src/props/basic-month-table.mjs.map +1 -0
  266. package/es/components/date-picker/src/props/basic-month-table2.mjs +11 -0
  267. package/es/components/date-picker/src/props/basic-month-table2.mjs.map +1 -0
  268. package/es/components/date-picker/src/props/basic-year-table.mjs +2 -0
  269. package/es/components/date-picker/src/props/basic-year-table.mjs.map +1 -0
  270. package/es/components/date-picker/src/props/basic-year-table2.mjs +13 -0
  271. package/es/components/date-picker/src/props/basic-year-table2.mjs.map +1 -0
  272. package/es/components/date-picker/src/props/date-picker.mjs +2 -0
  273. package/es/components/date-picker/src/props/date-picker.mjs.map +1 -0
  274. package/es/components/date-picker/src/props/date-picker2.mjs +12 -0
  275. package/es/components/date-picker/src/props/date-picker2.mjs.map +1 -0
  276. package/es/components/date-picker/src/props/panel-date-pick.mjs +2 -0
  277. package/es/components/date-picker/src/props/panel-date-pick.mjs.map +1 -0
  278. package/es/components/date-picker/src/props/panel-date-pick2.mjs +20 -0
  279. package/es/components/date-picker/src/props/panel-date-pick2.mjs.map +1 -0
  280. package/es/components/date-picker/src/props/panel-date-range.mjs +2 -0
  281. package/es/components/date-picker/src/props/panel-date-range.mjs.map +1 -0
  282. package/es/components/date-picker/src/props/panel-date-range2.mjs +11 -0
  283. package/es/components/date-picker/src/props/panel-date-range2.mjs.map +1 -0
  284. package/es/components/date-picker/src/props/panel-month-range.mjs +2 -0
  285. package/es/components/date-picker/src/props/panel-month-range.mjs.map +1 -0
  286. package/es/components/date-picker/src/props/panel-month-range2.mjs +11 -0
  287. package/es/components/date-picker/src/props/panel-month-range2.mjs.map +1 -0
  288. package/es/components/date-picker/src/props/shared.mjs +2 -0
  289. package/es/components/date-picker/src/props/shared.mjs.map +1 -0
  290. package/es/components/date-picker/src/props/shared2.mjs +58 -0
  291. package/es/components/date-picker/src/props/shared2.mjs.map +1 -0
  292. package/es/components/date-picker/src/utils.mjs +2 -0
  293. package/es/components/date-picker/src/utils.mjs.map +1 -0
  294. package/es/components/date-picker/src/utils2.mjs +30 -0
  295. package/es/components/date-picker/src/utils2.mjs.map +1 -0
  296. package/es/components/focus-trap/src/focus-trap2.mjs +3 -1
  297. package/es/components/focus-trap/src/focus-trap2.mjs.map +1 -1
  298. package/es/components/input-number/src/input-number3.mjs +6 -17
  299. package/es/components/input-number/src/input-number3.mjs.map +1 -1
  300. package/es/components/result/src/result3.mjs +1 -0
  301. package/es/components/result/src/result3.mjs.map +1 -1
  302. package/es/components/result/src/result4.mjs +46 -47
  303. package/es/components/result/src/result4.mjs.map +1 -1
  304. package/es/components/time-picker/src/common/constant2.mjs +1 -0
  305. package/es/components/time-picker/src/common/constant2.mjs.map +1 -1
  306. package/es/components/time-select/index2.mjs +1 -1
  307. package/es/components/time-select/src/time-select.mjs +1 -6
  308. package/es/components/time-select/src/time-select.mjs.map +1 -1
  309. package/es/components/time-select/src/time-select2.mjs +3 -235
  310. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  311. package/es/components/time-select/src/time-select3.mjs +54 -0
  312. package/es/components/time-select/src/time-select3.mjs.map +1 -0
  313. package/es/components/time-select/src/time-select4.mjs +125 -0
  314. package/es/components/time-select/src/time-select4.mjs.map +1 -0
  315. package/es/components/time-select/src/utils.mjs +2 -0
  316. package/es/components/time-select/src/utils.mjs.map +1 -0
  317. package/es/components/time-select/src/utils2.mjs +58 -0
  318. package/es/components/time-select/src/utils2.mjs.map +1 -0
  319. package/es/index.mjs +1 -0
  320. package/es/index.mjs.map +1 -1
  321. package/es/packages/components/date-picker/index.d.ts +8 -24
  322. package/es/packages/components/date-picker/src/composables/use-range-picker.d.ts +129 -0
  323. package/es/packages/components/date-picker/src/date-picker-com/basic-cell-render.d.ts +4 -7
  324. package/es/packages/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +48 -68
  325. package/es/packages/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +42 -53
  326. package/es/packages/components/date-picker/src/date-picker-com/basic-year-table.vue.d.ts +31 -23
  327. package/es/packages/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +47 -35
  328. package/es/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1059 -62
  329. package/es/packages/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +268 -30
  330. package/es/packages/components/date-picker/src/date-picker.d.ts +20 -30
  331. package/es/packages/components/date-picker/src/date-picker.type.d.ts +0 -5
  332. package/es/packages/components/date-picker/src/props/basic-cell.d.ts +6 -0
  333. package/es/packages/components/date-picker/src/props/basic-date-table.d.ts +16 -0
  334. package/es/packages/components/date-picker/src/props/basic-month-table.d.ts +14 -0
  335. package/es/packages/components/date-picker/src/props/basic-year-table.d.ts +7 -0
  336. package/es/packages/components/date-picker/src/props/date-picker.d.ts +6 -0
  337. package/es/packages/components/date-picker/src/props/panel-date-pick.d.ts +9 -0
  338. package/es/packages/components/date-picker/src/props/panel-date-range.d.ts +7 -0
  339. package/es/packages/components/date-picker/src/props/panel-month-range.d.ts +7 -0
  340. package/es/packages/components/date-picker/src/props/shared.d.ts +34 -0
  341. package/es/packages/components/date-picker/src/utils.d.ts +1796 -0
  342. package/es/packages/components/dialog/index.d.ts +2 -2
  343. package/es/packages/components/dialog/src/dialog-content.vue.d.ts +1 -1
  344. package/es/packages/components/dialog/src/dialog.vue.d.ts +2 -2
  345. package/es/packages/components/drawer/index.d.ts +1 -1
  346. package/es/packages/components/drawer/src/drawer.vue.d.ts +1 -1
  347. package/es/packages/components/input-number/index.d.ts +11 -12
  348. package/es/packages/components/input-number/src/input-number.d.ts +9 -4
  349. package/es/packages/components/input-number/src/input-number.vue.d.ts +11 -12
  350. package/es/packages/components/message/src/message.vue.d.ts +1 -1
  351. package/es/packages/components/notification/src/notification.vue.d.ts +1 -1
  352. package/es/packages/components/result/index.d.ts +10 -3
  353. package/es/packages/components/result/src/result.d.ts +1 -1
  354. package/es/packages/components/result/src/result.vue.d.ts +10 -3
  355. package/es/packages/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  356. package/es/packages/components/time-picker/src/common/constant.d.ts +1 -0
  357. package/es/packages/components/time-picker/src/common/picker.vue.d.ts +1 -1
  358. package/es/packages/components/time-select/index.d.ts +20310 -270
  359. package/es/packages/components/time-select/src/time-select.d.ts +22 -0
  360. package/es/packages/components/time-select/src/time-select.vue.d.ts +10155 -136
  361. package/es/packages/components/time-select/src/utils.d.ts +10 -0
  362. package/es/packages/components/tooltip-v2/index.d.ts +10 -10
  363. package/es/packages/components/tooltip-v2/src/tooltip.vue.d.ts +10 -10
  364. package/es/packages/tokens/date-picker.d.ts +8 -0
  365. package/es/packages/tokens/index.d.ts +1 -0
  366. package/es/packages/utils/arrays.d.ts +2 -1
  367. package/es/packages/version.d.ts +1 -1
  368. package/es/tokens/date-picker.mjs +2 -0
  369. package/es/tokens/date-picker.mjs.map +1 -0
  370. package/es/tokens/date-picker2.mjs +4 -0
  371. package/es/tokens/date-picker2.mjs.map +1 -0
  372. package/es/tokens/index.mjs +1 -0
  373. package/es/tokens/index.mjs.map +1 -1
  374. package/es/tokens/index2.mjs +1 -0
  375. package/es/tokens/index2.mjs.map +1 -1
  376. package/es/utils/arrays2.mjs.map +1 -1
  377. package/es/version2.mjs +1 -1
  378. package/es/version2.mjs.map +1 -1
  379. package/lib/components/date-picker/index2.js +1 -1
  380. package/lib/components/date-picker/src/composables/use-range-picker.js +10 -0
  381. package/lib/components/date-picker/src/composables/use-range-picker.js.map +1 -0
  382. package/lib/components/date-picker/src/composables/use-range-picker2.js +82 -0
  383. package/lib/components/date-picker/src/composables/use-range-picker2.js.map +1 -0
  384. package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js +35 -3
  385. package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js.map +1 -1
  386. package/lib/components/date-picker/src/date-picker-com/basic-date-table2.js +11 -41
  387. package/lib/components/date-picker/src/date-picker-com/basic-date-table2.js.map +1 -1
  388. package/lib/components/date-picker/src/date-picker-com/basic-month-table2.js +9 -32
  389. package/lib/components/date-picker/src/date-picker-com/basic-month-table2.js.map +1 -1
  390. package/lib/components/date-picker/src/date-picker-com/basic-year-table2.js +12 -18
  391. package/lib/components/date-picker/src/date-picker-com/basic-year-table2.js.map +1 -1
  392. package/lib/components/date-picker/src/date-picker-com/panel-date-pick2.js +85 -84
  393. package/lib/components/date-picker/src/date-picker-com/panel-date-pick2.js.map +1 -1
  394. package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js +366 -445
  395. package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js.map +1 -1
  396. package/lib/components/date-picker/src/date-picker-com/panel-month-range2.js +171 -172
  397. package/lib/components/date-picker/src/date-picker-com/panel-month-range2.js.map +1 -1
  398. package/lib/components/date-picker/src/date-picker.js +87 -2
  399. package/lib/components/date-picker/src/date-picker.js.map +1 -1
  400. package/lib/components/date-picker/src/date-picker.type.js +1 -6
  401. package/lib/components/date-picker/src/date-picker.type.js.map +1 -1
  402. package/lib/components/date-picker/src/date-picker.type2.js +0 -5
  403. package/lib/components/date-picker/src/date-picker.type2.js.map +1 -1
  404. package/lib/components/date-picker/src/props/basic-cell.js +10 -0
  405. package/lib/components/date-picker/src/props/basic-cell.js.map +1 -0
  406. package/lib/components/date-picker/src/props/basic-cell2.js +15 -0
  407. package/lib/components/date-picker/src/props/basic-cell2.js.map +1 -0
  408. package/lib/components/date-picker/src/props/basic-date-table.js +10 -0
  409. package/lib/components/date-picker/src/props/basic-date-table.js.map +1 -0
  410. package/lib/components/date-picker/src/props/basic-date-table2.js +19 -0
  411. package/lib/components/date-picker/src/props/basic-date-table2.js.map +1 -0
  412. package/lib/components/date-picker/src/props/basic-month-table.js +10 -0
  413. package/lib/components/date-picker/src/props/basic-month-table.js.map +1 -0
  414. package/lib/components/date-picker/src/props/basic-month-table2.js +15 -0
  415. package/lib/components/date-picker/src/props/basic-month-table2.js.map +1 -0
  416. package/lib/components/date-picker/src/props/basic-year-table.js +10 -0
  417. package/lib/components/date-picker/src/props/basic-year-table.js.map +1 -0
  418. package/lib/components/date-picker/src/props/basic-year-table2.js +17 -0
  419. package/lib/components/date-picker/src/props/basic-year-table2.js.map +1 -0
  420. package/lib/components/date-picker/src/props/date-picker.js +10 -0
  421. package/lib/components/date-picker/src/props/date-picker.js.map +1 -0
  422. package/lib/components/date-picker/src/props/date-picker2.js +16 -0
  423. package/lib/components/date-picker/src/props/date-picker2.js.map +1 -0
  424. package/lib/components/date-picker/src/props/panel-date-pick.js +10 -0
  425. package/lib/components/date-picker/src/props/panel-date-pick.js.map +1 -0
  426. package/lib/components/date-picker/src/props/panel-date-pick2.js +24 -0
  427. package/lib/components/date-picker/src/props/panel-date-pick2.js.map +1 -0
  428. package/lib/components/date-picker/src/props/panel-date-range.js +10 -0
  429. package/lib/components/date-picker/src/props/panel-date-range.js.map +1 -0
  430. package/lib/components/date-picker/src/props/panel-date-range2.js +15 -0
  431. package/lib/components/date-picker/src/props/panel-date-range2.js.map +1 -0
  432. package/lib/components/date-picker/src/props/panel-month-range.js +11 -0
  433. package/lib/components/date-picker/src/props/panel-month-range.js.map +1 -0
  434. package/lib/components/date-picker/src/props/panel-month-range2.js +16 -0
  435. package/lib/components/date-picker/src/props/panel-month-range2.js.map +1 -0
  436. package/lib/components/date-picker/src/props/shared.js +14 -0
  437. package/lib/components/date-picker/src/props/shared.js.map +1 -0
  438. package/lib/components/date-picker/src/props/shared2.js +66 -0
  439. package/lib/components/date-picker/src/props/shared2.js.map +1 -0
  440. package/lib/components/date-picker/src/utils.js +11 -0
  441. package/lib/components/date-picker/src/utils.js.map +1 -0
  442. package/lib/components/date-picker/src/utils2.js +35 -0
  443. package/lib/components/date-picker/src/utils2.js.map +1 -0
  444. package/lib/components/focus-trap/src/focus-trap2.js +3 -1
  445. package/lib/components/focus-trap/src/focus-trap2.js.map +1 -1
  446. package/lib/components/input-number/src/input-number3.js +6 -17
  447. package/lib/components/input-number/src/input-number3.js.map +1 -1
  448. package/lib/components/result/src/result3.js +1 -0
  449. package/lib/components/result/src/result3.js.map +1 -1
  450. package/lib/components/result/src/result4.js +45 -46
  451. package/lib/components/result/src/result4.js.map +1 -1
  452. package/lib/components/time-picker/src/common/constant2.js +1 -0
  453. package/lib/components/time-picker/src/common/constant2.js.map +1 -1
  454. package/lib/components/time-select/index2.js +1 -1
  455. package/lib/components/time-select/src/time-select.js +3 -4
  456. package/lib/components/time-select/src/time-select.js.map +1 -1
  457. package/lib/components/time-select/src/time-select2.js +3 -240
  458. package/lib/components/time-select/src/time-select2.js.map +1 -1
  459. package/lib/components/time-select/src/time-select3.js +58 -0
  460. package/lib/components/time-select/src/time-select3.js.map +1 -0
  461. package/lib/components/time-select/src/time-select4.js +134 -0
  462. package/lib/components/time-select/src/time-select4.js.map +1 -0
  463. package/lib/components/time-select/src/utils.js +14 -0
  464. package/lib/components/time-select/src/utils.js.map +1 -0
  465. package/lib/components/time-select/src/utils2.js +66 -0
  466. package/lib/components/time-select/src/utils2.js.map +1 -0
  467. package/lib/index.js +2 -0
  468. package/lib/index.js.map +1 -1
  469. package/lib/packages/components/date-picker/index.d.ts +8 -24
  470. package/lib/packages/components/date-picker/src/composables/use-range-picker.d.ts +129 -0
  471. package/lib/packages/components/date-picker/src/date-picker-com/basic-cell-render.d.ts +4 -7
  472. package/lib/packages/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +48 -68
  473. package/lib/packages/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +42 -53
  474. package/lib/packages/components/date-picker/src/date-picker-com/basic-year-table.vue.d.ts +31 -23
  475. package/lib/packages/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +47 -35
  476. package/lib/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1059 -62
  477. package/lib/packages/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +268 -30
  478. package/lib/packages/components/date-picker/src/date-picker.d.ts +20 -30
  479. package/lib/packages/components/date-picker/src/date-picker.type.d.ts +0 -5
  480. package/lib/packages/components/date-picker/src/props/basic-cell.d.ts +6 -0
  481. package/lib/packages/components/date-picker/src/props/basic-date-table.d.ts +16 -0
  482. package/lib/packages/components/date-picker/src/props/basic-month-table.d.ts +14 -0
  483. package/lib/packages/components/date-picker/src/props/basic-year-table.d.ts +7 -0
  484. package/lib/packages/components/date-picker/src/props/date-picker.d.ts +6 -0
  485. package/lib/packages/components/date-picker/src/props/panel-date-pick.d.ts +9 -0
  486. package/lib/packages/components/date-picker/src/props/panel-date-range.d.ts +7 -0
  487. package/lib/packages/components/date-picker/src/props/panel-month-range.d.ts +7 -0
  488. package/lib/packages/components/date-picker/src/props/shared.d.ts +34 -0
  489. package/lib/packages/components/date-picker/src/utils.d.ts +1796 -0
  490. package/lib/packages/components/dialog/index.d.ts +2 -2
  491. package/lib/packages/components/dialog/src/dialog-content.vue.d.ts +1 -1
  492. package/lib/packages/components/dialog/src/dialog.vue.d.ts +2 -2
  493. package/lib/packages/components/drawer/index.d.ts +1 -1
  494. package/lib/packages/components/drawer/src/drawer.vue.d.ts +1 -1
  495. package/lib/packages/components/input-number/index.d.ts +11 -12
  496. package/lib/packages/components/input-number/src/input-number.d.ts +9 -4
  497. package/lib/packages/components/input-number/src/input-number.vue.d.ts +11 -12
  498. package/lib/packages/components/message/src/message.vue.d.ts +1 -1
  499. package/lib/packages/components/notification/src/notification.vue.d.ts +1 -1
  500. package/lib/packages/components/result/index.d.ts +10 -3
  501. package/lib/packages/components/result/src/result.d.ts +1 -1
  502. package/lib/packages/components/result/src/result.vue.d.ts +10 -3
  503. package/lib/packages/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  504. package/lib/packages/components/time-picker/src/common/constant.d.ts +1 -0
  505. package/lib/packages/components/time-picker/src/common/picker.vue.d.ts +1 -1
  506. package/lib/packages/components/time-select/index.d.ts +20310 -270
  507. package/lib/packages/components/time-select/src/time-select.d.ts +22 -0
  508. package/lib/packages/components/time-select/src/time-select.vue.d.ts +10155 -136
  509. package/lib/packages/components/time-select/src/utils.d.ts +10 -0
  510. package/lib/packages/components/tooltip-v2/index.d.ts +10 -10
  511. package/lib/packages/components/tooltip-v2/src/tooltip.vue.d.ts +10 -10
  512. package/lib/packages/tokens/date-picker.d.ts +8 -0
  513. package/lib/packages/tokens/index.d.ts +1 -0
  514. package/lib/packages/utils/arrays.d.ts +2 -1
  515. package/lib/packages/version.d.ts +1 -1
  516. package/lib/tokens/date-picker.js +10 -0
  517. package/lib/tokens/date-picker.js.map +1 -0
  518. package/lib/tokens/date-picker2.js +8 -0
  519. package/lib/tokens/date-picker2.js.map +1 -0
  520. package/lib/tokens/index.js +2 -0
  521. package/lib/tokens/index.js.map +1 -1
  522. package/lib/tokens/index2.js +2 -0
  523. package/lib/tokens/index2.js.map +1 -1
  524. package/lib/utils/arrays2.js.map +1 -1
  525. package/lib/version2.js +1 -1
  526. package/lib/version2.js.map +1 -1
  527. package/package.json +4 -4
  528. package/theme-chalk/el-button.css +1 -1
  529. package/theme-chalk/el-date-picker.css +1 -1
  530. package/theme-chalk/el-select-v2.css +1 -1
  531. package/theme-chalk/el-tabs.css +1 -1
  532. package/theme-chalk/el-time-picker.css +1 -1
  533. package/theme-chalk/el-time-select.css +1 -1
  534. package/theme-chalk/index.css +1 -1
  535. package/theme-chalk/src/button.scss +1 -1
  536. package/theme-chalk/src/common/var.scss +10 -0
  537. package/theme-chalk/src/date-picker/picker.scss +1 -1
  538. package/theme-chalk/src/select-v2.scss +4 -0
  539. package/theme-chalk/src/tabs.scss +5 -2
  540. package/web-types.json +1 -1
  541. package/es/components/date-picker/src/date-picker-com/basic-cell-render2.mjs +0 -40
  542. package/es/components/date-picker/src/date-picker-com/basic-cell-render2.mjs.map +0 -1
  543. package/es/components/date-picker/src/date-picker2.mjs +0 -79
  544. package/es/components/date-picker/src/date-picker2.mjs.map +0 -1
  545. package/lib/components/date-picker/src/date-picker-com/basic-cell-render2.js +0 -44
  546. package/lib/components/date-picker/src/date-picker-com/basic-cell-render2.js.map +0 -1
  547. package/lib/components/date-picker/src/date-picker2.js +0 -95
  548. package/lib/components/date-picker/src/date-picker2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"basic-date-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.dateTablePrompt')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n class=\"el-date-table\"\n :class=\"{ 'is-week-mode': selectionMode === 'week' }\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\">{{ t('el.datepicker.week') }}</th>\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n scope=\"col\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, key) in rows\"\n :key=\"key\"\n class=\"el-date-table__row\"\n :class=\"{ current: isWeekActive(row[1]) }\"\n >\n <td\n v-for=\"(cell, key_) in row\"\n :key=\"key_\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"`${cell.isCurrent}`\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { castArray } from '@element-plus/utils'\nimport ElDatePickerCell from './basic-cell-render'\nimport type { PropType } from 'vue'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\n\nexport default defineComponent({\n components: {\n ElDatePickerCell,\n },\n props: {\n date: {\n type: Object as PropType<Dayjs>,\n },\n minDate: {\n type: Object as PropType<Dayjs>,\n },\n maxDate: {\n type: Object as PropType<Dayjs>,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n selectionMode: {\n type: String,\n default: 'date',\n },\n showWeekNumber: {\n type: Boolean,\n default: false,\n },\n disabledDate: {\n type: Function,\n },\n cellClassName: {\n type: Function,\n },\n rangeState: {\n type: Object,\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n },\n emits: ['changerange', 'pick', 'select'],\n expose: ['focus'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n // data\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\n // todo better way to get Day.js locale object\n const firstDayOfWeek = (props.date as any).$locale().weekStart || 7\n const WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\n const offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n })\n\n const startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n })\n\n const WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n })\n\n const hasCurrent = computed<boolean>(() => {\n return rows.value.flat().some((row) => {\n return row.isCurrent\n })\n })\n\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n const dateCountOfLastMonth = startOfMonth\n .subtract(1, 'month')\n .daysInMonth()\n\n const offset = offsetDay.value\n const rows_ = tableRows.value\n let count = 1\n\n const selectedDate: Dayjs[] =\n props.selectionMode === 'dates' ? castArray(props.parsedValue) : []\n\n const calNow = dayjs().locale(lang.value).startOf('day')\n\n for (let i = 0; i < 6; i++) {\n const row = rows_[i]\n\n if (props.showWeekNumber) {\n if (!row[0]) {\n row[0] = {\n type: 'week',\n text: startDate.value.add(i * 7 + 1, 'day').week(),\n }\n }\n }\n\n for (let j = 0; j < 7; j++) {\n let cell = row[props.showWeekNumber ? j + 1 : j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n const index = i * 7 + j\n const calTime = startDate.value.add(index - offset, 'day')\n cell.dayjs = calTime\n cell.date = calTime.toDate()\n cell.timestamp = calTime.valueOf()\n cell.type = 'normal'\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'day') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'day')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'day') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'day'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'day')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'day')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'day')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'day')\n }\n\n const isToday = calTime.isSame(calNow, 'day')\n\n if (isToday) {\n cell.type = 'today'\n }\n\n if (i >= 0 && i <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (j + i * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count++\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (j % 7)) +\n 1 +\n i * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count++\n } else {\n cell.text = count++ - dateCountOfMonth\n cell.type = 'next-month'\n }\n }\n\n const cellDate = calTime.toDate()\n cell.selected = selectedDate.find(\n (_) => _.valueOf() === calTime.valueOf()\n )\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n cell.customClass =\n props.cellClassName && props.cellClassName(cellDate)\n row[props.showWeekNumber ? j + 1 : j] = cell\n }\n\n if (props.selectionMode === 'week') {\n const start = props.showWeekNumber ? 1 : 0\n const end = props.showWeekNumber ? 7 : 6\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n }\n return rows_\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = async () => {\n currentCellRef.value?.focus()\n }\n\n const isCurrent = (cell): boolean => {\n return (\n props.selectionMode === 'date' &&\n (cell.type === 'normal' || cell.type === 'today') &&\n cellMatchesDate(cell, props.parsedValue)\n )\n }\n\n const cellMatchesDate = (cell, date) => {\n if (!date) return false\n return dayjs(date)\n .locale(lang.value)\n .isSame(props.date.date(Number(cell.text)), 'day')\n }\n\n const getCellClasses = (cell) => {\n const classes: string[] = []\n if ((cell.type === 'normal' || cell.type === 'today') && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (cell.type === 'normal' ||\n cell.type === 'today' ||\n props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n }\n\n const getDateOfCell = (row, column) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - offsetDay.value\n return startDate.value.add(offsetFromStart, 'day')\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'SPAN') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex - 1\n const column = target.cellIndex\n\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n }\n\n const isSelectedCell = (cell: DateCell) => {\n return (\n (!hasCurrent.value && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n }\n\n const handleFocus = (event: Event) => {\n if (!hasCurrent.value && props.selectionMode === 'date') {\n handlePickDate(event, true)\n }\n }\n\n const handlePickDate = (event: Event, isKeyboardMovement = false) => {\n let target = event.target as HTMLElement\n\n target = target?.closest('td')\n\n if (!target || target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = rows.value[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else if (props.selectionMode === 'date') {\n ctx.emit('pick', newDate, isKeyboardMovement)\n } else if (props.selectionMode === 'week') {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n ctx.emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n } else if (props.selectionMode === 'dates') {\n const newValue = cell.selected\n ? castArray(props.parsedValue).filter(\n (_) => _.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n ctx.emit('pick', newValue)\n }\n }\n\n const isWeekActive = (cell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text, 10))\n\n if (props.parsedValue && !Array.isArray(props.parsedValue)) {\n const dayOffset =\n ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n }\n\n return {\n tbodyRef,\n currentCellRef,\n handleMouseMove,\n t,\n hasCurrent,\n rows,\n isSelectedCell,\n isWeekActive,\n getCellClasses,\n WEEKS,\n handleFocus,\n handlePickDate,\n focus,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElDatePickerCell","useLocale","ref","computed","castArray","dayjs","watch","nextTick","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_toDisplayString","_createCommentVNode","_Fragment","_renderList"],"mappings":"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"}
1
+ {"version":3,"file":"basic-date-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.dateTablePrompt')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n :class=\"[ns.b(), { 'is-week-mode': selectionMode === 'week' }]\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\">{{ t('el.datepicker.week') }}</th>\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n scope=\"col\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, key) in rows\"\n :key=\"key\"\n :class=\"[ns.e('row'), { current: isWeekActive(row[1]) }]\"\n >\n <td\n v-for=\"(cell, key_) in row\"\n :key=\"key_\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"`${cell.isCurrent}`\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray } from '@element-plus/utils'\nimport { basicDateTableProps } from '../props/basic-date-table'\nimport ElDatePickerCell from './basic-cell-render'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\n\nexport default defineComponent({\n components: {\n ElDatePickerCell,\n },\n props: basicDateTableProps,\n emits: ['changerange', 'pick', 'select'],\n expose: ['focus'],\n setup(props, ctx) {\n const ns = useNamespace('date-table')\n\n const { t, lang } = useLocale()\n\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n // data\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\n // todo better way to get Day.js locale object\n const firstDayOfWeek = (props.date as any).$locale().weekStart || 7\n const WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\n const offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n })\n\n const startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n })\n\n const WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n })\n\n const hasCurrent = computed<boolean>(() => {\n return rows.value.flat().some((row) => {\n return row.isCurrent\n })\n })\n\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n const dateCountOfLastMonth = startOfMonth\n .subtract(1, 'month')\n .daysInMonth()\n\n const offset = offsetDay.value\n const rows_ = tableRows.value\n let count = 1\n\n const selectedDate: Dayjs[] =\n props.selectionMode === 'dates' ? castArray(props.parsedValue) : []\n\n const calNow = dayjs().locale(lang.value).startOf('day')\n\n for (let i = 0; i < 6; i++) {\n const row = rows_[i]\n\n if (props.showWeekNumber) {\n if (!row[0]) {\n row[0] = {\n type: 'week',\n text: startDate.value.add(i * 7 + 1, 'day').week(),\n }\n }\n }\n\n for (let j = 0; j < 7; j++) {\n let cell = row[props.showWeekNumber ? j + 1 : j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n const index = i * 7 + j\n const calTime = startDate.value.add(index - offset, 'day')\n cell.dayjs = calTime\n cell.date = calTime.toDate()\n cell.timestamp = calTime.valueOf()\n cell.type = 'normal'\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'day') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'day')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'day') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'day'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'day')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'day')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'day')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'day')\n }\n\n const isToday = calTime.isSame(calNow, 'day')\n\n if (isToday) {\n cell.type = 'today'\n }\n\n if (i >= 0 && i <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (j + i * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count++\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (j % 7)) +\n 1 +\n i * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count++\n } else {\n cell.text = count++ - dateCountOfMonth\n cell.type = 'next-month'\n }\n }\n\n const cellDate = calTime.toDate()\n cell.selected = selectedDate.find(\n (_) => _.valueOf() === calTime.valueOf()\n )\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n cell.customClass =\n props.cellClassName && props.cellClassName(cellDate)\n row[props.showWeekNumber ? j + 1 : j] = cell\n }\n\n if (props.selectionMode === 'week') {\n const start = props.showWeekNumber ? 1 : 0\n const end = props.showWeekNumber ? 7 : 6\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n }\n return rows_\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = async () => {\n currentCellRef.value?.focus()\n }\n\n const isCurrent = (cell): boolean => {\n return (\n props.selectionMode === 'date' &&\n (cell.type === 'normal' || cell.type === 'today') &&\n cellMatchesDate(cell, props.parsedValue)\n )\n }\n\n const cellMatchesDate = (cell, date) => {\n if (!date) return false\n return dayjs(date)\n .locale(lang.value)\n .isSame(props.date.date(Number(cell.text)), 'day')\n }\n\n const getCellClasses = (cell) => {\n const classes: string[] = []\n if ((cell.type === 'normal' || cell.type === 'today') && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (cell.type === 'normal' ||\n cell.type === 'today' ||\n props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n }\n\n const getDateOfCell = (row, column) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - offsetDay.value\n return startDate.value.add(offsetFromStart, 'day')\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'SPAN') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex - 1\n const column = target.cellIndex\n\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n }\n\n const isSelectedCell = (cell: DateCell) => {\n return (\n (!hasCurrent.value && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n }\n\n const handleFocus = (event: Event) => {\n if (!hasCurrent.value && props.selectionMode === 'date') {\n handlePickDate(event, true)\n }\n }\n\n const handlePickDate = (event: Event, isKeyboardMovement = false) => {\n let target = event.target as HTMLElement\n\n target = target?.closest('td')\n\n if (!target || target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = rows.value[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting || !props.minDate) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else if (props.selectionMode === 'date') {\n ctx.emit('pick', newDate, isKeyboardMovement)\n } else if (props.selectionMode === 'week') {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n ctx.emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n } else if (props.selectionMode === 'dates') {\n const newValue = cell.selected\n ? castArray(props.parsedValue).filter(\n (_) => _.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n ctx.emit('pick', newValue)\n }\n }\n\n const isWeekActive = (cell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text, 10))\n\n if (props.parsedValue && !Array.isArray(props.parsedValue)) {\n const dayOffset =\n ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n }\n\n return {\n ns,\n tbodyRef,\n currentCellRef,\n handleMouseMove,\n t,\n hasCurrent,\n rows,\n isSelectedCell,\n isWeekActive,\n getCellClasses,\n WEEKS,\n handleFocus,\n handlePickDate,\n focus,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElDatePickerCell","basicDateTableProps","useNamespace","useLocale","ref","computed","castArray","dayjs","watch","nextTick","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_toDisplayString","_createCommentVNode","_Fragment","_renderList"],"mappings":"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"}
@@ -7,9 +7,11 @@ var dayjs = require('dayjs');
7
7
  require('../../../../hooks/index2.js');
8
8
  require('../../../time-picker/index2.js');
9
9
  require('../../../../utils/index2.js');
10
+ var basicMonthTable = require('../props/basic-month-table2.js');
10
11
  var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
11
12
  var dateUtils = require('../../../time-picker/src/common/date-utils2.js');
12
- var index = require('../../../../hooks/use-locale/index2.js');
13
+ var index = require('../../../../hooks/use-namespace/index2.js');
14
+ var index$1 = require('../../../../hooks/use-locale/index2.js');
13
15
  var arrays = require('../../../../utils/arrays2.js');
14
16
  var style = require('../../../../utils/dom/style2.js');
15
17
 
@@ -23,38 +25,12 @@ const datesInMonth = (year, month, lang) => {
23
25
  return dateUtils.rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate());
24
26
  };
25
27
  const _sfc_main = vue.defineComponent({
26
- props: {
27
- disabledDate: {
28
- type: Function
29
- },
30
- selectionMode: {
31
- type: String,
32
- default: "month"
33
- },
34
- minDate: {
35
- type: Object
36
- },
37
- maxDate: {
38
- type: Object
39
- },
40
- date: {
41
- type: Object
42
- },
43
- parsedValue: {
44
- type: Object
45
- },
46
- rangeState: {
47
- type: Object,
48
- default: () => ({
49
- endDate: null,
50
- selecting: false
51
- })
52
- }
53
- },
28
+ props: basicMonthTable.basicMonthTableProps,
54
29
  emits: ["changerange", "pick", "select"],
55
30
  expose: ["focus"],
56
31
  setup(props, ctx) {
57
- const { t, lang } = index.useLocale();
32
+ const ns = index.useNamespace("month-table");
33
+ const { t, lang } = index$1.useLocale();
58
34
  const tbodyRef = vue.ref();
59
35
  const currentCellRef = vue.ref();
60
36
  const months = vue.ref(props.date.locale("en").localeData().monthsShort().map((_) => _.toLowerCase()));
@@ -191,6 +167,7 @@ const _sfc_main = vue.defineComponent({
191
167
  }
192
168
  };
193
169
  return {
170
+ ns,
194
171
  tbodyRef,
195
172
  currentCellRef,
196
173
  handleMouseMove,
@@ -212,7 +189,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
212
189
  return vue.openBlock(), vue.createElementBlock("table", {
213
190
  role: "grid",
214
191
  "aria-label": _ctx.t("el.datepicker.monthTablePrompt"),
215
- class: "el-month-table",
192
+ class: vue.normalizeClass(_ctx.ns.b()),
216
193
  onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleMonthTableClick && _ctx.handleMonthTableClick(...args)),
217
194
  onMousemove: _cache[3] || (_cache[3] = (...args) => _ctx.handleMouseMove && _ctx.handleMouseMove(...args))
218
195
  }, [
@@ -241,7 +218,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
241
218
  ]);
242
219
  }), 128))
243
220
  ], 512)
244
- ], 40, _hoisted_1);
221
+ ], 42, _hoisted_1);
245
222
  }
246
223
  var MonthTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-month-table.vue"]]);
247
224
 
@@ -1 +1 @@
1
- {"version":3,"file":"basic-month-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-month-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.monthTablePrompt')\"\n class=\"el-month-table\"\n @click=\"handleMonthTableClick\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr v-for=\"(row, key) in rows\" :key=\"key\">\n <td\n v-for=\"(cell, key_) in row\"\n :key=\"key_\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el)\"\n :class=\"getCellStyle(cell)\"\n :aria-selected=\"`${isSelectedCell(cell)}`\"\n :aria-label=\"t(`el.datepicker.month${+cell.text + 1}`)\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @keydown.space.prevent.stop=\"handleMonthTableClick\"\n @keydown.enter.prevent.stop=\"handleMonthTableClick\"\n >\n <div>\n <span class=\"cell\">\n {{ t('el.datepicker.months.' + months[cell.text]) }}\n </span>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: {\n disabledDate: {\n type: Function as PropType<(_: Date) => void>,\n },\n selectionMode: {\n type: String,\n default: 'month',\n },\n minDate: {\n type: Object as PropType<Dayjs>,\n },\n maxDate: {\n type: Object as PropType<Dayjs>,\n },\n date: {\n type: Object as PropType<Dayjs>,\n },\n parsedValue: {\n type: Object as PropType<Dayjs>,\n },\n rangeState: {\n type: Object,\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n },\n\n emits: ['changerange', 'pick', 'select'],\n expose: ['focus'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n const months = ref(\n props.date\n .locale('en')\n .localeData()\n .monthsShort()\n .map((_) => _.toLowerCase())\n )\n const tableRows = ref([[], [], []])\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const rows = tableRows.value\n const now = dayjs().locale(lang.value).startOf('month')\n\n for (let i = 0; i < 3; i++) {\n const row = rows[i]\n for (let j = 0; j < 4; j++) {\n let cell = row[j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n\n cell.type = 'normal'\n\n const index = i * 4 + j\n const calTime = props.date.startOf('year').month(index)\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'month')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'month'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'month')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'month')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'month')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'month')\n }\n\n const isToday = now.isSame(calTime)\n if (isToday) {\n cell.type = 'today'\n }\n\n cell.text = index\n const cellDate = calTime.toDate()\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n row[j] = cell\n }\n }\n return rows\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = () => {\n currentCellRef.value?.focus()\n }\n\n const getCellStyle = (cell) => {\n const style = {} as any\n const year = props.date.year()\n const today = new Date()\n const month = cell.text\n\n style.disabled = props.disabledDate\n ? datesInMonth(year, month, lang.value).every(props.disabledDate)\n : false\n style.current =\n castArray(props.parsedValue).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n style.today = today.getFullYear() === year && today.getMonth() === month\n\n if (cell.inRange) {\n style['in-range'] = true\n\n if (cell.start) {\n style['start-date'] = true\n }\n\n if (cell.end) {\n style['end-date'] = true\n }\n }\n return style\n }\n\n const isSelectedCell = (cell) => {\n const year = props.date.year()\n const month = cell.text\n return (\n castArray(props.date).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n )\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex\n const column = target.cellIndex\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: props.date.startOf('year').month(row * 4 + column),\n })\n }\n }\n const handleMonthTableClick = (event) => {\n let target = event.target\n target = target?.closest('td')\n if (target?.tagName !== 'TD') return\n if (hasClass(target, 'disabled')) return\n const column = target.cellIndex\n const row = target.parentNode.rowIndex\n const month = row * 4 + column\n const newDate = props.date.startOf('year').month(month)\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else {\n ctx.emit('pick', month)\n }\n }\n\n return {\n tbodyRef,\n currentCellRef,\n handleMouseMove,\n handleMonthTableClick,\n focus,\n isSelectedCell,\n rows,\n getCellStyle,\n t,\n months,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","useLocale","ref","computed","watch","nextTick","castArray","hasClass","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","_normalizeClass","_withKeys","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"basic-month-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-month-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.monthTablePrompt')\"\n :class=\"ns.b()\"\n @click=\"handleMonthTableClick\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr v-for=\"(row, key) in rows\" :key=\"key\">\n <td\n v-for=\"(cell, key_) in row\"\n :key=\"key_\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el)\"\n :class=\"getCellStyle(cell)\"\n :aria-selected=\"`${isSelectedCell(cell)}`\"\n :aria-label=\"t(`el.datepicker.month${+cell.text + 1}`)\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @keydown.space.prevent.stop=\"handleMonthTableClick\"\n @keydown.enter.prevent.stop=\"handleMonthTableClick\"\n >\n <div>\n <span class=\"cell\">\n {{ t('el.datepicker.months.' + months[cell.text]) }}\n </span>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\nimport { basicMonthTableProps } from '../props/basic-month-table'\n\nconst datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: basicMonthTableProps,\n\n emits: ['changerange', 'pick', 'select'],\n expose: ['focus'],\n\n setup(props, ctx) {\n const ns = useNamespace('month-table')\n\n const { t, lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n const months = ref(\n props.date\n .locale('en')\n .localeData()\n .monthsShort()\n .map((_) => _.toLowerCase())\n )\n const tableRows = ref([[], [], []])\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const rows = tableRows.value\n const now = dayjs().locale(lang.value).startOf('month')\n\n for (let i = 0; i < 3; i++) {\n const row = rows[i]\n for (let j = 0; j < 4; j++) {\n let cell = row[j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n\n cell.type = 'normal'\n\n const index = i * 4 + j\n const calTime = props.date.startOf('year').month(index)\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'month')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'month'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'month')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'month')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'month')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'month')\n }\n\n const isToday = now.isSame(calTime)\n if (isToday) {\n cell.type = 'today'\n }\n\n cell.text = index\n const cellDate = calTime.toDate()\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n row[j] = cell\n }\n }\n return rows\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = () => {\n currentCellRef.value?.focus()\n }\n\n const getCellStyle = (cell) => {\n const style = {} as any\n const year = props.date.year()\n const today = new Date()\n const month = cell.text\n\n style.disabled = props.disabledDate\n ? datesInMonth(year, month, lang.value).every(props.disabledDate)\n : false\n style.current =\n castArray(props.parsedValue).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n style.today = today.getFullYear() === year && today.getMonth() === month\n\n if (cell.inRange) {\n style['in-range'] = true\n\n if (cell.start) {\n style['start-date'] = true\n }\n\n if (cell.end) {\n style['end-date'] = true\n }\n }\n return style\n }\n\n const isSelectedCell = (cell) => {\n const year = props.date.year()\n const month = cell.text\n return (\n castArray(props.date).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n )\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex\n const column = target.cellIndex\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: props.date.startOf('year').month(row * 4 + column),\n })\n }\n }\n const handleMonthTableClick = (event) => {\n let target = event.target\n target = target?.closest('td')\n if (target?.tagName !== 'TD') return\n if (hasClass(target, 'disabled')) return\n const column = target.cellIndex\n const row = target.parentNode.rowIndex\n const month = row * 4 + column\n const newDate = props.date.startOf('year').month(month)\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else {\n ctx.emit('pick', month)\n }\n }\n\n return {\n ns,\n tbodyRef,\n currentCellRef,\n handleMouseMove,\n handleMonthTableClick,\n focus,\n isSelectedCell,\n rows,\n getCellStyle,\n t,\n months,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","basicMonthTableProps","useNamespace","useLocale","ref","computed","watch","nextTick","castArray","hasClass","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_Fragment","_renderList","_withKeys","_withModifiers"],"mappings":"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"}
@@ -7,9 +7,11 @@ var dayjs = require('dayjs');
7
7
  require('../../../../hooks/index2.js');
8
8
  require('../../../time-picker/index2.js');
9
9
  require('../../../../utils/index2.js');
10
+ var basicYearTable = require('../props/basic-year-table2.js');
10
11
  var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
11
12
  var dateUtils = require('../../../time-picker/src/common/date-utils2.js');
12
- var index = require('../../../../hooks/use-locale/index2.js');
13
+ var index = require('../../../../hooks/use-namespace/index2.js');
14
+ var index$1 = require('../../../../hooks/use-locale/index2.js');
13
15
  var arrays = require('../../../../utils/arrays2.js');
14
16
  var style = require('../../../../utils/dom/style2.js');
15
17
 
@@ -24,21 +26,12 @@ const datesInYear = (year, lang) => {
24
26
  return dateUtils.rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate());
25
27
  };
26
28
  const _sfc_main = vue.defineComponent({
27
- props: {
28
- disabledDate: {
29
- type: Function
30
- },
31
- parsedValue: {
32
- type: Object
33
- },
34
- date: {
35
- type: Object
36
- }
37
- },
29
+ props: basicYearTable.basicYearTableProps,
38
30
  emits: ["pick"],
39
31
  expose: ["focus"],
40
32
  setup(props, ctx) {
41
- const { t, lang } = index.useLocale();
33
+ const ns = index.useNamespace("year-table");
34
+ const { t, lang } = index$1.useLocale();
42
35
  const tbodyRef = vue.ref();
43
36
  const currentCellRef = vue.ref();
44
37
  const startYear = vue.computed(() => {
@@ -64,7 +57,7 @@ const _sfc_main = vue.defineComponent({
64
57
  return style;
65
58
  };
66
59
  const isSelectedCell = (year) => {
67
- return year === startYear.value && props.date.year() < startYear.value && props.date.year() > startYear.value + 9 || arrays.castArray(props.date).findIndex((_) => _.year() === year) >= 0;
60
+ return year === startYear.value && props.date.year() < startYear.value && props.date.year() > startYear.value + 9 || arrays.castArray(props.date).findIndex((date) => date.year() === year) >= 0;
68
61
  };
69
62
  const handleYearTableClick = (event) => {
70
63
  const clickTarget = event.target;
@@ -77,6 +70,7 @@ const _sfc_main = vue.defineComponent({
77
70
  }
78
71
  };
79
72
  return {
73
+ ns,
80
74
  t,
81
75
  tbodyRef,
82
76
  currentCellRef,
@@ -97,13 +91,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
97
91
  return vue.openBlock(), vue.createElementBlock("table", {
98
92
  role: "grid",
99
93
  "aria-label": _ctx.t("el.datepicker.yearTablePrompt"),
100
- class: "el-year-table",
94
+ class: vue.normalizeClass(_ctx.ns.b()),
101
95
  onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleYearTableClick && _ctx.handleYearTableClick(...args))
102
96
  }, [
103
97
  vue.createElementVNode("tbody", _hoisted_2, [
104
- (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(3, (n, i) => {
98
+ (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(3, (_, i) => {
105
99
  return vue.createElementVNode("tr", { key: i }, [
106
- (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(4, (nn, j) => {
100
+ (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(4, (__, j) => {
107
101
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
108
102
  key: i + "_" + j
109
103
  }, [
@@ -126,7 +120,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
126
120
  ]);
127
121
  }), 64))
128
122
  ], 512)
129
- ], 8, _hoisted_1);
123
+ ], 10, _hoisted_1);
130
124
  }
131
125
  var YearTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-year-table.vue"]]);
132
126
 
@@ -1 +1 @@
1
- {"version":3,"file":"basic-year-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-year-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.yearTablePrompt')\"\n class=\"el-year-table\"\n @click=\"handleYearTableClick\"\n >\n <tbody ref=\"tbodyRef\">\n <tr v-for=\"(n, i) in 3\" :key=\"i\">\n <template v-for=\"(nn, j) in 4\" :key=\"i + '_' + j\">\n <td\n v-if=\"i * 4 + j < 10\"\n :ref=\"\n (el) =>\n isSelectedCell(startYear + i * 4 + j) && (currentCellRef = el)\n \"\n class=\"available\"\n :class=\"getCellStyle(startYear + i * 4 + j)\"\n :aria-selected=\"`${isSelectedCell(startYear + i * 4 + j)}`\"\n :tabindex=\"isSelectedCell(startYear + i * 4 + j) ? 0 : -1\"\n @keydown.space.prevent.stop=\"handleYearTableClick\"\n @keydown.enter.prevent.stop=\"handleYearTableClick\"\n >\n <span class=\"cell\">{{ startYear + i * 4 + j }}</span>\n </td>\n <td v-else />\n </template>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst datesInYear = (year: Dayjs, lang: string) => {\n const firstDay = dayjs(String(year)).locale(lang).startOf('year')\n const lastDay = firstDay.endOf('year')\n const numOfDays = lastDay.dayOfYear()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: {\n disabledDate: {\n type: Function as PropType<(_: Date) => void>,\n },\n parsedValue: {\n type: Object as PropType<Dayjs>,\n },\n date: {\n type: Object as PropType<Dayjs>,\n },\n },\n\n emits: ['pick'],\n expose: ['focus'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n const startYear = computed(() => {\n return Math.floor(props.date.year() / 10) * 10\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = () => {\n currentCellRef.value?.focus()\n }\n\n const getCellStyle = (year) => {\n const style = {} as any\n const today = dayjs().locale(lang.value)\n\n style.disabled = props.disabledDate\n ? datesInYear(year, lang.value).every(props.disabledDate)\n : false\n\n style.current =\n castArray(props.parsedValue).findIndex((_) => _.year() === year) >= 0\n\n style.today = today.year() === year\n\n return style\n }\n\n const isSelectedCell = (year) => {\n return (\n (year === startYear.value &&\n props.date.year() < startYear.value &&\n props.date.year() > startYear.value + 9) ||\n castArray(props.date).findIndex((_) => _.year() === year) >= 0\n )\n }\n\n const handleYearTableClick = (event: MouseEvent) => {\n const clickTarget = event.target as HTMLDivElement\n const target = clickTarget.closest('td')\n if (target) {\n if (hasClass((target as any).parentNode, 'disabled')) return\n const year = target.textContent || target.innerText\n ctx.emit('pick', Number(year))\n }\n }\n return {\n t,\n tbodyRef,\n currentCellRef,\n startYear,\n focus,\n isSelectedCell,\n getCellStyle,\n handleYearTableClick,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","useLocale","ref","computed","watch","nextTick","castArray","hasClass","_createElementBlock","_openBlock","_Fragment","_renderList","_normalizeClass","_withKeys","_withModifiers","_createElementVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"basic-year-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-year-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.yearTablePrompt')\"\n :class=\"ns.b()\"\n @click=\"handleYearTableClick\"\n >\n <tbody ref=\"tbodyRef\">\n <tr v-for=\"(_, i) in 3\" :key=\"i\">\n <template v-for=\"(__, j) in 4\" :key=\"i + '_' + j\">\n <td\n v-if=\"i * 4 + j < 10\"\n :ref=\"\n (el) =>\n isSelectedCell(startYear + i * 4 + j) && (currentCellRef = el as HTMLElement)\n \"\n class=\"available\"\n :class=\"getCellStyle(startYear + i * 4 + j)\"\n :aria-selected=\"`${isSelectedCell(startYear + i * 4 + j)}`\"\n :tabindex=\"isSelectedCell(startYear + i * 4 + j) ? 0 : -1\"\n @keydown.space.prevent.stop=\"handleYearTableClick\"\n @keydown.enter.prevent.stop=\"handleYearTableClick\"\n >\n <span class=\"cell\">{{ startYear + i * 4 + j }}</span>\n </td>\n <td v-else />\n </template>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\nimport { basicYearTableProps } from '../props/basic-year-table'\n\nconst datesInYear = (year: number, lang: string) => {\n const firstDay = dayjs(String(year)).locale(lang).startOf('year')\n const lastDay = firstDay.endOf('year')\n const numOfDays = lastDay.dayOfYear()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: basicYearTableProps,\n\n emits: ['pick'],\n expose: ['focus'],\n\n setup(props, ctx) {\n const ns = useNamespace('year-table')\n\n const { t, lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n const startYear = computed(() => {\n return Math.floor(props.date.year() / 10) * 10\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = () => {\n currentCellRef.value?.focus()\n }\n\n const getCellStyle = (year: number) => {\n const style: Record<string, boolean> = {}\n const today = dayjs().locale(lang.value)\n\n style.disabled = props.disabledDate\n ? datesInYear(year, lang.value).every(props.disabledDate)\n : false\n\n style.current =\n castArray(props.parsedValue).findIndex((_) => _.year() === year) >= 0\n\n style.today = today.year() === year\n\n return style\n }\n\n const isSelectedCell = (year: number) => {\n return (\n (year === startYear.value &&\n props.date.year() < startYear.value &&\n props.date.year() > startYear.value + 9) ||\n castArray(props.date).findIndex((date) => date.year() === year) >= 0\n )\n }\n\n const handleYearTableClick = (event: MouseEvent | KeyboardEvent) => {\n const clickTarget = event.target as HTMLDivElement\n const target = clickTarget.closest('td')\n if (target) {\n if (hasClass((target as any).parentNode, 'disabled')) return\n const year = target.textContent || target.innerText\n ctx.emit('pick', Number(year))\n }\n }\n return {\n ns,\n t,\n tbodyRef,\n currentCellRef,\n startYear,\n focus,\n isSelectedCell,\n getCellStyle,\n handleYearTableClick,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","basicYearTableProps","useNamespace","useLocale","ref","computed","watch","nextTick","castArray","hasClass","_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_withKeys","_withModifiers","_createElementVNode","_toDisplayString"],"mappings":"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"}