@element-plus/nightly 0.0.20220603 → 0.0.20220604

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 (450) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +829 -5696
  3. package/dist/index.full.min.js +37 -23
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +39 -25
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +830 -5697
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +1 -1
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.mjs +1 -1
  35. package/dist/locale/cs.mjs +1 -1
  36. package/dist/locale/da.js +1 -1
  37. package/dist/locale/da.min.js +1 -1
  38. package/dist/locale/da.min.mjs +1 -1
  39. package/dist/locale/da.mjs +1 -1
  40. package/dist/locale/de.js +1 -1
  41. package/dist/locale/de.min.js +1 -1
  42. package/dist/locale/de.min.mjs +1 -1
  43. package/dist/locale/de.mjs +1 -1
  44. package/dist/locale/el.js +1 -1
  45. package/dist/locale/el.min.js +1 -1
  46. package/dist/locale/el.min.mjs +1 -1
  47. package/dist/locale/el.mjs +1 -1
  48. package/dist/locale/en.js +1 -1
  49. package/dist/locale/en.min.js +1 -1
  50. package/dist/locale/en.min.mjs +1 -1
  51. package/dist/locale/en.mjs +1 -1
  52. package/dist/locale/eo.js +1 -1
  53. package/dist/locale/eo.min.js +1 -1
  54. package/dist/locale/eo.min.mjs +1 -1
  55. package/dist/locale/eo.mjs +1 -1
  56. package/dist/locale/es.js +1 -1
  57. package/dist/locale/es.min.js +1 -1
  58. package/dist/locale/es.min.mjs +1 -1
  59. package/dist/locale/es.mjs +1 -1
  60. package/dist/locale/et.js +1 -1
  61. package/dist/locale/et.min.js +1 -1
  62. package/dist/locale/et.min.mjs +1 -1
  63. package/dist/locale/et.mjs +1 -1
  64. package/dist/locale/eu.js +1 -1
  65. package/dist/locale/eu.min.js +1 -1
  66. package/dist/locale/eu.min.mjs +1 -1
  67. package/dist/locale/eu.mjs +1 -1
  68. package/dist/locale/fa.js +1 -1
  69. package/dist/locale/fa.min.js +1 -1
  70. package/dist/locale/fa.min.mjs +1 -1
  71. package/dist/locale/fa.mjs +1 -1
  72. package/dist/locale/fi.js +1 -1
  73. package/dist/locale/fi.min.js +1 -1
  74. package/dist/locale/fi.min.mjs +1 -1
  75. package/dist/locale/fi.mjs +1 -1
  76. package/dist/locale/fr.js +1 -1
  77. package/dist/locale/fr.min.js +1 -1
  78. package/dist/locale/fr.min.mjs +1 -1
  79. package/dist/locale/fr.mjs +1 -1
  80. package/dist/locale/he.js +1 -1
  81. package/dist/locale/he.min.js +1 -1
  82. package/dist/locale/he.min.mjs +1 -1
  83. package/dist/locale/he.mjs +1 -1
  84. package/dist/locale/hr.js +1 -1
  85. package/dist/locale/hr.min.js +1 -1
  86. package/dist/locale/hr.min.mjs +1 -1
  87. package/dist/locale/hr.mjs +1 -1
  88. package/dist/locale/hu.js +1 -1
  89. package/dist/locale/hu.min.js +1 -1
  90. package/dist/locale/hu.min.mjs +1 -1
  91. package/dist/locale/hu.mjs +1 -1
  92. package/dist/locale/hy-am.js +1 -1
  93. package/dist/locale/hy-am.min.js +1 -1
  94. package/dist/locale/hy-am.min.mjs +1 -1
  95. package/dist/locale/hy-am.mjs +1 -1
  96. package/dist/locale/id.js +1 -1
  97. package/dist/locale/id.min.js +1 -1
  98. package/dist/locale/id.min.mjs +1 -1
  99. package/dist/locale/id.mjs +1 -1
  100. package/dist/locale/it.js +1 -1
  101. package/dist/locale/it.min.js +1 -1
  102. package/dist/locale/it.min.mjs +1 -1
  103. package/dist/locale/it.mjs +1 -1
  104. package/dist/locale/ja.js +1 -1
  105. package/dist/locale/ja.min.js +1 -1
  106. package/dist/locale/ja.min.mjs +1 -1
  107. package/dist/locale/ja.mjs +1 -1
  108. package/dist/locale/kk.js +1 -1
  109. package/dist/locale/kk.min.js +1 -1
  110. package/dist/locale/kk.min.mjs +1 -1
  111. package/dist/locale/kk.mjs +1 -1
  112. package/dist/locale/km.js +1 -1
  113. package/dist/locale/km.min.js +1 -1
  114. package/dist/locale/km.min.mjs +1 -1
  115. package/dist/locale/km.mjs +1 -1
  116. package/dist/locale/ko.js +1 -1
  117. package/dist/locale/ko.min.js +1 -1
  118. package/dist/locale/ko.min.mjs +1 -1
  119. package/dist/locale/ko.mjs +1 -1
  120. package/dist/locale/ku.js +1 -1
  121. package/dist/locale/ku.min.js +1 -1
  122. package/dist/locale/ku.min.mjs +1 -1
  123. package/dist/locale/ku.mjs +1 -1
  124. package/dist/locale/ky.js +1 -1
  125. package/dist/locale/ky.min.js +1 -1
  126. package/dist/locale/ky.min.mjs +1 -1
  127. package/dist/locale/ky.mjs +1 -1
  128. package/dist/locale/lt.js +1 -1
  129. package/dist/locale/lt.min.js +1 -1
  130. package/dist/locale/lt.min.mjs +1 -1
  131. package/dist/locale/lt.mjs +1 -1
  132. package/dist/locale/lv.js +1 -1
  133. package/dist/locale/lv.min.js +1 -1
  134. package/dist/locale/lv.min.mjs +1 -1
  135. package/dist/locale/lv.mjs +1 -1
  136. package/dist/locale/mg.js +1 -1
  137. package/dist/locale/mg.min.js +1 -1
  138. package/dist/locale/mg.min.mjs +1 -1
  139. package/dist/locale/mg.mjs +1 -1
  140. package/dist/locale/mn.js +1 -1
  141. package/dist/locale/mn.min.js +1 -1
  142. package/dist/locale/mn.min.mjs +1 -1
  143. package/dist/locale/mn.mjs +1 -1
  144. package/dist/locale/nb-no.js +1 -1
  145. package/dist/locale/nb-no.min.js +1 -1
  146. package/dist/locale/nb-no.min.mjs +1 -1
  147. package/dist/locale/nb-no.mjs +1 -1
  148. package/dist/locale/nl.js +1 -1
  149. package/dist/locale/nl.min.js +1 -1
  150. package/dist/locale/nl.min.mjs +1 -1
  151. package/dist/locale/nl.mjs +1 -1
  152. package/dist/locale/pa.js +1 -1
  153. package/dist/locale/pa.min.js +1 -1
  154. package/dist/locale/pa.min.mjs +1 -1
  155. package/dist/locale/pa.mjs +1 -1
  156. package/dist/locale/pl.js +1 -1
  157. package/dist/locale/pl.min.js +1 -1
  158. package/dist/locale/pl.min.mjs +1 -1
  159. package/dist/locale/pl.mjs +1 -1
  160. package/dist/locale/pt-br.js +1 -1
  161. package/dist/locale/pt-br.min.js +1 -1
  162. package/dist/locale/pt-br.min.mjs +1 -1
  163. package/dist/locale/pt-br.mjs +1 -1
  164. package/dist/locale/pt.js +1 -1
  165. package/dist/locale/pt.min.js +1 -1
  166. package/dist/locale/pt.min.mjs +1 -1
  167. package/dist/locale/pt.mjs +1 -1
  168. package/dist/locale/ro.js +1 -1
  169. package/dist/locale/ro.min.js +1 -1
  170. package/dist/locale/ro.min.mjs +1 -1
  171. package/dist/locale/ro.mjs +1 -1
  172. package/dist/locale/ru.js +1 -1
  173. package/dist/locale/ru.min.js +1 -1
  174. package/dist/locale/ru.min.mjs +1 -1
  175. package/dist/locale/ru.mjs +1 -1
  176. package/dist/locale/sk.js +1 -1
  177. package/dist/locale/sk.min.js +1 -1
  178. package/dist/locale/sk.min.mjs +1 -1
  179. package/dist/locale/sk.mjs +1 -1
  180. package/dist/locale/sl.js +1 -1
  181. package/dist/locale/sl.min.js +1 -1
  182. package/dist/locale/sl.min.mjs +1 -1
  183. package/dist/locale/sl.mjs +1 -1
  184. package/dist/locale/sr.js +1 -1
  185. package/dist/locale/sr.min.js +1 -1
  186. package/dist/locale/sr.min.mjs +1 -1
  187. package/dist/locale/sr.mjs +1 -1
  188. package/dist/locale/sv.js +1 -1
  189. package/dist/locale/sv.min.js +1 -1
  190. package/dist/locale/sv.min.mjs +1 -1
  191. package/dist/locale/sv.mjs +1 -1
  192. package/dist/locale/ta.js +1 -1
  193. package/dist/locale/ta.min.js +1 -1
  194. package/dist/locale/ta.min.mjs +1 -1
  195. package/dist/locale/ta.mjs +1 -1
  196. package/dist/locale/th.js +1 -1
  197. package/dist/locale/th.min.js +1 -1
  198. package/dist/locale/th.min.mjs +1 -1
  199. package/dist/locale/th.mjs +1 -1
  200. package/dist/locale/tk.js +1 -1
  201. package/dist/locale/tk.min.js +1 -1
  202. package/dist/locale/tk.min.mjs +1 -1
  203. package/dist/locale/tk.mjs +1 -1
  204. package/dist/locale/tr.js +1 -1
  205. package/dist/locale/tr.min.js +1 -1
  206. package/dist/locale/tr.min.mjs +1 -1
  207. package/dist/locale/tr.mjs +1 -1
  208. package/dist/locale/ug-cn.js +1 -1
  209. package/dist/locale/ug-cn.min.js +1 -1
  210. package/dist/locale/ug-cn.min.mjs +1 -1
  211. package/dist/locale/ug-cn.mjs +1 -1
  212. package/dist/locale/uk.js +1 -1
  213. package/dist/locale/uk.min.js +1 -1
  214. package/dist/locale/uk.min.mjs +1 -1
  215. package/dist/locale/uk.mjs +1 -1
  216. package/dist/locale/uz-uz.js +1 -1
  217. package/dist/locale/uz-uz.min.js +1 -1
  218. package/dist/locale/uz-uz.min.mjs +1 -1
  219. package/dist/locale/uz-uz.mjs +1 -1
  220. package/dist/locale/vi.js +1 -1
  221. package/dist/locale/vi.min.js +1 -1
  222. package/dist/locale/vi.min.mjs +1 -1
  223. package/dist/locale/vi.mjs +1 -1
  224. package/dist/locale/zh-cn.js +1 -1
  225. package/dist/locale/zh-cn.min.js +1 -1
  226. package/dist/locale/zh-cn.min.mjs +1 -1
  227. package/dist/locale/zh-cn.mjs +1 -1
  228. package/dist/locale/zh-tw.js +1 -1
  229. package/dist/locale/zh-tw.min.js +1 -1
  230. package/dist/locale/zh-tw.min.mjs +1 -1
  231. package/dist/locale/zh-tw.mjs +1 -1
  232. package/es/components/badge/src/badge4.mjs +1 -1
  233. package/es/components/badge/src/badge4.mjs.map +1 -1
  234. package/es/components/date-picker/src/date-picker-com/basic-month-table2.mjs +97 -103
  235. package/es/components/date-picker/src/date-picker-com/basic-month-table2.mjs.map +1 -1
  236. package/es/components/focus-trap/src/focus-trap2.mjs +1 -1
  237. package/es/components/focus-trap/src/focus-trap2.mjs.map +1 -1
  238. package/es/components/loading/src/loading2.mjs +3 -3
  239. package/es/components/loading/src/loading2.mjs.map +1 -1
  240. package/es/components/tag/src/tag4.mjs +5 -6
  241. package/es/components/tag/src/tag4.mjs.map +1 -1
  242. package/es/components/time-picker/src/common/picker2.mjs +14 -5
  243. package/es/components/time-picker/src/common/picker2.mjs.map +1 -1
  244. package/es/components/timeline/src/timeline-item3.mjs +3 -0
  245. package/es/components/timeline/src/timeline-item3.mjs.map +1 -1
  246. package/es/components/upload/src/upload-content4.mjs +3 -4
  247. package/es/components/upload/src/upload-content4.mjs.map +1 -1
  248. package/es/packages/components/alert/index.d.ts +2 -2
  249. package/es/packages/components/alert/src/alert.vue.d.ts +2 -2
  250. package/es/packages/components/autocomplete/index.d.ts +7 -7
  251. package/es/packages/components/autocomplete/src/autocomplete.vue.d.ts +7 -7
  252. package/es/packages/components/backtop/index.d.ts +1 -1
  253. package/es/packages/components/backtop/src/backtop.vue.d.ts +1 -1
  254. package/es/packages/components/button/index.d.ts +3 -3
  255. package/es/packages/components/button/src/button.d.ts +1 -1
  256. package/es/packages/components/button/src/button.vue.d.ts +3 -3
  257. package/es/packages/components/calendar/index.d.ts +3 -3
  258. package/es/packages/components/calendar/src/calendar.vue.d.ts +3 -3
  259. package/es/packages/components/carousel/index.d.ts +2 -2
  260. package/es/packages/components/carousel/src/carousel.vue.d.ts +2 -2
  261. package/es/packages/components/cascader/index.d.ts +8 -8
  262. package/es/packages/components/cascader/src/index.vue.d.ts +4 -4
  263. package/es/packages/components/collapse/index.d.ts +2 -2
  264. package/es/packages/components/collapse/src/collapse-item.vue.d.ts +1 -1
  265. package/es/packages/components/date-picker/index.d.ts +4 -4
  266. package/es/packages/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +73 -7
  267. package/es/packages/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +99 -16
  268. package/es/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +9 -9
  269. package/es/packages/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +92 -9
  270. package/es/packages/components/date-picker/src/date-picker.d.ts +2 -2
  271. package/es/packages/components/date-picker/src/utils.d.ts +200 -34
  272. package/es/packages/components/dialog/index.d.ts +1 -1
  273. package/es/packages/components/dialog/src/dialog-content.vue.d.ts +1 -1
  274. package/es/packages/components/dialog/src/dialog.vue.d.ts +1 -1
  275. package/es/packages/components/image/index.d.ts +7 -7
  276. package/es/packages/components/image/src/image.vue.d.ts +7 -7
  277. package/es/packages/components/image-viewer/index.d.ts +7 -7
  278. package/es/packages/components/image-viewer/src/image-viewer.vue.d.ts +7 -7
  279. package/es/packages/components/input/index.d.ts +2 -2
  280. package/es/packages/components/input/src/input.vue.d.ts +2 -2
  281. package/es/packages/components/input-number/index.d.ts +10 -10
  282. package/es/packages/components/input-number/src/input-number.vue.d.ts +10 -10
  283. package/es/packages/components/loading/index.d.ts +1 -1
  284. package/es/packages/components/loading/src/loading.d.ts +1 -1
  285. package/es/packages/components/message/src/message.vue.d.ts +1 -1
  286. package/es/packages/components/message-box/src/index.vue.d.ts +1 -1
  287. package/es/packages/components/page-header/index.d.ts +2 -2
  288. package/es/packages/components/page-header/src/page-header.d.ts +1 -1
  289. package/es/packages/components/page-header/src/page-header.vue.d.ts +2 -2
  290. package/es/packages/components/pagination/src/components/jumper.vue.d.ts +2 -2
  291. package/es/packages/components/pagination/src/components/next.vue.d.ts +1 -1
  292. package/es/packages/components/pagination/src/components/pager.vue.d.ts +3 -3
  293. package/es/packages/components/pagination/src/components/prev.vue.d.ts +1 -1
  294. package/es/packages/components/pagination/src/components/sizes.vue.d.ts +4 -4
  295. package/es/packages/components/popconfirm/index.d.ts +3 -3
  296. package/es/packages/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  297. package/es/packages/components/progress/index.d.ts +1 -1
  298. package/es/packages/components/progress/src/progress.vue.d.ts +1 -1
  299. package/es/packages/components/rate/index.d.ts +9 -9
  300. package/es/packages/components/rate/src/rate.d.ts +3 -3
  301. package/es/packages/components/rate/src/rate.vue.d.ts +9 -9
  302. package/es/packages/components/select/index.d.ts +4 -4
  303. package/es/packages/components/select/src/select.vue.d.ts +4 -4
  304. package/es/packages/components/select-v2/index.d.ts +6 -6
  305. package/es/packages/components/select-v2/src/defaults.d.ts +1 -1
  306. package/es/packages/components/select-v2/src/select.vue.d.ts +3 -3
  307. package/es/packages/components/select-v2/src/useSelect.d.ts +1 -1
  308. package/es/packages/components/skeleton/index.d.ts +3 -3
  309. package/es/packages/components/skeleton/src/skeleton-item.vue.d.ts +1 -1
  310. package/es/packages/components/skeleton/src/skeleton.vue.d.ts +1 -1
  311. package/es/packages/components/steps/index.d.ts +4 -4
  312. package/es/packages/components/steps/src/item.vue.d.ts +2 -2
  313. package/es/packages/components/tag/index.d.ts +1 -1
  314. package/es/packages/components/tag/src/tag.vue.d.ts +1 -1
  315. package/es/packages/components/time-picker/index.d.ts +4 -4
  316. package/es/packages/components/time-picker/src/common/picker.vue.d.ts +3 -3
  317. package/es/packages/components/time-picker/src/common/props.d.ts +1 -1
  318. package/es/packages/components/time-picker/src/time-picker.d.ts +2 -2
  319. package/es/packages/components/time-select/index.d.ts +28 -28
  320. package/es/packages/components/time-select/src/time-select.d.ts +2 -2
  321. package/es/packages/components/time-select/src/time-select.vue.d.ts +14 -14
  322. package/es/packages/components/timeline/index.d.ts +18 -18
  323. package/es/packages/components/timeline/src/timeline-item.d.ts +3 -3
  324. package/es/packages/components/timeline/src/timeline-item.vue.d.ts +9 -9
  325. package/es/packages/components/transfer/index.d.ts +8 -8
  326. package/es/packages/components/transfer/src/index.vue.d.ts +4 -4
  327. package/es/packages/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  328. package/es/packages/components/tree/src/tree-node.vue.d.ts +1 -1
  329. package/es/packages/components/upload/index.d.ts +7 -7
  330. package/es/packages/components/upload/src/upload-list.vue.d.ts +7 -7
  331. package/es/packages/components/upload/src/upload.vue.d.ts +7 -7
  332. package/es/packages/utils/vue/icon.d.ts +13 -13
  333. package/es/packages/version.d.ts +1 -1
  334. package/es/version2.mjs +1 -1
  335. package/es/version2.mjs.map +1 -1
  336. package/lib/components/badge/src/badge4.js +1 -1
  337. package/lib/components/badge/src/badge4.js.map +1 -1
  338. package/lib/components/date-picker/src/date-picker-com/basic-month-table2.js +96 -102
  339. package/lib/components/date-picker/src/date-picker-com/basic-month-table2.js.map +1 -1
  340. package/lib/components/focus-trap/src/focus-trap2.js +1 -1
  341. package/lib/components/focus-trap/src/focus-trap2.js.map +1 -1
  342. package/lib/components/loading/src/loading2.js +3 -3
  343. package/lib/components/loading/src/loading2.js.map +1 -1
  344. package/lib/components/tag/src/tag4.js +4 -5
  345. package/lib/components/tag/src/tag4.js.map +1 -1
  346. package/lib/components/time-picker/src/common/picker2.js +14 -5
  347. package/lib/components/time-picker/src/common/picker2.js.map +1 -1
  348. package/lib/components/timeline/src/timeline-item3.js +3 -0
  349. package/lib/components/timeline/src/timeline-item3.js.map +1 -1
  350. package/lib/components/upload/src/upload-content4.js +3 -4
  351. package/lib/components/upload/src/upload-content4.js.map +1 -1
  352. package/lib/packages/components/alert/index.d.ts +2 -2
  353. package/lib/packages/components/alert/src/alert.vue.d.ts +2 -2
  354. package/lib/packages/components/autocomplete/index.d.ts +7 -7
  355. package/lib/packages/components/autocomplete/src/autocomplete.vue.d.ts +7 -7
  356. package/lib/packages/components/backtop/index.d.ts +1 -1
  357. package/lib/packages/components/backtop/src/backtop.vue.d.ts +1 -1
  358. package/lib/packages/components/button/index.d.ts +3 -3
  359. package/lib/packages/components/button/src/button.d.ts +1 -1
  360. package/lib/packages/components/button/src/button.vue.d.ts +3 -3
  361. package/lib/packages/components/calendar/index.d.ts +3 -3
  362. package/lib/packages/components/calendar/src/calendar.vue.d.ts +3 -3
  363. package/lib/packages/components/carousel/index.d.ts +2 -2
  364. package/lib/packages/components/carousel/src/carousel.vue.d.ts +2 -2
  365. package/lib/packages/components/cascader/index.d.ts +8 -8
  366. package/lib/packages/components/cascader/src/index.vue.d.ts +4 -4
  367. package/lib/packages/components/collapse/index.d.ts +2 -2
  368. package/lib/packages/components/collapse/src/collapse-item.vue.d.ts +1 -1
  369. package/lib/packages/components/date-picker/index.d.ts +4 -4
  370. package/lib/packages/components/date-picker/src/date-picker-com/basic-month-table.vue.d.ts +73 -7
  371. package/lib/packages/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +99 -16
  372. package/lib/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +9 -9
  373. package/lib/packages/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +92 -9
  374. package/lib/packages/components/date-picker/src/date-picker.d.ts +2 -2
  375. package/lib/packages/components/date-picker/src/utils.d.ts +200 -34
  376. package/lib/packages/components/dialog/index.d.ts +1 -1
  377. package/lib/packages/components/dialog/src/dialog-content.vue.d.ts +1 -1
  378. package/lib/packages/components/dialog/src/dialog.vue.d.ts +1 -1
  379. package/lib/packages/components/image/index.d.ts +7 -7
  380. package/lib/packages/components/image/src/image.vue.d.ts +7 -7
  381. package/lib/packages/components/image-viewer/index.d.ts +7 -7
  382. package/lib/packages/components/image-viewer/src/image-viewer.vue.d.ts +7 -7
  383. package/lib/packages/components/input/index.d.ts +2 -2
  384. package/lib/packages/components/input/src/input.vue.d.ts +2 -2
  385. package/lib/packages/components/input-number/index.d.ts +10 -10
  386. package/lib/packages/components/input-number/src/input-number.vue.d.ts +10 -10
  387. package/lib/packages/components/loading/index.d.ts +1 -1
  388. package/lib/packages/components/loading/src/loading.d.ts +1 -1
  389. package/lib/packages/components/message/src/message.vue.d.ts +1 -1
  390. package/lib/packages/components/message-box/src/index.vue.d.ts +1 -1
  391. package/lib/packages/components/page-header/index.d.ts +2 -2
  392. package/lib/packages/components/page-header/src/page-header.d.ts +1 -1
  393. package/lib/packages/components/page-header/src/page-header.vue.d.ts +2 -2
  394. package/lib/packages/components/pagination/src/components/jumper.vue.d.ts +2 -2
  395. package/lib/packages/components/pagination/src/components/next.vue.d.ts +1 -1
  396. package/lib/packages/components/pagination/src/components/pager.vue.d.ts +3 -3
  397. package/lib/packages/components/pagination/src/components/prev.vue.d.ts +1 -1
  398. package/lib/packages/components/pagination/src/components/sizes.vue.d.ts +4 -4
  399. package/lib/packages/components/popconfirm/index.d.ts +3 -3
  400. package/lib/packages/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  401. package/lib/packages/components/progress/index.d.ts +1 -1
  402. package/lib/packages/components/progress/src/progress.vue.d.ts +1 -1
  403. package/lib/packages/components/rate/index.d.ts +9 -9
  404. package/lib/packages/components/rate/src/rate.d.ts +3 -3
  405. package/lib/packages/components/rate/src/rate.vue.d.ts +9 -9
  406. package/lib/packages/components/select/index.d.ts +4 -4
  407. package/lib/packages/components/select/src/select.vue.d.ts +4 -4
  408. package/lib/packages/components/select-v2/index.d.ts +6 -6
  409. package/lib/packages/components/select-v2/src/defaults.d.ts +1 -1
  410. package/lib/packages/components/select-v2/src/select.vue.d.ts +3 -3
  411. package/lib/packages/components/select-v2/src/useSelect.d.ts +1 -1
  412. package/lib/packages/components/skeleton/index.d.ts +3 -3
  413. package/lib/packages/components/skeleton/src/skeleton-item.vue.d.ts +1 -1
  414. package/lib/packages/components/skeleton/src/skeleton.vue.d.ts +1 -1
  415. package/lib/packages/components/steps/index.d.ts +4 -4
  416. package/lib/packages/components/steps/src/item.vue.d.ts +2 -2
  417. package/lib/packages/components/tag/index.d.ts +1 -1
  418. package/lib/packages/components/tag/src/tag.vue.d.ts +1 -1
  419. package/lib/packages/components/time-picker/index.d.ts +4 -4
  420. package/lib/packages/components/time-picker/src/common/picker.vue.d.ts +3 -3
  421. package/lib/packages/components/time-picker/src/common/props.d.ts +1 -1
  422. package/lib/packages/components/time-picker/src/time-picker.d.ts +2 -2
  423. package/lib/packages/components/time-select/index.d.ts +28 -28
  424. package/lib/packages/components/time-select/src/time-select.d.ts +2 -2
  425. package/lib/packages/components/time-select/src/time-select.vue.d.ts +14 -14
  426. package/lib/packages/components/timeline/index.d.ts +18 -18
  427. package/lib/packages/components/timeline/src/timeline-item.d.ts +3 -3
  428. package/lib/packages/components/timeline/src/timeline-item.vue.d.ts +9 -9
  429. package/lib/packages/components/transfer/index.d.ts +8 -8
  430. package/lib/packages/components/transfer/src/index.vue.d.ts +4 -4
  431. package/lib/packages/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  432. package/lib/packages/components/tree/src/tree-node.vue.d.ts +1 -1
  433. package/lib/packages/components/upload/index.d.ts +7 -7
  434. package/lib/packages/components/upload/src/upload-list.vue.d.ts +7 -7
  435. package/lib/packages/components/upload/src/upload.vue.d.ts +7 -7
  436. package/lib/packages/utils/vue/icon.d.ts +13 -13
  437. package/lib/packages/version.d.ts +1 -1
  438. package/lib/version2.js +1 -1
  439. package/lib/version2.js.map +1 -1
  440. package/package.json +3 -3
  441. package/theme-chalk/el-cascader.css +1 -1
  442. package/theme-chalk/el-date-picker.css +1 -1
  443. package/theme-chalk/el-message.css +1 -1
  444. package/theme-chalk/el-time-picker.css +1 -1
  445. package/theme-chalk/el-time-select.css +1 -1
  446. package/theme-chalk/index.css +1 -1
  447. package/theme-chalk/src/cascader.scss +4 -0
  448. package/theme-chalk/src/date-picker/picker.scss +1 -1
  449. package/theme-chalk/src/message.scss +2 -2
  450. package/web-types.json +1 -1
