@element-plus/nightly 0.0.20220902 → 0.0.20220905

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 (405) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +108 -63
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +109 -64
  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.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/cs.js +1 -1
  34. package/dist/locale/cs.min.js +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +1 -1
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.mjs +1 -1
  40. package/dist/locale/da.mjs +1 -1
  41. package/dist/locale/de.js +1 -1
  42. package/dist/locale/de.min.js +1 -1
  43. package/dist/locale/de.min.mjs +1 -1
  44. package/dist/locale/de.mjs +1 -1
  45. package/dist/locale/el.js +1 -1
  46. package/dist/locale/el.min.js +1 -1
  47. package/dist/locale/el.min.mjs +1 -1
  48. package/dist/locale/el.mjs +1 -1
  49. package/dist/locale/en.js +1 -1
  50. package/dist/locale/en.min.js +1 -1
  51. package/dist/locale/en.min.mjs +1 -1
  52. package/dist/locale/en.mjs +1 -1
  53. package/dist/locale/eo.js +1 -1
  54. package/dist/locale/eo.min.js +1 -1
  55. package/dist/locale/eo.min.mjs +1 -1
  56. package/dist/locale/eo.mjs +1 -1
  57. package/dist/locale/es.js +1 -1
  58. package/dist/locale/es.min.js +1 -1
  59. package/dist/locale/es.min.mjs +1 -1
  60. package/dist/locale/es.mjs +1 -1
  61. package/dist/locale/et.js +1 -1
  62. package/dist/locale/et.min.js +1 -1
  63. package/dist/locale/et.min.mjs +1 -1
  64. package/dist/locale/et.mjs +1 -1
  65. package/dist/locale/eu.js +1 -1
  66. package/dist/locale/eu.min.js +1 -1
  67. package/dist/locale/eu.min.mjs +1 -1
  68. package/dist/locale/eu.mjs +1 -1
  69. package/dist/locale/fa.js +1 -1
  70. package/dist/locale/fa.min.js +1 -1
  71. package/dist/locale/fa.min.mjs +1 -1
  72. package/dist/locale/fa.mjs +1 -1
  73. package/dist/locale/fi.js +1 -1
  74. package/dist/locale/fi.min.js +1 -1
  75. package/dist/locale/fi.min.mjs +1 -1
  76. package/dist/locale/fi.mjs +1 -1
  77. package/dist/locale/fr.js +1 -1
  78. package/dist/locale/fr.min.js +1 -1
  79. package/dist/locale/fr.min.mjs +1 -1
  80. package/dist/locale/fr.mjs +1 -1
  81. package/dist/locale/he.js +1 -1
  82. package/dist/locale/he.min.js +1 -1
  83. package/dist/locale/he.min.mjs +1 -1
  84. package/dist/locale/he.mjs +1 -1
  85. package/dist/locale/hr.js +1 -1
  86. package/dist/locale/hr.min.js +1 -1
  87. package/dist/locale/hr.min.mjs +1 -1
  88. package/dist/locale/hr.mjs +1 -1
  89. package/dist/locale/hu.js +1 -1
  90. package/dist/locale/hu.min.js +1 -1
  91. package/dist/locale/hu.min.mjs +1 -1
  92. package/dist/locale/hu.mjs +1 -1
  93. package/dist/locale/hy-am.js +1 -1
  94. package/dist/locale/hy-am.min.js +1 -1
  95. package/dist/locale/hy-am.min.mjs +1 -1
  96. package/dist/locale/hy-am.mjs +1 -1
  97. package/dist/locale/id.js +1 -1
  98. package/dist/locale/id.min.js +1 -1
  99. package/dist/locale/id.min.mjs +1 -1
  100. package/dist/locale/id.mjs +1 -1
  101. package/dist/locale/it.js +1 -1
  102. package/dist/locale/it.min.js +1 -1
  103. package/dist/locale/it.min.mjs +1 -1
  104. package/dist/locale/it.mjs +1 -1
  105. package/dist/locale/ja.js +1 -1
  106. package/dist/locale/ja.min.js +1 -1
  107. package/dist/locale/ja.min.mjs +1 -1
  108. package/dist/locale/ja.mjs +1 -1
  109. package/dist/locale/kk.js +1 -1
  110. package/dist/locale/kk.min.js +1 -1
  111. package/dist/locale/kk.min.mjs +1 -1
  112. package/dist/locale/kk.mjs +1 -1
  113. package/dist/locale/km.js +1 -1
  114. package/dist/locale/km.min.js +1 -1
  115. package/dist/locale/km.min.mjs +1 -1
  116. package/dist/locale/km.mjs +1 -1
  117. package/dist/locale/ko.js +1 -1
  118. package/dist/locale/ko.min.js +1 -1
  119. package/dist/locale/ko.min.mjs +1 -1
  120. package/dist/locale/ko.mjs +1 -1
  121. package/dist/locale/ku.js +1 -1
  122. package/dist/locale/ku.min.js +1 -1
  123. package/dist/locale/ku.min.mjs +1 -1
  124. package/dist/locale/ku.mjs +1 -1
  125. package/dist/locale/ky.js +1 -1
  126. package/dist/locale/ky.min.js +1 -1
  127. package/dist/locale/ky.min.mjs +1 -1
  128. package/dist/locale/ky.mjs +1 -1
  129. package/dist/locale/lt.js +1 -1
  130. package/dist/locale/lt.min.js +1 -1
  131. package/dist/locale/lt.min.mjs +1 -1
  132. package/dist/locale/lt.mjs +1 -1
  133. package/dist/locale/lv.js +1 -1
  134. package/dist/locale/lv.min.js +1 -1
  135. package/dist/locale/lv.min.mjs +1 -1
  136. package/dist/locale/lv.mjs +1 -1
  137. package/dist/locale/mg.js +1 -1
  138. package/dist/locale/mg.min.js +1 -1
  139. package/dist/locale/mg.min.mjs +1 -1
  140. package/dist/locale/mg.mjs +1 -1
  141. package/dist/locale/mn.js +1 -1
  142. package/dist/locale/mn.min.js +1 -1
  143. package/dist/locale/mn.min.mjs +1 -1
  144. package/dist/locale/mn.mjs +1 -1
  145. package/dist/locale/nb-no.js +1 -1
  146. package/dist/locale/nb-no.min.js +1 -1
  147. package/dist/locale/nb-no.min.mjs +1 -1
  148. package/dist/locale/nb-no.mjs +1 -1
  149. package/dist/locale/nl.js +1 -1
  150. package/dist/locale/nl.min.js +1 -1
  151. package/dist/locale/nl.min.mjs +1 -1
  152. package/dist/locale/nl.mjs +1 -1
  153. package/dist/locale/pa.js +1 -1
  154. package/dist/locale/pa.min.js +1 -1
  155. package/dist/locale/pa.min.mjs +1 -1
  156. package/dist/locale/pa.mjs +1 -1
  157. package/dist/locale/pl.js +1 -1
  158. package/dist/locale/pl.min.js +1 -1
  159. package/dist/locale/pl.min.mjs +1 -1
  160. package/dist/locale/pl.mjs +1 -1
  161. package/dist/locale/pt-br.js +1 -1
  162. package/dist/locale/pt-br.min.js +1 -1
  163. package/dist/locale/pt-br.min.mjs +1 -1
  164. package/dist/locale/pt-br.mjs +1 -1
  165. package/dist/locale/pt.js +1 -1
  166. package/dist/locale/pt.min.js +1 -1
  167. package/dist/locale/pt.min.mjs +1 -1
  168. package/dist/locale/pt.mjs +1 -1
  169. package/dist/locale/ro.js +1 -1
  170. package/dist/locale/ro.min.js +1 -1
  171. package/dist/locale/ro.min.mjs +1 -1
  172. package/dist/locale/ro.mjs +1 -1
  173. package/dist/locale/ru.js +1 -1
  174. package/dist/locale/ru.min.js +1 -1
  175. package/dist/locale/ru.min.mjs +1 -1
  176. package/dist/locale/ru.mjs +1 -1
  177. package/dist/locale/sk.js +1 -1
  178. package/dist/locale/sk.min.js +1 -1
  179. package/dist/locale/sk.min.mjs +1 -1
  180. package/dist/locale/sk.mjs +1 -1
  181. package/dist/locale/sl.js +1 -1
  182. package/dist/locale/sl.min.js +1 -1
  183. package/dist/locale/sl.min.mjs +1 -1
  184. package/dist/locale/sl.mjs +1 -1
  185. package/dist/locale/sr.js +1 -1
  186. package/dist/locale/sr.min.js +1 -1
  187. package/dist/locale/sr.min.mjs +1 -1
  188. package/dist/locale/sr.mjs +1 -1
  189. package/dist/locale/sv.js +1 -1
  190. package/dist/locale/sv.min.js +1 -1
  191. package/dist/locale/sv.min.mjs +1 -1
  192. package/dist/locale/sv.mjs +1 -1
  193. package/dist/locale/ta.js +1 -1
  194. package/dist/locale/ta.min.js +1 -1
  195. package/dist/locale/ta.min.mjs +1 -1
  196. package/dist/locale/ta.mjs +1 -1
  197. package/dist/locale/th.js +1 -1
  198. package/dist/locale/th.min.js +1 -1
  199. package/dist/locale/th.min.mjs +1 -1
  200. package/dist/locale/th.mjs +1 -1
  201. package/dist/locale/tk.js +1 -1
  202. package/dist/locale/tk.min.js +1 -1
  203. package/dist/locale/tk.min.mjs +1 -1
  204. package/dist/locale/tk.mjs +1 -1
  205. package/dist/locale/tr.js +1 -1
  206. package/dist/locale/tr.min.js +1 -1
  207. package/dist/locale/tr.min.mjs +1 -1
  208. package/dist/locale/tr.mjs +1 -1
  209. package/dist/locale/ug-cn.js +1 -1
  210. package/dist/locale/ug-cn.min.js +1 -1
  211. package/dist/locale/ug-cn.min.mjs +1 -1
  212. package/dist/locale/ug-cn.mjs +1 -1
  213. package/dist/locale/uk.js +1 -1
  214. package/dist/locale/uk.min.js +1 -1
  215. package/dist/locale/uk.min.mjs +1 -1
  216. package/dist/locale/uk.mjs +1 -1
  217. package/dist/locale/uz-uz.js +1 -1
  218. package/dist/locale/uz-uz.min.js +1 -1
  219. package/dist/locale/uz-uz.min.mjs +1 -1
  220. package/dist/locale/uz-uz.mjs +1 -1
  221. package/dist/locale/vi.js +1 -1
  222. package/dist/locale/vi.min.js +1 -1
  223. package/dist/locale/vi.min.mjs +1 -1
  224. package/dist/locale/vi.mjs +1 -1
  225. package/dist/locale/zh-cn.js +1 -1
  226. package/dist/locale/zh-cn.min.js +1 -1
  227. package/dist/locale/zh-cn.min.mjs +1 -1
  228. package/dist/locale/zh-cn.mjs +1 -1
  229. package/dist/locale/zh-tw.js +1 -1
  230. package/dist/locale/zh-tw.min.js +1 -1
  231. package/dist/locale/zh-tw.min.mjs +1 -1
  232. package/dist/locale/zh-tw.mjs +1 -1
  233. package/es/components/autocomplete/index.d.ts +15 -15
  234. package/es/components/autocomplete/src/autocomplete.vue.d.ts +15 -15
  235. package/es/components/button/index.mjs +2 -2
  236. package/es/components/button/src/button-group.mjs +1 -1
  237. package/es/components/button/src/button.mjs +53 -118
  238. package/es/components/button/src/button.mjs.map +1 -1
  239. package/es/components/button/src/button2.mjs +118 -53
  240. package/es/components/button/src/button2.mjs.map +1 -1
  241. package/es/components/calendar/index.d.ts +3 -0
  242. package/es/components/calendar/src/calendar.vue.d.ts +3 -0
  243. package/es/components/calendar/src/calendar2.mjs +17 -7
  244. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  245. package/es/components/calendar/src/date-table2.mjs +1 -1
  246. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  247. package/es/components/cascader/index.d.ts +58 -58
  248. package/es/components/cascader/src/index.vue.d.ts +29 -29
  249. package/es/components/dropdown/index.d.ts +29 -29
  250. package/es/components/dropdown/src/dropdown.vue.d.ts +29 -29
  251. package/es/components/form/index.d.ts +2 -2
  252. package/es/components/form/src/form-item.vue.d.ts +1 -1
  253. package/es/components/form/src/form-item2.mjs +23 -10
  254. package/es/components/form/src/form-item2.mjs.map +1 -1
  255. package/es/components/index.mjs +1 -1
  256. package/es/components/message/src/method.mjs +3 -1
  257. package/es/components/message/src/method.mjs.map +1 -1
  258. package/es/components/message-box/src/message-box.type.d.ts +1 -1
  259. package/es/components/message-box/src/messageBox.mjs +5 -12
  260. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  261. package/es/components/pagination/src/components/sizes.vue.d.ts +45 -31
  262. package/es/components/popconfirm/index.d.ts +15 -15
  263. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  264. package/es/components/popconfirm/src/popconfirm.vue.d.ts +15 -15
  265. package/es/components/popover/index.d.ts +15 -15
  266. package/es/components/popover/src/popover.vue.d.ts +15 -15
  267. package/es/components/popper/src/content.d.ts +2 -2
  268. package/es/components/popper/src/content.mjs +1 -1
  269. package/es/components/popper/src/content.mjs.map +1 -1
  270. package/es/components/popper/src/content.vue.d.ts +3 -3
  271. package/es/components/popper/src/utils.d.ts +1 -1
  272. package/es/components/popper/src/utils.mjs +1 -1
  273. package/es/components/popper/src/utils.mjs.map +1 -1
  274. package/es/components/select/index.d.ts +45 -31
  275. package/es/components/select/src/select.mjs +15 -4
  276. package/es/components/select/src/select.mjs.map +1 -1
  277. package/es/components/select/src/select.vue.d.ts +45 -31
  278. package/es/components/select/src/useSelect.d.ts +31 -31
  279. package/es/components/select/src/useSelect.mjs.map +1 -1
  280. package/es/components/select-v2/index.d.ts +80 -58
  281. package/es/components/select-v2/src/defaults.d.ts +6 -1
  282. package/es/components/select-v2/src/defaults.mjs +7 -0
  283. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  284. package/es/components/select-v2/src/select.mjs +2 -2
  285. package/es/components/select-v2/src/select.mjs.map +1 -1
  286. package/es/components/select-v2/src/select.vue.d.ts +40 -29
  287. package/es/components/select-v2/src/useSelect.d.ts +29 -29
  288. package/es/components/select-v2/src/useSelect.mjs +2 -2
  289. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  290. package/es/components/slider/index.d.ts +75 -75
  291. package/es/components/slider/src/button.vue.d.ts +15 -15
  292. package/es/components/slider/src/composables/use-slide.d.ts +60 -60
  293. package/es/components/slider/src/slider.vue.d.ts +75 -75
  294. package/es/components/steps/src/item2.mjs +20 -13
  295. package/es/components/steps/src/item2.mjs.map +1 -1
  296. package/es/components/table/src/filter-panel.vue.d.ts +29 -29
  297. package/es/components/table/src/table-column/render-helper.mjs +4 -1
  298. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  299. package/es/components/time-picker/src/common/picker.vue.d.ts +15 -15
  300. package/es/components/time-select/index.d.ts +180 -124
  301. package/es/components/time-select/src/time-select.vue.d.ts +90 -62
  302. package/es/components/tooltip/index.d.ts +15 -15
  303. package/es/components/tooltip/src/content.vue.d.ts +7 -7
  304. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  305. package/es/components/tooltip/src/tooltip.vue.d.ts +15 -15
  306. package/es/components/tree/src/tree-node-content.mjs +3 -1
  307. package/es/components/tree/src/tree-node-content.mjs.map +1 -1
  308. package/es/components/upload/src/upload2.mjs +4 -5
  309. package/es/components/upload/src/upload2.mjs.map +1 -1
  310. package/es/hooks/use-lockscreen/index.mjs +6 -4
  311. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  312. package/es/index.mjs +1 -1
  313. package/es/version.d.ts +1 -1
  314. package/es/version.mjs +1 -1
  315. package/es/version.mjs.map +1 -1
  316. package/global.d.ts +1 -0
  317. package/lib/components/autocomplete/index.d.ts +15 -15
  318. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +15 -15
  319. package/lib/components/button/index.js +2 -2
  320. package/lib/components/button/src/button-group.js +1 -1
  321. package/lib/components/button/src/button.js +56 -118
  322. package/lib/components/button/src/button.js.map +1 -1
  323. package/lib/components/button/src/button2.js +118 -56
  324. package/lib/components/button/src/button2.js.map +1 -1
  325. package/lib/components/calendar/index.d.ts +3 -0
  326. package/lib/components/calendar/src/calendar.vue.d.ts +3 -0
  327. package/lib/components/calendar/src/calendar2.js +21 -11
  328. package/lib/components/calendar/src/calendar2.js.map +1 -1
  329. package/lib/components/calendar/src/date-table2.js +1 -1
  330. package/lib/components/calendar/src/date-table2.js.map +1 -1
  331. package/lib/components/cascader/index.d.ts +58 -58
  332. package/lib/components/cascader/src/index.vue.d.ts +29 -29
  333. package/lib/components/dropdown/index.d.ts +29 -29
  334. package/lib/components/dropdown/src/dropdown.vue.d.ts +29 -29
  335. package/lib/components/form/index.d.ts +2 -2
  336. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  337. package/lib/components/form/src/form-item2.js +23 -10
  338. package/lib/components/form/src/form-item2.js.map +1 -1
  339. package/lib/components/index.js +1 -1
  340. package/lib/components/message/src/method.js +3 -1
  341. package/lib/components/message/src/method.js.map +1 -1
  342. package/lib/components/message-box/src/message-box.type.d.ts +1 -1
  343. package/lib/components/message-box/src/messageBox.js +3 -10
  344. package/lib/components/message-box/src/messageBox.js.map +1 -1
  345. package/lib/components/pagination/src/components/sizes.vue.d.ts +45 -31
  346. package/lib/components/popconfirm/index.d.ts +15 -15
  347. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  348. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +15 -15
  349. package/lib/components/popover/index.d.ts +15 -15
  350. package/lib/components/popover/src/popover.vue.d.ts +15 -15
  351. package/lib/components/popper/src/content.d.ts +2 -2
  352. package/lib/components/popper/src/content.js +1 -1
  353. package/lib/components/popper/src/content.js.map +1 -1
  354. package/lib/components/popper/src/content.vue.d.ts +3 -3
  355. package/lib/components/popper/src/utils.d.ts +1 -1
  356. package/lib/components/popper/src/utils.js +1 -1
  357. package/lib/components/popper/src/utils.js.map +1 -1
  358. package/lib/components/select/index.d.ts +45 -31
  359. package/lib/components/select/src/select.js +17 -6
  360. package/lib/components/select/src/select.js.map +1 -1
  361. package/lib/components/select/src/select.vue.d.ts +45 -31
  362. package/lib/components/select/src/useSelect.d.ts +31 -31
  363. package/lib/components/select/src/useSelect.js.map +1 -1
  364. package/lib/components/select-v2/index.d.ts +80 -58
  365. package/lib/components/select-v2/src/defaults.d.ts +6 -1
  366. package/lib/components/select-v2/src/defaults.js +7 -0
  367. package/lib/components/select-v2/src/defaults.js.map +1 -1
  368. package/lib/components/select-v2/src/select.js +2 -2
  369. package/lib/components/select-v2/src/select.js.map +1 -1
  370. package/lib/components/select-v2/src/select.vue.d.ts +40 -29
  371. package/lib/components/select-v2/src/useSelect.d.ts +29 -29
  372. package/lib/components/select-v2/src/useSelect.js +1 -1
  373. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  374. package/lib/components/slider/index.d.ts +75 -75
  375. package/lib/components/slider/src/button.vue.d.ts +15 -15
  376. package/lib/components/slider/src/composables/use-slide.d.ts +60 -60
  377. package/lib/components/slider/src/slider.vue.d.ts +75 -75
  378. package/lib/components/steps/src/item2.js +19 -12
  379. package/lib/components/steps/src/item2.js.map +1 -1
  380. package/lib/components/table/src/filter-panel.vue.d.ts +29 -29
  381. package/lib/components/table/src/table-column/render-helper.js +4 -1
  382. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  383. package/lib/components/time-picker/src/common/picker.vue.d.ts +15 -15
  384. package/lib/components/time-select/index.d.ts +180 -124
  385. package/lib/components/time-select/src/time-select.vue.d.ts +90 -62
  386. package/lib/components/tooltip/index.d.ts +15 -15
  387. package/lib/components/tooltip/src/content.vue.d.ts +7 -7
  388. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  389. package/lib/components/tooltip/src/tooltip.vue.d.ts +15 -15
  390. package/lib/components/tree/src/tree-node-content.js +3 -1
  391. package/lib/components/tree/src/tree-node-content.js.map +1 -1
  392. package/lib/components/upload/src/upload2.js +3 -4
  393. package/lib/components/upload/src/upload2.js.map +1 -1
  394. package/lib/hooks/use-lockscreen/index.js +6 -4
  395. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  396. package/lib/index.js +1 -1
  397. package/lib/version.d.ts +1 -1
  398. package/lib/version.js +1 -1
  399. package/lib/version.js.map +1 -1
  400. package/package.json +2 -2
  401. package/tags.json +1 -1
  402. package/theme-chalk/el-select.css +1 -1
  403. package/theme-chalk/index.css +1 -1
  404. package/theme-chalk/src/select.scss +4 -0
  405. package/web-types.json +1 -1
