@element-plus/nightly 0.0.20250305 → 0.0.20250307

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 (662) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +32 -13
  4. package/dist/index.full.min.js +13 -13
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +13 -13
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +32 -13
  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/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lt.js +1 -1
  142. package/dist/locale/lt.min.js +1 -1
  143. package/dist/locale/lt.min.mjs +1 -1
  144. package/dist/locale/lt.mjs +1 -1
  145. package/dist/locale/lv.js +1 -1
  146. package/dist/locale/lv.min.js +1 -1
  147. package/dist/locale/lv.min.mjs +1 -1
  148. package/dist/locale/lv.mjs +1 -1
  149. package/dist/locale/mg.js +1 -1
  150. package/dist/locale/mg.min.js +1 -1
  151. package/dist/locale/mg.min.mjs +1 -1
  152. package/dist/locale/mg.mjs +1 -1
  153. package/dist/locale/mn.js +1 -1
  154. package/dist/locale/mn.min.js +1 -1
  155. package/dist/locale/mn.min.mjs +1 -1
  156. package/dist/locale/mn.mjs +1 -1
  157. package/dist/locale/ms.js +1 -1
  158. package/dist/locale/ms.min.js +1 -1
  159. package/dist/locale/ms.min.mjs +1 -1
  160. package/dist/locale/ms.mjs +1 -1
  161. package/dist/locale/my.js +1 -1
  162. package/dist/locale/my.min.js +1 -1
  163. package/dist/locale/my.min.mjs +1 -1
  164. package/dist/locale/my.mjs +1 -1
  165. package/dist/locale/nb-no.js +1 -1
  166. package/dist/locale/nb-no.min.js +1 -1
  167. package/dist/locale/nb-no.min.mjs +1 -1
  168. package/dist/locale/nb-no.mjs +1 -1
  169. package/dist/locale/nl.js +1 -1
  170. package/dist/locale/nl.min.js +1 -1
  171. package/dist/locale/nl.min.mjs +1 -1
  172. package/dist/locale/nl.mjs +1 -1
  173. package/dist/locale/no.js +1 -1
  174. package/dist/locale/no.min.js +1 -1
  175. package/dist/locale/no.min.mjs +1 -1
  176. package/dist/locale/no.mjs +1 -1
  177. package/dist/locale/pa.js +1 -1
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.mjs +1 -1
  180. package/dist/locale/pa.mjs +1 -1
  181. package/dist/locale/pl.js +1 -1
  182. package/dist/locale/pl.min.js +1 -1
  183. package/dist/locale/pl.min.mjs +1 -1
  184. package/dist/locale/pl.mjs +1 -1
  185. package/dist/locale/pt-br.js +1 -1
  186. package/dist/locale/pt-br.min.js +1 -1
  187. package/dist/locale/pt-br.min.mjs +1 -1
  188. package/dist/locale/pt-br.mjs +1 -1
  189. package/dist/locale/pt.js +1 -1
  190. package/dist/locale/pt.min.js +1 -1
  191. package/dist/locale/pt.min.mjs +1 -1
  192. package/dist/locale/pt.mjs +1 -1
  193. package/dist/locale/ro.js +1 -1
  194. package/dist/locale/ro.min.js +1 -1
  195. package/dist/locale/ro.min.mjs +1 -1
  196. package/dist/locale/ro.mjs +1 -1
  197. package/dist/locale/ru.js +1 -1
  198. package/dist/locale/ru.min.js +1 -1
  199. package/dist/locale/ru.min.mjs +1 -1
  200. package/dist/locale/ru.mjs +1 -1
  201. package/dist/locale/sk.js +1 -1
  202. package/dist/locale/sk.min.js +1 -1
  203. package/dist/locale/sk.min.mjs +1 -1
  204. package/dist/locale/sk.mjs +1 -1
  205. package/dist/locale/sl.js +1 -1
  206. package/dist/locale/sl.min.js +1 -1
  207. package/dist/locale/sl.min.mjs +1 -1
  208. package/dist/locale/sl.mjs +1 -1
  209. package/dist/locale/sr.js +1 -1
  210. package/dist/locale/sr.min.js +1 -1
  211. package/dist/locale/sr.min.mjs +1 -1
  212. package/dist/locale/sr.mjs +1 -1
  213. package/dist/locale/sv.js +1 -1
  214. package/dist/locale/sv.min.js +1 -1
  215. package/dist/locale/sv.min.mjs +1 -1
  216. package/dist/locale/sv.mjs +1 -1
  217. package/dist/locale/sw.js +1 -1
  218. package/dist/locale/sw.min.js +1 -1
  219. package/dist/locale/sw.min.mjs +1 -1
  220. package/dist/locale/sw.mjs +1 -1
  221. package/dist/locale/ta.js +1 -1
  222. package/dist/locale/ta.min.js +1 -1
  223. package/dist/locale/ta.min.mjs +1 -1
  224. package/dist/locale/ta.mjs +1 -1
  225. package/dist/locale/te.js +1 -1
  226. package/dist/locale/te.min.js +1 -1
  227. package/dist/locale/te.min.mjs +1 -1
  228. package/dist/locale/te.mjs +1 -1
  229. package/dist/locale/th.js +1 -1
  230. package/dist/locale/th.min.js +1 -1
  231. package/dist/locale/th.min.mjs +1 -1
  232. package/dist/locale/th.mjs +1 -1
  233. package/dist/locale/tk.js +1 -1
  234. package/dist/locale/tk.min.js +1 -1
  235. package/dist/locale/tk.min.mjs +1 -1
  236. package/dist/locale/tk.mjs +1 -1
  237. package/dist/locale/tr.js +1 -1
  238. package/dist/locale/tr.min.js +1 -1
  239. package/dist/locale/tr.min.mjs +1 -1
  240. package/dist/locale/tr.mjs +1 -1
  241. package/dist/locale/ug-cn.js +1 -1
  242. package/dist/locale/ug-cn.min.js +1 -1
  243. package/dist/locale/ug-cn.min.mjs +1 -1
  244. package/dist/locale/ug-cn.mjs +1 -1
  245. package/dist/locale/uk.js +1 -1
  246. package/dist/locale/uk.min.js +1 -1
  247. package/dist/locale/uk.min.mjs +1 -1
  248. package/dist/locale/uk.mjs +1 -1
  249. package/dist/locale/uz-uz.js +1 -1
  250. package/dist/locale/uz-uz.min.js +1 -1
  251. package/dist/locale/uz-uz.min.mjs +1 -1
  252. package/dist/locale/uz-uz.mjs +1 -1
  253. package/dist/locale/vi.js +1 -1
  254. package/dist/locale/vi.min.js +1 -1
  255. package/dist/locale/vi.min.mjs +1 -1
  256. package/dist/locale/vi.mjs +1 -1
  257. package/dist/locale/zh-cn.js +1 -1
  258. package/dist/locale/zh-cn.min.js +1 -1
  259. package/dist/locale/zh-cn.min.mjs +1 -1
  260. package/dist/locale/zh-cn.mjs +1 -1
  261. package/dist/locale/zh-hk.js +1 -1
  262. package/dist/locale/zh-hk.min.js +1 -1
  263. package/dist/locale/zh-hk.min.mjs +1 -1
  264. package/dist/locale/zh-hk.mjs +1 -1
  265. package/dist/locale/zh-mo.js +1 -1
  266. package/dist/locale/zh-mo.min.js +1 -1
  267. package/dist/locale/zh-mo.min.mjs +1 -1
  268. package/dist/locale/zh-mo.mjs +1 -1
  269. package/dist/locale/zh-tw.js +1 -1
  270. package/dist/locale/zh-tw.min.js +1 -1
  271. package/dist/locale/zh-tw.min.mjs +1 -1
  272. package/dist/locale/zh-tw.mjs +1 -1
  273. package/es/components/affix/index.mjs +2 -2
  274. package/es/components/affix/src/affix.mjs +118 -25
  275. package/es/components/affix/src/affix.mjs.map +1 -1
  276. package/es/components/affix/src/affix2.mjs +25 -118
  277. package/es/components/affix/src/affix2.mjs.map +1 -1
  278. package/es/components/anchor/index.mjs +1 -1
  279. package/es/components/anchor/src/anchor-link.mjs +5 -81
  280. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  281. package/es/components/anchor/src/anchor-link2.mjs +81 -5
  282. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  283. package/es/components/avatar/index.mjs +2 -2
  284. package/es/components/avatar/src/avatar.mjs +31 -65
  285. package/es/components/avatar/src/avatar.mjs.map +1 -1
  286. package/es/components/avatar/src/avatar2.mjs +65 -31
  287. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  288. package/es/components/badge/index.mjs +2 -2
  289. package/es/components/badge/src/badge.mjs +71 -32
  290. package/es/components/badge/src/badge.mjs.map +1 -1
  291. package/es/components/badge/src/badge2.mjs +32 -71
  292. package/es/components/badge/src/badge2.mjs.map +1 -1
  293. package/es/components/breadcrumb/index.mjs +2 -2
  294. package/es/components/breadcrumb/src/breadcrumb-item.mjs +8 -56
  295. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  296. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +56 -8
  297. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  298. package/es/components/calendar/index.mjs +2 -2
  299. package/es/components/calendar/src/calendar.mjs +16 -134
  300. package/es/components/calendar/src/calendar.mjs.map +1 -1
  301. package/es/components/calendar/src/calendar2.mjs +134 -16
  302. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  303. package/es/components/cascader/src/cascader2.mjs +1 -1
  304. package/es/components/collapse/index.mjs +2 -2
  305. package/es/components/collapse/src/collapse.mjs +16 -28
  306. package/es/components/collapse/src/collapse.mjs.map +1 -1
  307. package/es/components/collapse/src/collapse2.mjs +28 -16
  308. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  309. package/es/components/collection/index.mjs +1 -1
  310. package/es/components/collection/src/collection.mjs +62 -10
  311. package/es/components/collection/src/collection.mjs.map +1 -1
  312. package/es/components/collection/src/collection2.mjs +10 -62
  313. package/es/components/collection/src/collection2.mjs.map +1 -1
  314. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +1 -1
  315. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  316. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +3 -3
  317. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  318. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +2 -2
  319. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  320. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs +2 -2
  321. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
  322. package/es/components/date-picker/src/date-picker-com/panel-year-range.mjs +2 -2
  323. package/es/components/date-picker/src/date-picker-com/panel-year-range.mjs.map +1 -1
  324. package/es/components/date-picker/src/utils.d.ts +1 -0
  325. package/es/components/date-picker/src/utils.mjs +14 -2
  326. package/es/components/date-picker/src/utils.mjs.map +1 -1
  327. package/es/components/descriptions/index.mjs +2 -2
  328. package/es/components/descriptions/src/description.mjs +126 -26
  329. package/es/components/descriptions/src/description.mjs.map +1 -1
  330. package/es/components/descriptions/src/description2.mjs +26 -126
  331. package/es/components/descriptions/src/description2.mjs.map +1 -1
  332. package/es/components/descriptions/src/descriptions-row.mjs +63 -6
  333. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  334. package/es/components/descriptions/src/descriptions-row2.mjs +6 -63
  335. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  336. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  337. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  338. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  339. package/es/components/dropdown/src/dropdown.mjs +1 -1
  340. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  341. package/es/components/dropdown/src/dropdown.vue.d.ts +2 -2
  342. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  343. package/es/components/index.mjs +21 -21
  344. package/es/components/input/index.mjs +2 -2
  345. package/es/components/input/src/input.mjs +102 -431
  346. package/es/components/input/src/input.mjs.map +1 -1
  347. package/es/components/input/src/input2.mjs +435 -102
  348. package/es/components/input/src/input2.mjs.map +1 -1
  349. package/es/components/input-tag/src/input-tag.mjs +1 -1
  350. package/es/components/mention/src/mention-dropdown.mjs +15 -166
  351. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  352. package/es/components/mention/src/mention-dropdown2.mjs +166 -15
  353. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  354. package/es/components/mention/src/mention.mjs +1 -1
  355. package/es/components/mention/src/mention2.mjs +2 -2
  356. package/es/components/message/index.mjs +1 -1
  357. package/es/components/message/src/message.mjs +91 -145
  358. package/es/components/message/src/message.mjs.map +1 -1
  359. package/es/components/message/src/message2.mjs +145 -91
  360. package/es/components/message/src/message2.mjs.map +1 -1
  361. package/es/components/message/src/method.mjs +2 -2
  362. package/es/components/notification/index.mjs +1 -1
  363. package/es/components/notification/src/notification.mjs +68 -142
  364. package/es/components/notification/src/notification.mjs.map +1 -1
  365. package/es/components/notification/src/notification2.mjs +142 -68
  366. package/es/components/notification/src/notification2.mjs.map +1 -1
  367. package/es/components/notification/src/notify.mjs +2 -2
  368. package/es/components/popconfirm/index.mjs +2 -2
  369. package/es/components/popconfirm/src/popconfirm.mjs +45 -114
  370. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  371. package/es/components/popconfirm/src/popconfirm2.mjs +114 -45
  372. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  373. package/es/components/popper/index.mjs +2 -2
  374. package/es/components/popper/src/content.mjs +92 -132
  375. package/es/components/popper/src/content.mjs.map +1 -1
  376. package/es/components/popper/src/content2.mjs +132 -92
  377. package/es/components/popper/src/content2.mjs.map +1 -1
  378. package/es/components/roving-focus-group/index.mjs +3 -3
  379. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  380. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  381. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  382. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  383. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  384. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  385. package/es/components/scrollbar/src/bar.mjs +64 -10
  386. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  387. package/es/components/scrollbar/src/bar2.mjs +10 -64
  388. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  389. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  390. package/es/components/select/src/select.mjs +1 -1
  391. package/es/components/select-v2/src/defaults.mjs +1 -1
  392. package/es/components/select-v2/src/select-dropdown.mjs +5 -1
  393. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  394. package/es/components/slider/index.mjs +2 -2
  395. package/es/components/slider/src/slider.mjs +238 -92
  396. package/es/components/slider/src/slider.mjs.map +1 -1
  397. package/es/components/slider/src/slider2.mjs +92 -238
  398. package/es/components/slider/src/slider2.mjs.map +1 -1
  399. package/es/components/statistic/index.mjs +2 -2
  400. package/es/components/statistic/src/statistic.mjs +25 -69
  401. package/es/components/statistic/src/statistic.mjs.map +1 -1
  402. package/es/components/statistic/src/statistic2.mjs +69 -25
  403. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  404. package/es/components/steps/index.mjs +4 -4
  405. package/es/components/steps/src/item.mjs +19 -190
  406. package/es/components/steps/src/item.mjs.map +1 -1
  407. package/es/components/steps/src/item2.mjs +190 -19
  408. package/es/components/steps/src/item2.mjs.map +1 -1
  409. package/es/components/steps/src/steps.mjs +38 -35
  410. package/es/components/steps/src/steps.mjs.map +1 -1
  411. package/es/components/steps/src/steps2.mjs +35 -38
  412. package/es/components/steps/src/steps2.mjs.map +1 -1
  413. package/es/components/tag/index.mjs +2 -2
  414. package/es/components/tag/src/tag.mjs +99 -27
  415. package/es/components/tag/src/tag.mjs.map +1 -1
  416. package/es/components/tag/src/tag2.mjs +27 -99
  417. package/es/components/tag/src/tag2.mjs.map +1 -1
  418. package/es/components/teleport/index.mjs +2 -2
  419. package/es/components/teleport/src/teleport.mjs +18 -8
  420. package/es/components/teleport/src/teleport.mjs.map +1 -1
  421. package/es/components/teleport/src/teleport2.mjs +8 -18
  422. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  423. package/es/components/tooltip/src/content.mjs +1 -1
  424. package/es/components/tooltip/src/content2.mjs +1 -1
  425. package/es/components/tooltip-v2/index.mjs +1 -1
  426. package/es/components/tooltip-v2/src/arrow.mjs +37 -21
  427. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  428. package/es/components/tooltip-v2/src/arrow2.mjs +21 -37
  429. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  430. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  431. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  432. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  433. package/es/components/tour/index.mjs +3 -3
  434. package/es/components/tour/src/content.mjs +43 -67
  435. package/es/components/tour/src/content.mjs.map +1 -1
  436. package/es/components/tour/src/content2.mjs +67 -43
  437. package/es/components/tour/src/content2.mjs.map +1 -1
  438. package/es/components/tour/src/step.mjs +44 -168
  439. package/es/components/tour/src/step.mjs.map +1 -1
  440. package/es/components/tour/src/step2.mjs +168 -44
  441. package/es/components/tour/src/step2.mjs.map +1 -1
  442. package/es/components/tour/src/tour.mjs +1 -1
  443. package/es/components/tour/src/tour2.mjs +1 -1
  444. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  445. package/es/components/transfer/src/transfer-panel.mjs +19 -130
  446. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  447. package/es/components/transfer/src/transfer-panel2.mjs +130 -19
  448. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  449. package/es/components/transfer/src/transfer2.mjs +1 -1
  450. package/es/components/upload/index.mjs +1 -1
  451. package/es/components/upload/src/upload-content2.mjs +1 -1
  452. package/es/components/upload/src/upload-dragger.mjs +47 -10
  453. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  454. package/es/components/upload/src/upload-dragger2.mjs +10 -47
  455. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  456. package/es/components/visual-hidden/index.mjs +3 -3
  457. package/es/components/visual-hidden/src/visual-hidden.mjs +6 -35
  458. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  459. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -6
  460. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  461. package/es/index.mjs +21 -21
  462. package/es/version.d.ts +1 -1
  463. package/es/version.mjs +1 -1
  464. package/es/version.mjs.map +1 -1
  465. package/lib/components/affix/index.js +2 -2
  466. package/lib/components/affix/src/affix.js +118 -26
  467. package/lib/components/affix/src/affix.js.map +1 -1
  468. package/lib/components/affix/src/affix2.js +26 -118
  469. package/lib/components/affix/src/affix2.js.map +1 -1
  470. package/lib/components/anchor/index.js +1 -1
  471. package/lib/components/anchor/src/anchor-link.js +5 -81
  472. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  473. package/lib/components/anchor/src/anchor-link2.js +81 -5
  474. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  475. package/lib/components/avatar/index.js +2 -2
  476. package/lib/components/avatar/src/avatar.js +32 -65
  477. package/lib/components/avatar/src/avatar.js.map +1 -1
  478. package/lib/components/avatar/src/avatar2.js +65 -32
  479. package/lib/components/avatar/src/avatar2.js.map +1 -1
  480. package/lib/components/badge/index.js +2 -2
  481. package/lib/components/badge/src/badge.js +71 -32
  482. package/lib/components/badge/src/badge.js.map +1 -1
  483. package/lib/components/badge/src/badge2.js +32 -71
  484. package/lib/components/badge/src/badge2.js.map +1 -1
  485. package/lib/components/breadcrumb/index.js +2 -2
  486. package/lib/components/breadcrumb/src/breadcrumb-item.js +8 -56
  487. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  488. package/lib/components/breadcrumb/src/breadcrumb-item2.js +56 -8
  489. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  490. package/lib/components/calendar/index.js +2 -2
  491. package/lib/components/calendar/src/calendar.js +17 -134
  492. package/lib/components/calendar/src/calendar.js.map +1 -1
  493. package/lib/components/calendar/src/calendar2.js +134 -17
  494. package/lib/components/calendar/src/calendar2.js.map +1 -1
  495. package/lib/components/cascader/src/cascader2.js +1 -1
  496. package/lib/components/collapse/index.js +2 -2
  497. package/lib/components/collapse/src/collapse.js +18 -28
  498. package/lib/components/collapse/src/collapse.js.map +1 -1
  499. package/lib/components/collapse/src/collapse2.js +28 -18
  500. package/lib/components/collapse/src/collapse2.js.map +1 -1
  501. package/lib/components/collection/index.js +1 -1
  502. package/lib/components/collection/src/collection.js +62 -9
  503. package/lib/components/collection/src/collection.js.map +1 -1
  504. package/lib/components/collection/src/collection2.js +9 -62
  505. package/lib/components/collection/src/collection2.js.map +1 -1
  506. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +1 -1
  507. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  508. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +2 -2
  509. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  510. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +1 -1
  511. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  512. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js +1 -1
  513. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
  514. package/lib/components/date-picker/src/date-picker-com/panel-year-range.js +1 -1
  515. package/lib/components/date-picker/src/date-picker-com/panel-year-range.js.map +1 -1
  516. package/lib/components/date-picker/src/utils.d.ts +1 -0
  517. package/lib/components/date-picker/src/utils.js +14 -1
  518. package/lib/components/date-picker/src/utils.js.map +1 -1
  519. package/lib/components/descriptions/index.js +2 -2
  520. package/lib/components/descriptions/src/description.js +126 -26
  521. package/lib/components/descriptions/src/description.js.map +1 -1
  522. package/lib/components/descriptions/src/description2.js +26 -126
  523. package/lib/components/descriptions/src/description2.js.map +1 -1
  524. package/lib/components/descriptions/src/descriptions-row.js +63 -6
  525. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  526. package/lib/components/descriptions/src/descriptions-row2.js +6 -63
  527. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  528. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  529. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  530. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  531. package/lib/components/dropdown/src/dropdown.js +1 -1
  532. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  533. package/lib/components/dropdown/src/dropdown.vue.d.ts +2 -2
  534. package/lib/components/dropdown/src/dropdown2.js +1 -1
  535. package/lib/components/index.js +21 -21
  536. package/lib/components/input/index.js +2 -2
  537. package/lib/components/input/src/input.js +102 -430
  538. package/lib/components/input/src/input.js.map +1 -1
  539. package/lib/components/input/src/input2.js +434 -102
  540. package/lib/components/input/src/input2.js.map +1 -1
  541. package/lib/components/input-tag/src/input-tag.js +1 -1
  542. package/lib/components/mention/src/mention-dropdown.js +16 -166
  543. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  544. package/lib/components/mention/src/mention-dropdown2.js +166 -16
  545. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  546. package/lib/components/mention/src/mention.js +1 -1
  547. package/lib/components/mention/src/mention2.js +2 -2
  548. package/lib/components/message/index.js +1 -1
  549. package/lib/components/message/src/message.js +93 -144
  550. package/lib/components/message/src/message.js.map +1 -1
  551. package/lib/components/message/src/message2.js +144 -93
  552. package/lib/components/message/src/message2.js.map +1 -1
  553. package/lib/components/message/src/method.js +2 -2
  554. package/lib/components/notification/index.js +1 -1
  555. package/lib/components/notification/src/notification.js +69 -141
  556. package/lib/components/notification/src/notification.js.map +1 -1
  557. package/lib/components/notification/src/notification2.js +141 -69
  558. package/lib/components/notification/src/notification2.js.map +1 -1
  559. package/lib/components/notification/src/notify.js +2 -2
  560. package/lib/components/popconfirm/index.js +2 -2
  561. package/lib/components/popconfirm/src/popconfirm.js +46 -114
  562. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  563. package/lib/components/popconfirm/src/popconfirm2.js +114 -46
  564. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  565. package/lib/components/popper/index.js +2 -2
  566. package/lib/components/popper/src/content.js +97 -132
  567. package/lib/components/popper/src/content.js.map +1 -1
  568. package/lib/components/popper/src/content2.js +132 -97
  569. package/lib/components/popper/src/content2.js.map +1 -1
  570. package/lib/components/roving-focus-group/index.js +2 -2
  571. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  572. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -31
  573. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  574. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -27
  575. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  576. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  577. package/lib/components/scrollbar/src/bar.js +64 -10
  578. package/lib/components/scrollbar/src/bar.js.map +1 -1
  579. package/lib/components/scrollbar/src/bar2.js +10 -64
  580. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  581. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  582. package/lib/components/select/src/select.js +1 -1
  583. package/lib/components/select-v2/src/defaults.js +1 -1
  584. package/lib/components/select-v2/src/select-dropdown.js +5 -1
  585. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  586. package/lib/components/slider/index.js +2 -2
  587. package/lib/components/slider/src/slider.js +238 -93
  588. package/lib/components/slider/src/slider.js.map +1 -1
  589. package/lib/components/slider/src/slider2.js +93 -238
  590. package/lib/components/slider/src/slider2.js.map +1 -1
  591. package/lib/components/statistic/index.js +2 -2
  592. package/lib/components/statistic/src/statistic.js +25 -69
  593. package/lib/components/statistic/src/statistic.js.map +1 -1
  594. package/lib/components/statistic/src/statistic2.js +69 -25
  595. package/lib/components/statistic/src/statistic2.js.map +1 -1
  596. package/lib/components/steps/index.js +4 -4
  597. package/lib/components/steps/src/item.js +19 -190
  598. package/lib/components/steps/src/item.js.map +1 -1
  599. package/lib/components/steps/src/item2.js +190 -19
  600. package/lib/components/steps/src/item2.js.map +1 -1
  601. package/lib/components/steps/src/steps.js +38 -36
  602. package/lib/components/steps/src/steps.js.map +1 -1
  603. package/lib/components/steps/src/steps2.js +36 -38
  604. package/lib/components/steps/src/steps2.js.map +1 -1
  605. package/lib/components/tag/index.js +2 -2
  606. package/lib/components/tag/src/tag.js +99 -28
  607. package/lib/components/tag/src/tag.js.map +1 -1
  608. package/lib/components/tag/src/tag2.js +28 -99
  609. package/lib/components/tag/src/tag2.js.map +1 -1
  610. package/lib/components/teleport/index.js +2 -2
  611. package/lib/components/teleport/src/teleport.js +18 -8
  612. package/lib/components/teleport/src/teleport.js.map +1 -1
  613. package/lib/components/teleport/src/teleport2.js +8 -18
  614. package/lib/components/teleport/src/teleport2.js.map +1 -1
  615. package/lib/components/tooltip/src/content.js +1 -1
  616. package/lib/components/tooltip/src/content2.js +1 -1
  617. package/lib/components/tooltip-v2/index.js +1 -1
  618. package/lib/components/tooltip-v2/src/arrow.js +37 -22
  619. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  620. package/lib/components/tooltip-v2/src/arrow2.js +22 -37
  621. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  622. package/lib/components/tooltip-v2/src/content2.js +1 -1
  623. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  624. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  625. package/lib/components/tour/index.js +3 -3
  626. package/lib/components/tour/src/content.js +46 -67
  627. package/lib/components/tour/src/content.js.map +1 -1
  628. package/lib/components/tour/src/content2.js +67 -46
  629. package/lib/components/tour/src/content2.js.map +1 -1
  630. package/lib/components/tour/src/step.js +44 -167
  631. package/lib/components/tour/src/step.js.map +1 -1
  632. package/lib/components/tour/src/step2.js +167 -44
  633. package/lib/components/tour/src/step2.js.map +1 -1
  634. package/lib/components/tour/src/tour.js +1 -1
  635. package/lib/components/tour/src/tour2.js +1 -1
  636. package/lib/components/transfer/src/composables/use-check.js +1 -1
  637. package/lib/components/transfer/src/transfer-panel.js +21 -130
  638. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  639. package/lib/components/transfer/src/transfer-panel2.js +130 -21
  640. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  641. package/lib/components/transfer/src/transfer2.js +1 -1
  642. package/lib/components/upload/index.js +1 -1
  643. package/lib/components/upload/src/upload-content2.js +1 -1
  644. package/lib/components/upload/src/upload-dragger.js +47 -11
  645. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  646. package/lib/components/upload/src/upload-dragger2.js +11 -47
  647. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  648. package/lib/components/visual-hidden/index.js +2 -2
  649. package/lib/components/visual-hidden/src/visual-hidden.js +6 -35
  650. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  651. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -6
  652. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  653. package/lib/index.js +21 -21
  654. package/lib/version.d.ts +1 -1
  655. package/lib/version.js +1 -1
  656. package/lib/version.js.map +1 -1
  657. package/package.json +2 -2
  658. package/tags.json +1 -1
  659. package/theme-chalk/el-cascader.css +1 -1
  660. package/theme-chalk/index.css +1 -1
  661. package/theme-chalk/src/cascader.scss +0 -2
  662. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"panel-month-range.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n drpNs.b(),\n {\n 'has-sidebar': Boolean($slots.sidebar) || hasShortcuts,\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 :class=\"[ppNs.e('content'), drpNs.e('content')]\" class=\"is-left\">\n <div :class=\"drpNs.e('header')\">\n <button\n type=\"button\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"[\n ppNs.e('icon-btn'),\n { [ppNs.is('disabled')]: !enableYearArrow },\n ]\"\n class=\"d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div :class=\"[ppNs.e('content'), drpNs.e('content')]\" class=\"is-right\">\n <div :class=\"drpNs.e('header')\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"[ppNs.e('icon-btn'), { 'is-disabled': !enableYearArrow }]\"\n class=\"d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, toRef, unref } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { isArray } from '@element-plus/utils'\nimport { useLocale } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport { getDefaultValue, isValidRange } from '../utils'\nimport {\n panelMonthRangeEmits,\n panelMonthRangeProps,\n} from '../props/panel-month-range'\nimport { useMonthRangeHeader } from '../composables/use-month-range-header'\nimport { useRangePicker } from '../composables/use-range-picker'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DatePickerMonthRange',\n})\n\nconst props = defineProps(panelMonthRangeProps)\nconst emit = defineEmits(panelMonthRangeEmits)\nconst unit = 'year'\n\nconst { lang } = useLocale()\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst { shortcuts, disabledDate } = pickerBase.props\nconst format = toRef(pickerBase.props, 'format')\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\nconst leftDate = ref(dayjs().locale(lang.value))\nconst rightDate = ref(dayjs().locale(lang.value).add(1, unit))\n\nconst {\n minDate,\n maxDate,\n rangeState,\n ppNs,\n drpNs,\n\n handleChangeRange,\n handleRangeConfirm,\n handleShortcutClick,\n onSelect,\n} = useRangePicker(props, {\n defaultValue,\n leftDate,\n rightDate,\n unit,\n onParsedValueChanged,\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n} = useMonthRangeHeader({\n unlinkPanels: toRef(props, 'unlinkPanels'),\n leftDate,\n rightDate,\n})\n\nconst enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n})\n\ntype RangePickValue = {\n minDate: Dayjs\n maxDate: Dayjs\n}\n\nconst handleRangePick = (val: RangePickValue, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n emit('calendar-change', [minDate_.toDate(), maxDate_ && maxDate_.toDate()])\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleRangeConfirm()\n}\n\nconst handleClear = () => {\n leftDate.value = getDefaultValue(unref(defaultValue), {\n lang: unref(lang),\n unit: 'year',\n unlinkPanels: props.unlinkPanels,\n })[0]\n rightDate.value = leftDate.value.add(1, 'year')\n emit('pick', null)\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? value.map((_) => _.format(format.value))\n : value.format(format.value)\n}\n\nconst parseUserInput = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? value.map((_) => dayjs(_, format.value).locale(lang.value))\n : dayjs(value, format.value).locale(lang.value)\n}\n\nfunction onParsedValueChanged(\n minDate: Dayjs | undefined,\n maxDate: Dayjs | undefined\n) {\n if (props.unlinkPanels && maxDate) {\n const minDateYear = minDate?.year() || 0\n const maxDateYear = maxDate.year()\n rightDate.value =\n minDateYear === maxDateYear ? maxDate.add(1, unit) : maxDate\n } else {\n rightDate.value = leftDate.value.add(1, unit)\n }\n}\n\nemit('set-picker-option', ['isValidValue', isValidRange])\nemit('set-picker-option', ['formatToString', formatToString])\nemit('set-picker-option', ['parseUserInput', parseUserInput])\nemit('set-picker-option', ['handleClear', handleClear])\n</script>\n"],"names":["minDate","maxDate"],"mappings":"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"}
