@element-plus/nightly 0.0.20250105 → 0.0.20250107

Sign up to get free protection for your applications and to get access to all the features.
Files changed (567) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +56 -13
  4. package/dist/index.full.min.js +12 -12
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +56 -13
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +191 -0
  94. package/dist/locale/hi.min.js +2 -0
  95. package/dist/locale/hi.min.js.map +1 -0
  96. package/dist/locale/hi.min.mjs +2 -0
  97. package/dist/locale/hi.min.mjs.map +1 -0
  98. package/dist/locale/hi.mjs +183 -0
  99. package/dist/locale/hr.js +1 -1
  100. package/dist/locale/hr.min.js +1 -1
  101. package/dist/locale/hr.min.mjs +1 -1
  102. package/dist/locale/hr.mjs +1 -1
  103. package/dist/locale/hu.js +1 -1
  104. package/dist/locale/hu.min.js +1 -1
  105. package/dist/locale/hu.min.mjs +1 -1
  106. package/dist/locale/hu.mjs +1 -1
  107. package/dist/locale/hy-am.js +1 -1
  108. package/dist/locale/hy-am.min.js +1 -1
  109. package/dist/locale/hy-am.min.mjs +1 -1
  110. package/dist/locale/hy-am.mjs +1 -1
  111. package/dist/locale/id.js +1 -1
  112. package/dist/locale/id.min.js +1 -1
  113. package/dist/locale/id.min.mjs +1 -1
  114. package/dist/locale/id.mjs +1 -1
  115. package/dist/locale/it.js +1 -1
  116. package/dist/locale/it.min.js +1 -1
  117. package/dist/locale/it.min.mjs +1 -1
  118. package/dist/locale/it.mjs +1 -1
  119. package/dist/locale/ja.js +1 -1
  120. package/dist/locale/ja.min.js +1 -1
  121. package/dist/locale/ja.min.mjs +1 -1
  122. package/dist/locale/ja.mjs +1 -1
  123. package/dist/locale/kk.js +1 -1
  124. package/dist/locale/kk.min.js +1 -1
  125. package/dist/locale/kk.min.mjs +1 -1
  126. package/dist/locale/kk.mjs +1 -1
  127. package/dist/locale/km.js +1 -1
  128. package/dist/locale/km.min.js +1 -1
  129. package/dist/locale/km.min.mjs +1 -1
  130. package/dist/locale/km.mjs +1 -1
  131. package/dist/locale/ko.js +1 -1
  132. package/dist/locale/ko.min.js +1 -1
  133. package/dist/locale/ko.min.mjs +1 -1
  134. package/dist/locale/ko.mjs +1 -1
  135. package/dist/locale/ku.js +1 -1
  136. package/dist/locale/ku.min.js +1 -1
  137. package/dist/locale/ku.min.mjs +1 -1
  138. package/dist/locale/ku.mjs +1 -1
  139. package/dist/locale/ky.js +1 -1
  140. package/dist/locale/ky.min.js +1 -1
  141. package/dist/locale/ky.min.mjs +1 -1
  142. package/dist/locale/ky.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/pa.js +1 -1
  176. package/dist/locale/pa.min.js +1 -1
  177. package/dist/locale/pa.min.mjs +1 -1
  178. package/dist/locale/pa.mjs +1 -1
  179. package/dist/locale/pl.js +1 -1
  180. package/dist/locale/pl.min.js +1 -1
  181. package/dist/locale/pl.min.mjs +1 -1
  182. package/dist/locale/pl.mjs +1 -1
  183. package/dist/locale/pt-br.js +1 -1
  184. package/dist/locale/pt-br.min.js +1 -1
  185. package/dist/locale/pt-br.min.mjs +1 -1
  186. package/dist/locale/pt-br.mjs +1 -1
  187. package/dist/locale/pt.js +1 -1
  188. package/dist/locale/pt.min.js +1 -1
  189. package/dist/locale/pt.min.mjs +1 -1
  190. package/dist/locale/pt.mjs +1 -1
  191. package/dist/locale/ro.js +1 -1
  192. package/dist/locale/ro.min.js +1 -1
  193. package/dist/locale/ro.min.mjs +1 -1
  194. package/dist/locale/ro.mjs +1 -1
  195. package/dist/locale/ru.js +1 -1
  196. package/dist/locale/ru.min.js +1 -1
  197. package/dist/locale/ru.min.mjs +1 -1
  198. package/dist/locale/ru.mjs +1 -1
  199. package/dist/locale/sk.js +1 -1
  200. package/dist/locale/sk.min.js +1 -1
  201. package/dist/locale/sk.min.mjs +1 -1
  202. package/dist/locale/sk.mjs +1 -1
  203. package/dist/locale/sl.js +1 -1
  204. package/dist/locale/sl.min.js +1 -1
  205. package/dist/locale/sl.min.mjs +1 -1
  206. package/dist/locale/sl.mjs +1 -1
  207. package/dist/locale/sr.js +1 -1
  208. package/dist/locale/sr.min.js +1 -1
  209. package/dist/locale/sr.min.mjs +1 -1
  210. package/dist/locale/sr.mjs +1 -1
  211. package/dist/locale/sv.js +1 -1
  212. package/dist/locale/sv.min.js +1 -1
  213. package/dist/locale/sv.min.mjs +1 -1
  214. package/dist/locale/sv.mjs +1 -1
  215. package/dist/locale/sw.js +1 -1
  216. package/dist/locale/sw.min.js +1 -1
  217. package/dist/locale/sw.min.mjs +1 -1
  218. package/dist/locale/sw.mjs +1 -1
  219. package/dist/locale/ta.js +1 -1
  220. package/dist/locale/ta.min.js +1 -1
  221. package/dist/locale/ta.min.mjs +1 -1
  222. package/dist/locale/ta.mjs +1 -1
  223. package/dist/locale/th.js +1 -1
  224. package/dist/locale/th.min.js +1 -1
  225. package/dist/locale/th.min.mjs +1 -1
  226. package/dist/locale/th.mjs +1 -1
  227. package/dist/locale/tk.js +1 -1
  228. package/dist/locale/tk.min.js +1 -1
  229. package/dist/locale/tk.min.mjs +1 -1
  230. package/dist/locale/tk.mjs +1 -1
  231. package/dist/locale/tr.js +1 -1
  232. package/dist/locale/tr.min.js +1 -1
  233. package/dist/locale/tr.min.mjs +1 -1
  234. package/dist/locale/tr.mjs +1 -1
  235. package/dist/locale/ug-cn.js +1 -1
  236. package/dist/locale/ug-cn.min.js +1 -1
  237. package/dist/locale/ug-cn.min.mjs +1 -1
  238. package/dist/locale/ug-cn.mjs +1 -1
  239. package/dist/locale/uk.js +1 -1
  240. package/dist/locale/uk.min.js +1 -1
  241. package/dist/locale/uk.min.mjs +1 -1
  242. package/dist/locale/uk.mjs +1 -1
  243. package/dist/locale/uz-uz.js +1 -1
  244. package/dist/locale/uz-uz.min.js +1 -1
  245. package/dist/locale/uz-uz.min.mjs +1 -1
  246. package/dist/locale/uz-uz.mjs +1 -1
  247. package/dist/locale/vi.js +1 -1
  248. package/dist/locale/vi.min.js +1 -1
  249. package/dist/locale/vi.min.mjs +1 -1
  250. package/dist/locale/vi.mjs +1 -1
  251. package/dist/locale/zh-cn.js +1 -1
  252. package/dist/locale/zh-cn.min.js +1 -1
  253. package/dist/locale/zh-cn.min.mjs +1 -1
  254. package/dist/locale/zh-cn.mjs +1 -1
  255. package/dist/locale/zh-tw.js +1 -1
  256. package/dist/locale/zh-tw.min.js +1 -1
  257. package/dist/locale/zh-tw.min.mjs +1 -1
  258. package/dist/locale/zh-tw.mjs +1 -1
  259. package/es/components/affix/index.mjs +2 -2
  260. package/es/components/affix/src/affix.mjs +118 -25
  261. package/es/components/affix/src/affix.mjs.map +1 -1
  262. package/es/components/affix/src/affix2.mjs +25 -118
  263. package/es/components/affix/src/affix2.mjs.map +1 -1
  264. package/es/components/autocomplete/index.mjs +2 -2
  265. package/es/components/autocomplete/src/autocomplete.mjs +79 -364
  266. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  267. package/es/components/autocomplete/src/autocomplete2.mjs +364 -79
  268. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  269. package/es/components/backtop/index.mjs +2 -2
  270. package/es/components/backtop/src/backtop.mjs +53 -21
  271. package/es/components/backtop/src/backtop.mjs.map +1 -1
  272. package/es/components/backtop/src/backtop2.mjs +21 -53
  273. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  274. package/es/components/breadcrumb/index.mjs +2 -2
  275. package/es/components/breadcrumb/src/breadcrumb.mjs +37 -10
  276. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  277. package/es/components/breadcrumb/src/breadcrumb2.mjs +10 -37
  278. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  279. package/es/components/card/index.mjs +2 -2
  280. package/es/components/card/src/card.mjs +20 -42
  281. package/es/components/card/src/card.mjs.map +1 -1
  282. package/es/components/card/src/card2.mjs +42 -20
  283. package/es/components/card/src/card2.mjs.map +1 -1
  284. package/es/components/carousel/index.mjs +2 -2
  285. package/es/components/carousel/src/carousel.mjs +204 -61
  286. package/es/components/carousel/src/carousel.mjs.map +1 -1
  287. package/es/components/carousel/src/carousel2.mjs +61 -204
  288. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  289. package/es/components/checkbox/index.mjs +2 -2
  290. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  291. package/es/components/checkbox/src/checkbox.mjs +59 -119
  292. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  293. package/es/components/checkbox/src/checkbox2.mjs +119 -59
  294. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  295. package/es/components/col/index.mjs +2 -2
  296. package/es/components/col/src/col.mjs +43 -64
  297. package/es/components/col/src/col.mjs.map +1 -1
  298. package/es/components/col/src/col2.mjs +64 -43
  299. package/es/components/col/src/col2.mjs.map +1 -1
  300. package/es/components/dialog/src/dialog-content.d.ts +3 -0
  301. package/es/components/dialog/src/dialog-content.mjs +3 -0
  302. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  303. package/es/components/dialog/src/dialog-content.vue.d.ts +6 -0
  304. package/es/components/dialog/src/dialog-content2.mjs +3 -3
  305. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  306. package/es/components/dialog/src/dialog.d.ts +3 -0
  307. package/es/components/dialog/src/dialog.mjs +3 -0
  308. package/es/components/dialog/src/dialog.mjs.map +1 -1
  309. package/es/components/dialog/src/dialog.vue.d.ts +6 -0
  310. package/es/components/dialog/src/dialog2.mjs +4 -1
  311. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  312. package/es/components/drawer/src/drawer.d.ts +3 -0
  313. package/es/components/drawer/src/drawer.vue.d.ts +6 -0
  314. package/es/components/drawer/src/drawer2.mjs +3 -3
  315. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  316. package/es/components/form/index.mjs +4 -4
  317. package/es/components/form/src/form-item.mjs +319 -47
  318. package/es/components/form/src/form-item.mjs.map +1 -1
  319. package/es/components/form/src/form-item2.mjs +47 -319
  320. package/es/components/form/src/form-item2.mjs.map +1 -1
  321. package/es/components/form/src/form.mjs +153 -53
  322. package/es/components/form/src/form.mjs.map +1 -1
  323. package/es/components/form/src/form2.mjs +53 -151
  324. package/es/components/form/src/form2.mjs.map +1 -1
  325. package/es/components/image-viewer/index.mjs +2 -2
  326. package/es/components/image-viewer/src/image-viewer.mjs +45 -412
  327. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  328. package/es/components/image-viewer/src/image-viewer2.mjs +412 -45
  329. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  330. package/es/components/index.mjs +20 -20
  331. package/es/components/input/index.mjs +2 -2
  332. package/es/components/input/src/input.mjs +102 -431
  333. package/es/components/input/src/input.mjs.map +1 -1
  334. package/es/components/input/src/input2.mjs +431 -102
  335. package/es/components/input/src/input2.mjs.map +1 -1
  336. package/es/components/link/index.mjs +2 -2
  337. package/es/components/link/src/link.mjs +24 -49
  338. package/es/components/link/src/link.mjs.map +1 -1
  339. package/es/components/link/src/link2.mjs +49 -24
  340. package/es/components/link/src/link2.mjs.map +1 -1
  341. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  342. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  343. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  344. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  345. package/es/components/mention/src/mention.mjs +1 -1
  346. package/es/components/mention/src/mention2.mjs +2 -2
  347. package/es/components/notification/index.mjs +1 -1
  348. package/es/components/notification/src/notification.mjs +142 -68
  349. package/es/components/notification/src/notification.mjs.map +1 -1
  350. package/es/components/notification/src/notification2.mjs +68 -142
  351. package/es/components/notification/src/notification2.mjs.map +1 -1
  352. package/es/components/notification/src/notify.mjs +2 -2
  353. package/es/components/pagination/src/components/pager.mjs +16 -209
  354. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  355. package/es/components/pagination/src/components/pager2.mjs +209 -16
  356. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  357. package/es/components/pagination/src/pagination.mjs +1 -1
  358. package/es/components/skeleton/index.mjs +2 -2
  359. package/es/components/skeleton/src/skeleton.mjs +48 -21
  360. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  361. package/es/components/skeleton/src/skeleton2.mjs +21 -48
  362. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  363. package/es/components/slider/index.mjs +2 -2
  364. package/es/components/slider/src/slider.mjs +238 -88
  365. package/es/components/slider/src/slider.mjs.map +1 -1
  366. package/es/components/slider/src/slider2.mjs +88 -238
  367. package/es/components/slider/src/slider2.mjs.map +1 -1
  368. package/es/components/statistic/index.mjs +2 -2
  369. package/es/components/statistic/src/statistic.mjs +25 -69
  370. package/es/components/statistic/src/statistic.mjs.map +1 -1
  371. package/es/components/statistic/src/statistic2.mjs +69 -25
  372. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  373. package/es/components/switch/index.mjs +2 -2
  374. package/es/components/switch/src/switch.mjs +72 -228
  375. package/es/components/switch/src/switch.mjs.map +1 -1
  376. package/es/components/switch/src/switch2.mjs +228 -72
  377. package/es/components/switch/src/switch2.mjs.map +1 -1
  378. package/es/components/tabs/index.mjs +2 -2
  379. package/es/components/tabs/src/tab-pane.mjs +13 -71
  380. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  381. package/es/components/tabs/src/tab-pane2.mjs +71 -13
  382. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  383. package/es/components/tabs/src/tabs.mjs +9 -3
  384. package/es/components/tabs/src/tabs.mjs.map +1 -1
  385. package/es/components/text/src/text2.mjs +27 -1
  386. package/es/components/text/src/text2.mjs.map +1 -1
  387. package/es/components/tooltip-v2/index.mjs +2 -2
  388. package/es/components/tooltip-v2/src/tooltip.mjs +77 -19
  389. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  390. package/es/components/tooltip-v2/src/tooltip2.mjs +19 -77
  391. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  392. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  393. package/es/components/transfer/src/transfer-panel.mjs +130 -19
  394. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  395. package/es/components/transfer/src/transfer-panel2.mjs +19 -130
  396. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  397. package/es/components/transfer/src/transfer2.mjs +1 -1
  398. package/es/components/watermark/index.mjs +2 -2
  399. package/es/components/watermark/src/watermark.mjs +27 -210
  400. package/es/components/watermark/src/watermark.mjs.map +1 -1
  401. package/es/components/watermark/src/watermark2.mjs +210 -27
  402. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  403. package/es/index.mjs +20 -20
  404. package/es/locale/lang/hi.d.ts +180 -0
  405. package/es/locale/lang/hi.mjs +182 -0
  406. package/es/locale/lang/hi.mjs.map +1 -0
  407. package/es/version.d.ts +1 -1
  408. package/es/version.mjs +1 -1
  409. package/es/version.mjs.map +1 -1
  410. package/lib/components/affix/index.js +2 -2
  411. package/lib/components/affix/src/affix.js +118 -26
  412. package/lib/components/affix/src/affix.js.map +1 -1
  413. package/lib/components/affix/src/affix2.js +26 -118
  414. package/lib/components/affix/src/affix2.js.map +1 -1
  415. package/lib/components/autocomplete/index.js +2 -2
  416. package/lib/components/autocomplete/src/autocomplete.js +79 -363
  417. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  418. package/lib/components/autocomplete/src/autocomplete2.js +363 -79
  419. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  420. package/lib/components/backtop/index.js +2 -2
  421. package/lib/components/backtop/src/backtop.js +53 -22
  422. package/lib/components/backtop/src/backtop.js.map +1 -1
  423. package/lib/components/backtop/src/backtop2.js +22 -53
  424. package/lib/components/backtop/src/backtop2.js.map +1 -1
  425. package/lib/components/breadcrumb/index.js +2 -2
  426. package/lib/components/breadcrumb/src/breadcrumb.js +37 -10
  427. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  428. package/lib/components/breadcrumb/src/breadcrumb2.js +10 -37
  429. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  430. package/lib/components/card/index.js +2 -2
  431. package/lib/components/card/src/card.js +20 -42
  432. package/lib/components/card/src/card.js.map +1 -1
  433. package/lib/components/card/src/card2.js +42 -20
  434. package/lib/components/card/src/card2.js.map +1 -1
  435. package/lib/components/carousel/index.js +2 -2
  436. package/lib/components/carousel/src/carousel.js +204 -62
  437. package/lib/components/carousel/src/carousel.js.map +1 -1
  438. package/lib/components/carousel/src/carousel2.js +62 -204
  439. package/lib/components/carousel/src/carousel2.js.map +1 -1
  440. package/lib/components/checkbox/index.js +2 -2
  441. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  442. package/lib/components/checkbox/src/checkbox.js +60 -119
  443. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  444. package/lib/components/checkbox/src/checkbox2.js +119 -60
  445. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  446. package/lib/components/col/index.js +2 -2
  447. package/lib/components/col/src/col.js +43 -64
  448. package/lib/components/col/src/col.js.map +1 -1
  449. package/lib/components/col/src/col2.js +64 -43
  450. package/lib/components/col/src/col2.js.map +1 -1
  451. package/lib/components/dialog/src/dialog-content.d.ts +3 -0
  452. package/lib/components/dialog/src/dialog-content.js +3 -0
  453. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  454. package/lib/components/dialog/src/dialog-content.vue.d.ts +6 -0
  455. package/lib/components/dialog/src/dialog-content2.js +3 -3
  456. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  457. package/lib/components/dialog/src/dialog.d.ts +3 -0
  458. package/lib/components/dialog/src/dialog.js +3 -0
  459. package/lib/components/dialog/src/dialog.js.map +1 -1
  460. package/lib/components/dialog/src/dialog.vue.d.ts +6 -0
  461. package/lib/components/dialog/src/dialog2.js +4 -1
  462. package/lib/components/dialog/src/dialog2.js.map +1 -1
  463. package/lib/components/drawer/src/drawer.d.ts +3 -0
  464. package/lib/components/drawer/src/drawer.vue.d.ts +6 -0
  465. package/lib/components/drawer/src/drawer2.js +3 -3
  466. package/lib/components/drawer/src/drawer2.js.map +1 -1
  467. package/lib/components/form/index.js +4 -4
  468. package/lib/components/form/src/form-item.js +323 -48
  469. package/lib/components/form/src/form-item.js.map +1 -1
  470. package/lib/components/form/src/form-item2.js +48 -323
  471. package/lib/components/form/src/form-item2.js.map +1 -1
  472. package/lib/components/form/src/form.js +152 -54
  473. package/lib/components/form/src/form.js.map +1 -1
  474. package/lib/components/form/src/form2.js +54 -150
  475. package/lib/components/form/src/form2.js.map +1 -1
  476. package/lib/components/image-viewer/index.js +2 -2
  477. package/lib/components/image-viewer/src/image-viewer.js +46 -412
  478. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  479. package/lib/components/image-viewer/src/image-viewer2.js +412 -46
  480. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  481. package/lib/components/index.js +20 -20
  482. package/lib/components/input/index.js +2 -2
  483. package/lib/components/input/src/input.js +102 -430
  484. package/lib/components/input/src/input.js.map +1 -1
  485. package/lib/components/input/src/input2.js +430 -102
  486. package/lib/components/input/src/input2.js.map +1 -1
  487. package/lib/components/link/index.js +2 -2
  488. package/lib/components/link/src/link.js +25 -49
  489. package/lib/components/link/src/link.js.map +1 -1
  490. package/lib/components/link/src/link2.js +49 -25
  491. package/lib/components/link/src/link2.js.map +1 -1
  492. package/lib/components/mention/src/mention-dropdown.js +166 -16
  493. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  494. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  495. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  496. package/lib/components/mention/src/mention.js +1 -1
  497. package/lib/components/mention/src/mention2.js +2 -2
  498. package/lib/components/notification/index.js +1 -1
  499. package/lib/components/notification/src/notification.js +141 -69
  500. package/lib/components/notification/src/notification.js.map +1 -1
  501. package/lib/components/notification/src/notification2.js +69 -141
  502. package/lib/components/notification/src/notification2.js.map +1 -1
  503. package/lib/components/notification/src/notify.js +2 -2
  504. package/lib/components/pagination/src/components/pager.js +16 -209
  505. package/lib/components/pagination/src/components/pager.js.map +1 -1
  506. package/lib/components/pagination/src/components/pager2.js +209 -16
  507. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  508. package/lib/components/pagination/src/pagination.js +1 -1
  509. package/lib/components/skeleton/index.js +2 -2
  510. package/lib/components/skeleton/src/skeleton.js +48 -21
  511. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  512. package/lib/components/skeleton/src/skeleton2.js +21 -48
  513. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  514. package/lib/components/slider/index.js +2 -2
  515. package/lib/components/slider/src/slider.js +238 -89
  516. package/lib/components/slider/src/slider.js.map +1 -1
  517. package/lib/components/slider/src/slider2.js +89 -238
  518. package/lib/components/slider/src/slider2.js.map +1 -1
  519. package/lib/components/statistic/index.js +2 -2
  520. package/lib/components/statistic/src/statistic.js +25 -69
  521. package/lib/components/statistic/src/statistic.js.map +1 -1
  522. package/lib/components/statistic/src/statistic2.js +69 -25
  523. package/lib/components/statistic/src/statistic2.js.map +1 -1
  524. package/lib/components/switch/index.js +2 -2
  525. package/lib/components/switch/src/switch.js +72 -227
  526. package/lib/components/switch/src/switch.js.map +1 -1
  527. package/lib/components/switch/src/switch2.js +227 -72
  528. package/lib/components/switch/src/switch2.js.map +1 -1
  529. package/lib/components/tabs/index.js +2 -2
  530. package/lib/components/tabs/src/tab-pane.js +13 -71
  531. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  532. package/lib/components/tabs/src/tab-pane2.js +71 -13
  533. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  534. package/lib/components/tabs/src/tabs.js +9 -3
  535. package/lib/components/tabs/src/tabs.js.map +1 -1
  536. package/lib/components/text/src/text2.js +26 -0
  537. package/lib/components/text/src/text2.js.map +1 -1
  538. package/lib/components/tooltip-v2/index.js +2 -2
  539. package/lib/components/tooltip-v2/src/tooltip.js +77 -19
  540. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  541. package/lib/components/tooltip-v2/src/tooltip2.js +19 -77
  542. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  543. package/lib/components/transfer/src/composables/use-check.js +1 -1
  544. package/lib/components/transfer/src/transfer-panel.js +130 -21
  545. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  546. package/lib/components/transfer/src/transfer-panel2.js +21 -130
  547. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  548. package/lib/components/transfer/src/transfer2.js +1 -1
  549. package/lib/components/watermark/index.js +2 -2
  550. package/lib/components/watermark/src/watermark.js +27 -210
  551. package/lib/components/watermark/src/watermark.js.map +1 -1
  552. package/lib/components/watermark/src/watermark2.js +210 -27
  553. package/lib/components/watermark/src/watermark2.js.map +1 -1
  554. package/lib/index.js +20 -20
  555. package/lib/locale/lang/hi.d.ts +180 -0
  556. package/lib/locale/lang/hi.js +186 -0
  557. package/lib/locale/lang/hi.js.map +1 -0
  558. package/lib/version.d.ts +1 -1
  559. package/lib/version.js +1 -1
  560. package/lib/version.js.map +1 -1
  561. package/package.json +2 -2
  562. package/tags.json +1 -1
  563. package/theme-chalk/el-select-v2.css +1 -1
  564. package/theme-chalk/el-select.css +1 -1
  565. package/theme-chalk/index.css +1 -1
  566. package/theme-chalk/src/select.scss +1 -0
  567. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n isString,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useAriaProps } from '@element-plus/hooks'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type Switch from './switch.vue'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\nexport const switchProps = buildProps({\n /**\n * @description binding value, it should be equivalent to either `active-value` or `inactive-value`, by default it's `boolean` type\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description whether Switch is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Switch is in loading state\n */\n loading: Boolean,\n /**\n * @description size of Switch\n */\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n /**\n * @description width of Switch\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether icon or text is displayed inside dot, only the first character will be rendered for text\n */\n inlinePrompt: Boolean,\n /**\n * @description component of the icon displayed in action when in `off` state\n */\n inactiveActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed in action when in `on` state\n */\n activeActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `on` state, overrides `active-text`\n */\n activeIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `off` state, overrides `inactive-text`\n */\n inactiveIcon: {\n type: iconPropType,\n },\n /**\n * @description text displayed when in `on` state\n */\n activeText: {\n type: String,\n default: '',\n },\n /**\n * @description text displayed when in `off` state\n */\n inactiveText: {\n type: String,\n default: '',\n },\n /**\n * @description switch value when in `on` state\n */\n activeValue: {\n type: [Boolean, String, Number],\n default: true,\n },\n /**\n * @description switch value when in `off` state\n */\n inactiveValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description input name of Switch\n */\n name: {\n type: String,\n default: '',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description before-change hook before the switch state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop switching\n */\n beforeChange: {\n type: definePropType<() => Promise<boolean> | boolean>(Function),\n },\n /**\n * @description id for input\n */\n id: String,\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type SwitchProps = ExtractPropTypes<typeof switchProps>\n\nexport const switchEmits = {\n [UPDATE_MODEL_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [CHANGE_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [INPUT_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n}\nexport type SwitchEmits = typeof switchEmits\n\nexport type SwitchInstance = InstanceType<typeof Switch>\n"],"names":[],"mappings":";;;;;;;;AAeY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AACjF,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC3E,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC1E;;;;"}
1
+ {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :aria-label=\"ariaLabel\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"labelLeftKls\"\n >\n <el-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span ref=\"core\" :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n <slot v-else-if=\"checked\" name=\"active-action\">\n <el-icon v-if=\"activeActionIcon\">\n <component :is=\"activeActionIcon\" />\n </el-icon>\n </slot>\n <slot v-else-if=\"!checked\" name=\"inactive-action\">\n <el-icon v-if=\"inactiveActionIcon\">\n <component :is=\"inactiveActionIcon\" />\n </el-icon>\n </slot>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"labelRightKls\"\n >\n <el-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport {\n addUnit,\n debugWarn,\n isBoolean,\n isPromise,\n throwError,\n} from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(computed(() => props.loading))\nconst isControlled = ref(props.modelValue !== false)\nconst input = ref<HTMLInputElement>()\nconst core = ref<HTMLSpanElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst labelLeftKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked.value),\n])\n\nconst labelRightKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : false\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;mCAoGc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAKA,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,IAAA,MAAM,aAAa,WAAY,EAAA,CAAA;AAC/B,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAEhC,IAAA,MAAM,EAAE,OAAA,EAAY,GAAA,kBAAA,CAAmB,KAAO,EAAA;AAAA,MAC5C,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAA,MAAM,iBAAiB,eAAgB,CAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AACpE,IAAA,MAAM,YAAe,GAAA,GAAA,CAAI,KAAM,CAAA,UAAA,KAAe,KAAK,CAAA,CAAA;AACnD,IAAA,MAAM,QAAQ,GAAsB,EAAA,CAAA;AACpC,IAAA,MAAM,OAAO,GAAqB,EAAA,CAAA;AAElC,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAAA,MAC/B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MACrB,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,cAAA,CAAe,KAAK,CAAA;AAAA,MACtC,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAC/B,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAAA,MAClC,EAAA,CAAG,EAAE,OAAO,CAAA;AAAA,MACZ,EAAA,CAAG,EAAG,CAAA,OAAA,EAAS,MAAM,CAAA;AAAA,MACrB,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,CAAC,QAAQ,KAAK,CAAA;AAAA,KAC/B,CAAA,CAAA;AAED,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AAAA,MACnC,EAAA,CAAG,EAAE,OAAO,CAAA;AAAA,MACZ,EAAA,CAAG,EAAG,CAAA,OAAA,EAAS,OAAO,CAAA;AAAA,MACtB,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAY,SAAwB,OAAO;AAAA,MAC/C,KAAA,EAAO,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,KAC1B,CAAA,CAAA,CAAA;AAEF,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAAA,MACE,YAAY,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KAAA,CACZ,CAAM;AACJ,IAAA,MAAA,WAAa,GAAQ,QAAA,CAAA,MAAA;AAAA,MACvB,OAAA,YAAA,CAAA,KAAA,GAAA,KAAA,CAAA,UAAA,GAAA,KAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAEA,IAAM,MAAA,OAAA,GAAA,eAA6B,WAAA,CAAA,KAAA,KAAA,KAAA,CAAA,WAAA,CAAA,CAAA;AACjC,IAAO,IAAA,CAAA,CAAA,KAAA,CAAA,WAAqB,EAAA,KAAA,CAAA,aAAmB,CAAA,CAAA,QAAA,CAAA,WAAA,CAAA,KAAA,CAAA,EAAA;AAAA,MAChD,IAAA,CAAA,kBAAA,EAAA,KAAA,CAAA,aAAA,CAAA,CAAA;AAED,MAAA,IAAM,aAAmB,EAAA,KAAA,CAAA,aAAkB,CAAA,CAAA;AAE3C,MAAI,IAAE,CAAA,WAAmB,EAAA,KAAA,CAAA;AACvB,KAAK;AACL,IAAK,KAAA,CAAA,OAAA,EAAA,CAAA,GAAA;AACL,MAAK,IAAA,EAAA,CAAA;AAAgC,MACvC,KAAA,CAAA,KAAA,CAAA,OAAA,GAAA,GAAA,CAAA;AAEA,MAAM,IAAA,KAAA,CAAA,aAAkB,EAAA;AACtB,QAAA,CAAA,EAAA,WAAuB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEvB,OAAA;AACE,KAAU,CAAA,CAAA;AAAkD,IAC9D,MAAA,YAAA,GAAA,MAAA;AAAA,MACD,MAAA,GAAA,GAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA,aAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AAED,MAAA,IAAM,mBAAqB,EAAA,GAAA,CAAA,CAAA;AACzB,MAAA,IAAA,CAAA,YAAY,EAAA,GAAgB,CAAA,CAAA;AAC5B,MAAA,IAAA,CAAK;AACL,MAAA;AACA,QAAA,mBAAqB,GAAA,OAAA,CAAA,KAAA,CAAA;AACrB,OAAA,CAAA,CAAA;AACE,KAAM,CAAA;AAAyB,IAAA,MAChC,WAAA,GAAA,MAAA;AAAA,MACH,IAAA,cAAA,CAAA,KAAA;AAEA,QAAA;AACE,MAAA,oBAA0B,EAAA,GAAA,KAAA,CAAA;AAE1B,MAAM,IAAA,CAAA;AACN,QAAA,YAAmB,EAAA,CAAA;AACjB,QAAa,OAAA;AACb,OAAA;AAAA,MACF,MAAA,YAAA,GAAA,YAAA,EAAA,CAAA;AAEA,MAAA,MAAM,eAAe,GAAa;AAElC,QAAA,SAAwB,CAAA,YAAA,CAAA;AAAA,QACtB,UAAU,YAAY,CAAA;AAAA,OAAA,CACtB,aAAsB,CAAA,CAAA;AAAA,MACxB,oBAAe,EAAA;AACf,QAAA,UAAsB,CAAA,cAAA,EAAA,+DAAA,CAAA,CAAA;AACpB,OAAA;AAAA,MACE,IAAA,SAAA,CAAA,YAAA,CAAA,EAAA;AAAA,QACA,YAAA,CAAA,IAAA,CAAA,CAAA,MAAA,KAAA;AAAA,UACF,IAAA,MAAA,EAAA;AAAA,YACF,YAAA,EAAA,CAAA;AAEA,WAAI;AACF,SACG,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,KAAA;AACC,UAAA,SAAY,CAAA,cAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,SAAa,CAAA,CAAA;AAAA,OACf,MAAA,IAAA,YAAA,EAAA;AAAA,QACF,YACc,EAAA,CAAA;AACZ,OAAU;AAA2C,KAAA,CAAA;AACtD,IAAA,cACoB,MAAA;AACvB,MAAa,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MACf,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,gBAA0B;AACxB,MAAA,KAAA,CAAM,aAAe,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,KACvB,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AACE,MAAM,KAAA;AAAyB,MAChC,OAAA;AAED,KAAa,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAAA,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EAAAC,cAAA,CAAAC,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,QAIX,OAAA,EAAAC,aAAA,CAAA,WAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,OAAA,EAAA;AAAA,QAAAC,kBAAA,CAAA,OAAA,EAAA;AAAA,UAAA,EAAA,EAAAF,KAAA,CAAA,OAAA,CAAA;AAAA,UAIA,OAAA,EAAA,OAAA;AAAA,UACD,GAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import Tabs from './src/tabs.mjs';
2
2
  export { tabsEmits, tabsProps } from './src/tabs.mjs';
3
- import TabPane from './src/tab-pane.mjs';
3
+ import TabPane from './src/tab-pane2.mjs';
4
4
  export { tabBarProps } from './src/tab-bar.mjs';
5
5
  export { tabNavEmits, tabNavProps } from './src/tab-nav.mjs';
6
- export { tabPaneProps } from './src/tab-pane2.mjs';
6
+ export { tabPaneProps } from './src/tab-pane.mjs';
7
7
  export { tabsRootContextKey } from './src/constants.mjs';
8
8
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
9
9
 
@@ -1,75 +1,17 @@
1
- import { defineComponent, getCurrentInstance, useSlots, inject, ref, computed, watch, reactive, onMounted, onUnmounted, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
2
- import { eagerComputed } from '@vueuse/core';
3
- import { tabsRootContextKey } from './constants.mjs';
4
- import { tabPaneProps } from './tab-pane2.mjs';
5
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
- import { throwError } from '../../../utils/error.mjs';
7
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
1
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
8
2
 
9
- const COMPONENT_NAME = "ElTabPane";
10
- const __default__ = defineComponent({
11
- name: COMPONENT_NAME
3
+ const tabPaneProps = buildProps({
4
+ label: {
5
+ type: String,
6
+ default: ""
7
+ },
8
+ name: {
9
+ type: [String, Number]
10
+ },
11
+ closable: Boolean,
12
+ disabled: Boolean,
13
+ lazy: Boolean
12
14
  });
13
- const _sfc_main = /* @__PURE__ */ defineComponent({
14
- ...__default__,
15
- props: tabPaneProps,
16
- setup(__props) {
17
- const props = __props;
18
- const instance = getCurrentInstance();
19
- const slots = useSlots();
20
- const tabsRoot = inject(tabsRootContextKey);
21
- if (!tabsRoot)
22
- throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
23
- const ns = useNamespace("tab-pane");
24
- const index = ref();
25
- const isClosable = computed(() => props.closable || tabsRoot.props.closable);
26
- const active = eagerComputed(() => {
27
- var _a;
28
- return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
29
- });
30
- const loaded = ref(active.value);
31
- const paneName = computed(() => {
32
- var _a;
33
- return (_a = props.name) != null ? _a : index.value;
34
- });
35
- const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
36
- watch(active, (val) => {
37
- if (val)
38
- loaded.value = true;
39
- });
40
- const pane = reactive({
41
- uid: instance.uid,
42
- slots,
43
- props,
44
- paneName,
45
- active,
46
- index,
47
- isClosable
48
- });
49
- tabsRoot.registerPane(pane);
50
- onMounted(() => {
51
- tabsRoot.sortPane(pane);
52
- });
53
- onUnmounted(() => {
54
- tabsRoot.unregisterPane(pane.uid);
55
- });
56
- return (_ctx, _cache) => {
57
- return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
58
- key: 0,
59
- id: `pane-${unref(paneName)}`,
60
- class: normalizeClass(unref(ns).b()),
61
- role: "tabpanel",
62
- "aria-hidden": !unref(active),
63
- "aria-labelledby": `tab-${unref(paneName)}`
64
- }, [
65
- renderSlot(_ctx.$slots, "default")
66
- ], 10, ["id", "aria-hidden", "aria-labelledby"])), [
67
- [vShow, unref(active)]
68
- ]) : createCommentVNode("v-if", true);
69
- };
70
- }
71
- });
72
- var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tab-pane.vue"]]);
73
15
 
74
- export { TabPane as default };
16
+ export { tabPaneProps };
75
17
  //# sourceMappingURL=tab-pane.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n})\n\ntabsRoot.registerPane(pane)\nonMounted(() => {\n tabsRoot.sortPane(pane)\n})\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAiCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAGA,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,OAAO,kBAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AACH,MAAA,UAAA,CAAW,gBAAgB,4CAA4C,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,QAAQ,GAAY,EAAA,CAAA;AAC1B,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAC3E,IAAA,MAAM,MAAS,GAAA,aAAA,CAAA,MAAA;AAAA,MACb,MAAM,CAAS;AAA2C,MAC5D,OAAA,QAAA,CAAA,WAAA,CAAA,KAAA,MAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAM,CAAA,CAAA;AACN,IAAA,MAAM,YAAoB,CAAA,MAAA,CAAA,KAAA,CAAM,CAAM;AACtC,IAAA,MAAM,QAAiB,GAAA,QAAA,CAAA,MAAA;AAAA,MACrB,MAAM,CAAC;AAAqC,MAC9C,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AAEA,KAAM,CAAA,CAAA;AACJ,IAAI,MAAA,cAAoB,GAAA,aAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAC1B,KAAC,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAED,MAAA,IAAM;AAAgB,cACN,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACD,MAAA;AAED,MAAA,KAAA;AACA,MAAA,UAAgB;AACd,KAAA,CAAA,CAAA;AAAsB,IACxB,QAAC,CAAA,YAAA,CAAA,IAAA,CAAA,CAAA;AAED,IAAA,SAAA,CAAA,MAAkB;AAChB,MAAS,QAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAe;AAAQ,KACjC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n /**\n * @description title of the tab\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description identifier corresponding to the name of Tabs, representing the alias of the tab-pane, the default is ordinal number of the tab-pane in the sequence, e.g. the first tab-pane is '0'\n */\n name: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Tab is lazily rendered\n */\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
@@ -1,17 +1,75 @@
1
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, getCurrentInstance, useSlots, inject, ref, computed, watch, reactive, onMounted, onUnmounted, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
2
+ import { eagerComputed } from '@vueuse/core';
3
+ import { tabsRootContextKey } from './constants.mjs';
4
+ import { tabPaneProps } from './tab-pane.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { throwError } from '../../../utils/error.mjs';
7
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
2
8
 
3
- const tabPaneProps = buildProps({
4
- label: {
5
- type: String,
6
- default: ""
7
- },
8
- name: {
9
- type: [String, Number]
10
- },
11
- closable: Boolean,
12
- disabled: Boolean,
13
- lazy: Boolean
9
+ const COMPONENT_NAME = "ElTabPane";
10
+ const __default__ = defineComponent({
11
+ name: COMPONENT_NAME
14
12
  });
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ ...__default__,
15
+ props: tabPaneProps,
16
+ setup(__props) {
17
+ const props = __props;
18
+ const instance = getCurrentInstance();
19
+ const slots = useSlots();
20
+ const tabsRoot = inject(tabsRootContextKey);
21
+ if (!tabsRoot)
22
+ throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
23
+ const ns = useNamespace("tab-pane");
24
+ const index = ref();
25
+ const isClosable = computed(() => props.closable || tabsRoot.props.closable);
26
+ const active = eagerComputed(() => {
27
+ var _a;
28
+ return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
29
+ });
30
+ const loaded = ref(active.value);
31
+ const paneName = computed(() => {
32
+ var _a;
33
+ return (_a = props.name) != null ? _a : index.value;
34
+ });
35
+ const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
36
+ watch(active, (val) => {
37
+ if (val)
38
+ loaded.value = true;
39
+ });
40
+ const pane = reactive({
41
+ uid: instance.uid,
42
+ slots,
43
+ props,
44
+ paneName,
45
+ active,
46
+ index,
47
+ isClosable
48
+ });
49
+ tabsRoot.registerPane(pane);
50
+ onMounted(() => {
51
+ tabsRoot.sortPane(pane);
52
+ });
53
+ onUnmounted(() => {
54
+ tabsRoot.unregisterPane(pane.uid);
55
+ });
56
+ return (_ctx, _cache) => {
57
+ return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
58
+ key: 0,
59
+ id: `pane-${unref(paneName)}`,
60
+ class: normalizeClass(unref(ns).b()),
61
+ role: "tabpanel",
62
+ "aria-hidden": !unref(active),
63
+ "aria-labelledby": `tab-${unref(paneName)}`
64
+ }, [
65
+ renderSlot(_ctx.$slots, "default")
66
+ ], 10, ["id", "aria-hidden", "aria-labelledby"])), [
67
+ [vShow, unref(active)]
68
+ ]) : createCommentVNode("v-if", true);
69
+ };
70
+ }
71
+ });
72
+ var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tab-pane.vue"]]);
15
73
 
16
- export { tabPaneProps };
74
+ export { TabPane as default };
17
75
  //# sourceMappingURL=tab-pane2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n /**\n * @description title of the tab\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description identifier corresponding to the name of Tabs, representing the alias of the tab-pane, the default is ordinal number of the tab-pane in the sequence, e.g. the first tab-pane is '0'\n */\n name: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Tab is lazily rendered\n */\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n})\n\ntabsRoot.registerPane(pane)\nonMounted(() => {\n tabsRoot.sortPane(pane)\n})\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAiCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAGA,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,OAAO,kBAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AACH,MAAA,UAAA,CAAW,gBAAgB,4CAA4C,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,QAAQ,GAAY,EAAA,CAAA;AAC1B,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAC3E,IAAA,MAAM,MAAS,GAAA,aAAA,CAAA,MAAA;AAAA,MACb,MAAM,CAAS;AAA2C,MAC5D,OAAA,QAAA,CAAA,WAAA,CAAA,KAAA,MAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAM,CAAA,CAAA;AACN,IAAA,MAAM,YAAoB,CAAA,MAAA,CAAA,KAAA,CAAM,CAAM;AACtC,IAAA,MAAM,QAAiB,GAAA,QAAA,CAAA,MAAA;AAAA,MACrB,MAAM,CAAC;AAAqC,MAC9C,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AAEA,KAAM,CAAA,CAAA;AACJ,IAAI,MAAA,cAAoB,GAAA,aAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAC1B,KAAC,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAED,MAAA,IAAM;AAAgB,cACN,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACD,MAAA;AAED,MAAA,KAAA;AACA,MAAA,UAAgB;AACd,KAAA,CAAA,CAAA;AAAsB,IACxB,QAAC,CAAA,YAAA,CAAA,IAAA,CAAA,CAAA;AAED,IAAA,SAAA,CAAA,MAAkB;AAChB,MAAS,QAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAe;AAAQ,KACjC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -63,18 +63,24 @@ const Tabs = defineComponent({
63
63
  const nav$ = ref();
64
64
  const currentName = ref((_a = props.modelValue) != null ? _a : "0");
65
65
  const setCurrentName = async (value, trigger = false) => {
66
- var _a2, _b, _c;
66
+ var _a2, _b;
67
67
  if (currentName.value === value || isUndefined(value))
68
68
  return;
69
69
  try {
70
- const canLeave = await ((_a2 = props.beforeLeave) == null ? void 0 : _a2.call(props, value, currentName.value));
70
+ let canLeave;
71
+ if (props.beforeLeave) {
72
+ const result = props.beforeLeave(value, currentName.value);
73
+ canLeave = result instanceof Promise ? await result : result;
74
+ } else {
75
+ canLeave = true;
76
+ }
71
77
  if (canLeave !== false) {
72
78
  currentName.value = value;
73
79
  if (trigger) {
74
80
  emit(UPDATE_MODEL_EVENT, value);
75
81
  emit("tabChange", value);
76
82
  }
77
- (_c = (_b = nav$.value) == null ? void 0 : _b.removeFocus) == null ? void 0 : _c.call(_b);
83
+ (_b = (_a2 = nav$.value) == null ? void 0 : _a2.removeFocus) == null ? void 0 : _b.call(_a2);
78
84
  }
79
85
  } catch (e) {
80
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n createVNode,\n defineComponent,\n getCurrentInstance,\n nextTick,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useNamespace, useOrderedChildren } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport TabNav from './tab-nav'\n\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from './constants'\nimport type { ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPaneName = string | number\n\nexport const tabsProps = buildProps({\n /**\n * @description type of Tab\n */\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is addable\n */\n addable: Boolean,\n /**\n * @description binding value, name of the selected tab\n */\n modelValue: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is addable and closable\n */\n editable: Boolean,\n /**\n * @description position of tabs\n */\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n /**\n * @description hook function before switching tab. If `false` is returned or a `Promise` is returned and then is rejected, switching will be prevented\n */\n beforeLeave: {\n type: definePropType<\n (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n /**\n * @description whether width of tab automatically fits its container\n */\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPaneName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPaneName) => isPaneName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPaneName) => isPaneName(name),\n edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPaneName) => isPaneName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport type TabsPanes = Record<number, TabsPaneContext>\n\nconst Tabs = defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const isVertical = computed(() =>\n ['left', 'right'].includes(props.tabPosition)\n )\n\n const {\n children: panes,\n addChild: sortPane,\n removeChild: unregisterPane,\n } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'ElTabPane')\n\n const nav$ = ref<TabNavInstance>()\n const currentName = ref<TabPaneName>(props.modelValue ?? '0')\n\n const setCurrentName = async (value?: TabPaneName, trigger = false) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n currentName.value = value\n if (trigger) {\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPaneName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName, true)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane: (pane: TabsPaneContext) => {\n panes.value.push(pane)\n },\n sortPane,\n unregisterPane,\n })\n\n expose({\n currentName,\n })\n const TabNavRenderer: FunctionalComponent<{ render: () => VNode }> = ({\n render,\n }) => {\n return render()\n }\n return () => {\n const addSlot = slots['add-icon']\n const newButton =\n props.editable || props.addable ? (\n <div\n class={[\n ns.e('new-tab'),\n isVertical.value && ns.e('new-tab-vertical'),\n ]}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if ([EVENT_CODE.enter, EVENT_CODE.numpadEnter].includes(ev.code))\n handleTabAdd()\n }}\n >\n {addSlot ? (\n renderSlot(slots, 'add-icon')\n ) : (\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n )}\n </div>\n ) : null\n\n const header = (\n <div\n class={[\n ns.e('header'),\n isVertical.value && ns.e('header-vertical'),\n ns.is(props.tabPosition),\n ]}\n >\n <TabNavRenderer\n render={() => {\n const hasLabelSlot = panes.value.some((pane) => pane.slots.label)\n return createVNode(\n TabNav,\n {\n ref: nav$,\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n },\n { $stable: !hasLabelSlot }\n )\n }}\n />\n {newButton}\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {panels}\n {header}\n </div>\n )\n }\n },\n})\n\nexport type TabsInstance = InstanceType<typeof Tabs> & {\n currentName: TabPaneName\n}\n\nexport default Tabs\n"],"names":["tabsProps","buildProps","type","values","default","closable","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","stretch","Boolean","isPaneName","name","ev","tabChange","edit","tabRemove","tabAdd","Tabs","defineComponent","props","emits","expose","ns","useNamespace","children","addChild","removeChild","getCurrentInstance","nav$","ref","currentName","setCurrentName","value","canLeave","trigger","emit","handleTabClick","pane","handleTabAdd","_createVNode","undefined","watch","scrollToActiveTab","panes","push","unregisterPane","TabNavRenderer","render","newButton","EVENT_CODE"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n createVNode,\n defineComponent,\n getCurrentInstance,\n nextTick,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useNamespace, useOrderedChildren } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport TabNav from './tab-nav'\n\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from './constants'\nimport type { ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPaneName = string | number\n\nexport const tabsProps = buildProps({\n /**\n * @description type of Tab\n */\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is addable\n */\n addable: Boolean,\n /**\n * @description binding value, name of the selected tab\n */\n modelValue: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is addable and closable\n */\n editable: Boolean,\n /**\n * @description position of tabs\n */\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n /**\n * @description hook function before switching tab. If `false` is returned or a `Promise` is returned and then is rejected, switching will be prevented\n */\n beforeLeave: {\n type: definePropType<\n (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n /**\n * @description whether width of tab automatically fits its container\n */\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPaneName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPaneName) => isPaneName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPaneName) => isPaneName(name),\n edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPaneName) => isPaneName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport type TabsPanes = Record<number, TabsPaneContext>\n\nconst Tabs = defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const isVertical = computed(() =>\n ['left', 'right'].includes(props.tabPosition)\n )\n\n const {\n children: panes,\n addChild: sortPane,\n removeChild: unregisterPane,\n } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'ElTabPane')\n\n const nav$ = ref<TabNavInstance>()\n const currentName = ref<TabPaneName>(props.modelValue ?? '0')\n\n const setCurrentName = async (value?: TabPaneName, trigger = false) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n let canLeave\n if (props.beforeLeave) {\n const result = props.beforeLeave(value, currentName.value)\n canLeave = result instanceof Promise ? await result : result\n } else {\n canLeave = true\n }\n\n if (canLeave !== false) {\n currentName.value = value\n if (trigger) {\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPaneName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName, true)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane: (pane: TabsPaneContext) => {\n panes.value.push(pane)\n },\n sortPane,\n unregisterPane,\n })\n\n expose({\n currentName,\n })\n const TabNavRenderer: FunctionalComponent<{ render: () => VNode }> = ({\n render,\n }) => {\n return render()\n }\n return () => {\n const addSlot = slots['add-icon']\n const newButton =\n props.editable || props.addable ? (\n <div\n class={[\n ns.e('new-tab'),\n isVertical.value && ns.e('new-tab-vertical'),\n ]}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if ([EVENT_CODE.enter, EVENT_CODE.numpadEnter].includes(ev.code))\n handleTabAdd()\n }}\n >\n {addSlot ? (\n renderSlot(slots, 'add-icon')\n ) : (\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n )}\n </div>\n ) : null\n\n const header = (\n <div\n class={[\n ns.e('header'),\n isVertical.value && ns.e('header-vertical'),\n ns.is(props.tabPosition),\n ]}\n >\n <TabNavRenderer\n render={() => {\n const hasLabelSlot = panes.value.some((pane) => pane.slots.label)\n return createVNode(\n TabNav,\n {\n ref: nav$,\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n },\n { $stable: !hasLabelSlot }\n )\n }}\n />\n {newButton}\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {panels}\n {header}\n </div>\n )\n }\n },\n})\n\nexport type TabsInstance = InstanceType<typeof Tabs> & {\n currentName: TabPaneName\n}\n\nexport default Tabs\n"],"names":["tabsProps","buildProps","type","values","default","closable","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","stretch","Boolean","isPaneName","name","ev","tabChange","edit","tabRemove","tabAdd","defineComponent","props","emits","expose","ns","children","addChild","removeChild","unregisterPane","getCurrentInstance","nav$","ref","currentName","setCurrentName","value","trigger","result","canLeave","emit","handleTabClick","event","_createVNode","isUndefined","pane","handleTabAdd","watch","tabsRootContextKey","panes","TabNavRenderer","render","newButton"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, normalizeStyle, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, ref, computed, watchEffect, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, normalizeStyle, withCtx, renderSlot } from 'vue';
2
2
  import { textProps } from './text.mjs';