@@ -19,73 +19,70 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
 
20
20
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
21
21
 
22
- const datesInMonth = (year, month, lang) => {
23
- const firstDay = dayjs__default["default"]().locale(lang).startOf("month").month(month).year(year);
24
- const numOfDays = firstDay.daysInMonth();
25
- return dateUtils.rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate());
26
- };
27
- const _sfc_main = vue.defineComponent({
22
+ const _hoisted_1 = ["aria-label"];
23
+ const _hoisted_2 = ["aria-selected", "aria-label", "tabindex", "onKeydown"];
24
+ const _hoisted_3 = { class: "cell" };
25
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
26
  props: basicMonthTable.basicMonthTableProps,
29
27
  emits: ["changerange", "pick", "select"],
30
- expose: ["focus"],
31
- setup(props, ctx) {
28
+ setup(__props, { expose, emit }) {
29
+ const props = __props;
30
+ const datesInMonth = (year, month, lang2) => {
31
+ const firstDay = dayjs__default["default"]().locale(lang2).startOf("month").month(month).year(year);
32
+ const numOfDays = firstDay.daysInMonth();
33
+ return dateUtils.rangeArr(numOfDays).map((n) => firstDay.add(n, "day").toDate());
34
+ };
32
35
  const ns = index.useNamespace("month-table");
33
36
  const { t, lang } = index$1.useLocale();
34
37
  const tbodyRef = vue.ref();
35
38
  const currentCellRef = vue.ref();
36
39
  const months = vue.ref(props.date.locale("en").localeData().monthsShort().map((_) => _.toLowerCase()));
37
- const tableRows = vue.ref([[], [], []]);
38
- const lastRow = vue.ref(null);
39
- const lastColumn = vue.ref(null);
40
+ const tableRows = vue.ref([
41
+ [],
42
+ [],
43
+ []
44
+ ]);
45
+ const lastRow = vue.ref();
46
+ const lastColumn = vue.ref();
40
47
  const rows = vue.computed(() => {
41
- var _a;
48
+ var _a, _b;
42
49
  const rows2 = tableRows.value;
43
50
  const now = dayjs__default["default"]().locale(lang.value).startOf("month");
44
51
  for (let i = 0; i < 3; i++) {
45
52
  const row = rows2[i];
46
53
  for (let j = 0; j < 4; j++) {
47
- let cell = row[j];
48
- if (!cell) {
49
- cell = {
50
- row: i,
51
- column: j,
52
- type: "normal",
53
- inRange: false,
54
- start: false,
55
- end: false
56
- };
57
- }
54
+ const cell = row[j] || (row[j] = {
55
+ row: i,
56
+ column: j,
57
+ type: "normal",
58
+ inRange: false,
59
+ start: false,
60
+ end: false,
61
+ text: -1,
62
+ disabled: false
63
+ });
58
64
  cell.type = "normal";
59
65
  const index = i * 4 + j;
60
66
  const calTime = props.date.startOf("year").month(index);
61
- const calEndDate = props.rangeState.endDate || props.maxDate || props.rangeState.selecting && props.minDate;
62
- cell.inRange = props.minDate && calTime.isSameOrAfter(props.minDate, "month") && calEndDate && calTime.isSameOrBefore(calEndDate, "month") || props.minDate && calTime.isSameOrBefore(props.minDate, "month") && calEndDate && calTime.isSameOrAfter(calEndDate, "month");
67
+ const calEndDate = props.rangeState.endDate || props.maxDate || props.rangeState.selecting && props.minDate || null;
68
+ cell.inRange = !!(props.minDate && calTime.isSameOrAfter(props.minDate, "month") && calEndDate && calTime.isSameOrBefore(calEndDate, "month")) || !!(props.minDate && calTime.isSameOrBefore(props.minDate, "month") && calEndDate && calTime.isSameOrAfter(calEndDate, "month"));
63
69
  if ((_a = props.minDate) == null ? void 0 : _a.isSameOrAfter(calEndDate)) {
64
- cell.start = calEndDate && calTime.isSame(calEndDate, "month");
70
+ cell.start = !!(calEndDate && calTime.isSame(calEndDate, "month"));
65
71
  cell.end = props.minDate && calTime.isSame(props.minDate, "month");
66
72
  } else {
67
- cell.start = props.minDate && calTime.isSame(props.minDate, "month");
68
- cell.end = calEndDate && calTime.isSame(calEndDate, "month");
73
+ cell.start = !!(props.minDate && calTime.isSame(props.minDate, "month"));
74
+ cell.end = !!(calEndDate && calTime.isSame(calEndDate, "month"));
69
75
  }
70
76
  const isToday = now.isSame(calTime);
71
77
  if (isToday) {
72
78
  cell.type = "today";
73
79
  }
74
80
  cell.text = index;
75
- const cellDate = calTime.toDate();
76
- cell.disabled = props.disabledDate && props.disabledDate(cellDate);
77
- row[j] = cell;
81
+ cell.disabled = ((_b = props.disabledDate) == null ? void 0 : _b.call(props, calTime.toDate())) || false;
78
82
  }
79
83
  }
80
84
  return rows2;
81
85
  });
82
- vue.watch(() => props.date, async () => {
83
- var _a, _b;
84
- if ((_a = tbodyRef.value) == null ? void 0 : _a.contains(document.activeElement)) {
85
- await vue.nextTick();
86
- (_b = currentCellRef.value) == null ? void 0 : _b.focus();
87
- }
88
- });
89
86
  const focus = () => {
90
87
  var _a;
91
88
  (_a = currentCellRef.value) == null ? void 0 : _a.focus();
@@ -96,7 +93,7 @@ const _sfc_main = vue.defineComponent({
96
93
  const today = new Date();
97
94
  const month = cell.text;
98
95
  style.disabled = props.disabledDate ? datesInMonth(year, month, lang.value).every(props.disabledDate) : false;
99
- style.current = arrays.castArray(props.parsedValue).findIndex((date) => date.year() === year && date.month() === month) >= 0;
96
+ style.current = arrays.castArray(props.parsedValue).findIndex((date) => dayjs__default["default"].isDayjs(date) && date.year() === year && date.month() === month) >= 0;
100
97
  style.today = today.getFullYear() === year && today.getMonth() === month;
101
98
  if (cell.inRange) {
102
99
  style["in-range"] = true;
@@ -115,11 +112,12 @@ const _sfc_main = vue.defineComponent({
115
112
  return arrays.castArray(props.date).findIndex((date) => date.year() === year && date.month() === month) >= 0;
116
113
  };
117
114
  const handleMouseMove = (event) => {
115
+ var _a;
118
116
  if (!props.rangeState.selecting)
119
117
  return;
120
118
  let target = event.target;
121
119
  if (target.tagName === "A") {
122
- target = target.parentNode.parentNode;
120
+ target = (_a = target.parentNode) == null ? void 0 : _a.parentNode;
123
121
  }
124
122
  if (target.tagName === "DIV") {
125
123
  target = target.parentNode;
@@ -133,15 +131,15 @@ const _sfc_main = vue.defineComponent({
133
131
  if (row !== lastRow.value || column !== lastColumn.value) {
134
132
  lastRow.value = row;
135
133
  lastColumn.value = column;
136
- ctx.emit("changerange", {
134
+ emit("changerange", {
137
135
  selecting: true,
138
136
  endDate: props.date.startOf("year").month(row * 4 + column)
139
137
  });
140
138
  }
141
139
  };
142
140
  const handleMonthTableClick = (event) => {
143
- let target = event.target;
144
- target = target == null ? void 0 : target.closest("td");
141
+ var _a;
142
+ const target = (_a = event.target) == null ? void 0 : _a.closest("td");
145
143
  if ((target == null ? void 0 : target.tagName) !== "TD")
146
144
  return;
147
145
  if (style.hasClass(target, "disabled"))
@@ -152,75 +150,71 @@ const _sfc_main = vue.defineComponent({
152
150
  const newDate = props.date.startOf("year").month(month);
153
151
  if (props.selectionMode === "range") {
154
152
  if (!props.rangeState.selecting) {
155
- ctx.emit("pick", { minDate: newDate, maxDate: null });
156
- ctx.emit("select", true);
153
+ emit("pick", { minDate: newDate, maxDate: null });
154
+ emit("select", true);
157
155
  } else {
158
- if (newDate >= props.minDate) {
159
- ctx.emit("pick", { minDate: props.minDate, maxDate: newDate });
156
+ if (props.minDate && newDate >= props.minDate) {
157
+ emit("pick", { minDate: props.minDate, maxDate: newDate });
160
158
  } else {
161
- ctx.emit("pick", { minDate: newDate, maxDate: props.minDate });
159
+ emit("pick", { minDate: newDate, maxDate: props.minDate });
162
160
  }
163
- ctx.emit("select", false);
161
+ emit("select", false);
164
162
  }
165
163
  } else {
166
- ctx.emit("pick", month);
164
+ emit("pick", month);
167
165
  }
168
166
  };
169
- return {
170
- ns,
171
- tbodyRef,
172
- currentCellRef,
173
- handleMouseMove,
174
- handleMonthTableClick,
175
- focus,
176
- isSelectedCell,
177
- rows,
178
- getCellStyle,
179
- t,
180
- months
167
+ vue.watch(() => props.date, async () => {
168
+ var _a, _b;
169
+ if ((_a = tbodyRef.value) == null ? void 0 : _a.contains(document.activeElement)) {
170
+ await vue.nextTick();
171
+ (_b = currentCellRef.value) == null ? void 0 : _b.focus();
172
+ }
173
+ });
174
+ expose({
175
+ focus
176
+ });
177
+ return (_ctx, _cache) => {
178
+ return vue.openBlock(), vue.createElementBlock("table", {
179
+ role: "grid",
180
+ "aria-label": vue.unref(t)("el.datepicker.monthTablePrompt"),
181
+ class: vue.normalizeClass(vue.unref(ns).b()),
182
+ onClick: handleMonthTableClick,
183
+ onMousemove: handleMouseMove
184
+ }, [
185
+ vue.createElementVNode("tbody", {
186
+ ref_key: "tbodyRef",
187
+ ref: tbodyRef
188
+ }, [
189
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(rows), (row, key) => {
190
+ return vue.openBlock(), vue.createElementBlock("tr", { key }, [
191
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row, (cell, key_) => {
192
+ return vue.openBlock(), vue.createElementBlock("td", {
193
+ key: key_,
194
+ ref_for: true,
195
+ ref: (el) => isSelectedCell(cell) && (currentCellRef.value = el),
196
+ class: vue.normalizeClass(getCellStyle(cell)),
197
+ "aria-selected": `${isSelectedCell(cell)}`,
198
+ "aria-label": vue.unref(t)(`el.datepicker.month${+cell.text + 1}`),
199
+ tabindex: isSelectedCell(cell) ? 0 : -1,
200
+ onKeydown: [
201
+ vue.withKeys(vue.withModifiers(handleMonthTableClick, ["prevent", "stop"]), ["space"]),
202
+ vue.withKeys(vue.withModifiers(handleMonthTableClick, ["prevent", "stop"]), ["enter"])
203
+ ]
204
+ }, [
205
+ vue.createElementVNode("div", null, [
206
+ vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(vue.unref(t)("el.datepicker.months." + months.value[cell.text])), 1)
207
+ ])
208
+ ], 42, _hoisted_2);
209
+ }), 128))
210
+ ]);
211
+ }), 128))
212
+ ], 512)
213
+ ], 42, _hoisted_1);
181
214
  };
182
215
  }
183
216
  });
184
- const _hoisted_1 = ["aria-label"];
185
- const _hoisted_2 = { ref: "tbodyRef" };
186
- const _hoisted_3 = ["aria-selected", "aria-label", "tabindex"];
187
- const _hoisted_4 = { class: "cell" };
188
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
189
- return vue.openBlock(), vue.createElementBlock("table", {
190
- role: "grid",
191
- "aria-label": _ctx.t("el.datepicker.monthTablePrompt"),
192
- class: vue.normalizeClass(_ctx.ns.b()),
193
- onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleMonthTableClick && _ctx.handleMonthTableClick(...args)),
194
- onMousemove: _cache[3] || (_cache[3] = (...args) => _ctx.handleMouseMove && _ctx.handleMouseMove(...args))
195
- }, [
196
- vue.createElementVNode("tbody", _hoisted_2, [
197
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.rows, (row, key) => {
198
- return vue.openBlock(), vue.createElementBlock("tr", { key }, [
199
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row, (cell, key_) => {
200
- return vue.openBlock(), vue.createElementBlock("td", {
201
- key: key_,
202
- ref_for: true,
203
- ref: (el) => _ctx.isSelectedCell(cell) && (_ctx.currentCellRef = el),
204
- class: vue.normalizeClass(_ctx.getCellStyle(cell)),
205
- "aria-selected": `${_ctx.isSelectedCell(cell)}`,
206
- "aria-label": _ctx.t(`el.datepicker.month${+cell.text + 1}`),
207
- tabindex: _ctx.isSelectedCell(cell) ? 0 : -1,
208
- onKeydown: [
209
- _cache[0] || (_cache[0] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleMonthTableClick && _ctx.handleMonthTableClick(...args), ["prevent", "stop"]), ["space"])),
210
- _cache[1] || (_cache[1] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleMonthTableClick && _ctx.handleMonthTableClick(...args), ["prevent", "stop"]), ["enter"]))
211
- ]
212
- }, [
213
- vue.createElementVNode("div", null, [
214
- vue.createElementVNode("span", _hoisted_4, vue.toDisplayString(_ctx.t("el.datepicker.months." + _ctx.months[cell.text])), 1)
215
- ])
216
- ], 42, _hoisted_3);
217
- }), 128))
218
- ]);
219
- }), 128))
220
- ], 512)
221
- ], 42, _hoisted_1);
222
- }
223
- var MonthTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-month-table.vue"]]);
217
+ var MonthTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/date-picker/src/date-picker-com/basic-month-table.vue"]]);
224
218
 