@@ -2,65 +2,127 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
6
+ var index$5 = require('../../icon/index.js');
5
7
  require('../../../hooks/index.js');
6
- require('../../../utils/index.js');
7
- var iconsVue = require('@element-plus/icons-vue');
8
- var runtime = require('../../../utils/vue/props/runtime.js');
9
- var index = require('../../../hooks/use-common-props/index.js');
10
- var icon = require('../../../utils/vue/icon.js');
8
+ require('../../../tokens/index.js');
9
+ var button = require('./button.js');
10
+ var buttonCustom = require('./button-custom.js');
11
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
+ var index = require('../../../hooks/use-deprecated/index.js');
13
+ var button$1 = require('../../../tokens/button.js');
14
+ var index$1 = require('../../../hooks/use-global-config/index.js');
15
+ var index$2 = require('../../../hooks/use-namespace/index.js');
16
+ var index$3 = require('../../../hooks/use-form-item/index.js');
17
+ var index$4 = require('../../../hooks/use-common-props/index.js');
11
18
 
12
- const buttonTypes = [
13
- "default",
14
- "primary",
15
- "success",
16
- "warning",
17
- "info",
18
- "danger",
19
- "text",
20
- ""
21
- ];
22
- const buttonNativeTypes = ["button", "submit", "reset"];
23
- const buttonProps = runtime.buildProps({
24
- size: index.useSizeProp,
25
- disabled: Boolean,
26
- type: {
27
- type: String,
28
- values: buttonTypes,
29
- default: ""
30
- },
31
- icon: {
32
- type: icon.iconPropType
33
- },
34
- nativeType: {
35
- type: String,
36
- values: buttonNativeTypes,
37
- default: "button"
38
- },
39
- loading: Boolean,
40
- loadingIcon: {
41
- type: icon.iconPropType,
42
- default: () => iconsVue.Loading
43
- },
44
- plain: Boolean,
45
- text: Boolean,
46
- link: Boolean,
47
- bg: Boolean,
48
- autofocus: Boolean,
49
- round: Boolean,
50
- circle: Boolean,
51
- color: String,
52
- dark: Boolean,
53
- autoInsertSpace: {
54
- type: Boolean,
55
- default: void 0
19
+ const _hoisted_1 = ["aria-disabled", "disabled", "autofocus", "type"];
20
+ const __default__ = {
21
+ name: "ElButton"
22
+ };
23
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
+ ...__default__,
25
+ props: button.buttonProps,
26
+ emits: button.buttonEmits,
27
+ setup(__props, { expose, emit }) {
28
+ const props = __props;
29
+ const slots = vue.useSlots();
30
+ index.useDeprecated({
31
+ from: "type.text",
32
+ replacement: "link",
33
+ version: "3.0.0",
34
+ scope: "props",
35
+ ref: "https://element-plus.org/en-US/component/button.html#button-attributes"
36
+ }, vue.computed(() => props.type === "text"));
37
+ const buttonGroupContext = vue.inject(button$1.buttonGroupContextKey, void 0);
38
+ const globalConfig = index$1.useGlobalConfig("button");
39
+ const ns = index$2.useNamespace("button");
40
+ const { form } = index$3.useFormItem();
41
+ const _size = index$4.useSize(vue.computed(() => buttonGroupContext == null ? void 0 : buttonGroupContext.size));
42
+ const _disabled = index$4.useDisabled();
43
+ const _ref = vue.ref();
44
+ const _type = vue.computed(() => props.type || (buttonGroupContext == null ? void 0 : buttonGroupContext.type) || "");
45
+ const autoInsertSpace = vue.computed(() => {
46
+ var _a, _b, _c;
47
+ return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a = globalConfig.value) == null ? void 0 : _a.autoInsertSpace) != null ? _c : false;
48
+ });
49
+ const shouldAddSpace = vue.computed(() => {
50
+ var _a;
51
+ const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
52
+ if (autoInsertSpace.value && (defaultSlot == null ? void 0 : defaultSlot.length) === 1) {
53
+ const slot = defaultSlot[0];
54
+ if ((slot == null ? void 0 : slot.type) === vue.Text) {
55
+ const text = slot.children;
56
+ return /^\p{Unified_Ideograph}{2}$/u.test(text.trim());
57
+ }
58
+ }
59
+ return false;
60
+ });
61
+ const buttonStyle = buttonCustom.useButtonCustomStyle(props);
62
+ const handleClick = (evt) => {
63
+ if (props.nativeType === "reset") {
64
+ form == null ? void 0 : form.resetFields();
65
+ }
66
+ emit("click", evt);
67
+ };
68
+ expose({
69
+ ref: _ref,
70
+ size: _size,
71
+ type: _type,
72
+ disabled: _disabled,
73
+ shouldAddSpace
74
+ });
75
+ return (_ctx, _cache) => {
76
+ return vue.openBlock(), vue.createElementBlock("button", {
77
+ ref_key: "_ref",
78
+ ref: _ref,
79
+ class: vue.normalizeClass([
80
+ vue.unref(ns).b(),
81
+ vue.unref(ns).m(vue.unref(_type)),
82
+ vue.unref(ns).m(vue.unref(_size)),
83
+ vue.unref(ns).is("disabled", vue.unref(_disabled)),
84
+ vue.unref(ns).is("loading", _ctx.loading),
85
+ vue.unref(ns).is("plain", _ctx.plain),
86
+ vue.unref(ns).is("round", _ctx.round),
87
+ vue.unref(ns).is("circle", _ctx.circle),
88
+ vue.unref(ns).is("text", _ctx.text),
89
+ vue.unref(ns).is("link", _ctx.link),
90
+ vue.unref(ns).is("has-bg", _ctx.bg)
91
+ ]),
92
+ "aria-disabled": vue.unref(_disabled) || _ctx.loading,
93
+ disabled: vue.unref(_disabled) || _ctx.loading,
94
+ autofocus: _ctx.autofocus,
95
+ type: _ctx.nativeType,
96
+ style: vue.normalizeStyle(vue.unref(buttonStyle)),
97
+ onClick: handleClick
98
+ }, [
99
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
100
+ _ctx.$slots.loading ? vue.renderSlot(_ctx.$slots, "loading", { key: 0 }) : (vue.openBlock(), vue.createBlock(vue.unref(index$5.ElIcon), {
101
+ key: 1,
102
+ class: vue.normalizeClass(vue.unref(ns).is("loading"))
103
+ }, {
104
+ default: vue.withCtx(() => [
105
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.loadingIcon)))
106
+ ]),
107
+ _: 1
108
+ }, 8, ["class"]))
109
+ ], 64)) : _ctx.icon || _ctx.$slots.icon ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.ElIcon), { key: 1 }, {
110
+ default: vue.withCtx(() => [
111
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon), { key: 0 })) : vue.renderSlot(_ctx.$slots, "icon", { key: 1 })
112
+ ]),
113
+ _: 3
114
+ })) : vue.createCommentVNode("v-if", true),
115
+ _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("span", {
116
+ key: 2,
117
+ class: vue.normalizeClass({ [vue.unref(ns).em("text", "expand")]: vue.unref(shouldAddSpace) })
118
+ }, [
119
+ vue.renderSlot(_ctx.$slots, "default")
120
+ ], 2)) : vue.createCommentVNode("v-if", true)
121
+ ], 14, _hoisted_1);
122
+ };
56
123
  }