1
+ {"version":3,"file":"panel-month-range.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ppNs.b(),\n drpNs.b(),\n {\n 'has-sidebar': Boolean($slots.sidebar) || hasShortcuts,\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 :class=\"[ppNs.e('content'), drpNs.e('content')]\" class=\"is-left\">\n <div :class=\"drpNs.e('header')\">\n <button\n type=\"button\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"[\n ppNs.e('icon-btn'),\n { [ppNs.is('disabled')]: !enableYearArrow },\n ]\"\n class=\"d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div :class=\"[ppNs.e('content'), drpNs.e('content')]\" class=\"is-right\">\n <div :class=\"drpNs.e('header')\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"[ppNs.e('icon-btn'), { 'is-disabled': !enableYearArrow }]\"\n class=\"d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :class=\"ppNs.e('icon-btn')\"\n class=\"d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, toRef, unref } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { isArray } from '@element-plus/utils'\nimport { useLocale } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport {\n correctlyParseUserInput,\n getDefaultValue,\n isValidRange,\n} from '../utils'\nimport {\n panelMonthRangeEmits,\n panelMonthRangeProps,\n} from '../props/panel-month-range'\nimport { useMonthRangeHeader } from '../composables/use-month-range-header'\nimport { useRangePicker } from '../composables/use-range-picker'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DatePickerMonthRange',\n})\n\nconst props = defineProps(panelMonthRangeProps)\nconst emit = defineEmits(panelMonthRangeEmits)\nconst unit = 'year'\n\nconst { lang } = useLocale()\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst { shortcuts, disabledDate } = pickerBase.props\nconst format = toRef(pickerBase.props, 'format')\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\nconst leftDate = ref(dayjs().locale(lang.value))\nconst rightDate = ref(dayjs().locale(lang.value).add(1, unit))\n\nconst {\n minDate,\n maxDate,\n rangeState,\n ppNs,\n drpNs,\n\n handleChangeRange,\n handleRangeConfirm,\n handleShortcutClick,\n onSelect,\n} = useRangePicker(props, {\n defaultValue,\n leftDate,\n rightDate,\n unit,\n onParsedValueChanged,\n})\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n} = useMonthRangeHeader({\n unlinkPanels: toRef(props, 'unlinkPanels'),\n leftDate,\n rightDate,\n})\n\nconst enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n})\n\ntype RangePickValue = {\n minDate: Dayjs\n maxDate: Dayjs\n}\n\nconst handleRangePick = (val: RangePickValue, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n emit('calendar-change', [minDate_.toDate(), maxDate_ && maxDate_.toDate()])\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleRangeConfirm()\n}\n\nconst handleClear = () => {\n leftDate.value = getDefaultValue(unref(defaultValue), {\n lang: unref(lang),\n unit: 'year',\n unlinkPanels: props.unlinkPanels,\n })[0]\n rightDate.value = leftDate.value.add(1, 'year')\n emit('pick', null)\n}\n\nconst formatToString = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? value.map((_) => _.format(format.value))\n : value.format(format.value)\n}\n\nconst parseUserInput = (value: Dayjs | Dayjs[]) => {\n return correctlyParseUserInput(value, format.value, lang.value)\n}\n\nfunction onParsedValueChanged(\n minDate: Dayjs | undefined,\n maxDate: Dayjs | undefined\n) {\n if (props.unlinkPanels && maxDate) {\n const minDateYear = minDate?.year() || 0\n const maxDateYear = maxDate.year()\n rightDate.value =\n minDateYear === maxDateYear ? maxDate.add(1, unit) : maxDate\n } else {\n rightDate.value = leftDate.value.add(1, unit)\n }\n}\n\nemit('set-picker-option', ['isValidValue', isValidRange])\nemit('set-picker-option', ['formatToString', formatToString])\nemit('set-picker-option', ['parseUserInput', parseUserInput])\nemit('set-picker-option', ['handleClear', handleClear])\n</script>\n"],"names":["minDate","maxDate"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ElIcon } from '../../../icon/index.mjs';
5
5
  import { panelYearRangeProps, panelYearRangeEmits } from '../props/panel-year-range.mjs';