225
219
  exports["default"] = MonthTable;
226
220
  //# sourceMappingURL=basic-month-table2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic-month-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-month-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.monthTablePrompt')\"\n :class=\"ns.b()\"\n @click=\"handleMonthTableClick\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr v-for=\"(row, key) in rows\" :key=\"key\">\n <td\n v-for=\"(cell, key_) in row\"\n :key=\"key_\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el)\"\n :class=\"getCellStyle(cell)\"\n :aria-selected=\"`${isSelectedCell(cell)}`\"\n :aria-label=\"t(`el.datepicker.month${+cell.text + 1}`)\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @keydown.space.prevent.stop=\"handleMonthTableClick\"\n @keydown.enter.prevent.stop=\"handleMonthTableClick\"\n >\n <div>\n <span class=\"cell\">\n {{ t('el.datepicker.months.' + months[cell.text]) }}\n </span>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\nimport { basicMonthTableProps } from '../props/basic-month-table'\n\nconst datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: basicMonthTableProps,\n\n emits: ['changerange', 'pick', 'select'],\n expose: ['focus'],\n\n setup(props, ctx) {\n const ns = useNamespace('month-table')\n\n const { t, lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n const months = ref(\n props.date\n .locale('en')\n .localeData()\n .monthsShort()\n .map((_) => _.toLowerCase())\n )\n const tableRows = ref([[], [], []])\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const rows = tableRows.value\n const now = dayjs().locale(lang.value).startOf('month')\n\n for (let i = 0; i < 3; i++) {\n const row = rows[i]\n for (let j = 0; j < 4; j++) {\n let cell = row[j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n\n cell.type = 'normal'\n\n const index = i * 4 + j\n const calTime = props.date.startOf('year').month(index)\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'month')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'month'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'month')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'month')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'month')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'month')\n }\n\n const isToday = now.isSame(calTime)\n if (isToday) {\n cell.type = 'today'\n }\n\n cell.text = index\n const cellDate = calTime.toDate()\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n row[j] = cell\n }\n }\n return rows\n })\n\n watch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = () => {\n currentCellRef.value?.focus()\n }\n\n const getCellStyle = (cell) => {\n const style = {} as any\n const year = props.date.year()\n const today = new Date()\n const month = cell.text\n\n style.disabled = props.disabledDate\n ? datesInMonth(year, month, lang.value).every(props.disabledDate)\n : false\n style.current =\n castArray(props.parsedValue).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n style.today = today.getFullYear() === year && today.getMonth() === month\n\n if (cell.inRange) {\n style['in-range'] = true\n\n if (cell.start) {\n style['start-date'] = true\n }\n\n if (cell.end) {\n style['end-date'] = true\n }\n }\n return style\n }\n\n const isSelectedCell = (cell) => {\n const year = props.date.year()\n const month = cell.text\n return (\n castArray(props.date).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n )\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex\n const column = target.cellIndex\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: props.date.startOf('year').month(row * 4 + column),\n })\n }\n }\n const handleMonthTableClick = (event) => {\n let target = event.target\n target = target?.closest('td')\n if (target?.tagName !== 'TD') return\n if (hasClass(target, 'disabled')) return\n const column = target.cellIndex\n const row = target.parentNode.rowIndex\n const month = row * 4 + column\n const newDate = props.date.startOf('year').month(month)\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else {\n ctx.emit('pick', month)\n }\n }\n\n return {\n ns,\n tbodyRef,\n currentCellRef,\n handleMouseMove,\n handleMonthTableClick,\n focus,\n isSelectedCell,\n rows,\n getCellStyle,\n t,\n months,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","basicMonthTableProps","useNamespace","useLocale","ref","computed","watch","nextTick","castArray","hasClass","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_Fragment","_renderList","_withKeys","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"basic-month-table2.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-month-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.monthTablePrompt')\"\n :class=\"ns.b()\"\n @click=\"handleMonthTableClick\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr v-for=\"(row, key) in rows\" :key=\"key\">\n <td\n v-for=\"(cell, key_) in row\"\n :key=\"key_\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el as HTMLElement)\"\n :class=\"getCellStyle(cell)\"\n :aria-selected=\"`${isSelectedCell(cell)}`\"\n :aria-label=\"t(`el.datepicker.month${+cell.text + 1}`)\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @keydown.space.prevent.stop=\"handleMonthTableClick\"\n @keydown.enter.prevent.stop=\"handleMonthTableClick\"\n >\n <div>\n <span class=\"cell\">\n {{ t('el.datepicker.months.' + months[cell.text]) }}\n </span>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\nimport { basicMonthTableProps } from '../props/basic-month-table'\n\ntype MonthCell = {\n column: number\n row: number\n disabled: boolean\n start: boolean\n end: boolean\n text: number\n type: 'normal' | 'today'\n inRange: boolean\n}\n\nconst datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nconst props = defineProps(basicMonthTableProps)\nconst emit = defineEmits(['changerange', 'pick', 'select'])\n\nconst ns = useNamespace('month-table')\n\nconst { t, lang } = useLocale()\nconst tbodyRef = ref<HTMLElement>()\nconst currentCellRef = ref<HTMLElement>()\nconst months = ref(\n props.date\n .locale('en')\n .localeData()\n .monthsShort()\n .map((_) => _.toLowerCase())\n)\nconst tableRows = ref<MonthCell[][]>([\n [] as MonthCell[],\n [] as MonthCell[],\n [] as MonthCell[],\n])\nconst lastRow = ref<number>()\nconst lastColumn = ref<number>()\nconst rows = computed<MonthCell[][]>(() => {\n const rows = tableRows.value\n const now = dayjs().locale(lang.value).startOf('month')\n\n for (let i = 0; i < 3; i++) {\n const row = rows[i]\n for (let j = 0; j < 4; j++) {\n const cell = (row[j] ||= {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n text: -1,\n disabled: false,\n })\n\n cell.type = 'normal'\n\n const index = i * 4 + j\n const calTime = props.date.startOf('year').month(index)\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate) ||\n null\n\n cell.inRange =\n !!(\n props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'month')\n ) ||\n !!(\n props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'month')\n )\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = !!(calEndDate && calTime.isSame(calEndDate, 'month'))\n cell.end = props.minDate && calTime.isSame(props.minDate, 'month')\n } else {\n cell.start = !!(props.minDate && calTime.isSame(props.minDate, 'month'))\n cell.end = !!(calEndDate && calTime.isSame(calEndDate, 'month'))\n }\n\n const isToday = now.isSame(calTime)\n if (isToday) {\n cell.type = 'today'\n }\n\n cell.text = index\n cell.disabled = props.disabledDate?.(calTime.toDate()) || false\n }\n }\n return rows\n})\n\nconst focus = () => {\n currentCellRef.value?.focus()\n}\n\nconst getCellStyle = (cell: MonthCell) => {\n const style = {} as any\n const year = props.date.year()\n const today = new Date()\n const month = cell.text\n\n style.disabled = props.disabledDate\n ? datesInMonth(year, month, lang.value).every(props.disabledDate)\n : false\n style.current =\n castArray(props.parsedValue).findIndex(\n (date) =>\n dayjs.isDayjs(date) && date.year() === year && date.month() === month\n ) >= 0\n style.today = today.getFullYear() === year && today.getMonth() === month\n\n if (cell.inRange) {\n style['in-range'] = true\n\n if (cell.start) {\n style['start-date'] = true\n }\n\n if (cell.end) {\n style['end-date'] = true\n }\n }\n return style\n}\n\nconst isSelectedCell = (cell: MonthCell) => {\n const year = props.date.year()\n const month = cell.text\n return (\n castArray(props.date).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n )\n}\n\nconst handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'A') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex\n const column = (target as HTMLTableCellElement).cellIndex\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: props.date.startOf('year').month(row * 4 + column),\n })\n }\n}\nconst handleMonthTableClick = (event: MouseEvent | KeyboardEvent) => {\n const target = (event.target as HTMLElement)?.closest(\n 'td'\n ) as HTMLTableCellElement\n if (target?.tagName !== 'TD') return\n if (hasClass(target, 'disabled')) return\n const column = target.cellIndex\n const row = (target.parentNode as HTMLTableRowElement).rowIndex\n const month = row * 4 + column\n const newDate = props.date.startOf('year').month(month)\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (props.minDate && newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n } else {\n emit('pick', month)\n }\n}\n\nwatch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n)\n\ndefineExpose({\n /**\n * @description focus current cell\n */\n focus,\n})\n</script>\n"],"names":["dayjs","rangeArr","useNamespace","useLocale","ref","computed","castArray","hasClass","watch","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,IAAA,MAAM,YAAe,GAAA,CAAC,IAAc,EAAA,KAAA,EAAe,KAAiB,KAAA;AAClE,MAAA,MAAM,QAAW,GAAAA,yBAAA,EAAQ,CAAA,MAAA,CAAO,KAAI,CAAA,CAAE,OAAQ,CAAA,OAAO,CAAE,CAAA,KAAA,CAAM,KAAK,CAAA,CAAE,KAAK,IAAI,CAAA,CAAA;AAC7E,MAAM,MAAA,SAAA,GAAY,SAAS,WAAY,EAAA,CAAA;AACvC,MAAA,OAAOC,kBAAS,CAAA,SAAS,CAAE,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,QAAS,CAAA,GAAA,CAAI,CAAG,EAAA,KAAK,CAAE,CAAA,MAAA,EAAQ,CAAA,CAAA;AAAA,KACvE,CAAA;AAKA,IAAM,MAAA,EAAA,GAAKC,mBAAa,aAAa,CAAA,CAAA;AAErC,IAAM,MAAA,EAAE,CAAG,EAAA,IAAA,EAAA,GAASC,iBAAU,EAAA,CAAA;AAC9B,IAAA,MAAM,WAAWC,OAAiB,EAAA,CAAA;AAClC,IAAA,MAAM,iBAAiBA,OAAiB,EAAA,CAAA;AACxC,IAAA,MAAM,SAASA,OACb,CAAA,KAAA,CAAM,IACH,CAAA,MAAA,CAAO,IAAI,CACX,CAAA,UAAA,EACA,CAAA,WAAA,GACA,GAAI,CAAA,CAAC,MAAM,CAAE,CAAA,WAAA,EAAa,CAC/B,CAAA,CAAA;AACA,IAAA,MAAM,YAAYA,OAAmB,CAAA;AAAA,MACnC,EAAC;AAAA,MACD,EAAC;AAAA,MACD,EAAC;AAAA,KACF,CAAA,CAAA;AACD,IAAA,MAAM,UAAUA,OAAY,EAAA,CAAA;AAC5B,IAAA,MAAM,aAAaA,OAAY,EAAA,CAAA;AAC/B,IAAM,MAAA,IAAA,GAAOC,aAAwB,MAAM;AACzC,MAAA,IAAA,EAAM;AACN,MAAM,MAAA,KAAA,YAAc,CAAA;AAEpB,MAAA,MAAA,GAAS,GAAIL,yBAAO,EAAA,CAAA,MAAQ,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AAC1B,MAAA,KAAA,SAAY,EAAK,CAAA,GAAA,CAAA,EAAA,CAAA,EAAA,EAAA;AACjB,QAAA,MAAA,GAAS,GAAI,KAAO,CAAA,CAAA,CAAA,CAAA;AAClB,QAAM,KAAA,IAAA,CAAA,GAAA,CAAA,MAAmB,CAAA,EAAA,CAAA,EAAA,EAAA;AAAA,UAAA,MAClB,IAAA,GAAA,GAAA,CAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,GAAA;AAAA,YACL,GAAQ,EAAA,CAAA;AAAA,YACR,MAAM,EAAA,CAAA;AAAA,YACN,IAAS,EAAA,QAAA;AAAA,YACT,OAAO,EAAA,KAAA;AAAA,YACP,KAAK,EAAA,KAAA;AAAA,YACL,GAAM,EAAA,KAAA;AAAA,YACN,IAAU,EAAA,CAAA,CAAA;AAAA,YACZ,QAAA,EAAA,KAAA;AAEA,WAAA,CAAA,CAAA;AAEA,UAAM,IAAA,CAAA,IAAA,GAAA,QAAgB,CAAA;AACtB,UAAA,MAAM,YAAgB,CAAA,GAAA,CAAA,CAAA;AAEtB,UAAM,MAAA,OAAA,GAAA,KACE,CAAA,IAAA,CAAA,OAAA,CAAA,MACN,CAAA,CAAA,KAAA,CAAA;AAIF,UAAA,MACE,UAAC,GACC,KAAM,CACN,UAAA,CAAA,OAAQ,IAAc,KAAA,CAAA,OAAA,IAAe,KAAA,CAAA,UACrC,CAAA,SAAA,IAAA,aACuB,IAAA,IAAA,CAAA;AAS3B,UAAA,IAAI,CAAM,OAAA,GAAA,CAAA,EAAA,KAAuB,CAAA,OAAA,IAAA,OAAA,CAAU,aAAG,CAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA,IAAA,UAAA,IAAA,OAAA,CAAA,cAAA,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,EAAA,KAAA,CAAA,OAAA,IAAA,OAAA,CAAA,cAAA,CAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA,IAAA,UAAA,IAAA,OAAA,CAAA,aAAA,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAC5C,UAAA,IAAA,CAAA,EAAK,QAAQ,CAAC,gBAAgB,GAAQ,KAAA,CAAA,GAAA,EAAA,CAAO,aAAmB,CAAA,UAAA,CAAA,EAAA;AAChE,YAAA,IAAA,CAAK,QAAY,CAAA,EAAA,UAAA,WAA0B,CAAA,MAAA,CAAA,mBAAsB,CAAA,CAAA,CAAA;AAAA,YAC5D,IAAA,CAAA,GAAA,GAAA,KAAA,CAAA,OAAA,IAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA;AACL,WAAK,MAAA;AACL,YAAA,IAAA,CAAK,QAAS,gBAAsB,IAAA,OAAA,CAAA,oBAA0B,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,YAChE,IAAA,CAAA,GAAA,GAAA,CAAA,EAAA,UAAA,IAAA,OAAA,CAAA,MAAA,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAEA,WAAM;AACN,UAAA,MAAa,OAAA,GAAA,GAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AACX,UAAA,IAAA,OAAY,EAAA;AAAA,YACd,IAAA,CAAA,IAAA,GAAA,OAAA,CAAA;AAEA,WAAA;AACA,UAAA,IAAA,CAAK,YAAiB,CAAA;AAAoC,UAC5D,IAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,YAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA,OAAA,CAAA,MAAA,EAAA,CAAA,KAAA,KAAA,CAAA;AAAA,SACF;AACA,OAAO;AAAA,MACR,OAAA,KAAA,CAAA;AAED,KAAA,CAAA,CAAA;AACE,IAAA,MAAA,KAAA,GAAA;AAA4B,MAC9B,IAAA,EAAA,CAAA;AAEA,MAAM,CAAA,EAAA,GAAA,cAAgB,CAAoB,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AACxC,KAAA,CAAA;AACA,IAAM,MAAA,YAAa,GAAA,CAAA,IAAK,KAAK;AAC7B,MAAM,MAAA,KAAA,GAAQ;AACd,MAAA,MAAM,YAAa,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA;AAEnB,MAAA,MAAM,KAAW,GAAA,IAAA,IAAA,EACb,CAAA;AAEJ,MAAM,MAAA,KAAA,GAAA;AAKN,MAAA,KAAA,CAAM,QAAQ,GAAM,KAAA,CAAA,eAAkB,YAAQ,CAAA,WAAqB,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,YAAA,CAAA,GAAA,KAAA,CAAA;AAEnE,MAAA,aAAkB,GAAAM,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,KAAAN,yBAAA,CAAA,OAAA,CAAA,IAAA,CAAA,IAAA,IAAA,CAAA,IAAA,EAAA,KAAA,IAAA,IAAA,IAAA,CAAA,KAAA,EAAA,KAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAChB,MAAA,KAAA,CAAA,KAAoB,GAAA,KAAA,CAAA,WAAA,EAAA,KAAA,IAAA,IAAA,KAAA,CAAA,QAAA,EAAA,KAAA,KAAA,CAAA;AAEpB,MAAA,IAAA,YAAgB,EAAA;AACd,QAAA,KAAA,CAAA,UAAsB,CAAA,GAAA,IAAA,CAAA;AAAA,QACxB,IAAA,IAAA,CAAA,KAAA,EAAA;AAEA,UAAA,kBAAc,CAAA,GAAA,IAAA,CAAA;AACZ,SAAA;AAAoB,QACtB,IAAA,IAAA,CAAA,GAAA,EAAA;AAAA,UACF,KAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA;AACA,SAAO;AAAA,OACT;AAEA,MAAM,OAAA,KAAA,CAAA;AACJ,KAAM,CAAA;AACN,IAAA,MAAA,cAAmB,GAAA,CAAA,IAAA,KAAA;AACnB,MAAA,MAAA,IACY,GAAA,KAAA,CAAA,IAAM,CAAI,IAAA;AAEf,MAET,MAAA,KAAA,GAAA,IAAA,CAAA,IAAA,CAAA;AAEA,MAAM,OAAAM,gBAAA,CAAA,KAAkB,CAAC,IAAsB,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,IAAA,EAAA,KAAA,IAAA,IAAA,IAAA,CAAA,KAAA,EAAA,KAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAC7C,KAAI,CAAA;AAA6B,IAAA,MAAA,eAAA,GAAA,CAAA,KAAA,KAAA;AAEjC,MAAA,IAAI;AACJ,MAAI,IAAA,CAAA,KAAA,CAAO,oBAAiB;AAC1B,QAAA,OAAA;AAA4B,MAC9B,IAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AACA,MAAI,IAAA,MAAA,CAAO,YAAY,GAAO,EAAA;AAC5B,QAAA,MAAA,GAAS,CAAO,EAAA,GAAA,MAAA,CAAA,UAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,CAAA;AAAA,OAClB;AACA,MAAA,IAAI,OAAO,OAAY,KAAA,KAAA,EAAA;AAAM,QAAA,MAAA,GAAA,MAAA,CAAA,UAAA,CAAA;AAE7B,OAAM;AACN,MAAA,IAAA,cAAgD,KAAA,IAAA;AAEhD,QAAI,OAAK;AAA6B,MAAA,MAAA,GAAA,GAAA,MAAA,CAAA,UAAA,CAAA,QAAA,CAAA;AAItC,MAAA,MAAY,MAAA,GAAA,MAAiB,CAAA,SAAA,CAAA;AAC3B,MAAA,IAAA,IAAA,CAAA,KAAgB,CAAA,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,QAAA;AAChB,QAAA,OAAA;AACA,MAAA,IAAA,GAAK,KAAe,OAAA,CAAA,KAAA,IAAA,MAAA,KAAA,UAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OACP,CAAA,KAAA,GAAA,GAAA,CAAA;AAAA,QACX,UAAA,CAAS,QAAW,MAAA,CAAA;AAAsC,QAC5D,IAAC,CAAA,aAAA,EAAA;AAAA,UACH,SAAA,EAAA,IAAA;AAAA,UACF,OAAA,EAAA,KAAA,CAAA,IAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAA,CAAA;AACA,SAAM,CAAA,CAAA;AACJ,OAAA;AAGA,KAAA,CAAA;AAA8B,IAAA,MAAA,qBAAA,GAAA,CAAA,KAAA,KAAA;AAC9B,MAAI,IAAA,EAAA,CAAA;AAA8B,MAAA,MAAA,MAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AAClC,MAAA,IAAA,CAAA,UAAe,IAAO,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,OAAA,MAAA,IAAA;AACtB,QAAM,OAAA;AACN,MAAM,IAAAC,cAAA,CAAA,QAAkB,UAAA,CAAA;AACxB,QAAA;AACA,MAAI,MAAA,yBAAiC,CAAA;AACnC,MAAI,MAAA,GAAO,GAAA,MAAA,CAAA,UAAsB,CAAA,QAAA,CAAA;AAC/B,MAAA,MAAA,WAAa,GAAE,CAAA,GAAA,MAAkB,CAAA;AACjC,MAAA,MAAA,eAAmB,CAAA,IAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,MAAA,IACd,KAAA,CAAA,aAAA,KAAA,OAAA,EAAA;AACL,QAAA,IAAA,CAAA,KAAU,CAAA,UAAA,CAAA,SAAsB,EAAA;AAC9B,UAAA,IAAA,CAAA,UAAa,OAAE,EAAA,SAAwB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAS;AAAS,UAC3D,IAAO,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AACL,SAAA,MAAA;AAAyD,UAC3D,IAAA,KAAA,CAAA,OAAA,IAAA,OAAA,IAAA,KAAA,CAAA,OAAA,EAAA;AACA,YAAA,aAAe,EAAK,OAAA,EAAA,KAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,CAAA,CAAA;AAAA,WACtB,MAAA;AAAA,YACK,IAAA,CAAA,MAAA,EAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AACL,WAAA;AAAkB,UACpB,IAAA,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAAA,SACF;AAEA,OACE,MAAA;AAEE,QAAA,IAAa,CAAA,MAAA,EAAA,KAAO,CAAS,CAAA;AAC3B,OAAA;AACA,KAAA,CAAA;AAA4B,IAC9BC,SAAA,CAAA,MAAA,KAAA,CAAA,IAAA,EAAA,YAAA;AAAA,MAEJ,IAAA,EAAA,EAAA,EAAA,CAAA;AAEA,MAAa,IAAA,CAAA,EAAA,GAAA,QAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AAAA,QAIX,MAAAC,YAAA,EAAA,CAAA;AAAA,QACD,CAAA,EAAA,GAAA,cAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -136,7 +136,7 @@ const _sfc_main = vue.defineComponent({
