element-plus 2.8.0 → 2.8.1

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 (495) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +225 -110
  4. package/dist/index.full.min.js +22 -22
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +22 -22
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +225 -111
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hr.js +1 -1
  94. package/dist/locale/hr.min.js +1 -1
  95. package/dist/locale/hr.min.mjs +1 -1
  96. package/dist/locale/hr.mjs +1 -1
  97. package/dist/locale/hu.js +1 -1
  98. package/dist/locale/hu.min.js +1 -1
  99. package/dist/locale/hu.min.mjs +1 -1
  100. package/dist/locale/hu.mjs +1 -1
  101. package/dist/locale/hy-am.js +1 -1
  102. package/dist/locale/hy-am.min.js +1 -1
  103. package/dist/locale/hy-am.min.mjs +1 -1
  104. package/dist/locale/hy-am.mjs +1 -1
  105. package/dist/locale/id.js +1 -1
  106. package/dist/locale/id.min.js +1 -1
  107. package/dist/locale/id.min.mjs +1 -1
  108. package/dist/locale/id.mjs +1 -1
  109. package/dist/locale/it.js +1 -1
  110. package/dist/locale/it.min.js +1 -1
  111. package/dist/locale/it.min.mjs +1 -1
  112. package/dist/locale/it.mjs +1 -1
  113. package/dist/locale/ja.js +1 -1
  114. package/dist/locale/ja.min.js +1 -1
  115. package/dist/locale/ja.min.mjs +1 -1
  116. package/dist/locale/ja.mjs +1 -1
  117. package/dist/locale/kk.js +1 -1
  118. package/dist/locale/kk.min.js +1 -1
  119. package/dist/locale/kk.min.mjs +1 -1
  120. package/dist/locale/kk.mjs +1 -1
  121. package/dist/locale/km.js +1 -1
  122. package/dist/locale/km.min.js +1 -1
  123. package/dist/locale/km.min.mjs +1 -1
  124. package/dist/locale/km.mjs +1 -1
  125. package/dist/locale/ko.js +1 -1
  126. package/dist/locale/ko.min.js +1 -1
  127. package/dist/locale/ko.min.mjs +1 -1
  128. package/dist/locale/ko.mjs +1 -1
  129. package/dist/locale/ku.js +1 -1
  130. package/dist/locale/ku.min.js +1 -1
  131. package/dist/locale/ku.min.mjs +1 -1
  132. package/dist/locale/ku.mjs +1 -1
  133. package/dist/locale/ky.js +1 -1
  134. package/dist/locale/ky.min.js +1 -1
  135. package/dist/locale/ky.min.mjs +1 -1
  136. package/dist/locale/ky.mjs +1 -1
  137. package/dist/locale/lt.js +1 -1
  138. package/dist/locale/lt.min.js +1 -1
  139. package/dist/locale/lt.min.mjs +1 -1
  140. package/dist/locale/lt.mjs +1 -1
  141. package/dist/locale/lv.js +1 -1
  142. package/dist/locale/lv.min.js +1 -1
  143. package/dist/locale/lv.min.mjs +1 -1
  144. package/dist/locale/lv.mjs +1 -1
  145. package/dist/locale/mg.js +1 -1
  146. package/dist/locale/mg.min.js +1 -1
  147. package/dist/locale/mg.min.mjs +1 -1
  148. package/dist/locale/mg.mjs +1 -1
  149. package/dist/locale/mn.js +1 -1
  150. package/dist/locale/mn.min.js +1 -1
  151. package/dist/locale/mn.min.mjs +1 -1
  152. package/dist/locale/mn.mjs +1 -1
  153. package/dist/locale/my.js +191 -0
  154. package/dist/locale/my.min.js +2 -0
  155. package/dist/locale/my.min.js.map +1 -0
  156. package/dist/locale/my.min.mjs +2 -0
  157. package/dist/locale/my.min.mjs.map +1 -0
  158. package/dist/locale/my.mjs +183 -0
  159. package/dist/locale/nb-no.js +1 -1
  160. package/dist/locale/nb-no.min.js +1 -1
  161. package/dist/locale/nb-no.min.mjs +1 -1
  162. package/dist/locale/nb-no.mjs +1 -1
  163. package/dist/locale/nl.js +1 -1
  164. package/dist/locale/nl.min.js +1 -1
  165. package/dist/locale/nl.min.mjs +1 -1
  166. package/dist/locale/nl.mjs +1 -1
  167. package/dist/locale/pa.js +1 -1
  168. package/dist/locale/pa.min.js +1 -1
  169. package/dist/locale/pa.min.mjs +1 -1
  170. package/dist/locale/pa.mjs +1 -1
  171. package/dist/locale/pl.js +1 -1
  172. package/dist/locale/pl.min.js +1 -1
  173. package/dist/locale/pl.min.mjs +1 -1
  174. package/dist/locale/pl.mjs +1 -1
  175. package/dist/locale/pt-br.js +1 -1
  176. package/dist/locale/pt-br.min.js +1 -1
  177. package/dist/locale/pt-br.min.mjs +1 -1
  178. package/dist/locale/pt-br.mjs +1 -1
  179. package/dist/locale/pt.js +1 -1
  180. package/dist/locale/pt.min.js +1 -1
  181. package/dist/locale/pt.min.mjs +1 -1
  182. package/dist/locale/pt.mjs +1 -1
  183. package/dist/locale/ro.js +1 -1
  184. package/dist/locale/ro.min.js +1 -1
  185. package/dist/locale/ro.min.mjs +1 -1
  186. package/dist/locale/ro.mjs +1 -1
  187. package/dist/locale/ru.js +1 -1
  188. package/dist/locale/ru.min.js +1 -1
  189. package/dist/locale/ru.min.mjs +1 -1
  190. package/dist/locale/ru.mjs +1 -1
  191. package/dist/locale/sk.js +1 -1
  192. package/dist/locale/sk.min.js +1 -1
  193. package/dist/locale/sk.min.mjs +1 -1
  194. package/dist/locale/sk.mjs +1 -1
  195. package/dist/locale/sl.js +1 -1
  196. package/dist/locale/sl.min.js +1 -1
  197. package/dist/locale/sl.min.mjs +1 -1
  198. package/dist/locale/sl.mjs +1 -1
  199. package/dist/locale/sr.js +1 -1
  200. package/dist/locale/sr.min.js +1 -1
  201. package/dist/locale/sr.min.mjs +1 -1
  202. package/dist/locale/sr.mjs +1 -1
  203. package/dist/locale/sv.js +1 -1
  204. package/dist/locale/sv.min.js +1 -1
  205. package/dist/locale/sv.min.mjs +1 -1
  206. package/dist/locale/sv.mjs +1 -1
  207. package/dist/locale/sw.js +1 -1
  208. package/dist/locale/sw.min.js +1 -1
  209. package/dist/locale/sw.min.mjs +1 -1
  210. package/dist/locale/sw.mjs +1 -1
  211. package/dist/locale/ta.js +1 -1
  212. package/dist/locale/ta.min.js +1 -1
  213. package/dist/locale/ta.min.mjs +1 -1
  214. package/dist/locale/ta.mjs +1 -1
  215. package/dist/locale/th.js +1 -1
  216. package/dist/locale/th.min.js +1 -1
  217. package/dist/locale/th.min.mjs +1 -1
  218. package/dist/locale/th.mjs +1 -1
  219. package/dist/locale/tk.js +1 -1
  220. package/dist/locale/tk.min.js +1 -1
  221. package/dist/locale/tk.min.mjs +1 -1
  222. package/dist/locale/tk.mjs +1 -1
  223. package/dist/locale/tr.js +1 -1
  224. package/dist/locale/tr.min.js +1 -1
  225. package/dist/locale/tr.min.mjs +1 -1
  226. package/dist/locale/tr.mjs +1 -1
  227. package/dist/locale/ug-cn.js +1 -1
  228. package/dist/locale/ug-cn.min.js +1 -1
  229. package/dist/locale/ug-cn.min.mjs +1 -1
  230. package/dist/locale/ug-cn.mjs +1 -1
  231. package/dist/locale/uk.js +1 -1
  232. package/dist/locale/uk.min.js +1 -1
  233. package/dist/locale/uk.min.mjs +1 -1
  234. package/dist/locale/uk.mjs +1 -1
  235. package/dist/locale/uz-uz.js +1 -1
  236. package/dist/locale/uz-uz.min.js +1 -1
  237. package/dist/locale/uz-uz.min.mjs +1 -1
  238. package/dist/locale/uz-uz.mjs +1 -1
  239. package/dist/locale/vi.js +1 -1
  240. package/dist/locale/vi.min.js +1 -1
  241. package/dist/locale/vi.min.mjs +1 -1
  242. package/dist/locale/vi.mjs +1 -1
  243. package/dist/locale/zh-cn.js +1 -1
  244. package/dist/locale/zh-cn.min.js +1 -1
  245. package/dist/locale/zh-cn.min.mjs +1 -1
  246. package/dist/locale/zh-cn.mjs +1 -1
  247. package/dist/locale/zh-tw.js +1 -1
  248. package/dist/locale/zh-tw.min.js +1 -1
  249. package/dist/locale/zh-tw.min.mjs +1 -1
  250. package/dist/locale/zh-tw.mjs +1 -1
  251. package/es/components/affix/src/affix2.mjs +11 -9
  252. package/es/components/affix/src/affix2.mjs.map +1 -1
  253. package/es/components/button/src/use-button.mjs +4 -0
  254. package/es/components/button/src/use-button.mjs.map +1 -1
  255. package/es/components/carousel/index.mjs +1 -1
  256. package/es/components/carousel/src/carousel-item2.mjs +3 -3
  257. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  258. package/es/components/carousel/src/constants.d.ts +1 -0
  259. package/es/components/carousel/src/constants.mjs +2 -1
  260. package/es/components/carousel/src/constants.mjs.map +1 -1
  261. package/es/components/carousel/src/use-carousel-item.d.ts +1 -1
  262. package/es/components/carousel/src/use-carousel-item.mjs +4 -4
  263. package/es/components/carousel/src/use-carousel-item.mjs.map +1 -1
  264. package/es/components/carousel/src/use-carousel.mjs +3 -4
  265. package/es/components/carousel/src/use-carousel.mjs.map +1 -1
  266. package/es/components/cascader/src/cascader.d.ts +3 -0
  267. package/es/components/cascader/src/cascader.mjs +10 -0
  268. package/es/components/cascader/src/cascader.mjs.map +1 -1
  269. package/es/components/cascader/src/cascader.vue.d.ts +6 -0
  270. package/es/components/cascader/src/cascader2.mjs +3 -10
  271. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  272. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +2 -2
  273. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +3 -9
  274. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  275. package/es/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
  276. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs +3 -1
  277. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
  278. package/es/components/date-picker/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
  279. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +7 -4
  280. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  281. package/es/components/date-picker/src/props/basic-date-table.d.ts +1 -1
  282. package/es/components/date-picker/src/props/basic-month-table.d.ts +1 -1
  283. package/es/components/date-picker/src/props/basic-year-table.d.ts +1 -1
  284. package/es/components/date-picker/src/props/shared.d.ts +2 -1
  285. package/es/components/date-picker/src/props/shared.mjs.map +1 -1
  286. package/es/components/date-picker/src/utils.d.ts +4 -0
  287. package/es/components/date-picker/src/utils.mjs +34 -1
  288. package/es/components/date-picker/src/utils.mjs.map +1 -1
  289. package/es/components/descriptions/src/description-item.d.ts +5 -1
  290. package/es/components/descriptions/src/description-item.mjs +4 -0
  291. package/es/components/descriptions/src/description-item.mjs.map +1 -1
  292. package/es/components/descriptions/src/description.d.ts +2 -0
  293. package/es/components/descriptions/src/description.mjs.map +1 -1
  294. package/es/components/descriptions/src/description2.mjs +16 -1
  295. package/es/components/descriptions/src/description2.mjs.map +1 -1
  296. package/es/components/descriptions/src/descriptions-cell.mjs +7 -3
  297. package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  298. package/es/components/descriptions/src/descriptions.type.d.ts +1 -0
  299. package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
  300. package/es/components/dialog/src/dialog-content2.mjs +2 -2
  301. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  302. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  303. package/es/components/dialog/src/dialog2.mjs +4 -3
  304. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  305. package/es/components/index.mjs +1 -1
  306. package/es/components/input/src/input.d.ts +0 -2
  307. package/es/components/input/src/input.mjs.map +1 -1
  308. package/es/components/input/src/input2.mjs +4 -2
  309. package/es/components/input/src/input2.mjs.map +1 -1
  310. package/es/components/mention/src/mention-dropdown.d.ts +2 -0
  311. package/es/components/mention/src/mention-dropdown.mjs +3 -1
  312. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  313. package/es/components/mention/src/mention-dropdown.vue.d.ts +5 -0
  314. package/es/components/mention/src/mention-dropdown2.mjs +12 -3
  315. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  316. package/es/components/mention/src/mention2.mjs +26 -3
  317. package/es/components/mention/src/mention2.mjs.map +1 -1
  318. package/es/components/pagination/src/components/next.mjs +36 -19
  319. package/es/components/pagination/src/components/next.mjs.map +1 -1
  320. package/es/components/pagination/src/components/next2.mjs +19 -36
  321. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  322. package/es/components/pagination/src/pagination.mjs +1 -1
  323. package/es/components/popconfirm/src/popconfirm.vue.d.ts +4 -0
  324. package/es/components/popconfirm/src/popconfirm2.mjs +28 -23
  325. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  326. package/es/components/segmented/src/segmented2.mjs +1 -4
  327. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  328. package/es/components/select/src/options.mjs.map +1 -1
  329. package/es/components/select/src/select2.mjs +6 -2
  330. package/es/components/select/src/select2.mjs.map +1 -1
  331. package/es/components/select-v2/src/select.mjs +6 -2
  332. package/es/components/select-v2/src/select.mjs.map +1 -1
  333. package/es/components/table/src/store/watcher.mjs +3 -2
  334. package/es/components/table/src/store/watcher.mjs.map +1 -1
  335. package/es/components/table/src/table.mjs +6 -2
  336. package/es/components/table/src/table.mjs.map +1 -1
  337. package/es/components/time-picker/src/common/picker.mjs +3 -1
  338. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  339. package/es/components/tree/index.d.ts +1 -0
  340. package/es/components/tree/index.mjs.map +1 -1
  341. package/es/components/tree/src/model/tree-store.mjs +1 -0
  342. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  343. package/es/components/tree/src/model/useDragNode.mjs +3 -1
  344. package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
  345. package/es/components/virtual-list/src/builders/build-grid.mjs +4 -4
  346. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  347. package/es/components/virtual-list/src/builders/build-list.mjs +3 -4
  348. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  349. package/es/hooks/use-draggable/index.d.ts +1 -1
  350. package/es/hooks/use-draggable/index.mjs +2 -2
  351. package/es/hooks/use-draggable/index.mjs.map +1 -1
  352. package/es/index.mjs +1 -1
  353. package/es/locale/index.d.ts +1 -0
  354. package/es/locale/index.mjs +1 -0
  355. package/es/locale/index.mjs.map +1 -1
  356. package/es/locale/lang/my.d.ts +180 -0
  357. package/es/locale/lang/my.mjs +182 -0
  358. package/es/locale/lang/my.mjs.map +1 -0
  359. package/es/locales.mjs +1 -0
  360. package/es/locales.mjs.map +1 -1
  361. package/es/version.d.ts +1 -1
  362. package/es/version.mjs +1 -1
  363. package/es/version.mjs.map +1 -1
  364. package/global.d.ts +1 -0
  365. package/lib/components/affix/src/affix2.js +11 -9
  366. package/lib/components/affix/src/affix2.js.map +1 -1
  367. package/lib/components/button/src/use-button.js +4 -0
  368. package/lib/components/button/src/use-button.js.map +1 -1
  369. package/lib/components/carousel/index.js +1 -0
  370. package/lib/components/carousel/index.js.map +1 -1
  371. package/lib/components/carousel/src/carousel-item2.js +3 -3
  372. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  373. package/lib/components/carousel/src/constants.d.ts +1 -0
  374. package/lib/components/carousel/src/constants.js +2 -0
  375. package/lib/components/carousel/src/constants.js.map +1 -1
  376. package/lib/components/carousel/src/use-carousel-item.d.ts +1 -1
  377. package/lib/components/carousel/src/use-carousel-item.js +3 -3
  378. package/lib/components/carousel/src/use-carousel-item.js.map +1 -1
  379. package/lib/components/carousel/src/use-carousel.js +2 -3
  380. package/lib/components/carousel/src/use-carousel.js.map +1 -1
  381. package/lib/components/cascader/src/cascader.d.ts +3 -0
  382. package/lib/components/cascader/src/cascader.js +10 -0
  383. package/lib/components/cascader/src/cascader.js.map +1 -1
  384. package/lib/components/cascader/src/cascader.vue.d.ts +6 -0
  385. package/lib/components/cascader/src/cascader2.js +3 -10
  386. package/lib/components/cascader/src/cascader2.js.map +1 -1
  387. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +2 -2
  388. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +4 -10
  389. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  390. package/lib/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
  391. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js +3 -1
  392. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
  393. package/lib/components/date-picker/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
  394. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +10 -7
  395. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  396. package/lib/components/date-picker/src/props/basic-date-table.d.ts +1 -1
  397. package/lib/components/date-picker/src/props/basic-month-table.d.ts +1 -1
  398. package/lib/components/date-picker/src/props/basic-year-table.d.ts +1 -1
  399. package/lib/components/date-picker/src/props/shared.d.ts +2 -1
  400. package/lib/components/date-picker/src/props/shared.js.map +1 -1
  401. package/lib/components/date-picker/src/utils.d.ts +4 -0
  402. package/lib/components/date-picker/src/utils.js +36 -0
  403. package/lib/components/date-picker/src/utils.js.map +1 -1
  404. package/lib/components/descriptions/src/description-item.d.ts +5 -1
  405. package/lib/components/descriptions/src/description-item.js +4 -0
  406. package/lib/components/descriptions/src/description-item.js.map +1 -1
  407. package/lib/components/descriptions/src/description.d.ts +2 -0
  408. package/lib/components/descriptions/src/description.js.map +1 -1
  409. package/lib/components/descriptions/src/description2.js +16 -1
  410. package/lib/components/descriptions/src/description2.js.map +1 -1
  411. package/lib/components/descriptions/src/descriptions-cell.js +7 -3
  412. package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
  413. package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
  414. package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
  415. package/lib/components/dialog/src/dialog-content2.js +2 -2
  416. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  417. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  418. package/lib/components/dialog/src/dialog2.js +4 -3
  419. package/lib/components/dialog/src/dialog2.js.map +1 -1
  420. package/lib/components/index.js +1 -0
  421. package/lib/components/index.js.map +1 -1
  422. package/lib/components/input/src/input.d.ts +0 -2
  423. package/lib/components/input/src/input.js.map +1 -1
  424. package/lib/components/input/src/input2.js +4 -2
  425. package/lib/components/input/src/input2.js.map +1 -1
  426. package/lib/components/mention/src/mention-dropdown.d.ts +2 -0
  427. package/lib/components/mention/src/mention-dropdown.js +3 -1
  428. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  429. package/lib/components/mention/src/mention-dropdown.vue.d.ts +5 -0
  430. package/lib/components/mention/src/mention-dropdown2.js +12 -3
  431. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  432. package/lib/components/mention/src/mention2.js +32 -9
  433. package/lib/components/mention/src/mention2.js.map +1 -1
  434. package/lib/components/pagination/src/components/next.js +36 -19
  435. package/lib/components/pagination/src/components/next.js.map +1 -1
  436. package/lib/components/pagination/src/components/next2.js +19 -36
  437. package/lib/components/pagination/src/components/next2.js.map +1 -1
  438. package/lib/components/pagination/src/pagination.js +1 -1
  439. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +4 -0
  440. package/lib/components/popconfirm/src/popconfirm2.js +27 -22
  441. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  442. package/lib/components/segmented/src/segmented2.js +1 -4
  443. package/lib/components/segmented/src/segmented2.js.map +1 -1
  444. package/lib/components/select/src/options.js.map +1 -1
  445. package/lib/components/select/src/select2.js +6 -2
  446. package/lib/components/select/src/select2.js.map +1 -1
  447. package/lib/components/select-v2/src/select.js +6 -2
  448. package/lib/components/select-v2/src/select.js.map +1 -1
  449. package/lib/components/table/src/store/watcher.js +3 -2
  450. package/lib/components/table/src/store/watcher.js.map +1 -1
  451. package/lib/components/table/src/table.js +6 -2
  452. package/lib/components/table/src/table.js.map +1 -1
  453. package/lib/components/time-picker/src/common/picker.js +3 -1
  454. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  455. package/lib/components/tree/index.d.ts +1 -0
  456. package/lib/components/tree/index.js.map +1 -1
  457. package/lib/components/tree/src/model/tree-store.js +1 -0
  458. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  459. package/lib/components/tree/src/model/useDragNode.js +3 -1
  460. package/lib/components/tree/src/model/useDragNode.js.map +1 -1
  461. package/lib/components/virtual-list/src/builders/build-grid.js +3 -3
  462. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  463. package/lib/components/virtual-list/src/builders/build-list.js +2 -3
  464. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  465. package/lib/hooks/use-draggable/index.d.ts +1 -1
  466. package/lib/hooks/use-draggable/index.js +2 -2
  467. package/lib/hooks/use-draggable/index.js.map +1 -1
  468. package/lib/index.js +1 -0
  469. package/lib/index.js.map +1 -1
  470. package/lib/locale/index.d.ts +1 -0
  471. package/lib/locale/index.js +2 -0
  472. package/lib/locale/index.js.map +1 -1
  473. package/lib/locale/lang/my.d.ts +180 -0
  474. package/lib/locale/lang/my.js +186 -0
  475. package/lib/locale/lang/my.js.map +1 -0
  476. package/lib/locales.js +2 -0
  477. package/lib/locales.js.map +1 -1
  478. package/lib/version.d.ts +1 -1
  479. package/lib/version.js +1 -1
  480. package/lib/version.js.map +1 -1
  481. package/package.json +2 -2
  482. package/tags.json +1 -1
  483. package/theme-chalk/el-date-picker.css +1 -1
  484. package/theme-chalk/el-dialog.css +1 -1
  485. package/theme-chalk/el-input-number.css +1 -1
  486. package/theme-chalk/el-popper.css +1 -1
  487. package/theme-chalk/el-time-picker.css +1 -1
  488. package/theme-chalk/el-time-select.css +1 -1
  489. package/theme-chalk/index.css +1 -1
  490. package/theme-chalk/src/common/var.scss +1 -1
  491. package/theme-chalk/src/date-picker/date-picker.scss +1 -1
  492. package/theme-chalk/src/date-picker/picker.scss +1 -0
  493. package/theme-chalk/src/input-number.scss +1 -0
  494. package/theme-chalk/src/popper.scss +2 -2
  495. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div :class=\"ppNs.e('body-wrapper')\">\n <slot name=\"sidebar\" :class=\"ppNs.e('sidebar')\" />\n <div v-if=\"hasShortcuts\" :class=\"ppNs.e('sidebar')\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n :class=\"ppNs.e('shortcut')\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div :class=\"ppNs.e('body')\">\n <div v-if=\"showTime\" :class=\"dpNs.e('time-header')\">\n <span :class=\"dpNs.e('editor-wrap')\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n :validate-event=\"false\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-click-outside=\"handleTimePickClose\"\n :class=\"dpNs.e('editor-wrap')\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n :validate-event=\"false\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n :class=\"[\n dpNs.e('header'),\n (currentView === 'year' || currentView === 'month') &&\n dpNs.e('header--bordered'),\n ]\"\n >\n <span :class=\"dpNs.e('prev-btn')\">\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"d-arrow-left\"\n :class=\"ppNs.e('icon-btn')\"\n @click=\"moveByYear(false)\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-left\"\n @click=\"moveByMonth(false)\"\n >\n <slot name=\"prev-month\">\n <el-icon><arrow-left /></el-icon>\n </slot>\n </button>\n </span>\n <span\n role=\"button\"\n :class=\"dpNs.e('header-label')\"\n aria-live=\"polite\"\n tabindex=\"0\"\n @keydown.enter=\"showPicker('year')\"\n @click=\"showPicker('year')\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n aria-live=\"polite\"\n tabindex=\"0\"\n :class=\"[\n dpNs.e('header-label'),\n { active: currentView === 'month' },\n ]\"\n @keydown.enter=\"showPicker('month')\"\n @click=\"showPicker('month')\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <span :class=\"dpNs.e('next-btn')\">\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-right\"\n @click=\"moveByMonth(true)\"\n >\n <slot name=\"next-month\">\n <el-icon><arrow-right /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"moveByYear(true)\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n </span>\n </div>\n <div :class=\"ppNs.e('content')\" @keydown=\"handleKeydownTable\">\n <date-table\n v-if=\"currentView === 'date'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div v-show=\"footerVisible\" :class=\"ppNs.e('footer')\">\n <el-button\n v-show=\"!isMultipleType\"\n text\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledNow\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledConfirm\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n ref,\n toRef,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n TimePickPanel,\n extractDateFormat,\n extractTimeFormat,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { isArray, isFunction } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ArrowLeft,\n ArrowRight,\n DArrowLeft,\n DArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport { panelDatePickProps } from '../props/panel-date-pick'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { SetupContext } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { PanelDatePickProps } from '../props/panel-date-pick'\nimport type {\n DateTableEmits,\n DatesPickerEmits,\n MonthsPickerEmits,\n WeekPickerEmits,\n YearsPickerEmits,\n} from '../props/basic-date-table'\n\ntype DatePickType = PanelDatePickProps['type']\n// todo\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\nconst props = defineProps(panelDatePickProps)\nconst contextEmit = defineEmits(['pick', 'set-picker-option', 'panel-change'])\nconst ppNs = useNamespace('picker-panel')\nconst dpNs = useNamespace('date-picker')\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst { t, lang } = useLocale()\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst popper = inject(TOOLTIP_INJECTION_KEY)\nconst { shortcuts, disabledDate, cellClassName, defaultTime } = pickerBase.props\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\n\nconst currentViewRef = ref<{ focus: () => void }>()\n\nconst innerDate = ref(dayjs().locale(lang.value))\n\nconst isChangeToNow = ref(false)\n\nlet isShortcut = false\n\nconst defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n})\n\nconst month = computed(() => {\n return innerDate.value.month()\n})\n\nconst year = computed(() => {\n return innerDate.value.year()\n})\n\nconst selectableRange = ref([])\nconst userInputDate = ref<string | null>(null)\nconst userInputTime = ref<string | null>(null)\n// todo update to disableHour\nconst checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(date, selectableRange.value, props.format || 'HH:mm:ss')\n : true\n}\nconst formatEmit = (emitDayjs: Dayjs) => {\n if (\n defaultTime &&\n !visibleTime.value &&\n !isChangeToNow.value &&\n !isShortcut\n ) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n}\nconst emit = (value: Dayjs | Dayjs[], ...args: any[]) => {\n if (!value) {\n contextEmit('pick', value, ...args)\n } else if (isArray(value)) {\n const dates = value.map(formatEmit)\n contextEmit('pick', dates, ...args)\n } else {\n contextEmit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n isChangeToNow.value = false\n isShortcut = false\n}\nconst handleDatePick = async (value: DateTableEmits, keepOpen?: boolean) => {\n if (selectionMode.value === 'date') {\n value = value as Dayjs\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value || keepOpen)\n // fix: https://github.com/element-plus/element-plus/issues/14728\n if (props.type === 'datetime') {\n await nextTick()\n handleFocusPicker()\n }\n } else if (selectionMode.value === 'week') {\n emit((value as WeekPickerEmits).date)\n } else if (selectionMode.value === 'dates') {\n emit(value as DatesPickerEmits, true) // set true to keep panel open\n }\n}\n\nconst moveByMonth = (forward: boolean) => {\n const action = forward ? 'add' : 'subtract'\n innerDate.value = innerDate.value[action](1, 'month')\n handlePanelChange('month')\n}\n\nconst moveByYear = (forward: boolean) => {\n const currentDate = innerDate.value\n const action = forward ? 'add' : 'subtract'\n\n innerDate.value =\n currentView.value === 'year'\n ? currentDate[action](10, 'year')\n : currentDate[action](1, 'year')\n\n handlePanelChange('year')\n}\n\nconst currentView = ref('date')\n\nconst yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n})\n\ntype Shortcut = {\n value: (() => Dayjs) | Dayjs\n onClick?: (ctx: Omit<SetupContext, 'expose'>) => void\n}\n\nconst handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValue = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n if (shortcutValue) {\n isShortcut = true\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit as SetupContext['emit'],\n })\n }\n}\n\nconst selectionMode = computed<DatePickType>(() => {\n const { type } = props\n if (['week', 'month', 'months', 'year', 'years', 'dates'].includes(type))\n return type\n return 'date' as DatePickType\n})\n\nconst isMultipleType = computed(() => {\n return (\n selectionMode.value === 'dates' ||\n selectionMode.value === 'months' ||\n selectionMode.value === 'years'\n )\n})\n\nconst keyboardMode = computed<string>(() => {\n return selectionMode.value === 'date'\n ? currentView.value\n : selectionMode.value\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst handleMonthPick = async (\n month: number | MonthsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'month') {\n innerDate.value = innerDate.value.startOf('month').month(month as number)\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'months') {\n emit(month as MonthsPickerEmits, keepOpen ?? true)\n } else {\n innerDate.value = innerDate.value.startOf('month').month(month as number)\n currentView.value = 'date'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('month')\n}\n\nconst handleYearPick = async (\n year: number | YearsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year as number)\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'years') {\n emit(year as YearsPickerEmits, keepOpen ?? true)\n } else {\n innerDate.value = innerDate.value.year(year as number)\n currentView.value = 'month'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst showPicker = async (view: 'month' | 'year') => {\n currentView.value = view\n await nextTick()\n handleFocusPicker()\n}\n\nconst showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n)\n\nconst footerVisible = computed(() => {\n const showDateFooter = showTime.value || selectionMode.value === 'dates'\n const showYearFooter = selectionMode.value === 'years'\n const showMonthFooter = selectionMode.value === 'months'\n const isDateView = currentView.value === 'date'\n const isYearView = currentView.value === 'year'\n const isMonthView = currentView.value === 'month'\n return (\n (showDateFooter && isDateView) ||\n (showYearFooter && isYearView) ||\n (showMonthFooter && isMonthView)\n )\n})\n\nconst disabledConfirm = computed(() => {\n if (!disabledDate) return false\n if (!props.parsedValue) return true\n if (isArray(props.parsedValue)) {\n return disabledDate(props.parsedValue[0].toDate())\n }\n return disabledDate(props.parsedValue.toDate())\n})\nconst onConfirm = () => {\n if (isMultipleType.value) {\n emit(props.parsedValue as Dayjs[])\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n}\n\nconst disabledNow = computed(() => {\n if (!disabledDate) return false\n return disabledDate(dayjs().locale(lang.value).toDate())\n})\nconst changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n isChangeToNow.value = true\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return props.timeFormat || extractTimeFormat(props.format)\n})\n\nconst dateFormat = computed(() => {\n return props.dateFormat || extractDateFormat(props.format)\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n})\n\nconst timePickerVisible = ref(false)\nconst onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n}\nconst handleTimePickClose = () => {\n timePickerVisible.value = false\n}\n\nconst getUnits = (date: Dayjs) => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date(),\n }\n}\n\nconst handleTimePick = (value: Dayjs, visible: boolean, first: boolean) => {\n const { hour, minute, second } = getUnits(value)\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs).hour(hour).minute(minute).second(second)\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n}\n\nconst handleVisibleTimeChange = (value: string) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const { year, month, date } = getUnits(innerDate.value)\n innerDate.value = newDate.year(year).month(month).date(date)\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n}\n\nconst handleVisibleDateChange = (value: string) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n const { hour, minute, second } = getUnits(innerDate.value)\n innerDate.value = newDate.hour(hour).minute(minute).second(second)\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n}\n\nconst isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? (value as Dayjs[]).map((_) => _.format(props.format))\n : (value as Dayjs).format(props.format)\n}\n\nconst parseUserInput = (value: Dayjs) => {\n return dayjs(value, props.format).locale(lang.value)\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 = async () => {\n if (['week', 'month', 'year', 'date'].includes(selectionMode.value)) {\n currentViewRef.value?.focus()\n if (selectionMode.value === 'week') {\n handleKeyControl(EVENT_CODE.down)\n }\n }\n}\n\nconst handleKeydownTable = (event: KeyboardEvent) => {\n const { code } = event\n const validCode = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n EVENT_CODE.home,\n EVENT_CODE.end,\n EVENT_CODE.pageUp,\n EVENT_CODE.pageDown,\n ]\n if (validCode.includes(code)) {\n handleKeyControl(code)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(\n code\n ) &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n event.preventDefault()\n emit(innerDate.value, false)\n }\n}\n\nconst handleKeyControl = (code: string) => {\n type KeyControlMappingCallableOffset = (date: Date, step?: number) => number\n type KeyControl = {\n [key: string]:\n | number\n | KeyControlMappingCallableOffset\n | ((date: Date, step: number) => any)\n offset: (date: Date, step: number) => any\n }\n interface KeyControlMapping {\n [key: string]: KeyControl\n }\n\n const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE\n const mapping: KeyControlMapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setFullYear(date.getFullYear() + step),\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step),\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setDate(date.getDate() + step * 7),\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: (date: Date) => -date.getDay(),\n [end]: (date: Date) => -date.getDay() + 6,\n [pageUp]: (date: Date) =>\n -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: (date: Date) =>\n new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date: Date, step: number) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[keyboardMode.value]\n if (!map) return\n map.offset(\n newDate,\n isFunction(map[code])\n ? (map[code] as unknown as KeyControlMappingCallableOffset)(newDate)\n : (map[code] as number) ?? 0\n )\n if (disabledDate && disabledDate(newDate)) {\n break\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n contextEmit('pick', result, true)\n break\n }\n}\n\nconst handlePanelChange = (mode: 'month' | 'year') => {\n contextEmit('panel-change', innerDate.value.toDate(), mode, currentView.value)\n}\n\nwatch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n } else if (val === 'years') {\n currentView.value = 'year'\n return\n } else if (val === 'months') {\n currentView.value = 'month'\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n)\n\nwatch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n)\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (isMultipleType.value) return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\ncontextEmit('set-picker-option', ['isValidValue', isValidValue])\ncontextEmit('set-picker-option', ['formatToString', formatToString])\ncontextEmit('set-picker-option', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', handleFocusPicker])\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-date-pick.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n dpNs.b(),\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div :class=\"ppNs.e('body-wrapper')\">\n <slot name=\"sidebar\" :class=\"ppNs.e('sidebar')\" />\n <div v-if=\"hasShortcuts\" :class=\"ppNs.e('sidebar')\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n :class=\"ppNs.e('shortcut')\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div :class=\"ppNs.e('body')\">\n <div v-if=\"showTime\" :class=\"dpNs.e('time-header')\">\n <span :class=\"dpNs.e('editor-wrap')\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n :validate-event=\"false\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-click-outside=\"handleTimePickClose\"\n :class=\"dpNs.e('editor-wrap')\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n :validate-event=\"false\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n :class=\"[\n dpNs.e('header'),\n (currentView === 'year' || currentView === 'month') &&\n dpNs.e('header--bordered'),\n ]\"\n >\n <span :class=\"dpNs.e('prev-btn')\">\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"d-arrow-left\"\n :class=\"ppNs.e('icon-btn')\"\n @click=\"moveByYear(false)\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-left\"\n @click=\"moveByMonth(false)\"\n >\n <slot name=\"prev-month\">\n <el-icon><arrow-left /></el-icon>\n </slot>\n </button>\n </span>\n <span\n role=\"button\"\n :class=\"dpNs.e('header-label')\"\n aria-live=\"polite\"\n tabindex=\"0\"\n @keydown.enter=\"showPicker('year')\"\n @click=\"showPicker('year')\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n aria-live=\"polite\"\n tabindex=\"0\"\n :class=\"[\n dpNs.e('header-label'),\n { active: currentView === 'month' },\n ]\"\n @keydown.enter=\"showPicker('month')\"\n @click=\"showPicker('month')\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <span :class=\"dpNs.e('next-btn')\">\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"arrow-right\"\n @click=\"moveByMonth(true)\"\n >\n <slot name=\"next-month\">\n <el-icon><arrow-right /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"moveByYear(true)\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n </span>\n </div>\n <div :class=\"ppNs.e('content')\" @keydown=\"handleKeydownTable\">\n <date-table\n v-if=\"currentView === 'date'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n :cell-class-name=\"cellClassName\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n ref=\"currentViewRef\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div v-show=\"footerVisible\" :class=\"ppNs.e('footer')\">\n <el-button\n v-show=\"!isMultipleType\"\n text\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledNow\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ppNs.e('link-btn')\"\n :disabled=\"disabledConfirm\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n ref,\n toRef,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n TimePickPanel,\n extractDateFormat,\n extractTimeFormat,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { isArray, isFunction } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ArrowLeft,\n ArrowRight,\n DArrowLeft,\n DArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport { panelDatePickProps } from '../props/panel-date-pick'\nimport { getValidDateOfMonth, getValidDateOfYear } from '../utils'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { SetupContext } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { PanelDatePickProps } from '../props/panel-date-pick'\nimport type {\n DateTableEmits,\n DatesPickerEmits,\n MonthsPickerEmits,\n WeekPickerEmits,\n YearsPickerEmits,\n} from '../props/basic-date-table'\n\ntype DatePickType = PanelDatePickProps['type']\n// todo\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\nconst props = defineProps(panelDatePickProps)\nconst contextEmit = defineEmits(['pick', 'set-picker-option', 'panel-change'])\nconst ppNs = useNamespace('picker-panel')\nconst dpNs = useNamespace('date-picker')\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst { t, lang } = useLocale()\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst popper = inject(TOOLTIP_INJECTION_KEY)\nconst { shortcuts, disabledDate, cellClassName, defaultTime } = pickerBase.props\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\n\nconst currentViewRef = ref<{ focus: () => void }>()\n\nconst innerDate = ref(dayjs().locale(lang.value))\n\nconst isChangeToNow = ref(false)\n\nlet isShortcut = false\n\nconst defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n})\n\nconst month = computed(() => {\n return innerDate.value.month()\n})\n\nconst year = computed(() => {\n return innerDate.value.year()\n})\n\nconst selectableRange = ref([])\nconst userInputDate = ref<string | null>(null)\nconst userInputTime = ref<string | null>(null)\n// todo update to disableHour\nconst checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(date, selectableRange.value, props.format || 'HH:mm:ss')\n : true\n}\nconst formatEmit = (emitDayjs: Dayjs) => {\n if (\n defaultTime &&\n !visibleTime.value &&\n !isChangeToNow.value &&\n !isShortcut\n ) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n}\nconst emit = (value: Dayjs | Dayjs[], ...args: any[]) => {\n if (!value) {\n contextEmit('pick', value, ...args)\n } else if (isArray(value)) {\n const dates = value.map(formatEmit)\n contextEmit('pick', dates, ...args)\n } else {\n contextEmit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n isChangeToNow.value = false\n isShortcut = false\n}\nconst handleDatePick = async (value: DateTableEmits, keepOpen?: boolean) => {\n if (selectionMode.value === 'date') {\n value = value as Dayjs\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value || keepOpen)\n // fix: https://github.com/element-plus/element-plus/issues/14728\n if (props.type === 'datetime') {\n await nextTick()\n handleFocusPicker()\n }\n } else if (selectionMode.value === 'week') {\n emit((value as WeekPickerEmits).date)\n } else if (selectionMode.value === 'dates') {\n emit(value as DatesPickerEmits, true) // set true to keep panel open\n }\n}\n\nconst moveByMonth = (forward: boolean) => {\n const action = forward ? 'add' : 'subtract'\n innerDate.value = innerDate.value[action](1, 'month')\n handlePanelChange('month')\n}\n\nconst moveByYear = (forward: boolean) => {\n const currentDate = innerDate.value\n const action = forward ? 'add' : 'subtract'\n\n innerDate.value =\n currentView.value === 'year'\n ? currentDate[action](10, 'year')\n : currentDate[action](1, 'year')\n\n handlePanelChange('year')\n}\n\nconst currentView = ref('date')\n\nconst yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n})\n\ntype Shortcut = {\n value: (() => Dayjs) | Dayjs\n onClick?: (ctx: Omit<SetupContext, 'expose'>) => void\n}\n\nconst handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValue = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n if (shortcutValue) {\n isShortcut = true\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit: contextEmit as SetupContext['emit'],\n })\n }\n}\n\nconst selectionMode = computed<DatePickType>(() => {\n const { type } = props\n if (['week', 'month', 'months', 'year', 'years', 'dates'].includes(type))\n return type\n return 'date' as DatePickType\n})\n\nconst isMultipleType = computed(() => {\n return (\n selectionMode.value === 'dates' ||\n selectionMode.value === 'months' ||\n selectionMode.value === 'years'\n )\n})\n\nconst keyboardMode = computed<string>(() => {\n return selectionMode.value === 'date'\n ? currentView.value\n : selectionMode.value\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst handleMonthPick = async (\n month: number | MonthsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'month') {\n innerDate.value = getValidDateOfMonth(\n innerDate.value.year(),\n month as number,\n lang.value,\n disabledDate\n )\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'months') {\n emit(month as MonthsPickerEmits, keepOpen ?? true)\n } else {\n innerDate.value = getValidDateOfMonth(\n innerDate.value.year(),\n month as number,\n lang.value,\n disabledDate\n )\n currentView.value = 'date'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('month')\n}\n\nconst handleYearPick = async (\n year: number | YearsPickerEmits,\n keepOpen?: boolean\n) => {\n if (selectionMode.value === 'year') {\n const data = innerDate.value.startOf('year').year(year as number)\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n emit(innerDate.value, false)\n } else if (selectionMode.value === 'years') {\n emit(year as YearsPickerEmits, keepOpen ?? true)\n } else {\n const data = innerDate.value.year(year as number)\n innerDate.value = getValidDateOfYear(data, lang.value, disabledDate)\n currentView.value = 'month'\n if (['month', 'year', 'date', 'week'].includes(selectionMode.value)) {\n emit(innerDate.value, true)\n await nextTick()\n handleFocusPicker()\n }\n }\n handlePanelChange('year')\n}\n\nconst showPicker = async (view: 'month' | 'year') => {\n currentView.value = view\n await nextTick()\n handleFocusPicker()\n}\n\nconst showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n)\n\nconst footerVisible = computed(() => {\n const showDateFooter = showTime.value || selectionMode.value === 'dates'\n const showYearFooter = selectionMode.value === 'years'\n const showMonthFooter = selectionMode.value === 'months'\n const isDateView = currentView.value === 'date'\n const isYearView = currentView.value === 'year'\n const isMonthView = currentView.value === 'month'\n return (\n (showDateFooter && isDateView) ||\n (showYearFooter && isYearView) ||\n (showMonthFooter && isMonthView)\n )\n})\n\nconst disabledConfirm = computed(() => {\n if (!disabledDate) return false\n if (!props.parsedValue) return true\n if (isArray(props.parsedValue)) {\n return disabledDate(props.parsedValue[0].toDate())\n }\n return disabledDate(props.parsedValue.toDate())\n})\nconst onConfirm = () => {\n if (isMultipleType.value) {\n emit(props.parsedValue as Dayjs[])\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n}\n\nconst disabledNow = computed(() => {\n if (!disabledDate) return false\n return disabledDate(dayjs().locale(lang.value).toDate())\n})\nconst changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n isChangeToNow.value = true\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n}\n\nconst timeFormat = computed(() => {\n return props.timeFormat || extractTimeFormat(props.format)\n})\n\nconst dateFormat = computed(() => {\n return props.dateFormat || extractDateFormat(props.format)\n})\n\nconst visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n})\n\nconst visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n})\n\nconst timePickerVisible = ref(false)\nconst onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n}\nconst handleTimePickClose = () => {\n timePickerVisible.value = false\n}\n\nconst getUnits = (date: Dayjs) => {\n return {\n hour: date.hour(),\n minute: date.minute(),\n second: date.second(),\n year: date.year(),\n month: date.month(),\n date: date.date(),\n }\n}\n\nconst handleTimePick = (value: Dayjs, visible: boolean, first: boolean) => {\n const { hour, minute, second } = getUnits(value)\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs).hour(hour).minute(minute).second(second)\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n}\n\nconst handleVisibleTimeChange = (value: string) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n const { year, month, date } = getUnits(innerDate.value)\n innerDate.value = newDate.year(year).month(month).date(date)\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n}\n\nconst handleVisibleDateChange = (value: string) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n const { hour, minute, second } = getUnits(innerDate.value)\n innerDate.value = newDate.hour(hour).minute(minute).second(second)\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n}\n\nconst isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? (value as Dayjs[]).map((_) => _.format(props.format))\n : (value as Dayjs).format(props.format)\n}\n\nconst parseUserInput = (value: Dayjs) => {\n return dayjs(value, props.format).locale(lang.value)\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 = async () => {\n if (['week', 'month', 'year', 'date'].includes(selectionMode.value)) {\n currentViewRef.value?.focus()\n if (selectionMode.value === 'week') {\n handleKeyControl(EVENT_CODE.down)\n }\n }\n}\n\nconst handleKeydownTable = (event: KeyboardEvent) => {\n const { code } = event\n const validCode = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n EVENT_CODE.home,\n EVENT_CODE.end,\n EVENT_CODE.pageUp,\n EVENT_CODE.pageDown,\n ]\n if (validCode.includes(code)) {\n handleKeyControl(code)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.numpadEnter].includes(\n code\n ) &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n event.preventDefault()\n emit(innerDate.value, false)\n }\n}\n\nconst handleKeyControl = (code: string) => {\n type KeyControlMappingCallableOffset = (date: Date, step?: number) => number\n type KeyControl = {\n [key: string]:\n | number\n | KeyControlMappingCallableOffset\n | ((date: Date, step: number) => any)\n offset: (date: Date, step: number) => any\n }\n interface KeyControlMapping {\n [key: string]: KeyControl\n }\n\n const { up, down, left, right, home, end, pageUp, pageDown } = EVENT_CODE\n const mapping: KeyControlMapping = {\n year: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setFullYear(date.getFullYear() + step),\n },\n month: {\n [up]: -4,\n [down]: 4,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setMonth(date.getMonth() + step),\n },\n week: {\n [up]: -1,\n [down]: 1,\n [left]: -1,\n [right]: 1,\n offset: (date: Date, step: number) =>\n date.setDate(date.getDate() + step * 7),\n },\n date: {\n [up]: -7,\n [down]: 7,\n [left]: -1,\n [right]: 1,\n [home]: (date: Date) => -date.getDay(),\n [end]: (date: Date) => -date.getDay() + 6,\n [pageUp]: (date: Date) =>\n -new Date(date.getFullYear(), date.getMonth(), 0).getDate(),\n [pageDown]: (date: Date) =>\n new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(),\n offset: (date: Date, step: number) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[keyboardMode.value]\n if (!map) return\n map.offset(\n newDate,\n isFunction(map[code])\n ? (map[code] as unknown as KeyControlMappingCallableOffset)(newDate)\n : (map[code] as number) ?? 0\n )\n if (disabledDate && disabledDate(newDate)) {\n break\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n contextEmit('pick', result, true)\n break\n }\n}\n\nconst handlePanelChange = (mode: 'month' | 'year') => {\n contextEmit('panel-change', innerDate.value.toDate(), mode, currentView.value)\n}\n\nwatch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n } else if (val === 'years') {\n currentView.value = 'year'\n return\n } else if (val === 'months') {\n currentView.value = 'month'\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n)\n\nwatch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n)\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (isMultipleType.value) return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n)\n\ncontextEmit('set-picker-option', ['isValidValue', isValidValue])\ncontextEmit('set-picker-option', ['formatToString', formatToString])\ncontextEmit('set-picker-option', ['parseUserInput', parseUserInput])\ncontextEmit('set-picker-option', ['handleFocusPicker', handleFocusPicker])\n</script>\n"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare const basicDateTableProps: {
10
10
  readonly showWeekNumber: BooleanConstructor;
11
11
  readonly selectionMode: import("element-plus/es/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
12
12
  readonly disabledDate: {
13
- readonly type: import("vue").PropType<(date: Date) => boolean>;
13
+ readonly type: import("vue").PropType<import("./shared").DisabledDateType>;
14
14
  readonly required: false;
15
15
  readonly validator: ((val: unknown) => boolean) | undefined;
16
16
  __epPropKey: true;
@@ -2,7 +2,7 @@ import type { ExtractPropTypes } from 'vue';
2
2
  export declare const basicMonthTableProps: {
3
3
  selectionMode: import("element-plus/es/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
4
4
  disabledDate: {
5
- readonly type: import("vue").PropType<(date: Date) => boolean>;
5
+ readonly type: import("vue").PropType<import("./shared").DisabledDateType>;
6
6
  readonly required: false;
7
7
  readonly validator: ((val: unknown) => boolean) | undefined;
8
8
  __epPropKey: true;
@@ -2,7 +2,7 @@ import type { ExtractPropTypes } from 'vue';
2
2
  export declare const basicYearTableProps: {
3
3
  readonly selectionMode: import("element-plus/es/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
4
4
  readonly disabledDate: {
5
- readonly type: import("vue").PropType<(date: Date) => boolean>;
5
+ readonly type: import("vue").PropType<import("./shared").DisabledDateType>;
6
6
  readonly required: false;
7
7
  readonly validator: ((val: unknown) => boolean) | undefined;
8
8
  __epPropKey: true;
@@ -5,9 +5,10 @@ export declare type RangeState = {
5
5
  endDate: null | Dayjs;
6
6
  selecting: boolean;
7
7
  };
8
+ export declare type DisabledDateType = (date: Date) => boolean;
8
9
  export declare const datePickerSharedProps: {
9
10
  readonly disabledDate: {
10
- readonly type: import("vue").PropType<(date: Date) => boolean>;
11
+ readonly type: import("vue").PropType<DisabledDateType>;
11
12
  readonly required: false;
12
13
  readonly validator: ((val: unknown) => boolean) | undefined;
13
14
  __epPropKey: true;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.mjs","sources":["../../../../../../../packages/components/date-picker/src/props/shared.ts"],"sourcesContent":["import { buildProps, definePropType, isArray } from '@element-plus/utils'\nimport { datePickTypes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DatePickType } from '@element-plus/constants'\n\nconst selectionModes = [\n 'date',\n 'dates',\n 'year',\n 'years',\n 'month',\n 'months',\n 'week',\n 'range',\n]\n\nexport type RangeState = {\n endDate: null | Dayjs\n selecting: boolean\n}\n\nexport const datePickerSharedProps = buildProps({\n disabledDate: {\n type: definePropType<(date: Date) => boolean>(Function),\n },\n date: {\n type: definePropType<Dayjs>(Object),\n required: true,\n },\n minDate: {\n type: definePropType<Dayjs | null>(Object),\n },\n maxDate: {\n type: definePropType<Dayjs | null>(Object),\n },\n parsedValue: {\n type: definePropType<Dayjs | Dayjs[]>([Object, Array]),\n },\n rangeState: {\n type: definePropType<RangeState>(Object),\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n} as const)\n\nexport const panelSharedProps = buildProps({\n type: {\n type: definePropType<DatePickType>(String),\n required: true,\n values: datePickTypes,\n },\n dateFormat: String,\n timeFormat: String,\n} as const)\n\nexport const panelRangeSharedProps = buildProps({\n unlinkPanels: Boolean,\n parsedValue: {\n type: definePropType<Dayjs[]>(Array),\n },\n} as const)\n\nexport const selectionModeWithDefault = (\n mode: typeof selectionModes[number]\n) => {\n return {\n type: String,\n values: selectionModes,\n default: mode,\n }\n}\n\nexport const rangePickerSharedEmits = {\n pick: (range: [Dayjs, Dayjs]) => isArray(range),\n}\n\nexport type RangePickerSharedEmits = typeof rangePickerSharedEmits\nexport type PanelRangeSharedProps = ExtractPropTypes<\n typeof panelRangeSharedProps\n>\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,cAAc,GAAG;AACvB,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,OAAO;AACT,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,SAAS,EAAE,KAAK;AACtB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,aAAa;AACzB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,UAAU,EAAE,MAAM;AACpB,CAAC,EAAE;AACS,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,wBAAwB,GAAG,CAAC,IAAI,KAAK;AAClD,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG,CAAC;AACJ,EAAE;AACU,MAAC,sBAAsB,GAAG;AACtC,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;AACjC;;;;"}
1
+ {"version":3,"file":"shared.mjs","sources":["../../../../../../../packages/components/date-picker/src/props/shared.ts"],"sourcesContent":["import { buildProps, definePropType, isArray } from '@element-plus/utils'\nimport { datePickTypes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DatePickType } from '@element-plus/constants'\n\nconst selectionModes = [\n 'date',\n 'dates',\n 'year',\n 'years',\n 'month',\n 'months',\n 'week',\n 'range',\n]\n\nexport type RangeState = {\n endDate: null | Dayjs\n selecting: boolean\n}\n\nexport type DisabledDateType = (date: Date) => boolean\n\nexport const datePickerSharedProps = buildProps({\n disabledDate: {\n type: definePropType<DisabledDateType>(Function),\n },\n date: {\n type: definePropType<Dayjs>(Object),\n required: true,\n },\n minDate: {\n type: definePropType<Dayjs | null>(Object),\n },\n maxDate: {\n type: definePropType<Dayjs | null>(Object),\n },\n parsedValue: {\n type: definePropType<Dayjs | Dayjs[]>([Object, Array]),\n },\n rangeState: {\n type: definePropType<RangeState>(Object),\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n} as const)\n\nexport const panelSharedProps = buildProps({\n type: {\n type: definePropType<DatePickType>(String),\n required: true,\n values: datePickTypes,\n },\n dateFormat: String,\n timeFormat: String,\n} as const)\n\nexport const panelRangeSharedProps = buildProps({\n unlinkPanels: Boolean,\n parsedValue: {\n type: definePropType<Dayjs[]>(Array),\n },\n} as const)\n\nexport const selectionModeWithDefault = (\n mode: typeof selectionModes[number]\n) => {\n return {\n type: String,\n values: selectionModes,\n default: mode,\n }\n}\n\nexport const rangePickerSharedEmits = {\n pick: (range: [Dayjs, Dayjs]) => isArray(range),\n}\n\nexport type RangePickerSharedEmits = typeof rangePickerSharedEmits\nexport type PanelRangeSharedProps = ExtractPropTypes<\n typeof panelRangeSharedProps\n>\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,cAAc,GAAG;AACvB,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,OAAO;AACT,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,SAAS,EAAE,KAAK;AACtB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,aAAa;AACzB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,UAAU,EAAE,MAAM;AACpB,CAAC,EAAE;AACS,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,wBAAwB,GAAG,CAAC,IAAI,KAAK;AAClD,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG,CAAC;AACJ,EAAE;AACU,MAAC,sBAAsB,GAAG;AACtC,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;AACjC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import dayjs from 'dayjs';
2
2
  import type { Dayjs } from 'dayjs';
3
3
  import type { DateCell } from './date-picker.type';
4
+ import type { DisabledDateType } from './props/shared';
4
5
  declare type DayRange = [Dayjs | undefined, Dayjs | undefined];
5
6
  export declare const isValidRange: (range: DayRange) => boolean;
6
7
  declare type GetDefaultValueParams = {
@@ -28,4 +29,7 @@ declare type BuildPickerTableMetadata = {
28
29
  setRowMetadata?: (row: DateCell[]) => void;
29
30
  };
30
31
  export declare const buildPickerTable: (dimension: Dimension, rows: DateCell[][], { columnIndexOffset, startDate, nextEndDate, now, unit, relativeDateGetter, setCellMetadata, setRowMetadata, }: BuildPickerTableMetadata) => void;
32
+ export declare const datesInMonth: (year: number, month: number, lang: string) => Date[];
33
+ export declare const getValidDateOfMonth: (year: number, month: number, lang: string, disabledDate?: DisabledDateType) => dayjs.Dayjs;
34
+ export declare const getValidDateOfYear: (value: Dayjs, lang: string, disabledDate?: DisabledDateType) => dayjs.Dayjs;
31
35
  export {};
@@ -1,6 +1,8 @@
1
1
  import dayjs from 'dayjs';
2
2
  import '../../../utils/index.mjs';
3
+ import '../../time-picker/index.mjs';
3
4
  import { isArray } from '@vue/shared';
5
+ import { rangeArr } from '../../time-picker/src/utils.mjs';
4
6
 
5
7
  const isValidRange = (range) => {
6
8
  if (!isArray(range))
@@ -72,6 +74,37 @@ const buildPickerTable = (dimension, rows, {
72
74
  setRowMetadata == null ? void 0 : setRowMetadata(row);
73
75
  }
74
76
  };
77
+ const datesInMonth = (year, month, lang) => {
78
+ const firstDay = dayjs().locale(lang).startOf("month").month(month).year(year);
79
+ const numOfDays = firstDay.daysInMonth();
80
+ return rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate());
81
+ };
82
+ const getValidDateOfMonth = (year, month, lang, disabledDate) => {
83
+ const _value = dayjs().year(year).month(month).startOf("month");
84
+ const _date = datesInMonth(year, month, lang).find((date) => {
85
+ return !(disabledDate == null ? void 0 : disabledDate(date));
86
+ });
87
+ if (_date) {
88
+ return dayjs(_date).locale(lang);
89
+ }
90
+ return _value.locale(lang);
91
+ };
92
+ const getValidDateOfYear = (value, lang, disabledDate) => {
93
+ const year = value.year();
94
+ if (!(disabledDate == null ? void 0 : disabledDate(value.toDate()))) {
95
+ return value.locale(lang);
96
+ }
97
+ const month = value.month();
98
+ if (!datesInMonth(year, month, lang).every(disabledDate)) {
99
+ return getValidDateOfMonth(year, month, lang, disabledDate);
100
+ }
101
+ for (let i = 0; i < 12; i++) {
102
+ if (!datesInMonth(year, i, lang).every(disabledDate)) {
103
+ return getValidDateOfMonth(year, i, lang, disabledDate);
104
+ }
105
+ }
106
+ return value;
107
+ };
75
108
 
76
- export { buildPickerTable, getDefaultValue, isValidRange };
109
+ export { buildPickerTable, datesInMonth, getDefaultValue, getValidDateOfMonth, getValidDateOfYear, isValidRange };
77
110
  //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/date-picker/src/utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from './date-picker.type'\n\ntype DayRange = [Dayjs | undefined, Dayjs | undefined]\n\nexport const isValidRange = (range: DayRange): boolean => {\n if (!isArray(range)) return false\n\n const [left, right] = range\n\n return (\n dayjs.isDayjs(left) && dayjs.isDayjs(right) && left.isSameOrBefore(right)\n )\n}\n\ntype GetDefaultValueParams = {\n lang: string\n unit: 'month' | 'year'\n unlinkPanels: boolean\n}\n\nexport type DefaultValue = [Date, Date] | Date | undefined\n\nexport const getDefaultValue = (\n defaultValue: DefaultValue,\n { lang, unit, unlinkPanels }: GetDefaultValueParams\n) => {\n let start: Dayjs\n\n if (isArray(defaultValue)) {\n let [left, right] = defaultValue.map((d) => dayjs(d).locale(lang))\n if (!unlinkPanels) {\n right = left.add(1, unit)\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang)\n return [start, start.add(1, unit)]\n}\n\ntype Dimension = {\n row: number\n column: number\n}\n\ntype BuildPickerTableMetadata = {\n startDate?: Dayjs | null\n unit: 'month' | 'day'\n columnIndexOffset: number\n now: Dayjs\n nextEndDate: Dayjs | null\n relativeDateGetter: (index: number) => Dayjs\n setCellMetadata?: (\n cell: DateCell,\n dimension: { rowIndex: number; columnIndex: number }\n ) => void\n setRowMetadata?: (row: DateCell[]) => void\n}\n\nexport const buildPickerTable = (\n dimension: Dimension,\n rows: DateCell[][],\n {\n columnIndexOffset,\n startDate,\n nextEndDate,\n now,\n unit,\n relativeDateGetter,\n setCellMetadata,\n setRowMetadata,\n }: BuildPickerTableMetadata\n) => {\n for (let rowIndex = 0; rowIndex < dimension.row; rowIndex++) {\n const row = rows[rowIndex]\n for (let columnIndex = 0; columnIndex < dimension.column; columnIndex++) {\n let cell = row[columnIndex + columnIndexOffset]\n if (!cell) {\n cell = {\n row: rowIndex,\n column: columnIndex,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n const index = rowIndex * dimension.column + columnIndex\n const nextStartDate = relativeDateGetter(index)\n cell.dayjs = nextStartDate\n cell.date = nextStartDate.toDate()\n cell.timestamp = nextStartDate.valueOf()\n cell.type = 'normal'\n\n cell.inRange =\n !!(\n startDate &&\n nextStartDate.isSameOrAfter(startDate, unit) &&\n nextEndDate &&\n nextStartDate.isSameOrBefore(nextEndDate, unit)\n ) ||\n !!(\n startDate &&\n nextStartDate.isSameOrBefore(startDate, unit) &&\n nextEndDate &&\n nextStartDate.isSameOrAfter(nextEndDate, unit)\n )\n\n if (startDate?.isSameOrAfter(nextEndDate)) {\n cell.start = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit)\n cell.end = startDate && nextStartDate.isSame(startDate, unit)\n } else {\n cell.start = !!startDate && nextStartDate.isSame(startDate, unit)\n cell.end = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit)\n }\n\n const isToday = nextStartDate.isSame(now, unit)\n\n if (isToday) {\n cell.type = 'today'\n }\n setCellMetadata?.(cell, { rowIndex, columnIndex })\n row[columnIndex + columnIndexOffset] = cell\n }\n setRowMetadata?.(row)\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/date-picker/src/utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\nimport { rangeArr } from '@element-plus/components/time-picker'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from './date-picker.type'\nimport type { DisabledDateType } from './props/shared'\n\ntype DayRange = [Dayjs | undefined, Dayjs | undefined]\n\nexport const isValidRange = (range: DayRange): boolean => {\n if (!isArray(range)) return false\n\n const [left, right] = range\n\n return (\n dayjs.isDayjs(left) && dayjs.isDayjs(right) && left.isSameOrBefore(right)\n )\n}\n\ntype GetDefaultValueParams = {\n lang: string\n unit: 'month' | 'year'\n unlinkPanels: boolean\n}\n\nexport type DefaultValue = [Date, Date] | Date | undefined\n\nexport const getDefaultValue = (\n defaultValue: DefaultValue,\n { lang, unit, unlinkPanels }: GetDefaultValueParams\n) => {\n let start: Dayjs\n\n if (isArray(defaultValue)) {\n let [left, right] = defaultValue.map((d) => dayjs(d).locale(lang))\n if (!unlinkPanels) {\n right = left.add(1, unit)\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang)\n return [start, start.add(1, unit)]\n}\n\ntype Dimension = {\n row: number\n column: number\n}\n\ntype BuildPickerTableMetadata = {\n startDate?: Dayjs | null\n unit: 'month' | 'day'\n columnIndexOffset: number\n now: Dayjs\n nextEndDate: Dayjs | null\n relativeDateGetter: (index: number) => Dayjs\n setCellMetadata?: (\n cell: DateCell,\n dimension: { rowIndex: number; columnIndex: number }\n ) => void\n setRowMetadata?: (row: DateCell[]) => void\n}\n\nexport const buildPickerTable = (\n dimension: Dimension,\n rows: DateCell[][],\n {\n columnIndexOffset,\n startDate,\n nextEndDate,\n now,\n unit,\n relativeDateGetter,\n setCellMetadata,\n setRowMetadata,\n }: BuildPickerTableMetadata\n) => {\n for (let rowIndex = 0; rowIndex < dimension.row; rowIndex++) {\n const row = rows[rowIndex]\n for (let columnIndex = 0; columnIndex < dimension.column; columnIndex++) {\n let cell = row[columnIndex + columnIndexOffset]\n if (!cell) {\n cell = {\n row: rowIndex,\n column: columnIndex,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n const index = rowIndex * dimension.column + columnIndex\n const nextStartDate = relativeDateGetter(index)\n cell.dayjs = nextStartDate\n cell.date = nextStartDate.toDate()\n cell.timestamp = nextStartDate.valueOf()\n cell.type = 'normal'\n\n cell.inRange =\n !!(\n startDate &&\n nextStartDate.isSameOrAfter(startDate, unit) &&\n nextEndDate &&\n nextStartDate.isSameOrBefore(nextEndDate, unit)\n ) ||\n !!(\n startDate &&\n nextStartDate.isSameOrBefore(startDate, unit) &&\n nextEndDate &&\n nextStartDate.isSameOrAfter(nextEndDate, unit)\n )\n\n if (startDate?.isSameOrAfter(nextEndDate)) {\n cell.start = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit)\n cell.end = startDate && nextStartDate.isSame(startDate, unit)\n } else {\n cell.start = !!startDate && nextStartDate.isSame(startDate, unit)\n cell.end = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit)\n }\n\n const isToday = nextStartDate.isSame(now, unit)\n\n if (isToday) {\n cell.type = 'today'\n }\n setCellMetadata?.(cell, { rowIndex, columnIndex })\n row[columnIndex + columnIndexOffset] = cell\n }\n setRowMetadata?.(row)\n }\n}\n\nexport const 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 const getValidDateOfMonth = (\n year: number,\n month: number,\n lang: string,\n disabledDate?: DisabledDateType\n) => {\n const _value = dayjs().year(year).month(month).startOf('month')\n const _date = datesInMonth(year, month, lang).find((date) => {\n return !disabledDate?.(date)\n })\n if (_date) {\n return dayjs(_date).locale(lang)\n }\n return _value.locale(lang)\n}\n\nexport const getValidDateOfYear = (\n value: Dayjs,\n lang: string,\n disabledDate?: DisabledDateType\n) => {\n const year = value.year()\n if (!disabledDate?.(value.toDate())) {\n return value.locale(lang)\n }\n const month = value.month()\n if (!datesInMonth(year, month, lang).every(disabledDate)) {\n return getValidDateOfMonth(year, month, lang, disabledDate)\n }\n for (let i = 0; i < 12; i++) {\n if (!datesInMonth(year, i, lang).every(disabledDate)) {\n return getValidDateOfMonth(year, i, lang, disabledDate)\n }\n }\n return value\n}\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ExtractPropTypes, Slot, VNode } from 'vue';
2
2
  export declare const descriptionItemProps: {
3
3
  label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
4
4
  span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
5
+ rowspan: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
5
6
  width: import("element-plus/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
6
7
  minWidth: import("element-plus/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
7
8
  align: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
@@ -12,6 +13,7 @@ export declare const descriptionItemProps: {
12
13
  declare const DescriptionItem: import("vue").DefineComponent<{
13
14
  label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
14
15
  span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
16
+ rowspan: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
15
17
  width: import("element-plus/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
16
18
  minWidth: import("element-plus/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
17
19
  align: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
@@ -21,6 +23,7 @@ declare const DescriptionItem: import("vue").DefineComponent<{
21
23
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
22
24
  label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
23
25
  span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
26
+ rowspan: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
24
27
  width: import("element-plus/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
25
28
  minWidth: import("element-plus/es/utils").EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
26
29
  align: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
@@ -34,11 +37,12 @@ declare const DescriptionItem: import("vue").DefineComponent<{
34
37
  minWidth: import("element-plus/es/utils").EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>;
35
38
  className: string;
36
39
  align: string;
40
+ rowspan: number;
37
41
  labelAlign: string;
38
42
  labelClassName: string;
39
43
  }>;
40
44
  export default DescriptionItem;
41
- declare type DescriptionItemProps = ExtractPropTypes<typeof descriptionItemProps>;
45
+ export declare type DescriptionItemProps = ExtractPropTypes<typeof descriptionItemProps>;
42
46
  export declare type DescriptionItemVNode = VNode & {
43
47
  children: {
44
48
  [name: string]: Slot;
@@ -11,6 +11,10 @@ const descriptionItemProps = buildProps({
11
11
  type: Number,
12
12
  default: 1
13
13
  },
14
+ rowspan: {
15
+ type: Number,
16
+ default: 1
17
+ },
14
18
  width: {
15
19
  type: [String, Number],
16
20
  default: ""
@@ -1 +1 @@
1
- {"version":3,"file":"description-item.mjs","sources":["../../../../../../packages/components/descriptions/src/description-item.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, Slot, VNode } from 'vue'\n\nexport const descriptionItemProps = buildProps({\n /**\n * @description label text\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description colspan of column\n */\n span: {\n type: Number,\n default: 1,\n },\n /**\n * @description column width, the width of the same column in different rows is set by the max value (If no `border`, width contains label and content)\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width, columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion (If no`border`, width contains label and content)\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column content alignment (If no `border`, effective for both label and content)\n */\n align: {\n type: String,\n default: 'left',\n },\n /**\n * @description column label alignment, if omitted, the value of the above `align` attribute will be applied (If no `border`, please use `align` attribute)\n */\n labelAlign: {\n type: String,\n default: '',\n },\n /**\n * @description column content custom class name\n */\n className: {\n type: String,\n default: '',\n },\n /**\n * @description column label custom class name\n */\n labelClassName: {\n type: String,\n default: '',\n },\n})\nconst DescriptionItem = defineComponent({\n name: 'ElDescriptionsItem',\n props: descriptionItemProps,\n})\n\nexport default DescriptionItem\n\ntype DescriptionItemProps = ExtractPropTypes<typeof descriptionItemProps>\nexport type DescriptionItemVNode = VNode & {\n children: { [name: string]: Slot } | null\n props: Partial<DescriptionItemProps> | null\n}\n"],"names":[],"mappings":";;;;AAEY,MAAC,oBAAoB,GAAG,UAAU,CAAC;AAC/C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACE,MAAC,eAAe,GAAG,eAAe,CAAC;AACxC,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,oBAAoB;AAC7B,CAAC;;;;"}
1
+ {"version":3,"file":"description-item.mjs","sources":["../../../../../../packages/components/descriptions/src/description-item.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, Slot, VNode } from 'vue'\n\nexport const descriptionItemProps = buildProps({\n /**\n * @description label text\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description colspan of column\n */\n span: {\n type: Number,\n default: 1,\n },\n /**\n * @description the number of rows a cell should span\n */\n rowspan: {\n type: Number,\n default: 1,\n },\n /**\n * @description column width, the width of the same column in different rows is set by the max value (If no `border`, width contains label and content)\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width, columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion (If no`border`, width contains label and content)\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column content alignment (If no `border`, effective for both label and content)\n */\n align: {\n type: String,\n default: 'left',\n },\n /**\n * @description column label alignment, if omitted, the value of the above `align` attribute will be applied (If no `border`, please use `align` attribute)\n */\n labelAlign: {\n type: String,\n default: '',\n },\n /**\n * @description column content custom class name\n */\n className: {\n type: String,\n default: '',\n },\n /**\n * @description column label custom class name\n */\n labelClassName: {\n type: String,\n default: '',\n },\n})\nconst DescriptionItem = defineComponent({\n name: 'ElDescriptionsItem',\n props: descriptionItemProps,\n})\n\nexport default DescriptionItem\n\nexport type DescriptionItemProps = ExtractPropTypes<typeof descriptionItemProps>\nexport type DescriptionItemVNode = VNode & {\n children: { [name: string]: Slot } | null\n props: Partial<DescriptionItemProps> | null\n}\n"],"names":[],"mappings":";;;;AAEY,MAAC,oBAAoB,GAAG,UAAU,CAAC;AAC/C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACE,MAAC,eAAe,GAAG,eAAe,CAAC;AACxC,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,oBAAoB;AAC7B,CAAC;;;;"}
@@ -1,3 +1,4 @@
1
+ import type { ExtractPropTypes } from 'vue';
1
2
  import type Description from './description.vue';
2
3
  export declare const descriptionProps: {
3
4
  readonly border: BooleanConstructor;
@@ -12,4 +13,5 @@ export declare const descriptionProps: {
12
13
  readonly title: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
13
14
  readonly extra: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
14
15
  };
16
+ export declare type DescriptionProps = ExtractPropTypes<typeof descriptionProps>;
15
17
  export declare type DescriptionInstance = InstanceType<typeof Description>;
@@ -1 +1 @@
1
- {"version":3,"file":"description.mjs","sources":["../../../../../../packages/components/descriptions/src/description.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n /**\n * @description with or without border\n */\n border: Boolean,\n /**\n * @description numbers of `Descriptions Item` in one line\n */\n column: {\n type: Number,\n default: 3,\n },\n /**\n * @description direction of list\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description size of list\n */\n size: useSizeProp,\n /**\n * @description title text, display on the top left\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description extra text, display on the top right\n */\n extra: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type DescriptionInstance = InstanceType<typeof Description>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"description.mjs","sources":["../../../../../../packages/components/descriptions/src/description.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n /**\n * @description with or without border\n */\n border: Boolean,\n /**\n * @description numbers of `Descriptions Item` in one line\n */\n column: {\n type: Number,\n default: 3,\n },\n /**\n * @description direction of list\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description size of list\n */\n size: useSizeProp,\n /**\n * @description title text, display on the top left\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description extra text, display on the top right\n */\n extra: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type DescriptionProps = ExtractPropTypes<typeof descriptionProps>\nexport type DescriptionInstance = InstanceType<typeof Description>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
@@ -46,9 +46,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  let temp = [];
47
47
  let count = props.column;
48
48
  let totalSpan = 0;
49
+ const rowspanTemp = [];
49
50
  children.forEach((node, index) => {
50
- var _a;
51
+ var _a, _b, _c;
51
52
  const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
53
+ const rowspan = ((_b = node.props) == null ? void 0 : _b.rowspan) || 1;
54
+ const rowNo = rows.length;
55
+ rowspanTemp[rowNo] || (rowspanTemp[rowNo] = 0);
56
+ if (rowspan > 1) {
57
+ for (let i = 1; i < rowspan; i++) {
58
+ rowspanTemp[_c = rowNo + i] || (rowspanTemp[_c] = 0);
59
+ rowspanTemp[rowNo + i]++;
60
+ totalSpan++;
61
+ }
62
+ }
63
+ if (rowspanTemp[rowNo] > 0) {
64
+ count -= rowspanTemp[rowNo];
65
+ rowspanTemp[rowNo] = 0;
66
+ }
52
67
  if (index < children.length - 1) {
53
68
  totalSpan += span > count ? count : span;
54
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"description2.mjs","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === 'ElDescriptionsItem'\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"description2.mjs","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === 'ElDescriptionsItem'\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n const rowspanTemp: number[] = [] // the number of row spans\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n const rowspan = node.props?.rowspan || 1\n const rowNo = rows.length\n rowspanTemp[rowNo] ||= 0\n\n if (rowspan > 1) {\n for (let i = 1; i < rowspan; i++) {\n rowspanTemp[rowNo + i] ||= 0\n rowspanTemp[rowNo + i]++\n totalSpan++\n }\n }\n if (rowspanTemp[rowNo] > 0) {\n count -= rowspanTemp[rowNo]\n rowspanTemp[rowNo] = 0\n }\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ var ElDescriptionsCell = defineComponent({
39
39
  const label = ((_d = (_c = (_b = this.cell) == null ? void 0 : _b.children) == null ? void 0 : _c.label) == null ? void 0 : _d.call(_c)) || item.label;
40
40
  const content = (_g = (_f = (_e = this.cell) == null ? void 0 : _e.children) == null ? void 0 : _f.default) == null ? void 0 : _g.call(_f);
41
41
  const span = item.span;
42
+ const rowspan = item.rowspan;
42
43
  const align = item.align ? `is-${item.align}` : "";
43
44
  const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : align;
44
45
  const className = item.className;
@@ -60,7 +61,8 @@ var ElDescriptionsCell = defineComponent({
60
61
  labelAlign,
61
62
  labelClassName
62
63
  ],
63
- colSpan: isVertical ? span : 1
64
+ colSpan: isVertical ? span : 1,
65
+ rowspan: isVertical ? 1 : rowspan
64
66
  }, label), directives);
65
67
  case "content":
66
68
  return withDirectives(h(this.tag, {
@@ -73,13 +75,15 @@ var ElDescriptionsCell = defineComponent({
73
75
  align,
74
76
  className
75
77
  ],
76
- colSpan: isVertical ? span : span * 2 - 1
78
+ colSpan: isVertical ? span : span * 2 - 1,
79
+ rowspan: isVertical ? rowspan * 2 - 1 : rowspan
77
80
  }, content), directives);
78
81
  default:
79
82
  return withDirectives(h("td", {
80
83
  style,
81
84
  class: [ns.e("cell"), align],
82
- colSpan: span
85
+ colSpan: span,
86
+ rowspan
83
87
  }, [
84
88
  !isNil(label) ? h("span", {
85
89
  class: [ns.e("label"), labelClassName]