6
6
  import { useShortcut } from '../composables/use-shortcut.mjs';
7
7
  import { useYearRangeHeader } from '../composables/use-year-range-header.mjs';
8
- import { isValidRange } from '../utils.mjs';
8
+ import { isValidRange, correctlyParseUserInput } from '../utils.mjs';
9
9
  import { ROOT_PICKER_INJECTION_KEY } from '../constants.mjs';
10
10
  import YearTable from './basic-year-table.mjs';
11
11
  import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
@@ -158,7 +158,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
158
158
  }
159
159
  }, { immediate: true });
160
160
  const parseUserInput = (value) => {
161
- return isArray(value) ? value.map((_) => dayjs(_, format.value).locale(lang.value)) : dayjs(value, format.value).locale(lang.value);
161
+ return correctlyParseUserInput(value, format.value, lang.value);
162
162
  };
163
163
  const formatToString = (value) => {
164
164
  return isArray(value) ? value.map((day) => day.format(format.value)) : value.format(format.value);
@@ -1 +1 @@
1
- {"version":3,"file":"panel-year-range.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-year-range.vue"],"sourcesContent":["<template>\n <div :class=\"panelKls\">\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 :class=\"leftPanelKls.content\">\n <div :class=\"drpNs.e('header')\">\n <button\n type=\"button\"\n :class=\"leftPanelKls.arrowLeftBtn\"\n @click=\"leftPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"leftPanelKls.arrowRightBtn\"\n @click=\"leftNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <year-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div :class=\"rightPanelKls.content\">\n <div :class=\"drpNs.e('header')\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"rightPanelKls.arrowLeftBtn\"\n @click=\"rightPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :class=\"rightPanelKls.arrowRightBtn\"\n @click=\"rightNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <year-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, toRef, useSlots, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport {\n panelYearRangeEmits,\n panelYearRangeProps,\n} from '../props/panel-year-range'\nimport { useShortcut } from '../composables/use-shortcut'\nimport { useYearRangeHeader } from '../composables/use-year-range-header'\nimport { isValidRange } from '../utils'\nimport { ROOT_PICKER_INJECTION_KEY } from '../constants'\nimport YearTable from './basic-year-table.vue'\n\nimport type { Dayjs } from 'dayjs'\nimport type { RangeState } from '../props/shared'\n\ndefineOptions({\n name: 'DatePickerYearRange',\n})\n\nconst props = defineProps(panelYearRangeProps)\nconst emit = defineEmits(panelYearRangeEmits)\n\nconst { lang } = useLocale()\nconst leftDate = ref(dayjs().locale(lang.value))\nconst rightDate = ref(leftDate.value.add(10, 'year'))\nconst { pickerNs: ppNs } = inject(ROOT_PICKER_INJECTION_KEY)!\nconst drpNs = useNamespace('date-range-picker')\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst panelKls = computed(() => [\n ppNs.b(),\n drpNs.b(),\n {\n 'has-sidebar': Boolean(useSlots().sidebar) || hasShortcuts.value,\n },\n])\n\nconst leftPanelKls = computed(() => {\n return {\n content: [ppNs.e('content'), drpNs.e('content'), 'is-left'],\n arrowLeftBtn: [ppNs.e('icon-btn'), 'd-arrow-left'],\n arrowRightBtn: [\n ppNs.e('icon-btn'),\n { [ppNs.is('disabled')]: !enableYearArrow.value },\n 'd-arrow-right',\n ],\n }\n})\n\nconst rightPanelKls = computed(() => {\n return {\n content: [ppNs.e('content'), drpNs.e('content'), 'is-right'],\n arrowLeftBtn: [\n ppNs.e('icon-btn'),\n { 'is-disabled': !enableYearArrow.value },\n 'd-arrow-left',\n ],\n arrowRightBtn: [ppNs.e('icon-btn'), 'd-arrow-right'],\n }\n})\n\nconst handleShortcutClick = useShortcut(lang)\n\nconst {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n} = useYearRangeHeader({\n unlinkPanels: toRef(props, 'unlinkPanels'),\n leftDate,\n rightDate,\n})\n\nconst enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n})\n\nconst minDate = ref<Dayjs>()\nconst maxDate = ref<Dayjs>()\n\nconst rangeState = ref<RangeState>({\n endDate: null,\n selecting: false,\n})\n\nconst handleChangeRange = (val: RangeState) => {\n rangeState.value = val\n}\n\ntype RangePickValue = {\n minDate: Dayjs\n maxDate: Dayjs\n}\nconst handleRangePick = (val: RangePickValue, close = true) => {\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n emit('calendar-change', [minDate_.toDate(), maxDate_ && maxDate_.toDate()])\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n}\n\nconst handleConfirm = (visible = false) => {\n if (isValidRange([minDate.value, maxDate.value])) {\n emit('pick', [minDate.value, maxDate.value], visible)\n }\n}\n\nconst onSelect = (selecting: boolean) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n}\n\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst { shortcuts, disabledDate } = pickerBase.props\nconst format = toRef(pickerBase.props, 'format')\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\nconst unit = 'year'\n\nconst getDefaultValue = () => {\n let start: Dayjs\n if (isArray(defaultValue.value)) {\n const left = dayjs(defaultValue.value[0])\n let right = dayjs(defaultValue.value[1])\n if (!props.unlinkPanels) {\n right = left.add(10, unit)\n }\n return [left, right]\n } else if (defaultValue.value) {\n start = dayjs(defaultValue.value)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(10, unit)]\n}\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(10, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(10, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = undefined\n maxDate.value = undefined\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n)\n\nconst parseUserInput = (value: Dayjs | Dayjs[]) => {\n return isArray(value)\n ? value.map((_) => dayjs(_, format.value).locale(lang.value))\n : dayjs(value, format.value).locale(lang.value)\n}\n\nconst formatToString = (value: Dayjs[] | Dayjs) => {\n return isArray(value)\n ? value.map((day) => day.format(format.value))\n : value.format(format.value)\n}\n\nconst isValidValue = (date: [Dayjs, Dayjs]) => {\n return (\n isValidRange(date) &&\n (disabledDate\n ? !disabledDate(date[0].toDate()) && !disabledDate(date[1].toDate())\n : true)\n )\n}\n\nconst handleClear = () => {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n maxDate.value = undefined\n minDate.value = undefined\n emit('pick', null)\n}\n\nemit('set-picker-option', ['isValidValue', isValidValue])\nemit('set-picker-option', ['parseUserInput', parseUserInput])\nemit('set-picker-option', ['formatToString', formatToString])\nemit('set-picker-option', ['handleClear', handleClear])\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"panel-year-range.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-year-range.vue"],"sourcesContent":["<template>\n <div :class=\"panelKls\">\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 :class=\"leftPanelKls.content\">\n <div :class=\"drpNs.e('header')\">\n <button\n type=\"button\"\n :class=\"leftPanelKls.arrowLeftBtn\"\n @click=\"leftPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"leftPanelKls.arrowRightBtn\"\n @click=\"leftNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <year-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div :class=\"rightPanelKls.content\">\n <div :class=\"drpNs.e('header')\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"rightPanelKls.arrowLeftBtn\"\n @click=\"rightPrevYear\"\n >\n <slot name=\"prev-year\">\n <el-icon><d-arrow-left /></el-icon>\n </slot>\n </button>\n <button\n type=\"button\"\n :class=\"rightPanelKls.arrowRightBtn\"\n @click=\"rightNextYear\"\n >\n <slot name=\"next-year\">\n <el-icon><d-arrow-right /></el-icon>\n </slot>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <year-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, ref, toRef, useSlots, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport {\n panelYearRangeEmits,\n panelYearRangeProps,\n} from '../props/panel-year-range'\nimport { useShortcut } from '../composables/use-shortcut'\nimport { useYearRangeHeader } from '../composables/use-year-range-header'\nimport { correctlyParseUserInput, isValidRange } from '../utils'\nimport { ROOT_PICKER_INJECTION_KEY } from '../constants'\nimport YearTable from './basic-year-table.vue'\n\nimport type { Dayjs } from 'dayjs'\nimport type { RangeState } from '../props/shared'\n\ndefineOptions({\n name: 'DatePickerYearRange',\n})\n\nconst props = defineProps(panelYearRangeProps)\nconst emit = defineEmits(panelYearRangeEmits)\n\nconst { lang } = useLocale()\nconst leftDate = ref(dayjs().locale(lang.value))\nconst rightDate = ref(leftDate.value.add(10, 'year'))\nconst { pickerNs: ppNs } = inject(ROOT_PICKER_INJECTION_KEY)!\nconst drpNs = useNamespace('date-range-picker')\n\nconst hasShortcuts = computed(() => !!shortcuts.length)\n\nconst panelKls = computed(() => [\n ppNs.b(),\n drpNs.b(),\n {\n 'has-sidebar': Boolean(useSlots().sidebar) || hasShortcuts.value,\n },\n])\n\nconst leftPanelKls = computed(() => {\n return {\n content: [ppNs.e('content'), drpNs.e('content'), 'is-left'],\n arrowLeftBtn: [ppNs.e('icon-btn'), 'd-arrow-left'],\n arrowRightBtn: [\n ppNs.e('icon-btn'),\n { [ppNs.is('disabled')]: !enableYearArrow.value },\n 'd-arrow-right',\n ],\n }\n})\n\nconst rightPanelKls = computed(() => {\n return {\n content: [ppNs.e('content'), drpNs.e('content'), 'is-right'],\n arrowLeftBtn: [\n ppNs.e('icon-btn'),\n { 'is-disabled': !enableYearArrow.value },\n 'd-arrow-left',\n ],\n arrowRightBtn: [ppNs.e('icon-btn'), 'd-arrow-right'],\n }\n})\n\nconst handleShortcutClick = useShortcut(lang)\n\nconst {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n} = useYearRangeHeader({\n unlinkPanels: toRef(props, 'unlinkPanels'),\n leftDate,\n rightDate,\n})\n\nconst enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n})\n\nconst minDate = ref<Dayjs>()\nconst maxDate = ref<Dayjs>()\n\nconst rangeState = ref<RangeState>({\n endDate: null,\n selecting: false,\n})\n\nconst handleChangeRange = (val: RangeState) => {\n rangeState.value = val\n}\n\ntype RangePickValue = {\n minDate: Dayjs\n maxDate: Dayjs\n}\nconst handleRangePick = (val: RangePickValue, close = true) => {\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n emit('calendar-change', [minDate_.toDate(), maxDate_ && maxDate_.toDate()])\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n}\n\nconst handleConfirm = (visible = false) => {\n if (isValidRange([minDate.value, maxDate.value])) {\n emit('pick', [minDate.value, maxDate.value], visible)\n }\n}\n\nconst onSelect = (selecting: boolean) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n}\n\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst { shortcuts, disabledDate } = pickerBase.props\nconst format = toRef(pickerBase.props, 'format')\nconst defaultValue = toRef(pickerBase.props, 'defaultValue')\nconst unit = 'year'\n\nconst getDefaultValue = () => {\n let start: Dayjs\n if (isArray(defaultValue.value)) {\n const left = dayjs(defaultValue.value[0])\n let right = dayjs(defaultValue.value[1])\n if (!props.unlinkPanels) {\n right = left.add(10, unit)\n }\n return [left, right]\n } else if (defaultValue.value) {\n start = dayjs(defaultValue.value)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(10, unit)]\n}\n\nwatch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(10, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(10, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = undefined\n maxDate.value = undefined\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n)\n\nconst parseUserInput = (value: Dayjs | Dayjs[]) => {\n return correctlyParseUserInput(value, format.value, lang.value)\n}\n\nconst formatToString = (value: Dayjs[] | Dayjs) => {\n return isArray(value)\n ? value.map((day) => day.format(format.value))\n : value.format(format.value)\n}\n\nconst isValidValue = (date: [Dayjs, Dayjs]) => {\n return (\n isValidRange(date) &&\n (disabledDate\n ? !disabledDate(date[0].toDate()) && !disabledDate(date[1].toDate())\n : true)\n )\n}\n\nconst handleClear = () => {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n maxDate.value = undefined\n minDate.value = undefined\n emit('pick', null)\n}\n\nemit('set-picker-option', ['isValidValue', isValidValue])\nemit('set-picker-option', ['parseUserInput', parseUserInput])\nemit('set-picker-option', ['formatToString', formatToString])\nemit('set-picker-option', ['handleClear', handleClear])\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createElementVNode"],"mappings":"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"}
@@ -32,4 +32,5 @@ export declare const buildPickerTable: (dimension: Dimension, rows: DateCell[][]
32
32
  export declare const datesInMonth: (year: number, month: number, lang: string) => Date[];
33
33
  export declare const getValidDateOfMonth: (year: number, month: number, lang: string, disabledDate?: DisabledDateType) => dayjs.Dayjs;
34
34
  export declare const getValidDateOfYear: (value: Dayjs, lang: string, disabledDate?: DisabledDateType) => dayjs.Dayjs;
35
+ export declare const correctlyParseUserInput: (value: string | Dayjs | Dayjs[], format: string, lang: string) => Dayjs | Dayjs[];
35
36
  export {};
@@ -6,7 +6,7 @@ const isValidRange = (range) => {
6
6
  if (!isArray(range))
7
7
  return false;
8
8
  const [left, right] = range;
9
- return dayjs.isDayjs(left) && dayjs.isDayjs(right) && left.isSameOrBefore(right);
9
+ return dayjs.isDayjs(left) && dayjs.isDayjs(right) && dayjs(left).isValid() && dayjs(right).isValid() && left.isSameOrBefore(right);
10
10
  };
11
11
  const getDefaultValue = (defaultValue, { lang, unit, unlinkPanels }) => {
12
12
  let start;
@@ -103,6 +103,18 @@ const getValidDateOfYear = (value, lang, disabledDate) => {
103
103
  }
104
104
  return value;
105
105
  };
106
+ const correctlyParseUserInput = (value, format, lang) => {
107
+ if (isArray(value)) {
108
+ return value.map((v) => correctlyParseUserInput(v, format, lang));
109
+ }
110
+ if (typeof value === "string") {
111
+ const dayjsValue = dayjs(value);
112
+ if (!dayjsValue.isValid()) {
113
+ return dayjsValue;
114
+ }
115
+ }
116
+ return dayjs(value, format).locale(lang);
117
+ };
106
118
 
107
- export { buildPickerTable, datesInMonth, getDefaultValue, getValidDateOfMonth, getValidDateOfYear, isValidRange };
119
+ export { buildPickerTable, correctlyParseUserInput, datesInMonth, getDefaultValue, getValidDateOfMonth, getValidDateOfYear, isValidRange };
108
120
  //# 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'\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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"}
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) &&\n dayjs.isDayjs(right) &&\n dayjs(left).isValid() &&\n dayjs(right).isValid() &&\n 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\nexport const correctlyParseUserInput = (\n value: string | Dayjs | Dayjs[],\n format: string,\n lang: string\n): Dayjs | Dayjs[] => {\n if (isArray(value)) {\n return value.map((v) => correctlyParseUserInput(v, format, lang) as Dayjs)\n }\n if (typeof value === 'string') {\n const dayjsValue = dayjs(value)\n if (!dayjsValue.isValid()) {\n // return directly if not valid\n return dayjsValue\n }\n }\n return dayjs(value, format).locale(lang)\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import Descriptions from './src/description2.mjs';
1
+ import Descriptions from './src/description.mjs';
2
2
  import DescriptionItem from './src/description-item.mjs';
3
3
  export { descriptionItemProps } from './src/description-item.mjs';
4
- export { descriptionProps } from './src/description.mjs';
4
+ export { descriptionProps } from './src/description2.mjs';
5
5
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
6
6
 
7
7
  const ElDescriptions = withInstall(Descriptions, {
@@ -1,31 +1,131 @@
1
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
2
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
1
+ import { defineComponent, useSlots, provide, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createBlock } from 'vue';
2
+ import ElDescriptionsRow from './descriptions-row.mjs';
3
+ import { descriptionsKey } from './token.mjs';
4
+ import { descriptionProps } from './description2.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
+ import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
8
+ import { flattedChildren } from '../../../utils/vue/vnode.mjs';
3
9
 
4
- const descriptionProps = buildProps({
5
- border: Boolean,
6
- column: {
7
- type: Number,
8
- default: 3
9
- },
10
- direction: {
11
- type: String,
12
- values: ["horizontal", "vertical"],
13
- default: "horizontal"
14
- },
15
- size: useSizeProp,
16
- title: {
17
- type: String,
18
- default: ""
19
- },
20
- extra: {
21
- type: String,
22
- default: ""
23
- },
24
- labelWidth: {
25
- type: [String, Number],
26
- default: ""
10
+ const __default__ = defineComponent({
11
+ name: "ElDescriptions"
12
+ });
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ ...__default__,
15
+ props: descriptionProps,
16
+ setup(__props) {
17
+ const props = __props;
18
+ const ns = useNamespace("descriptions");
19
+ const descriptionsSize = useFormSize();
20
+ const slots = useSlots();
21
+ provide(descriptionsKey, props);
22
+ const descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
23
+ const filledNode = (node, span, count, isLast = false) => {
24
+ if (!node.props) {
25
+ node.props = {};
26
+ }
27
+ if (span > count) {
28
+ node.props.span = count;
29
+ }
30
+ if (isLast) {
31
+ node.props.span = span;
32
+ }
33
+ return node;
34
+ };
35
+ const getRows = () => {
36
+ if (!slots.default)
37
+ return [];
38
+ const children = flattedChildren(slots.default()).filter((node) => {
39
+ var _a;
40
+ return ((_a = node == null ? void 0 : node.type) == null ? void 0 : _a.name) === "ElDescriptionsItem";
41
+ });
42
+ const rows = [];
43
+ let temp = [];
44
+ let count = props.column;
45
+ let totalSpan = 0;
46
+ const rowspanTemp = [];
47
+ children.forEach((node, index) => {
48
+ var _a, _b, _c;
49
+ const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
50
+ const rowspan = ((_b = node.props) == null ? void 0 : _b.rowspan) || 1;
51
+ const rowNo = rows.length;
52
+ rowspanTemp[rowNo] || (rowspanTemp[rowNo] = 0);
53
+ if (rowspan > 1) {
54
+ for (let i = 1; i < rowspan; i++) {
55
+ rowspanTemp[_c = rowNo + i] || (rowspanTemp[_c] = 0);
56
+ rowspanTemp[rowNo + i]++;
57
+ totalSpan++;
58
+ }
59
+ }
60
+ if (rowspanTemp[rowNo] > 0) {
61
+ count -= rowspanTemp[rowNo];
62
+ rowspanTemp[rowNo] = 0;
63
+ }
64
+ if (index < children.length - 1) {
65
+ totalSpan += span > count ? count : span;
66
+ }
67
+ if (index === children.length - 1) {
68
+ const lastSpan = props.column - totalSpan % props.column;
69
+ temp.push(filledNode(node, lastSpan, count, true));
70
+ rows.push(temp);
71
+ return;
72
+ }
73
+ if (span < count) {
74
+ count -= span;
75
+ temp.push(node);
76
+ } else {
77
+ temp.push(filledNode(node, span, count));
78
+ rows.push(temp);
79
+ count = props.column;
80
+ temp = [];
81
+ }
82
+ });
83
+ return rows;
84
+ };
85
+ return (_ctx, _cache) => {
86
+ return openBlock(), createElementBlock("div", {
87
+ class: normalizeClass(unref(descriptionKls))
88
+ }, [
89
+ _ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (openBlock(), createElementBlock("div", {
90
+ key: 0,
91
+ class: normalizeClass(unref(ns).e("header"))
92
+ }, [
93
+ createElementVNode("div", {
94
+ class: normalizeClass(unref(ns).e("title"))
95
+ }, [
96
+ renderSlot(_ctx.$slots, "title", {}, () => [
97
+ createTextVNode(toDisplayString(_ctx.title), 1)
98
+ ])
99
+ ], 2),
100
+ createElementVNode("div", {
101
+ class: normalizeClass(unref(ns).e("extra"))
102
+ }, [
103
+ renderSlot(_ctx.$slots, "extra", {}, () => [
104
+ createTextVNode(toDisplayString(_ctx.extra), 1)
105
+ ])
106
+ ], 2)
107
+ ], 2)) : createCommentVNode("v-if", true),
108
+ createElementVNode("div", {
109
+ class: normalizeClass(unref(ns).e("body"))
110
+ }, [
111
+ createElementVNode("table", {
112
+ class: normalizeClass([unref(ns).e("table"), unref(ns).is("bordered", _ctx.border)])
113
+ }, [
114
+ createElementVNode("tbody", null, [
115
+ (openBlock(true), createElementBlock(Fragment, null, renderList(getRows(), (row, _index) => {
116
+ return openBlock(), createBlock(ElDescriptionsRow, {
117
+ key: _index,
118
+ row
119
+ }, null, 8, ["row"]);
120
+ }), 128))
121
+ ])
122
+ ], 2)
123
+ ], 2)
124
+ ], 2);
125
+ };
27
126
  }
28
127
  });
128
+ var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "description.vue"]]);
29
129
 
30
- export { descriptionProps };
130
+ export { Descriptions as default };
31
131
  //# sourceMappingURL=description.mjs.map
@@ -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 { 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 /**\n * @description width of every label column\n */\n labelWidth: {\n type: [String, Number],\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,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"description.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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"}
@@ -1,131 +1,31 @@
1
- import { defineComponent, useSlots, provide, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createBlock } from 'vue';
2
- import ElDescriptionsRow from './descriptions-row2.mjs';
3
- import { descriptionsKey } from './token.mjs';
4
- import { descriptionProps } from './description.mjs';
5
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
- import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
8
- import { flattedChildren } from '../../../utils/vue/vnode.mjs';
1
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
2
+ import { useSizeProp } from '../../../hooks/use-size/index.mjs';
9
3
 
10
- const __default__ = defineComponent({
11
- name: "ElDescriptions"
12
- });
13
- const _sfc_main = /* @__PURE__ */ defineComponent({
14
- ...__default__,
15
- props: descriptionProps,
16
- setup(__props) {
17
- const props = __props;
18
- const ns = useNamespace("descriptions");
19
- const descriptionsSize = useFormSize();
20
- const slots = useSlots();
21
- provide(descriptionsKey, props);
22
- const descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
23
- const filledNode = (node, span, count, isLast = false) => {
24
- if (!node.props) {
25
- node.props = {};
26
- }
27
- if (span > count) {
28
- node.props.span = count;
29
- }
30
- if (isLast) {
31
- node.props.span = span;
32
- }
33
- return node;
34
- };
35
- const getRows = () => {
36
- if (!slots.default)
37
- return [];
38
- const children = flattedChildren(slots.default()).filter((node) => {
39
- var _a;
40
- return ((_a = node == null ? void 0 : node.type) == null ? void 0 : _a.name) === "ElDescriptionsItem";
41
- });
42
- const rows = [];
43
- let temp = [];
44
- let count = props.column;
45
- let totalSpan = 0;
46
- const rowspanTemp = [];
47
- children.forEach((node, index) => {
48
- var _a, _b, _c;
49
- const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
50
- const rowspan = ((_b = node.props) == null ? void 0 : _b.rowspan) || 1;
51
- const rowNo = rows.length;
52
- rowspanTemp[rowNo] || (rowspanTemp[rowNo] = 0);
53
- if (rowspan > 1) {
54
- for (let i = 1; i < rowspan; i++) {
55
- rowspanTemp[_c = rowNo + i] || (rowspanTemp[_c] = 0);
56
- rowspanTemp[rowNo + i]++;
57
- totalSpan++;
58
- }
59
- }
60
- if (rowspanTemp[rowNo] > 0) {
61
- count -= rowspanTemp[rowNo];
62
- rowspanTemp[rowNo] = 0;
63
- }
64
- if (index < children.length - 1) {
65
- totalSpan += span > count ? count : span;
66
- }
67
- if (index === children.length - 1) {
68
- const lastSpan = props.column - totalSpan % props.column;
69
- temp.push(filledNode(node, lastSpan, count, true));
70
- rows.push(temp);
71
- return;
72
- }
73
- if (span < count) {
74
- count -= span;
75
- temp.push(node);
76
- } else {
77
- temp.push(filledNode(node, span, count));
78
- rows.push(temp);
79
- count = props.column;
80
- temp = [];
81
- }
82
- });
83
- return rows;
84
- };
85
- return (_ctx, _cache) => {
86
- return openBlock(), createElementBlock("div", {
87
- class: normalizeClass(unref(descriptionKls))
88
- }, [
89
- _ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (openBlock(), createElementBlock("div", {
90
- key: 0,
91
- class: normalizeClass(unref(ns).e("header"))
92
- }, [
93
- createElementVNode("div", {
94
- class: normalizeClass(unref(ns).e("title"))
95
- }, [
96
- renderSlot(_ctx.$slots, "title", {}, () => [
97
- createTextVNode(toDisplayString(_ctx.title), 1)
98
- ])
99
- ], 2),
100
- createElementVNode("div", {
101
- class: normalizeClass(unref(ns).e("extra"))
102
- }, [
103
- renderSlot(_ctx.$slots, "extra", {}, () => [
104
- createTextVNode(toDisplayString(_ctx.extra), 1)
105
- ])
106
- ], 2)
107
- ], 2)) : createCommentVNode("v-if", true),
108
- createElementVNode("div", {
109
- class: normalizeClass(unref(ns).e("body"))
110
- }, [
111
- createElementVNode("table", {
112
- class: normalizeClass([unref(ns).e("table"), unref(ns).is("bordered", _ctx.border)])
113
- }, [
114
- createElementVNode("tbody", null, [
115
- (openBlock(true), createElementBlock(Fragment, null, renderList(getRows(), (row, _index) => {
116
- return openBlock(), createBlock(ElDescriptionsRow, {
117
- key: _index,
118
- row
119
- }, null, 8, ["row"]);
120
- }), 128))
121
- ])
122
- ], 2)
123
- ], 2)
124
- ], 2);
125
- };
4
+ const descriptionProps = buildProps({
5
+ border: Boolean,
6
+ column: {
7
+ type: Number,
8
+ default: 3
9
+ },
10
+ direction: {
11
+ type: String,
12
+ values: ["horizontal", "vertical"],
13
+ default: "horizontal"
14
+ },
15
+ size: useSizeProp,
16
+ title: {
17
+ type: String,
18
+ default: ""
19
+ },
20
+ extra: {
21
+ type: String,
22
+ default: ""
23
+ },
24
+ labelWidth: {
25
+ type: [String, Number],
26
+ default: ""
126
27
  }
127
28
  });
128
- var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "description.vue"]]);
129
29
 
130
- export { Descriptions as default };
30
+ export { descriptionProps };
131
31
  //# sourceMappingURL=description2.mjs.map