57
124
  });
58
- const buttonEmits = {
59
- click: (evt) => evt instanceof MouseEvent
60
- };
125
+ var Button = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/button/src/button.vue"]]);
61
126
 
62
- exports.buttonEmits = buttonEmits;
63
- exports.buttonNativeTypes = buttonNativeTypes;
64
- exports.buttonProps = buttonProps;
65
- exports.buttonTypes = buttonTypes;
127
+ exports["default"] = Button;
66
128
  //# sourceMappingURL=button2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button2.js","sources":["../../../../../../packages/components/button/src/button.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, iconPropType } from '@element-plus/utils'\nimport { Loading } from '@element-plus/icons-vue'\nimport type { ExtractPropTypes } from 'vue'\nimport type button from './button.vue'\n\nexport const buttonTypes = [\n 'default',\n 'primary',\n 'success',\n 'warning',\n 'info',\n 'danger',\n /**\n * @deprecated\n * Text type will be deprecated in the next major version (3.0.0)\n */\n 'text',\n '',\n] as const\nexport const buttonNativeTypes = ['button', 'submit', 'reset'] as const\n\nexport const buttonProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n type: {\n type: String,\n values: buttonTypes,\n default: '',\n },\n icon: {\n type: iconPropType,\n },\n nativeType: {\n type: String,\n values: buttonNativeTypes,\n default: 'button',\n },\n loading: Boolean,\n loadingIcon: {\n type: iconPropType,\n default: () => Loading,\n },\n plain: Boolean,\n text: Boolean,\n link: Boolean,\n bg: Boolean,\n autofocus: Boolean,\n round: Boolean,\n circle: Boolean,\n color: String,\n dark: Boolean,\n autoInsertSpace: {\n type: Boolean,\n default: undefined,\n },\n} as const)\nexport const buttonEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\n\nexport type ButtonProps = ExtractPropTypes<typeof buttonProps>\nexport type ButtonEmits = typeof buttonEmits\n\nexport type ButtonType = ButtonProps['type']\nexport type ButtonNativeType = ButtonProps['nativeType']\n\nexport type ButtonInstance = InstanceType<typeof button>\n\nexport interface ButtonConfigContext {\n autoInsertSpace?: boolean\n}\n"],"names":["buildProps","useSizeProp","iconPropType","Loading"],"mappings":";;;;;;;;;;;AAGY,MAAC,WAAW,GAAG;AAC3B,EAAE,SAAS;AACX,EAAE,SAAS;AACX,EAAE,SAAS;AACX,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,EAAE;AACJ,EAAE;AACU,MAAC,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;AACnD,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,iBAAiB;AAC7B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEA,iBAAY;AACtB,IAAI,OAAO,EAAE,MAAMC,gBAAO;AAC1B,GAAG;AACH,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,EAAE,EAAE,OAAO;AACb,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;;;;"}