3
3
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
4
  import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
@@ -13,6 +13,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  props: textProps,
14
14
  setup(__props) {
15
15
  const props = __props;
16
+ const textRef = ref();
16
17
  const textSize = useFormSize();
17
18
  const ns = useNamespace("text");
18
19
  const textKls = computed(() => [
@@ -22,8 +23,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
23
  ns.is("truncated", props.truncated),
23
24
  ns.is("line-clamp", !isUndefined(props.lineClamp))
24
25
  ]);
26
+ watchEffect(() => {
27
+ var _a, _b, _c, _d, _e;
28
+ if (props.truncated || !isUndefined(props.lineClamp)) {
29
+ let shouldAddTitle = false;
30
+ const text = ((_a = textRef.value) == null ? void 0 : _a.textContent) || "";
31
+ if (props.truncated) {
32
+ const width = (_b = textRef.value) == null ? void 0 : _b.offsetWidth;
33
+ const scrollWidth = (_c = textRef.value) == null ? void 0 : _c.scrollWidth;
34
+ if (width && scrollWidth && scrollWidth > width) {
35
+ shouldAddTitle = true;
36
+ }
37
+ } else if (!isUndefined(props.lineClamp)) {
38
+ const height = (_d = textRef.value) == null ? void 0 : _d.offsetHeight;
39
+ const scrollHeight = (_e = textRef.value) == null ? void 0 : _e.scrollHeight;
40
+ if (height && scrollHeight && scrollHeight > height) {
41
+ shouldAddTitle = true;
42
+ }
43
+ }
44
+ if (shouldAddTitle) {
45
+ textRef.value.setAttribute("title", text);
46
+ }
47
+ }
48
+ }, { flush: "post" });
25
49
  return (_ctx, _cache) => {
26
50
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
51
+ ref_key: "textRef",
52
+ ref: textRef,
27
53
  class: normalizeClass(unref(textKls)),
28
54
  style: normalizeStyle({ "-webkit-line-clamp": _ctx.lineClamp })
29
55
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"text2.mjs","sources":["../../../../../../packages/components/text/src/text.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n :class=\"textKls\"\n :style=\"{ '-webkit-line-clamp': lineClamp }\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport { isUndefined } from '@element-plus/utils'\nimport { textProps } from './text'\n\ndefineOptions({\n name: 'ElText',\n})\n\nconst props = defineProps(textProps)\n\nconst textSize = useFormSize()\nconst ns = useNamespace('text')\n\nconst textKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.m(textSize.value),\n ns.is('truncated', props.truncated),\n ns.is('line-clamp', !isUndefined(props.lineClamp)),\n])\n</script>\n"],"names":[],"mappings":";;;;;;;mCAiBc,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAAA,MAC7B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACf,EAAA,CAAG,CAAE,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MACnB,EAAG,CAAA,EAAA,CAAG,WAAa,EAAA,KAAA,CAAM,SAAS,CAAA;AAAA,MAClC,GAAG,EAAG,CAAA,YAAA,EAAc,CAAC,WAAY,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,KAClD,CAAA,CAAA;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"text2.mjs","sources":["../../../../../../packages/components/text/src/text.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n ref=\"textRef\"\n :class=\"textKls\"\n :style=\"{ '-webkit-line-clamp': lineClamp }\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watchEffect } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport { isUndefined } from '@element-plus/utils'\nimport { textProps } from './text'\n\ndefineOptions({\n name: 'ElText',\n})\n\nconst props = defineProps(textProps)\nconst textRef = ref<HTMLElement>()\n\nconst textSize = useFormSize()\nconst ns = useNamespace('text')\n\nconst textKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.m(textSize.value),\n ns.is('truncated', props.truncated),\n ns.is('line-clamp', !isUndefined(props.lineClamp)),\n])\n\nwatchEffect(\n () => {\n if (props.truncated || !isUndefined(props.lineClamp)) {\n let shouldAddTitle = false\n const text = textRef.value?.textContent || ''\n if (props.truncated) {\n const width = textRef.value?.offsetWidth\n const scrollWidth = textRef.value?.scrollWidth\n if (width && scrollWidth && scrollWidth > width) {\n shouldAddTitle = true\n }\n } else if (!isUndefined(props.lineClamp)) {\n const height = textRef.value?.offsetHeight\n const scrollHeight = textRef.value?.scrollHeight\n if (height && scrollHeight && scrollHeight > height) {\n shouldAddTitle = true\n }\n }\n if (shouldAddTitle) {\n textRef.value!.setAttribute('title', text)\n }\n }\n },\n { flush: 'post' }\n)\n</script>\n"],"names":["_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;mCAkBc,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAGA,IAAA,MAAM,UAAU,GAAiB,EAAA,CAAA;AAEjC,IAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAAA,MAC7B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACf,EAAA,CAAG,CAAE,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MACnB,EAAG,CAAA,EAAA,CAAG,WAAa,EAAA,KAAA,CAAM,SAAS,CAAA;AAAA,MAClC,GAAG,EAAG,CAAA,YAAA,EAAc,CAAC,WAAY,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAA,WAAA,CAAA,MAAA;AAAA,MACE,IAAM,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AACJ,MAAA,IAAA,eAAuB,IAAA,CAAA,WAAa,CAAA,KAAA,CAAA,YAAkB;AACpD,QAAA,IAAA,cAAqB,GAAA,KAAA,CAAA;AACrB,QAAM,MAAA,IAAA,GAAA,CAAA,CAAO,EAAQ,GAAA,OAAA,CAAA,KAAsB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAA,EAAA,CAAA;AAC3C,QAAA,IAAA,eAAqB,EAAA;AACnB,UAAM,MAAA,KAAA,GAAA,CAAA,YAAuB,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAC7B,UAAM,MAAA,WAAA,GAAA,CAAA,YAA6B,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AACnC,UAAI,IAAA,KAAA,IAAA,WAAwB,IAAA,WAAA,GAAA,KAAqB,EAAA;AAC/C,YAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,WACnB;AAAA,SAAA,MACS,IAAA,CAAA,WAAa,CAAA,KAAA,CAAA,YAAkB;AACxC,UAAM,MAAA,MAAA,GAAA,CAAA,YAAwB,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AAC9B,UAAM,MAAA,YAAA,GAAA,CAAA,YAA8B,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AACpC,UAAI,IAAA,MAAA,IAAA,YAA0B,IAAA,YAAA,GAAA,MAAuB,EAAA;AACnD,YAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,WACnB;AAAA,SACF;AACA,QAAA,IAAA,cAAoB,EAAA;AAClB,UAAQ,OAAA,CAAA,KAAA,CAAA,YAAoB,CAAA,OAAA,EAAA,IAAa,CAAA,CAAA;AAAA,SAC3C;AAAA,OACF;AAAA,KACF,EAAA,EAAA,KAAA,EAAA,MAAA,EAAA,CAAA,CAAA;AAAA,IACA,YAAgB,EAAA,MAAA,KAAA;AAAA,MAClB,OAAAA,SAAA,EAAA,EAAAC,WAAA,CAAAC,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
- import TooltipV2 from './src/tooltip2.mjs';
1
+ import TooltipV2 from './src/tooltip.mjs';
2
2
  export { tooltipV2ArrowProps, tooltipV2ArrowSpecialProps } from './src/arrow.mjs';
3
3
  export { tooltipV2ContentProps } from './src/content.mjs';
4
4
  export { tooltipV2RootProps } from './src/root.mjs';
5
- export { tooltipV2Props } from './src/tooltip.mjs';
5
+ export { tooltipV2Props } from './src/tooltip2.mjs';
6
6
  export { tooltipV2TriggerProps } from './src/trigger.mjs';
7
7
  export { TOOLTIP_V2_OPEN, tooltipV2ContentKey, tooltipV2RootKey } from './src/constants.mjs';
8
8
  import { withInstall } from '../../utils/vue/install.mjs';
@@ -1,26 +1,84 @@
1
- import { tooltipV2RootProps } from './root.mjs';
2
- import { tooltipV2TriggerProps } from './trigger.mjs';
1
+ import { defineComponent, toRefs, reactive, openBlock, createBlock, normalizeProps, guardReactiveProps, withCtx, createVNode, mergeProps, renderSlot, unref, Transition, createCommentVNode, createElementBlock, Fragment } from 'vue';
2
+ import { pick } from 'lodash-unified';
3
+ import { ElTeleport } from '../../teleport/index.mjs';
3
4
  import { tooltipV2ArrowProps } from './arrow.mjs';
4
5
  import { tooltipV2ContentProps } from './content.mjs';
5
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
6
+ import { tooltipV2RootProps } from './root.mjs';
7
+ import { tooltipV2Props } from './tooltip2.mjs';
8
+ import { tooltipV2TriggerProps } from './trigger.mjs';
9
+ import TooltipV2Root from './root2.mjs';
10
+ import TooltipV2Arrow from './arrow2.mjs';
11
+ import TooltipV2Content from './content2.mjs';
12
+ import TooltipV2Trigger from './trigger2.mjs';
13
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
14
 
7
- const tooltipV2Props = buildProps({
8
- ...tooltipV2RootProps,
9
- ...tooltipV2ArrowProps,
10
- ...tooltipV2TriggerProps,
11
- ...tooltipV2ContentProps,
12
- alwaysOn: Boolean,
13
- fullTransition: Boolean,
14
- transitionProps: {
15
- type: definePropType(Object),
16
- default: null
17
- },
18
- teleported: Boolean,
19
- to: {
20
- type: definePropType(String),
21
- default: "body"
15
+ const __default__ = defineComponent({
16
+ name: "ElTooltipV2"
17
+ });
18
+ const _sfc_main = /* @__PURE__ */ defineComponent({
19
+ ...__default__,
20
+ props: tooltipV2Props,
21
+ setup(__props) {
22
+ const props = __props;
23
+ const refedProps = toRefs(props);
24
+ const arrowProps = reactive(pick(refedProps, Object.keys(tooltipV2ArrowProps)));
25
+ const contentProps = reactive(pick(refedProps, Object.keys(tooltipV2ContentProps)));
26
+ const rootProps = reactive(pick(refedProps, Object.keys(tooltipV2RootProps)));
27
+ const triggerProps = reactive(pick(refedProps, Object.keys(tooltipV2TriggerProps)));
28
+ return (_ctx, _cache) => {
29
+ return openBlock(), createBlock(TooltipV2Root, normalizeProps(guardReactiveProps(rootProps)), {
30
+ default: withCtx(({ open }) => [
31
+ createVNode(TooltipV2Trigger, mergeProps(triggerProps, { nowrap: "" }), {
32
+ default: withCtx(() => [
33
+ renderSlot(_ctx.$slots, "trigger")
34
+ ]),
35
+ _: 3
36
+ }, 16),
37
+ createVNode(unref(ElTeleport), {
38
+ to: _ctx.to,
39
+ disabled: !_ctx.teleported
40
+ }, {
41
+ default: withCtx(() => [
42
+ _ctx.fullTransition ? (openBlock(), createBlock(Transition, normalizeProps(mergeProps({ key: 0 }, _ctx.transitionProps)), {
43
+ default: withCtx(() => [
44
+ _ctx.alwaysOn || open ? (openBlock(), createBlock(TooltipV2Content, normalizeProps(mergeProps({ key: 0 }, contentProps)), {
45
+ arrow: withCtx(({ style, side }) => [
46
+ _ctx.showArrow ? (openBlock(), createBlock(TooltipV2Arrow, mergeProps({ key: 0 }, arrowProps, {
47
+ style,
48
+ side
49
+ }), null, 16, ["style", "side"])) : createCommentVNode("v-if", true)
50
+ ]),
51
+ default: withCtx(() => [
52
+ renderSlot(_ctx.$slots, "default")
53
+ ]),
54
+ _: 3
55
+ }, 16)) : createCommentVNode("v-if", true)
56
+ ]),
57
+ _: 2
58
+ }, 1040)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
59
+ _ctx.alwaysOn || open ? (openBlock(), createBlock(TooltipV2Content, normalizeProps(mergeProps({ key: 0 }, contentProps)), {
60
+ arrow: withCtx(({ style, side }) => [
61
+ _ctx.showArrow ? (openBlock(), createBlock(TooltipV2Arrow, mergeProps({ key: 0 }, arrowProps, {
62
+ style,
63
+ side
64
+ }), null, 16, ["style", "side"])) : createCommentVNode("v-if", true)
65
+ ]),
66
+ default: withCtx(() => [
67
+ renderSlot(_ctx.$slots, "default")
68
+ ]),
69
+ _: 3
70
+ }, 16)) : createCommentVNode("v-if", true)
71
+ ], 64))
72
+ ]),
73
+ _: 2
74
+ }, 1032, ["to", "disabled"])
75
+ ]),
76
+ _: 3
77
+ }, 16);
78
+ };
22
79
  }
23
80
  });
81
+ var TooltipV2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tooltip.vue"]]);
24
82
 
25
- export { tooltipV2Props };
83
+ export { TooltipV2 as default };
26
84
  //# sourceMappingURL=tooltip.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/tooltip.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { tooltipV2RootProps } from './root'\nimport { tooltipV2TriggerProps } from './trigger'\nimport { tooltipV2ArrowProps } from './arrow'\nimport { tooltipV2ContentProps } from './content'\n\nimport type { ExtractPropTypes, TeleportProps, TransitionProps } from 'vue'\n\nexport const tooltipV2Props = buildProps({\n ...tooltipV2RootProps,\n ...tooltipV2ArrowProps,\n ...tooltipV2TriggerProps,\n ...tooltipV2ContentProps,\n alwaysOn: Boolean,\n fullTransition: Boolean,\n transitionProps: {\n type: definePropType<TransitionProps | null>(Object),\n default: null,\n },\n teleported: Boolean,\n to: {\n type: definePropType<TeleportProps['to']>(String),\n default: 'body',\n },\n} as const)\n\nexport type TooltipV2Props = ExtractPropTypes<typeof tooltipV2Props>\n"],"names":[],"mappings":";;;;;;AAKY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,GAAG,kBAAkB;AACvB,EAAE,GAAG,mBAAmB;AACxB,EAAE,GAAG,qBAAqB;AAC1B,EAAE,GAAG,qBAAqB;AAC1B,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,cAAc,EAAE,OAAO;AACzB,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"tooltip.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/tooltip.vue"],"sourcesContent":["<template>\n <tooltip-v2-root v-bind=\"rootProps\">\n <template #default=\"{ open }\">\n <tooltip-v2-trigger v-bind=\"triggerProps\" nowrap>\n <slot name=\"trigger\" />\n </tooltip-v2-trigger>\n <el-teleport :to=\"to\" :disabled=\"!teleported\">\n <template v-if=\"fullTransition\">\n <transition v-bind=\"transitionProps\">\n <tooltip-v2-content v-if=\"alwaysOn || open\" v-bind=\"contentProps\">\n <slot />\n <template #arrow=\"{ style, side }\">\n <tooltip-v2-arrow\n v-if=\"showArrow\"\n v-bind=\"arrowProps\"\n :style=\"style\"\n :side=\"side\"\n />\n </template>\n </tooltip-v2-content>\n </transition>\n </template>\n <template v-else>\n <tooltip-v2-content v-if=\"alwaysOn || open\" v-bind=\"contentProps\">\n <slot />\n <template #arrow=\"{ style, side }\">\n <tooltip-v2-arrow\n v-if=\"showArrow\"\n v-bind=\"arrowProps\"\n :style=\"style\"\n :side=\"side\"\n />\n </template>\n </tooltip-v2-content>\n </template>\n </el-teleport>\n </template>\n </tooltip-v2-root>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport { reactive, toRefs } from 'vue'\nimport { pick } from 'lodash-unified'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { tooltipV2ArrowProps } from './arrow'\nimport { tooltipV2ContentProps } from './content'\nimport { tooltipV2RootProps } from './root'\nimport { tooltipV2Props } from './tooltip'\nimport { tooltipV2TriggerProps } from './trigger'\nimport TooltipV2Root from './root.vue'\nimport TooltipV2Arrow from './arrow.vue'\nimport TooltipV2Content from './content.vue'\nimport TooltipV2Trigger from './trigger.vue'\n\ndefineOptions({\n name: 'ElTooltipV2',\n})\n\nconst props = defineProps(tooltipV2Props)\n\nconst refedProps = toRefs(props)\n\nconst arrowProps = reactive(pick(refedProps, Object.keys(tooltipV2ArrowProps)))\n\nconst contentProps = reactive(\n pick(refedProps, Object.keys(tooltipV2ContentProps))\n)\n\nconst rootProps = reactive(pick(refedProps, Object.keys(tooltipV2RootProps)))\n\nconst triggerProps = reactive(\n pick(refedProps, Object.keys(tooltipV2TriggerProps))\n)\n</script>\n"],"names":["_openBlock","_createBlock","_normalizeProps","_guardReactiveProps","_withCtx","_createVNode","_mergeProps"],"mappings":";;;;;;;;;;;;;;mCAuDc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,UAAA,GAAa,OAAO,KAAK,CAAA,CAAA;AAE/B,IAAM,MAAA,UAAA,GAAa,SAAS,IAAK,CAAA,UAAA,EAAY,OAAO,IAAK,CAAA,mBAAmB,CAAC,CAAC,CAAA,CAAA;AAE9E,IAAA,MAAM,YAAe,GAAA,QAAA,CAAA,IAAA,CAAA,UAAA,EAAA,MAAA,CAAA,IAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IAAA,MACd,SAAA,GAAA,QAAmB,CAAA,IAAK,wBAAsB,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IACrD,MAAA,YAAA,GAAA,QAAA,CAAA,IAAA,CAAA,UAAA,EAAA,MAAA,CAAA,IAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,CAAA;AAEA,IAAM,OAAA,CAAA,IAAA,EAAA;AAEN,MAAA,OAAqBA,SAAA,EAAA,EAAAC,WAAA,CAAA,aAAA,EAAAC,cAAA,CAAAC,kBAAA,CAAA,SAAA,CAAA,CAAA,EAAA;AAAA,QACd,OAAA,EAAAC,OAAmB,CAAA,CAAA,EAAA,IAAA,EAAK;AAAsB,UACrDC,WAAA,CAAA,gBAAA,EAAAC,UAAA,CAAA,YAAA,EAAA,EAAA,MAAA,EAAA,EAAA,EAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}