136
136
  const relatedTarget = e.relatedTarget;
137
137
  if (!lodashUnified.isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {
138
138
  setTimeout(() => {
139
- if (!focusLayer.paused) {
139
+ if (!focusLayer.paused && props.trapped) {
140
140
  utils.tryFocus(lastFocusAfterTrapped, true);
141
141
  }
142
142
  }, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"focus-trap2.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot :handle-keydown=\"onKeydown\" />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useEscapeKeydown } from '@element-plus/hooks'\nimport { isString } from '@element-plus/utils'\nimport {\n focusFirstDescendant,\n focusableStack,\n getEdges,\n obtainAllFocusableElements,\n tryFocus,\n} from './utils'\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT,\n} from './tokens'\n\nimport type { PropType } from 'vue'\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first',\n },\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested',\n ],\n setup(props, { emit }) {\n const forwardRef = ref<HTMLElement | undefined>()\n let lastFocusBeforeTrapped: HTMLElement | null\n let lastFocusAfterTrapped: HTMLElement | null\n\n useEscapeKeydown((event) => {\n if (props.trapped && !focusLayer.paused) {\n emit('release-requested', event)\n }\n })\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n if (!isTabbable) {\n if (currentFocusingEl === container) {\n e.preventDefault()\n emit('focusout-prevented')\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n emit('focusout-prevented')\n } else if (\n shiftKey &&\n [first, container].includes(currentFocusingEl as HTMLElement)\n ) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n emit('focusout-prevented')\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n watch(\n () => props.focusTrapEl,\n (focusTrapEl) => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl\n }\n },\n { immediate: true }\n )\n\n watch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n if (forwardRef) {\n forwardRef.addEventListener('keydown', onKeydown)\n forwardRef.addEventListener('focusin', onFocusIn)\n forwardRef.addEventListener('focusout', onFocusOut)\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener('keydown', onKeydown)\n oldForwardRef.removeEventListener('focusin', onFocusIn)\n oldForwardRef.removeEventListener('focusout', onFocusOut)\n }\n })\n\n const trapOnFocus = (e: Event) => {\n emit(ON_TRAP_FOCUS_EVT, e)\n }\n const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (!trapContainer) return\n\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (isFocusedInTrap) emit('focusin', e)\n\n if (focusLayer.paused) return\n\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target\n } else {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (props.trapped) {\n const relatedTarget = (e as FocusEvent)\n .relatedTarget as HTMLElement | null\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n // Give embedded focus layer time to pause this layer before reclaiming focus\n setTimeout(() => {\n if (!focusLayer.paused) {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }, 0)\n }\n } else {\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (!isFocusedInTrap) emit('focusout', e)\n }\n }\n\n async function startTrap() {\n // Wait for forwardRef to resolve\n await nextTick()\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const focusEvent = new Event(\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n trapContainer.dispatchEvent(focusEvent)\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl)\n if (document.activeElement !== focusStartEl) {\n focusStartEl = 'first'\n }\n }\n if (focusStartEl === 'first') {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n }\n if (\n document.activeElement === prevFocusedElement ||\n focusStartEl === 'container'\n ) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n }\n\n function stopTrap() {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n const releasedEvent = new Event(\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n trapContainer.dispatchEvent(releasedEvent)\n\n if (!releasedEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeTrapped ?? document.body, true)\n }\n\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus)\n focusableStack.remove(focusLayer)\n }\n }\n\n onMounted(() => {\n if (props.trapped) {\n startTrap()\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n startTrap()\n } else {\n stopTrap()\n }\n }\n )\n })\n\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap()\n }\n })\n\n return {\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","ref","useEscapeKeydown","EVENT_CODE","getEdges","tryFocus","provide","FOCUS_TRAP_INJECTION_KEY","watch","unref","isNil","nextTick","focusableStack","FOCUS_AFTER_TRAPPED","FOCUS_AFTER_TRAPPED_OPTS","isString","focusFirstDescendant","obtainAllFocusableElements","FOCUS_AFTER_RELEASED","onMounted","onBeforeUnmount","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"focus-trap2.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot :handle-keydown=\"onKeydown\" />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useEscapeKeydown } from '@element-plus/hooks'\nimport { isString } from '@element-plus/utils'\nimport {\n focusFirstDescendant,\n focusableStack,\n getEdges,\n obtainAllFocusableElements,\n tryFocus,\n} from './utils'\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT,\n} from './tokens'\n\nimport type { PropType } from 'vue'\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first',\n },\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested',\n ],\n setup(props, { emit }) {\n const forwardRef = ref<HTMLElement | undefined>()\n let lastFocusBeforeTrapped: HTMLElement | null\n let lastFocusAfterTrapped: HTMLElement | null\n\n useEscapeKeydown((event) => {\n if (props.trapped && !focusLayer.paused) {\n emit('release-requested', event)\n }\n })\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n if (!isTabbable) {\n if (currentFocusingEl === container) {\n e.preventDefault()\n emit('focusout-prevented')\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n emit('focusout-prevented')\n } else if (\n shiftKey &&\n [first, container].includes(currentFocusingEl as HTMLElement)\n ) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n emit('focusout-prevented')\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n watch(\n () => props.focusTrapEl,\n (focusTrapEl) => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl\n }\n },\n { immediate: true }\n )\n\n watch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n if (forwardRef) {\n forwardRef.addEventListener('keydown', onKeydown)\n forwardRef.addEventListener('focusin', onFocusIn)\n forwardRef.addEventListener('focusout', onFocusOut)\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener('keydown', onKeydown)\n oldForwardRef.removeEventListener('focusin', onFocusIn)\n oldForwardRef.removeEventListener('focusout', onFocusOut)\n }\n })\n\n const trapOnFocus = (e: Event) => {\n emit(ON_TRAP_FOCUS_EVT, e)\n }\n const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (!trapContainer) return\n\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (isFocusedInTrap) emit('focusin', e)\n\n if (focusLayer.paused) return\n\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target\n } else {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (props.trapped) {\n const relatedTarget = (e as FocusEvent)\n .relatedTarget as HTMLElement | null\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n // Give embedded focus layer time to pause this layer before reclaiming focus\n // And only reclaim focus if it should currently be trapping\n setTimeout(() => {\n if (!focusLayer.paused && props.trapped) {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }, 0)\n }\n } else {\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (!isFocusedInTrap) emit('focusout', e)\n }\n }\n\n async function startTrap() {\n // Wait for forwardRef to resolve\n await nextTick()\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const focusEvent = new Event(\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n trapContainer.dispatchEvent(focusEvent)\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl)\n if (document.activeElement !== focusStartEl) {\n focusStartEl = 'first'\n }\n }\n if (focusStartEl === 'first') {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n }\n if (\n document.activeElement === prevFocusedElement ||\n focusStartEl === 'container'\n ) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n }\n\n function stopTrap() {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n const releasedEvent = new Event(\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n trapContainer.dispatchEvent(releasedEvent)\n\n if (!releasedEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeTrapped ?? document.body, true)\n }\n\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus)\n focusableStack.remove(focusLayer)\n }\n }\n\n onMounted(() => {\n if (props.trapped) {\n startTrap()\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n startTrap()\n } else {\n stopTrap()\n }\n }\n )\n })\n\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap()\n }\n })\n\n return {\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","ref","useEscapeKeydown","EVENT_CODE","getEdges","tryFocus","provide","FOCUS_TRAP_INJECTION_KEY","watch","unref","isNil","nextTick","focusableStack","FOCUS_AFTER_TRAPPED","FOCUS_AFTER_TRAPPED_OPTS","isString","focusFirstDescendant","obtainAllFocusableElements","FOCUS_AFTER_RELEASED","onMounted","onBeforeUnmount","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;AAqCA,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,aAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,IACT,WAAa,EAAA,MAAA;AAAA,IACb,YAAc,EAAA;AAAA,MACZ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACrB,OAAS,EAAA,OAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,KAAO,EAAA;AAAA,IACLC,wBAAA;AAAA,IACAC,2BAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,oBAAA;AAAA,IACA,mBAAA;AAAA,GACF;AAAA,EACA,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAA,MAAM,aAAaC,OAA6B,EAAA,CAAA;AAChD,IAAI,IAAA,sBAAA,CAAA;AACJ,IAAI,IAAA,qBAAA,CAAA;AAEJ,IAAAC,sBAAA,CAAiB,CAAC,KAAU,KAAA;AAC1B,MAAA,IAAI,KAAM,CAAA,OAAA,IAAW,CAAC,UAAA,CAAW,MAAQ,EAAA;AACvC,QAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAAA,OACjC;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,UAAyB,GAAA;AAAA,MAC7B,MAAQ,EAAA,KAAA;AAAA,MACR,KAAQ,GAAA;AACN,QAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAAA,OAChB;AAAA,MACA,MAAS,GAAA;AACP,QAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;AAAA,OAChB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,SAAA,GAAY,CAAC,CAAqB,KAAA;AACtC,MAAA,IAAI,CAAC,KAAA,CAAM,IAAQ,IAAA,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAA;AACnC,MAAA,IAAI,UAAW,CAAA,MAAA;AAAQ,QAAA,OAAA;AAEvB,MAAA,MAAM,EAAE,GAAK,EAAA,MAAA,EAAQ,OAAS,EAAA,OAAA,EAAS,eAAe,QAAa,EAAA,GAAA,CAAA,CAAA;AACnE,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAM,MAAA,SAAA,GACJ,QAAQC,eAAW,CAAA,GAAA,IAAO,CAAC,MAAU,IAAA,CAAC,WAAW,CAAC,OAAA,CAAA;AAEpD,MAAA,MAAM,oBAAoB,QAAS,CAAA,aAAA,CAAA;AACnC,MAAA,IAAI,aAAa,iBAAmB,EAAA;AAClC,QAAA,MAAM,SAAY,GAAA,aAAA,CAAA;AAClB,QAAA,MAAM,CAAC,KAAA,EAAO,IAAQ,CAAA,GAAAC,cAAA,CAAS,SAAS,CAAA,CAAA;AACxC,QAAA,MAAM,aAAa,KAAS,IAAA,IAAA,CAAA;AAC5B,QAAA,IAAI,CAAC,UAAY,EAAA;AACf,UAAA,IAAI,sBAAsB,SAAW,EAAA;AACnC,YAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,YAAA,IAAA,CAAK,oBAAoB,CAAA,CAAA;AAAA,WAC3B;AAAA,SACK,MAAA;AACL,UAAI,IAAA,CAAC,QAAY,IAAA,iBAAA,KAAsB,IAAM,EAAA;AAC3C,YAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,YAAI,IAAA,IAAA;AAAM,cAAAC,cAAA,CAAS,OAAO,IAAI,CAAA,CAAA;AAC9B,YAAA,IAAA,CAAK,oBAAoB,CAAA,CAAA;AAAA,WAC3B,MAAA,IACE,YACA,CAAC,KAAA,EAAO,SAAS,CAAE,CAAA,QAAA,CAAS,iBAAgC,CAC5D,EAAA;AACA,YAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,YAAI,IAAA,IAAA;AAAM,cAAAA,cAAA,CAAS,MAAM,IAAI,CAAA,CAAA;AAC7B,YAAA,IAAA,CAAK,oBAAoB,CAAA,CAAA;AAAA,WAC3B;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAAC,WAAA,CAAQC,+BAA0B,EAAA;AAAA,MAChC,YAAc,EAAA,UAAA;AAAA,MACd,SAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAAC,SAAA,CACE,MAAM,KAAA,CAAM,WACZ,EAAA,CAAC,WAAgB,KAAA;AACf,MAAA,IAAI,WAAa,EAAA;AACf,QAAA,UAAA,CAAW,KAAQ,GAAA,WAAA,CAAA;AAAA,OACrB;AAAA,KAEF,EAAA,EAAE,SAAW,EAAA,IAAA,EACf,CAAA,CAAA;AAEA,IAAAA,SAAA,CAAM,CAAC,UAAU,CAAA,EAAG,CAAC,CAAC,WAAA,CAAA,EAAa,CAAC,aAAmB,CAAA,KAAA;AACrD,MAAA,IAAI,WAAY,EAAA;AACd,QAAW,WAAA,CAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;AAChD,QAAW,WAAA,CAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;AAChD,QAAW,WAAA,CAAA,gBAAA,CAAiB,YAAY,UAAU,CAAA,CAAA;AAAA,OACpD;AACA,MAAA,IAAI,aAAe,EAAA;AACjB,QAAc,aAAA,CAAA,mBAAA,CAAoB,WAAW,SAAS,CAAA,CAAA;AACtD,QAAc,aAAA,CAAA,mBAAA,CAAoB,WAAW,SAAS,CAAA,CAAA;AACtD,QAAc,aAAA,CAAA,mBAAA,CAAoB,YAAY,UAAU,CAAA,CAAA;AAAA,OAC1D;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,CAAC,CAAa,KAAA;AAChC,MAAA,IAAA,CAAKT,0BAAmB,CAAC,CAAA,CAAA;AAAA,KAC3B,CAAA;AACA,IAAA,MAAM,cAAiB,GAAA,CAAC,CAAa,KAAA,IAAA,CAAKC,6BAAsB,CAAC,CAAA,CAAA;AAEjE,IAAM,MAAA,SAAA,GAAY,CAAC,CAAa,KAAA;AAC9B,MAAM,MAAA,aAAA,GAAgBS,UAAM,UAAU,CAAA,CAAA;AACtC,MAAA,IAAI,CAAC,aAAA;AAAe,QAAA,OAAA;AAEpB,MAAA,MAAM,SAAS,CAAE,CAAA,MAAA,CAAA;AACjB,MAAA,MAAM,eAAkB,GAAA,MAAA,IAAU,aAAc,CAAA,QAAA,CAAS,MAAM,CAAA,CAAA;AAC/D,MAAI,IAAA,eAAA;AAAiB,QAAA,IAAA,CAAK,WAAW,CAAC,CAAA,CAAA;AAEtC,MAAA,IAAI,UAAW,CAAA,MAAA;AAAQ,QAAA,OAAA;AAEvB,MAAA,IAAI,MAAM,OAAS,EAAA;AACjB,QAAA,IAAI,eAAiB,EAAA;AACnB,UAAwB,qBAAA,GAAA,MAAA,CAAA;AAAA,SACnB,MAAA;AACL,UAAAJ,cAAA,CAAS,uBAAuB,IAAI,CAAA,CAAA;AAAA,SACtC;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,CAAa,KAAA;AAC/B,MAAM,MAAA,aAAA,GAAgBI,UAAM,UAAU,CAAA,CAAA;AACtC,MAAI,IAAA,UAAA,CAAW,UAAU,CAAC,aAAA;AAAe,QAAA,OAAA;AAEzC,MAAA,IAAI,MAAM,OAAS,EAAA;AACjB,QAAA,MAAM,gBAAiB,CACpB,CAAA,aAAA,CAAA;AACH,QAAI,IAAA,CAACC,oBAAM,aAAa,CAAA,IAAK,CAAC,aAAc,CAAA,QAAA,CAAS,aAAa,CAAG,EAAA;AAGnE,UAAA,UAAA,CAAW,MAAM;AACf,YAAA,IAAI,CAAC,UAAA,CAAW,MAAU,IAAA,KAAA,CAAM,OAAS,EAAA;AACvC,cAAAL,cAAA,CAAS,uBAAuB,IAAI,CAAA,CAAA;AAAA,aACtC;AAAA,aACC,CAAC,CAAA,CAAA;AAAA,SACN;AAAA,OACK,MAAA;AACL,QAAA,MAAM,SAAS,CAAE,CAAA,MAAA,CAAA;AACjB,QAAA,MAAM,eAAkB,GAAA,MAAA,IAAU,aAAc,CAAA,QAAA,CAAS,MAAM,CAAA,CAAA;AAC/D,QAAA,IAAI,CAAC,eAAA;AAAiB,UAAA,IAAA,CAAK,YAAY,CAAC,CAAA,CAAA;AAAA,OAC1C;AAAA,KACF,CAAA;AAEA,IAA2B,eAAA,SAAA,GAAA;AAEzB,MAAA,MAAMM,YAAS,EAAA,CAAA;AACf,MAAM,MAAA,aAAA,GAAgBF,UAAM,UAAU,CAAA,CAAA;AACtC,MAAA,IAAI,aAAe,EAAA;AACjB,QAAAG,oBAAA,CAAe,KAAK,UAAU,CAAA,CAAA;AAC9B,QAAA,MAAM,qBAAqB,QAAS,CAAA,aAAA,CAAA;AACpC,QAAyB,sBAAA,GAAA,kBAAA,CAAA;AACzB,QAAM,MAAA,oBAAA,GAAuB,aAAc,CAAA,QAAA,CAAS,kBAAkB,CAAA,CAAA;AACtE,QAAA,IAAI,CAAC,oBAAsB,EAAA;AACzB,UAAA,MAAM,UAAa,GAAA,IAAI,KACrB,CAAAC,0BAAA,EACAC,+BACF,CAAA,CAAA;AACA,UAAc,aAAA,CAAA,gBAAA,CAAiBD,4BAAqB,WAAW,CAAA,CAAA;AAC/D,UAAA,aAAA,CAAc,cAAc,UAAU,CAAA,CAAA;AACtC,UAAI,IAAA,CAAC,WAAW,gBAAkB,EAAA;AAChC,YAAAF,YAAA,CAAS,MAAM;AACb,cAAA,IAAI,eAAe,KAAM,CAAA,YAAA,CAAA;AACzB,cAAI,IAAA,CAACI,eAAS,CAAA,YAAY,CAAG,EAAA;AAC3B,gBAAAV,cAAA,CAAS,YAAY,CAAA,CAAA;AACrB,gBAAI,IAAA,QAAA,CAAS,kBAAkB,YAAc,EAAA;AAC3C,kBAAe,YAAA,GAAA,OAAA,CAAA;AAAA,iBACjB;AAAA,eACF;AACA,cAAA,IAAI,iBAAiB,OAAS,EAAA;AAC5B,gBACEW,0BAAA,CAAAC,gCAAA,CAA2B,aAAa,CAAA,EACxC,IACF,CAAA,CAAA;AAAA,eACF;AACA,cAAA,IACE,QAAS,CAAA,aAAA,KAAkB,kBAC3B,IAAA,YAAA,KAAiB,WACjB,EAAA;AACA,gBAAAZ,cAAA,CAAS,aAAa,CAAA,CAAA;AAAA,eACxB;AAAA,aACD,CAAA,CAAA;AAAA,WACH;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEA,IAAoB,SAAA,QAAA,GAAA;AAClB,MAAM,MAAA,aAAA,GAAgBI,UAAM,UAAU,CAAA,CAAA;AAEtC,MAAA,IAAI,aAAe,EAAA;AACjB,QAAc,aAAA,CAAA,mBAAA,CAAoBI,4BAAqB,WAAW,CAAA,CAAA;AAElE,QAAA,MAAM,aAAgB,GAAA,IAAI,KACxB,CAAAK,2BAAA,EACAJ,+BACF,CAAA,CAAA;AACA,QAAc,aAAA,CAAA,gBAAA,CAAiBI,6BAAsB,cAAc,CAAA,CAAA;AACnE,QAAA,aAAA,CAAc,cAAc,aAAa,CAAA,CAAA;AAEzC,QAAI,IAAA,CAAC,cAAc,gBAAkB,EAAA;AACnC,UAASb,cAAA,CAAA,sBAAA,IAA0B,IAAS,GAAA,sBAAU,GAAA,QAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,SACxD;AAEA,QAAc,aAAA,CAAA,mBAAA,CAAoBa,6BAAsB,WAAW,CAAA,CAAA;AACnE,QAAAN,oBAAA,CAAe,OAAO,UAAU,CAAA,CAAA;AAAA,OAClC;AAAA,KACF;AAEA,IAAAO,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,MAAM,OAAS,EAAA;AACjB,QAAU,SAAA,EAAA,CAAA;AAAA,OACZ;AAEA,MAAAX,SAAA,CACE,MAAM,KAAA,CAAM,OACZ,EAAA,CAAC,OAAY,KAAA;AACX,QAAA,IAAI,OAAS,EAAA;AACX,UAAU,SAAA,EAAA,CAAA;AAAA,SACL,MAAA;AACL,UAAS,QAAA,EAAA,CAAA;AAAA,SACX;AAAA,OAEJ,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAAY,mBAAA,CAAgB,MAAM;AACpB,MAAA,IAAI,MAAM,OAAS,EAAA;AACjB,QAAS,QAAA,EAAA,CAAA;AAAA,OACX;AAAA,KACD,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,SAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;SAxRCC,cAAoC,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA,EAA7B,eAAgB,IAAS,CAAA,SAAA,EAAA,CAAA,CAAA;;;;;;"}
@@ -34,10 +34,10 @@ function createLoadingComponent(options) {
34
34
  }
35
35
  style.removeClass(target, ns.bm("parent", "hidden"));
36
36
  }
37
- remvoeElLoadingChild();
37
+ removeElLoadingChild();
38
38
  loadingInstance.unmount();
39
39
  }
40
- function remvoeElLoadingChild() {
40
+ function removeElLoadingChild() {
41
41
  var _a, _b;
42
42
  (_b = (_a = vm.$el) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.removeChild(vm.$el);
43
43
  }
@@ -112,7 +112,7 @@ function createLoadingComponent(options) {
112
112
  return {
113
113
  ...vue.toRefs(data),
114
114
  setText,
115
- remvoeElLoadingChild,
115
+ removeElLoadingChild,
116
116
  close,
117
117
  handleAfterLeave,
118
118
  vm,
@@ -1 +1 @@
1
- {"version":3,"file":"loading2.js","sources":["../../../../../../packages/components/loading/src/loading.ts"],"sourcesContent":["import {\n Transition,\n createApp,\n createVNode,\n h,\n reactive,\n ref,\n toRefs,\n vShow,\n withCtx,\n withDirectives,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { removeClass } from '@element-plus/utils'\n\nimport type { LoadingOptionsResolved } from './types'\n\nexport function createLoadingComponent(options: LoadingOptionsResolved) {\n let afterLeaveTimer: number\n\n const ns = useNamespace('loading')\n const afterLeaveFlag = ref(false)\n const data = reactive({\n ...options,\n originalPosition: '',\n originalOverflow: '',\n visible: false,\n })\n\n function setText(text: string) {\n data.text = text\n }\n\n function destroySelf() {\n const target = data.parent\n if (!target.vLoadingAddClassList) {\n let loadingNumber: number | string | null =\n target.getAttribute('loading-number')\n loadingNumber = Number.parseInt(loadingNumber as any) - 1\n if (!loadingNumber) {\n removeClass(target, ns.bm('parent', 'relative'))\n target.removeAttribute('loading-number')\n } else {\n target.setAttribute('loading-number', loadingNumber.toString())\n }\n removeClass(target, ns.bm('parent', 'hidden'))\n }\n remvoeElLoadingChild()\n loadingInstance.unmount()\n }\n function remvoeElLoadingChild(): void {\n vm.$el?.parentNode?.removeChild(vm.$el)\n }\n function close() {\n if (options.beforeClose && !options.beforeClose()) return\n\n const target = data.parent\n target.vLoadingAddClassList = undefined\n afterLeaveFlag.value = true\n clearTimeout(afterLeaveTimer)\n\n afterLeaveTimer = window.setTimeout(() => {\n if (afterLeaveFlag.value) {\n afterLeaveFlag.value = false\n destroySelf()\n }\n }, 400)\n data.visible = false\n\n options.closed?.()\n }\n\n function handleAfterLeave() {\n if (!afterLeaveFlag.value) return\n afterLeaveFlag.value = false\n destroySelf()\n }\n\n const elLoadingComponent = {\n name: 'ElLoading',\n setup() {\n return () => {\n const svg = data.spinner || data.svg\n const spinner = h(\n 'svg',\n {\n class: 'circular',\n viewBox: data.svgViewBox ? data.svgViewBox : '25 25 50 50',\n ...(svg ? { innerHTML: svg } : {}),\n },\n [\n h('circle', {\n class: 'path',\n cx: '50',\n cy: '50',\n r: '20',\n fill: 'none',\n }),\n ]\n )\n\n const spinnerText = data.text\n ? h('p', { class: ns.b('text') }, [data.text])\n : undefined\n\n return h(\n Transition,\n {\n name: ns.b('fade'),\n onAfterLeave: handleAfterLeave,\n },\n {\n default: withCtx(() => [\n withDirectives(\n createVNode(\n 'div',\n {\n style: {\n backgroundColor: data.background || '',\n },\n class: [\n ns.b('mask'),\n data.customClass,\n data.fullscreen ? 'is-fullscreen' : '',\n ],\n },\n [\n h(\n 'div',\n {\n class: ns.b('spinner'),\n },\n [spinner, spinnerText]\n ),\n ]\n ),\n [[vShow, data.visible]]\n ),\n ]),\n }\n )\n }\n },\n }\n\n const loadingInstance = createApp(elLoadingComponent)\n const vm = loadingInstance.mount(document.createElement('div'))\n\n return {\n ...toRefs(data),\n setText,\n remvoeElLoadingChild,\n close,\n handleAfterLeave,\n vm,\n get $el(): HTMLElement {\n return vm.$el\n },\n }\n}\n\nexport type LoadingInstance = ReturnType<typeof createLoadingComponent>\n"],"names":["useNamespace","ref","reactive","removeClass","h","Transition","withCtx","withDirectives","createVNode","vShow","createApp","toRefs"],"mappings":"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"}
1
+ {"version":3,"file":"loading2.js","sources":["../../../../../../packages/components/loading/src/loading.ts"],"sourcesContent":["import {\n Transition,\n createApp,\n createVNode,\n h,\n reactive,\n ref,\n toRefs,\n vShow,\n withCtx,\n withDirectives,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { removeClass } from '@element-plus/utils'\n\nimport type { LoadingOptionsResolved } from './types'\n\nexport function createLoadingComponent(options: LoadingOptionsResolved) {\n let afterLeaveTimer: number\n\n const ns = useNamespace('loading')\n const afterLeaveFlag = ref(false)\n const data = reactive({\n ...options,\n originalPosition: '',\n originalOverflow: '',\n visible: false,\n })\n\n function setText(text: string) {\n data.text = text\n }\n\n function destroySelf() {\n const target = data.parent\n if (!target.vLoadingAddClassList) {\n let loadingNumber: number | string | null =\n target.getAttribute('loading-number')\n loadingNumber = Number.parseInt(loadingNumber as any) - 1\n if (!loadingNumber) {\n removeClass(target, ns.bm('parent', 'relative'))\n target.removeAttribute('loading-number')\n } else {\n target.setAttribute('loading-number', loadingNumber.toString())\n }\n removeClass(target, ns.bm('parent', 'hidden'))\n }\n removeElLoadingChild()\n loadingInstance.unmount()\n }\n function removeElLoadingChild(): void {\n vm.$el?.parentNode?.removeChild(vm.$el)\n }\n function close() {\n if (options.beforeClose && !options.beforeClose()) return\n\n const target = data.parent\n target.vLoadingAddClassList = undefined\n afterLeaveFlag.value = true\n clearTimeout(afterLeaveTimer)\n\n afterLeaveTimer = window.setTimeout(() => {\n if (afterLeaveFlag.value) {\n afterLeaveFlag.value = false\n destroySelf()\n }\n }, 400)\n data.visible = false\n\n options.closed?.()\n }\n\n function handleAfterLeave() {\n if (!afterLeaveFlag.value) return\n afterLeaveFlag.value = false\n destroySelf()\n }\n\n const elLoadingComponent = {\n name: 'ElLoading',\n setup() {\n return () => {\n const svg = data.spinner || data.svg\n const spinner = h(\n 'svg',\n {\n class: 'circular',\n viewBox: data.svgViewBox ? data.svgViewBox : '25 25 50 50',\n ...(svg ? { innerHTML: svg } : {}),\n },\n [\n h('circle', {\n class: 'path',\n cx: '50',\n cy: '50',\n r: '20',\n fill: 'none',\n }),\n ]\n )\n\n const spinnerText = data.text\n ? h('p', { class: ns.b('text') }, [data.text])\n : undefined\n\n return h(\n Transition,\n {\n name: ns.b('fade'),\n onAfterLeave: handleAfterLeave,\n },\n {\n default: withCtx(() => [\n withDirectives(\n createVNode(\n 'div',\n {\n style: {\n backgroundColor: data.background || '',\n },\n class: [\n ns.b('mask'),\n data.customClass,\n data.fullscreen ? 'is-fullscreen' : '',\n ],\n },\n [\n h(\n 'div',\n {\n class: ns.b('spinner'),\n },\n [spinner, spinnerText]\n ),\n ]\n ),\n [[vShow, data.visible]]\n ),\n ]),\n }\n )\n }\n },\n }\n\n const loadingInstance = createApp(elLoadingComponent)\n const vm = loadingInstance.mount(document.createElement('div'))\n\n return {\n ...toRefs(data),\n setText,\n removeElLoadingChild,\n close,\n handleAfterLeave,\n vm,\n get $el(): HTMLElement {\n return vm.$el\n },\n }\n}\n\nexport type LoadingInstance = ReturnType<typeof createLoadingComponent>\n"],"names":["useNamespace","ref","reactive","removeClass","h","Transition","withCtx","withDirectives","createVNode","vShow","createApp","toRefs"],"mappings":"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"}
@@ -35,7 +35,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
35
35
  ];
36
36
  });
37
37
  const handleClose = (event) => {
38
- event.stopPropagation();
39
38
  emit("close", event);
40
39
  };
41
40
  const handleClick = (event) => {
@@ -56,13 +55,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
56
55
  _ctx.closable ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ElIcon), {
57
56
  key: 0,
58
57
  class: vue.normalizeClass(vue.unref(ns).e("close")),
59
- onClick: handleClose
58
+ onClick: vue.withModifiers(handleClose, ["stop"])
60
59
  }, {
61
60
  default: vue.withCtx(() => [
62
61
  vue.createVNode(vue.unref(iconsVue.Close))
63
62
  ]),
64
63
  _: 1
65
- }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
64
+ }, 8, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
66
65
  ], 6)) : (vue.openBlock(), vue.createBlock(vue.Transition, {
67
66
  key: 1,
68
67
  name: `${vue.unref(ns).namespace.value}-zoom-in-center`
@@ -81,13 +80,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
81
80
  _ctx.closable ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ElIcon), {
82
81
  key: 0,
83
82
  class: vue.normalizeClass(vue.unref(ns).e("close")),
84
- onClick: handleClose
83
+ onClick: vue.withModifiers(handleClose, ["stop"])
85
84
  }, {
86
85
  default: vue.withCtx(() => [
87
86
  vue.createVNode(vue.unref(iconsVue.Close))
88
87
  ]),
89
88
  _: 1
90
- }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
89
+ }, 8, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
91
90
  ], 6)