1
+ {"version":3,"file":"button2.js","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\n <button\n ref=\"_ref\"\n :class=\"[\n ns.b(),\n ns.m(_type),\n ns.m(_size),\n ns.is('disabled', _disabled),\n ns.is('loading', loading),\n ns.is('plain', plain),\n ns.is('round', round),\n ns.is('circle', circle),\n ns.is('text', text),\n ns.is('link', link),\n ns.is('has-bg', bg),\n ]\"\n :aria-disabled=\"_disabled || loading\"\n :disabled=\"_disabled || loading\"\n :autofocus=\"autofocus\"\n :type=\"nativeType\"\n :style=\"buttonStyle\"\n @click=\"handleClick\"\n >\n <template v-if=\"loading\">\n <slot v-if=\"$slots.loading\" name=\"loading\" />\n <el-icon v-else :class=\"ns.is('loading')\">\n <component :is=\"loadingIcon\" />\n </el-icon>\n </template>\n <el-icon v-else-if=\"icon || $slots.icon\">\n <component :is=\"icon\" v-if=\"icon\" />\n <slot v-else name=\"icon\" />\n </el-icon>\n <span\n v-if=\"$slots.default\"\n :class=\"{ [ns.em('text', 'expand')]: shouldAddSpace }\"\n >\n <slot />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { Text, computed, inject, ref, useSlots } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useDeprecated,\n useDisabled,\n useFormItem,\n useGlobalConfig,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { buttonEmits, buttonProps } from './button'\nimport { useButtonCustomStyle } from './button-custom'\n\ndefineOptions({\n name: 'ElButton',\n})\n\nconst props = defineProps(buttonProps)\nconst emit = defineEmits(buttonEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n from: 'type.text',\n replacement: 'link',\n version: '3.0.0',\n scope: 'props',\n ref: 'https://element-plus.org/en-US/component/button.html#button-attributes',\n },\n computed(() => props.type === 'text')\n)\n\nconst buttonGroupContext = inject(buttonGroupContextKey, undefined)\nconst globalConfig = useGlobalConfig('button')\nconst ns = useNamespace('button')\nconst { form } = useFormItem()\nconst _size = useSize(computed(() => buttonGroupContext?.size))\nconst _disabled = useDisabled()\nconst _ref = ref<HTMLButtonElement>()\n\nconst _type = computed(() => props.type || buttonGroupContext?.type || '')\nconst autoInsertSpace = computed(\n () => props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n)\n\n// add space between two characters in Chinese\nconst shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children as string\n return /^\\p{Unified_Ideograph}{2}$/u.test(text.trim())\n }\n }\n return false\n})\n\nconst buttonStyle = useButtonCustomStyle(props)\n\nconst handleClick = (evt: MouseEvent) => {\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n}\n\ndefineExpose({\n /** @description button html element */\n ref: _ref,\n /** @description button size */\n size: _size,\n /** @description button type */\n type: _type,\n /** @description button disabled */\n disabled: _disabled,\n /** @description whether adding space */\n shouldAddSpace,\n})\n</script>\n"],"names":["useSlots","useDeprecated","computed","inject","buttonGroupContextKey","useGlobalConfig","useNamespace","useFormItem","useSize","useDisabled","ref","Text","useButtonCustomStyle"],"mappings":"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"}
@@ -31,6 +31,9 @@ export declare const ElCalendar: import("element-plus/es/utils").SFCWithInstall<
31
31
  onInput?: ((value: Date) => any) | undefined;
32
32
  }>>;
33
33
  emit: ((event: "update:modelValue", value: Date) => void) & ((event: "input", value: Date) => void);
34
+ solts: Readonly<{
35
+ [name: string]: import("vue").Slot | undefined;
36
+ }>;
34
37
  ns: {
35
38
  namespace: import("vue").Ref<string>;
36
39
  b: (blockSuffix?: string) => string;
@@ -35,6 +35,9 @@ declare const _default: import("vue").DefineComponent<{
35
35
  onInput?: ((value: Date) => any) | undefined;
36
36
  }>>;
37
37
  emit: ((event: "update:modelValue", value: Date) => void) & ((event: "input", value: Date) => void);
38
+ solts: Readonly<{
39
+ [name: string]: import("vue").Slot | undefined;
40
+ }>;
38
41
  ns: {
39
42
  namespace: import("vue").Ref<string>;
40
43
  b: (blockSuffix?: string) => string;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var dayjs = require('dayjs');
7
- var index$2 = require('../../button/index.js');
7
+ var index$3 = require('../../button/index.js');
8
8
  require('../../../hooks/index.js');
9
9
  require('../../../utils/index.js');
10
10
  require('../../../constants/index.js');
@@ -15,6 +15,7 @@ var index = require('../../../hooks/use-namespace/index.js');
15
15
  var index$1 = require('../../../hooks/use-locale/index.js');
16
16
  var event = require('../../../constants/event.js');
17
17
  var error = require('../../../utils/error.js');
18
+ var index$2 = require('../../../hooks/use-deprecated/index.js');
18
19
 
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
21
 
@@ -30,6 +31,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
30
31
  setup(__props, { expose, emit }) {
31
32
  const props = __props;
32
33
  const COMPONENT_NAME = "ElCalendar";
34
+ const solts = vue.useSlots();
33
35
  const ns = index.useNamespace("calendar");
34
36
  const { t, lang } = index$1.useLocale();
35
37
  const selectedDay = vue.ref();
@@ -141,6 +143,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
141
143
  return;
142
144
  pickDay(day);
143
145
  };
146
+ index$2.useDeprecated({
147
+ from: '"dateCell"',
148
+ replacement: '"date-cell"',
149
+ scope: "ElCalendar",
150
+ version: "2.3.0",
151
+ ref: "https://element-plus.org/en-US/component/calendar.html#slots",
152
+ type: "Slot"
153
+ }, vue.computed(() => !!solts.dateCell));
144
154
  expose({
145
155
  selectedDay: realSelectedDay,
146
156
  pickDay,
@@ -162,9 +172,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
162
172
  key: 0,
163
173
  class: vue.normalizeClass(vue.unref(ns).e("button-group"))
164
174
  }, [
165
- vue.createVNode(vue.unref(index$2.ElButtonGroup), null, {
175
+ vue.createVNode(vue.unref(index$3.ElButtonGroup), null, {
166
176
  default: vue.withCtx(() => [
167
- vue.createVNode(vue.unref(index$2.ElButton), {
177
+ vue.createVNode(vue.unref(index$3.ElButton), {
168
178
  size: "small",
169
179
  onClick: _cache[0] || (_cache[0] = ($event) => selectDate("prev-month"))
170
180
  }, {
@@ -173,7 +183,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
173
183
  ]),
174
184
  _: 1
175
185
  }),
176
- vue.createVNode(vue.unref(index$2.ElButton), {
186
+ vue.createVNode(vue.unref(index$3.ElButton), {
177
187
  size: "small",
178
188
  onClick: _cache[1] || (_cache[1] = ($event) => selectDate("today"))
179
189
  }, {
@@ -182,7 +192,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
182
192
  ]),
183
193
  _: 1
184
194
  }),
185
- vue.createVNode(vue.unref(index$2.ElButton), {
195
+ vue.createVNode(vue.unref(index$3.ElButton), {
186
196
  size: "small",
187
197
  onClick: _cache[2] || (_cache[2] = ($event) => selectDate("next-month"))
188
198
  }, {
@@ -206,10 +216,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
206
216
  "selected-day": vue.unref(realSelectedDay),
207
217
  onPick: pickDay
208
218
  }, vue.createSlots({ _: 2 }, [
209
- _ctx.$slots.dateCell ? {
210
- name: "dateCell",
219
+ _ctx.$slots["date-cell"] || _ctx.$slots.dateCell ? {
220
+ name: "date-cell",
211
221
  fn: vue.withCtx((data) => [
212
- vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.guardReactiveProps(data)))
222
+ _ctx.$slots["date-cell"] ? vue.renderSlot(_ctx.$slots, "date-cell", vue.normalizeProps(vue.mergeProps({ key: 0 }, data))) : vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.mergeProps({ key: 1 }, data)))
213
223
  ])
214
224
  } : void 0
215
225
  ]), 1032, ["date", "selected-day"])
@@ -226,10 +236,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
226
236
  "hide-header": index !== 0,
227
237
  onPick: pickDay
228
238
  }, vue.createSlots({ _: 2 }, [
229
- _ctx.$slots.dateCell ? {
230
- name: "dateCell",
239
+ _ctx.$slots["date-cell"] || _ctx.$slots.dateCell ? {
240
+ name: "date-cell",
231
241
  fn: vue.withCtx((data) => [
232
- vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.guardReactiveProps(data)))
242
+ _ctx.$slots["date-cell"] ? vue.renderSlot(_ctx.$slots, "date-cell", vue.normalizeProps(vue.mergeProps({ key: 0 }, data))) : vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.mergeProps({ key: 1 }, data)))
233
243
  ])
234
244
  } : void 0
235
245
  ]), 1032, ["date", "selected-day", "range", "hide-header"]);
@@ -1 +1 @@
1
- {"version":3,"file":"calendar2.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","dayjs","computed","INPUT_EVENT","UPDATE_MODEL_EVENT","debugWarn"],"mappings":"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"}
1
+ {"version":3,"file":"calendar2.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template\n v-if=\"$slots['date-cell'] || $slots.dateCell\"\n #date-cell=\"data\"\n >\n <slot v-if=\"$slots['date-cell']\" name=\"date-cell\" v-bind=\"data\" />\n <slot v-else name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template\n v-if=\"$slots['date-cell'] || $slots.dateCell\"\n #date-cell=\"data\"\n >\n <slot v-if=\"$slots['date-cell']\" name=\"date-cell\" v-bind=\"data\" />\n <slot v-else name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst solts = useSlots()\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\nuseDeprecated(\n {\n from: '\"dateCell\"',\n replacement: '\"date-cell\"',\n scope: 'ElCalendar',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/calendar.html#slots',\n type: 'Slot',\n },\n computed(() => !!solts.dateCell)\n)\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useSlots","useNamespace","useLocale","ref","dayjs","computed","INPUT_EVENT","UPDATE_MODEL_EVENT","debugWarn","useDeprecated"],"mappings":"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"}
@@ -149,7 +149,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
149
149
  vue.createElementVNode("div", {
150
150
  class: vue.normalizeClass(vue.unref(nsDay).b())
151
151
  }, [
152
- vue.renderSlot(_ctx.$slots, "dateCell", {
152
+ vue.renderSlot(_ctx.$slots, "date-cell", {
153
153
  data: getSlotData(cell)
154
154
  }, () => [
155
155
  vue.createElementVNode("span", null, vue.toDisplayString(cell.text), 1)
@@ -1 +1 @@
1
- {"version":3,"file":"date-table2.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { WEEK_DAYS } from '@element-plus/constants'\nimport {\n dateTableEmits,\n dateTableProps,\n getMonthDays,\n getPrevMonthLastDays,\n toNestedArr,\n} from './date-table'\n\nimport type { CalendarDateCell, CalendarDateCellType } from './date-table'\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DateTable',\n})\n\nconst props = defineProps(dateTableProps)\nconst emit = defineEmits(dateTableEmits)\n\ndayjs.extend(localeData)\n\nconst { t, lang } = useLocale()\nconst nsTable = useNamespace('calendar-table')\nconst nsDay = useNamespace('calendar-day')\n\nconst now = dayjs().locale(lang.value)\n// todo better way to get Day.js locale object\nconst firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\nconst isInRange = computed(() => !!props.range && !!props.range.length)\n\nconst rows = computed(() => {\n let days: CalendarDateCell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: CalendarDateCell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day()\n const prevMonthDays: CalendarDateCell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: CalendarDateCell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const remaining = 7 - (days.length % 7 || 7)\n const nextMonthDays: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n})\n\nconst weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n})\n\nconst getFormattedDate = (day: number, type: CalendarDateCellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n}\n\nconst getCellClass = ({ text, type }: CalendarDateCell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push(nsDay.is('selected'))\n }\n if (date.isSame(now, 'day')) {\n classes.push(nsDay.is('today'))\n }\n }\n return classes\n}\n\nconst handlePickDay = ({ text, type }: CalendarDateCell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n}\n\nconst getSlotData = ({ text, type }: CalendarDateCell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n}\n\ndefineExpose({\n /** @description toggle date panel */\n getFormattedDate,\n})\n</script>\n"],"names":["dayjs","localeData","useLocale","useNamespace","computed","rangeArr","getPrevMonthLastDays","getMonthDays","toNestedArr","WEEK_DAYS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAAA,yBAAA,CAAA,OAAAC,8BAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAAC,eAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAAC,qBAAA,gBAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAAA,qBAAA,cAAA,CAAA,CAAA;AAEA,IAAA,MAAA,GAAA,GAAAH,yBAAA,EAAA,CAAA,MAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,GAAA,GAAA,CAAA,OAAA,EAAA,CAAA,SAAA,IAAA,CAAA,CAAA;AAEA,IAAA,MAAA,SAAA,GAAAI,YAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAEA,IAAA,MAAA,IAAA,GAAAA,aAAA,MAAA;AACA,MAAA,IAAA,OAAA,EAAA,CAAA;AACA,MAAA,IAAA,UAAA,KAAA,EAAA;AACA,QAAA,MAAA,CAAA,KAAA,EAAA,GAAA,CAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACA,QAAA,MAAA,iBAAA,GAAAC,cAAA,CACA,GAAA,CAAA,IAAA,EAAA,GAAA,KAAA,CAAA,IAAA,EAAA,GAAA,CACA,CAAA,CAAA,GAAA,CAAA,CAAA,KAAA,MAAA;AAAA,UACA,IAAA,EAAA,KAAA,CAAA,IAAA,EAAA,GAAA,KAAA;AAAA,UACA,IAAA,EAAA,SAAA;AAAA,SACA,CAAA,CAAA,CAAA;AAEA,QAAA,IAAA,SAAA,GAAA,kBAAA,MAAA,GAAA,CAAA,CAAA;AACA,QAAA,SAAA,GAAA,SAAA,KAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,SAAA,CAAA;AACA,QAAA,MAAA,iBAAAA,cAAA,CAAA,SAAA,EAAA,GACA,CAAA,CAAA,GAAA,KAAA,MAAA;AAAA,UACA,MAAA,KAAA,GAAA,CAAA;AAAA,UACA,IAAA,EAAA,MAAA;AAAA,SAEA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,GAAA,iBAAA,CAAA,OAAA,cAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,MAAA,WAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,EAAA,GAAA,EAAA,CAAA;AACA,QAAA,MAAA,aAAA,GAAAC,+BACA,KAAA,CAAA,IAAA,EACA,WAAA,cACA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA;AAAA,UACA,IAAA,EAAA,GAAA;AAAA,UACA,IAAA,EAAA,MAAA;AAAA,SACA,CAAA,CAAA,CAAA;AACA,QAAA,MAAA,mBAAAC,sBAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,GAAA,CACA,CAAA,GAAA,MAAA;AAAA,UACA,IAAA,EAAA,GAAA;AAAA,UACA,IAAA,EAAA,SAAA;AAAA,SAEA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,GAAA,CAAA,GAAA,aAAA,EAAA,GAAA,gBAAA,CAAA,CAAA;AACA,QAAA,MAAA,SAAA,GAAA,CAAA,IAAA,IAAA,CAAA,MAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,QAAA,MAAA,gBAAAF,cAAA,CAAA,SAAA,EAAA,GACA,CAAA,CAAA,GAAA,KAAA,MAAA;AAAA,UACA,MAAA,KAAA,GAAA,CAAA;AAAA,UACA,IAAA,EAAA,MAAA;AAAA,SAEA,CAAA,CAAA,CAAA;AACA,QAAA,IAAA,GAAA,IAAA,CAAA,OAAA,aAAA,CAAA,CAAA;AAAA,OACA;AACA,MAAA,OAAAG,sBAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAAJ,aAAA,MAAA;AACA,MAAA,MAAA,KAAA,GAAA,cAAA,CAAA;AACA,MAAA,IAAA,UAAA,CAAA,EAAA;AACA,QAAA,OAAAK,eAAA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,OAAAA,eAAA,KAAA,CAAA,KAAA,CACA,CAAA,MAAA,CAAAA,eAAA,KAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EACA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,gBAAA,GAAA,CAAA,GAAA,EAAA,IAAA,KAAA;AACA,MAAA,QAAA,IAAA;AAAA,QACA,KAAA,MAAA;AACA,UAAA,OAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,SAAA,CAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,QACA,KAAA,MAAA;AACA,UAAA,OAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,IAAA,CAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,QACA,KAAA,SAAA;AACA,UAAA,OAAA,KAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAEA,CAAA;AAEA,IAAA,MAAA,YAAA,GAAA,CAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA;AACA,MAAA,MAAA,OAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,SAAA,SAAA,EAAA;AACA,QAAA,MAAA,IAAA,GAAA,gBAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,EAAA,KAAA,CAAA,EAAA;AACA,UAAA,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA,EAAA;AACA,UAAA,OAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA;AACA,MAAA,OAAA,OAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,aAAA,GAAA,CAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA;AACA,MAAA,MAAA,IAAA,GAAA,gBAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAA,IAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,CAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA;AACA,MAAA,MAAA,GAAA,GAAA,gBAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,UAAA,EAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,CAAA;AAAA,QACA,MAAA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAA;AAAA,QACA,GAAA,EAAA,GAAA,CAAA,MAAA,CAAA,YAAA,CAAA;AAAA,QACA,IAAA,EAAA,IAAA,MAAA,EAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,gBAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"date-table2.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"date-cell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { WEEK_DAYS } from '@element-plus/constants'\nimport {\n dateTableEmits,\n dateTableProps,\n getMonthDays,\n getPrevMonthLastDays,\n toNestedArr,\n} from './date-table'\n\nimport type { CalendarDateCell, CalendarDateCellType } from './date-table'\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DateTable',\n})\n\nconst props = defineProps(dateTableProps)\nconst emit = defineEmits(dateTableEmits)\n\ndayjs.extend(localeData)\n\nconst { t, lang } = useLocale()\nconst nsTable = useNamespace('calendar-table')\nconst nsDay = useNamespace('calendar-day')\n\nconst now = dayjs().locale(lang.value)\n// todo better way to get Day.js locale object\nconst firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\nconst isInRange = computed(() => !!props.range && !!props.range.length)\n\nconst rows = computed(() => {\n let days: CalendarDateCell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: CalendarDateCell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day()\n const prevMonthDays: CalendarDateCell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: CalendarDateCell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const remaining = 7 - (days.length % 7 || 7)\n const nextMonthDays: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n})\n\nconst weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n})\n\nconst getFormattedDate = (day: number, type: CalendarDateCellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n}\n\nconst getCellClass = ({ text, type }: CalendarDateCell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push(nsDay.is('selected'))\n }\n if (date.isSame(now, 'day')) {\n classes.push(nsDay.is('today'))\n }\n }\n return classes\n}\n\nconst handlePickDay = ({ text, type }: CalendarDateCell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n}\n\nconst getSlotData = ({ text, type }: CalendarDateCell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n}\n\ndefineExpose({\n /** @description toggle date panel */\n getFormattedDate,\n})\n</script>\n"],"names":["dayjs","localeData","useLocale","useNamespace","computed","rangeArr","getPrevMonthLastDays","getMonthDays","toNestedArr","WEEK_DAYS"],"mappings":"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"}