92
91
  ]),
93
92
  _: 3
@@ -1 +1 @@
1
- {"version":3,"file":"tag4.js","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <el-icon v-if=\"closable\" :class=\"ns.e('close')\" @click=\"handleClose\">\n <Close />\n </el-icon>\n </span>\n <transition v-else :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <el-icon v-if=\"closable\" :class=\"ns.e('close')\" @click=\"handleClose\">\n <Close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { tagEmits, tagProps } from './tag'\n\ndefineOptions({\n name: 'ElTag',\n})\nconst props = defineProps(tagProps)\nconst emit = defineEmits(tagEmits)\n\nconst tagSize = useSize()\nconst ns = useNamespace('tag')\nconst classes = computed(() => {\n const { type, hit, effect, closable, round } = props\n return [\n ns.b(),\n ns.is('closable', closable),\n ns.m(type),\n ns.m(tagSize.value),\n ns.m(effect),\n ns.is('hit', hit),\n ns.is('round', round),\n ]\n})\n\n// methods\nconst handleClose = (event: MouseEvent) => {\n event.stopPropagation()\n emit('close', event)\n}\n\nconst handleClick = (event: MouseEvent) => {\n emit('click', event)\n}\n</script>\n"],"names":["useSize","useNamespace","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA4CA,IAAA,MAAA,UAAAA,aAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAAC,qBAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAAC,aAAA,MAAA;AACA,MAAA,MAAA,EAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,UAAA,KAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,GAAA,CAAA,EAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,IAAA,CAAA;AAAA,QACA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,MAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,KAAA,EAAA,GAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AAGA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tag4.js","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <el-icon v-if=\"closable\" :class=\"ns.e('close')\" @click.stop=\"handleClose\">\n <Close />\n </el-icon>\n </span>\n <transition v-else :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <el-icon v-if=\"closable\" :class=\"ns.e('close')\" @click.stop=\"handleClose\">\n <Close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { tagEmits, tagProps } from './tag'\n\ndefineOptions({\n name: 'ElTag',\n})\nconst props = defineProps(tagProps)\nconst emit = defineEmits(tagEmits)\n\nconst tagSize = useSize()\nconst ns = useNamespace('tag')\nconst classes = computed(() => {\n const { type, hit, effect, closable, round } = props\n return [\n ns.b(),\n ns.is('closable', closable),\n ns.m(type),\n ns.m(tagSize.value),\n ns.m(effect),\n ns.is('hit', hit),\n ns.is('round', round),\n ]\n})\n\n// methods\nconst handleClose = (event: MouseEvent) => {\n emit('close', event)\n}\n\nconst handleClick = (event: MouseEvent) => {\n emit('click', event)\n}\n</script>\n"],"names":["useSize","useNamespace","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA4CA,IAAA,MAAA,UAAAA,aAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAAC,qBAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAAC,aAAA,MAAA;AACA,MAAA,MAAA,EAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,UAAA,KAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,GAAA,CAAA,EAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,IAAA,CAAA;AAAA,QACA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,MAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,KAAA,EAAA,GAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;AAGA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}