@element-plus/nightly 0.0.20220327 → 0.0.20220330

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/README.md +5 -0
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +1878 -1244
  5. package/dist/index.full.min.js +12 -12
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +12 -12
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +1877 -1244
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/az.js +136 -0
  19. package/dist/locale/az.min.js +2 -0
  20. package/dist/locale/az.min.js.map +1 -0
  21. package/dist/locale/az.min.mjs +2 -0
  22. package/dist/locale/az.min.mjs.map +1 -0
  23. package/dist/locale/az.mjs +128 -0
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/cs.js +1 -1
  37. package/dist/locale/cs.min.js +1 -1
  38. package/dist/locale/cs.min.mjs +1 -1
  39. package/dist/locale/cs.mjs +1 -1
  40. package/dist/locale/da.js +1 -1
  41. package/dist/locale/da.min.js +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +1 -1
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.mjs +1 -1
  47. package/dist/locale/de.mjs +1 -1
  48. package/dist/locale/el.js +1 -1
  49. package/dist/locale/el.min.js +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +1 -1
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.mjs +1 -1
  55. package/dist/locale/en.mjs +1 -1
  56. package/dist/locale/eo.js +1 -1
  57. package/dist/locale/eo.min.js +1 -1
  58. package/dist/locale/eo.min.mjs +1 -1
  59. package/dist/locale/eo.mjs +1 -1
  60. package/dist/locale/es.js +1 -1
  61. package/dist/locale/es.min.js +1 -1
  62. package/dist/locale/es.min.mjs +1 -1
  63. package/dist/locale/es.mjs +1 -1
  64. package/dist/locale/et.js +1 -1
  65. package/dist/locale/et.min.js +1 -1
  66. package/dist/locale/et.min.mjs +1 -1
  67. package/dist/locale/et.mjs +1 -1
  68. package/dist/locale/eu.js +1 -1
  69. package/dist/locale/eu.min.js +1 -1
  70. package/dist/locale/eu.min.mjs +1 -1
  71. package/dist/locale/eu.mjs +1 -1
  72. package/dist/locale/fa.js +1 -1
  73. package/dist/locale/fa.min.js +1 -1
  74. package/dist/locale/fa.min.mjs +1 -1
  75. package/dist/locale/fa.mjs +1 -1
  76. package/dist/locale/fi.js +1 -1
  77. package/dist/locale/fi.min.js +1 -1
  78. package/dist/locale/fi.min.mjs +1 -1
  79. package/dist/locale/fi.mjs +1 -1
  80. package/dist/locale/fr.js +1 -1
  81. package/dist/locale/fr.min.js +1 -1
  82. package/dist/locale/fr.min.mjs +1 -1
  83. package/dist/locale/fr.mjs +1 -1
  84. package/dist/locale/he.js +1 -1
  85. package/dist/locale/he.min.js +1 -1
  86. package/dist/locale/he.min.mjs +1 -1
  87. package/dist/locale/he.mjs +1 -1
  88. package/dist/locale/hr.js +1 -1
  89. package/dist/locale/hr.min.js +1 -1
  90. package/dist/locale/hr.min.mjs +1 -1
  91. package/dist/locale/hr.mjs +1 -1
  92. package/dist/locale/hu.js +1 -1
  93. package/dist/locale/hu.min.js +1 -1
  94. package/dist/locale/hu.min.mjs +1 -1
  95. package/dist/locale/hu.mjs +1 -1
  96. package/dist/locale/hy-am.js +1 -1
  97. package/dist/locale/hy-am.min.js +1 -1
  98. package/dist/locale/hy-am.min.mjs +1 -1
  99. package/dist/locale/hy-am.mjs +1 -1
  100. package/dist/locale/id.js +1 -1
  101. package/dist/locale/id.min.js +1 -1
  102. package/dist/locale/id.min.mjs +1 -1
  103. package/dist/locale/id.mjs +1 -1
  104. package/dist/locale/it.js +1 -1
  105. package/dist/locale/it.min.js +1 -1
  106. package/dist/locale/it.min.mjs +1 -1
  107. package/dist/locale/it.mjs +1 -1
  108. package/dist/locale/ja.js +1 -1
  109. package/dist/locale/ja.min.js +1 -1
  110. package/dist/locale/ja.min.mjs +1 -1
  111. package/dist/locale/ja.mjs +1 -1
  112. package/dist/locale/kk.js +1 -1
  113. package/dist/locale/kk.min.js +1 -1
  114. package/dist/locale/kk.min.mjs +1 -1
  115. package/dist/locale/kk.mjs +1 -1
  116. package/dist/locale/km.js +1 -1
  117. package/dist/locale/km.min.js +1 -1
  118. package/dist/locale/km.min.mjs +1 -1
  119. package/dist/locale/km.mjs +1 -1
  120. package/dist/locale/ko.js +1 -1
  121. package/dist/locale/ko.min.js +1 -1
  122. package/dist/locale/ko.min.mjs +1 -1
  123. package/dist/locale/ko.mjs +1 -1
  124. package/dist/locale/ku.js +1 -1
  125. package/dist/locale/ku.min.js +1 -1
  126. package/dist/locale/ku.min.mjs +1 -1
  127. package/dist/locale/ku.mjs +1 -1
  128. package/dist/locale/ky.js +1 -1
  129. package/dist/locale/ky.min.js +1 -1
  130. package/dist/locale/ky.min.mjs +1 -1
  131. package/dist/locale/ky.mjs +1 -1
  132. package/dist/locale/lt.js +1 -1
  133. package/dist/locale/lt.min.js +1 -1
  134. package/dist/locale/lt.min.mjs +1 -1
  135. package/dist/locale/lt.mjs +1 -1
  136. package/dist/locale/lv.js +1 -1
  137. package/dist/locale/lv.min.js +1 -1
  138. package/dist/locale/lv.min.mjs +1 -1
  139. package/dist/locale/lv.mjs +1 -1
  140. package/dist/locale/mg.js +1 -1
  141. package/dist/locale/mg.min.js +1 -1
  142. package/dist/locale/mg.min.mjs +1 -1
  143. package/dist/locale/mg.mjs +1 -1
  144. package/dist/locale/mn.js +1 -1
  145. package/dist/locale/mn.min.js +1 -1
  146. package/dist/locale/mn.min.mjs +1 -1
  147. package/dist/locale/mn.mjs +1 -1
  148. package/dist/locale/nb-no.js +1 -1
  149. package/dist/locale/nb-no.min.js +1 -1
  150. package/dist/locale/nb-no.min.mjs +1 -1
  151. package/dist/locale/nb-no.mjs +1 -1
  152. package/dist/locale/nl.js +1 -1
  153. package/dist/locale/nl.min.js +1 -1
  154. package/dist/locale/nl.min.mjs +1 -1
  155. package/dist/locale/nl.mjs +1 -1
  156. package/dist/locale/pa.js +1 -1
  157. package/dist/locale/pa.min.js +1 -1
  158. package/dist/locale/pa.min.mjs +1 -1
  159. package/dist/locale/pa.mjs +1 -1
  160. package/dist/locale/pl.js +1 -1
  161. package/dist/locale/pl.min.js +1 -1
  162. package/dist/locale/pl.min.mjs +1 -1
  163. package/dist/locale/pl.mjs +1 -1
  164. package/dist/locale/pt-br.js +1 -1
  165. package/dist/locale/pt-br.min.js +1 -1
  166. package/dist/locale/pt-br.min.mjs +1 -1
  167. package/dist/locale/pt-br.mjs +1 -1
  168. package/dist/locale/pt.js +1 -1
  169. package/dist/locale/pt.min.js +1 -1
  170. package/dist/locale/pt.min.mjs +1 -1
  171. package/dist/locale/pt.mjs +1 -1
  172. package/dist/locale/ro.js +1 -1
  173. package/dist/locale/ro.min.js +1 -1
  174. package/dist/locale/ro.min.mjs +1 -1
  175. package/dist/locale/ro.mjs +1 -1
  176. package/dist/locale/ru.js +1 -1
  177. package/dist/locale/ru.min.js +1 -1
  178. package/dist/locale/ru.min.mjs +1 -1
  179. package/dist/locale/ru.mjs +1 -1
  180. package/dist/locale/sk.js +1 -1
  181. package/dist/locale/sk.min.js +1 -1
  182. package/dist/locale/sk.min.mjs +1 -1
  183. package/dist/locale/sk.mjs +1 -1
  184. package/dist/locale/sl.js +1 -1
  185. package/dist/locale/sl.min.js +1 -1
  186. package/dist/locale/sl.min.mjs +1 -1
  187. package/dist/locale/sl.mjs +1 -1
  188. package/dist/locale/sr.js +1 -1
  189. package/dist/locale/sr.min.js +1 -1
  190. package/dist/locale/sr.min.mjs +1 -1
  191. package/dist/locale/sr.mjs +1 -1
  192. package/dist/locale/sv.js +1 -1
  193. package/dist/locale/sv.min.js +1 -1
  194. package/dist/locale/sv.min.mjs +1 -1
  195. package/dist/locale/sv.mjs +1 -1
  196. package/dist/locale/ta.js +1 -1
  197. package/dist/locale/ta.min.js +1 -1
  198. package/dist/locale/ta.min.mjs +1 -1
  199. package/dist/locale/ta.mjs +1 -1
  200. package/dist/locale/th.js +1 -1
  201. package/dist/locale/th.min.js +1 -1
  202. package/dist/locale/th.min.mjs +1 -1
  203. package/dist/locale/th.mjs +1 -1
  204. package/dist/locale/tk.js +1 -1
  205. package/dist/locale/tk.min.js +1 -1
  206. package/dist/locale/tk.min.mjs +1 -1
  207. package/dist/locale/tk.mjs +1 -1
  208. package/dist/locale/tr.js +1 -1
  209. package/dist/locale/tr.min.js +1 -1
  210. package/dist/locale/tr.min.mjs +1 -1
  211. package/dist/locale/tr.mjs +1 -1
  212. package/dist/locale/ug-cn.js +1 -1
  213. package/dist/locale/ug-cn.min.js +1 -1
  214. package/dist/locale/ug-cn.min.mjs +1 -1
  215. package/dist/locale/ug-cn.mjs +1 -1
  216. package/dist/locale/uk.js +1 -1
  217. package/dist/locale/uk.min.js +1 -1
  218. package/dist/locale/uk.min.mjs +1 -1
  219. package/dist/locale/uk.mjs +1 -1
  220. package/dist/locale/uz-uz.js +1 -1
  221. package/dist/locale/uz-uz.min.js +1 -1
  222. package/dist/locale/uz-uz.min.mjs +1 -1
  223. package/dist/locale/uz-uz.mjs +1 -1
  224. package/dist/locale/vi.js +1 -1
  225. package/dist/locale/vi.min.js +1 -1
  226. package/dist/locale/vi.min.mjs +1 -1
  227. package/dist/locale/vi.mjs +1 -1
  228. package/dist/locale/zh-cn.js +1 -1
  229. package/dist/locale/zh-cn.min.js +1 -1
  230. package/dist/locale/zh-cn.min.mjs +1 -1
  231. package/dist/locale/zh-cn.mjs +1 -1
  232. package/dist/locale/zh-tw.js +1 -1
  233. package/dist/locale/zh-tw.min.js +1 -1
  234. package/dist/locale/zh-tw.min.mjs +1 -1
  235. package/dist/locale/zh-tw.mjs +1 -1
  236. package/es/component.mjs +2 -0
  237. package/es/component.mjs.map +1 -1
  238. package/es/components/autocomplete/index.d.ts +4 -3
  239. package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -3
  240. package/es/components/autocomplete/src/autocomplete2.mjs +7 -1
  241. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  242. package/es/components/cascader/index.d.ts +4 -4
  243. package/es/components/cascader/src/index.mjs +1 -1
  244. package/es/components/cascader/src/index.vue.d.ts +2 -2
  245. package/es/components/image/index.d.ts +181 -10
  246. package/es/components/image/index.mjs +2 -2
  247. package/es/components/image/index.mjs.map +1 -1
  248. package/es/components/image/src/image.vue.d.ts +181 -10
  249. package/es/components/image/src/image2.mjs +55 -74
  250. package/es/components/image/src/image2.mjs.map +1 -1
  251. package/es/components/image-viewer/index.d.ts +98 -22
  252. package/es/components/image-viewer/index.mjs +2 -2
  253. package/es/components/image-viewer/index.mjs.map +1 -1
  254. package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
  255. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  256. package/es/components/image-viewer/src/image-viewer.vue.d.ts +99 -23
  257. package/es/components/image-viewer/src/image-viewer2.mjs +166 -202
  258. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  259. package/es/components/index.mjs +2 -2
  260. package/es/components/input/index.d.ts +1 -1
  261. package/es/components/input/src/input.vue.d.ts +1 -1
  262. package/es/components/input/src/input2.mjs +3 -2
  263. package/es/components/input/src/input2.mjs.map +1 -1
  264. package/es/components/input-number/index.d.ts +2 -2
  265. package/es/components/input-number/src/input-number.vue.d.ts +2 -2
  266. package/es/components/select/src/select.mjs +1 -1
  267. package/es/components/tabs/index.d.ts +74 -18
  268. package/es/components/tabs/index.mjs +4 -4
  269. package/es/components/tabs/index.mjs.map +1 -1
  270. package/es/components/tabs/src/tab-bar.d.ts +4 -2
  271. package/es/components/tabs/src/tab-bar.mjs +2 -2
  272. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  273. package/es/components/tabs/src/tab-bar.vue.d.ts +38 -2
  274. package/es/components/tabs/src/tab-bar2.mjs +30 -26
  275. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  276. package/es/components/tabs/src/tab-nav.d.ts +12 -100
  277. package/es/components/tabs/src/tab-nav.mjs +65 -81
  278. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  279. package/es/components/tabs/src/tab-pane.d.ts +2 -0
  280. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  281. package/es/components/tabs/src/tab-pane.vue.d.ts +29 -0
  282. package/es/components/tabs/src/tab-pane2.mjs +28 -28
  283. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  284. package/es/components/tabs/src/tabs.d.ts +24 -24
  285. package/es/components/tabs/src/tabs.mjs +53 -41
  286. package/es/components/tabs/src/tabs.mjs.map +1 -1
  287. package/es/components/tag/index.mjs +2 -2
  288. package/es/components/tag/src/tag.mjs +28 -89
  289. package/es/components/tag/src/tag.mjs.map +1 -1
  290. package/es/components/tag/src/tag2.mjs +89 -28
  291. package/es/components/tag/src/tag2.mjs.map +1 -1
  292. package/es/components/tooltip-v2/index.d.ts +578 -0
  293. package/es/components/tooltip-v2/index.mjs +11 -0
  294. package/es/components/tooltip-v2/index.mjs.map +1 -1
  295. package/es/components/tooltip-v2/src/arrow.d.ts +7 -3
  296. package/es/components/tooltip-v2/src/arrow.mjs +11 -3
  297. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  298. package/es/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
  299. package/es/components/tooltip-v2/src/arrow2.mjs +23 -10
  300. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  301. package/es/components/tooltip-v2/src/common.d.ts +19 -0
  302. package/es/components/tooltip-v2/src/common.mjs +21 -1
  303. package/es/components/tooltip-v2/src/common.mjs.map +1 -1
  304. package/es/components/tooltip-v2/src/content.d.ts +7 -4
  305. package/es/components/tooltip-v2/src/content.mjs +12 -3
  306. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  307. package/es/components/tooltip-v2/src/content.vue.d.ts +42 -13
  308. package/es/components/tooltip-v2/src/content2.mjs +61 -28
  309. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  310. package/es/components/tooltip-v2/src/root.vue.d.ts +14 -0
  311. package/es/components/tooltip-v2/src/root2.mjs +7 -2
  312. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  313. package/es/components/tooltip-v2/src/tooltip.d.ts +27 -19
  314. package/es/components/tooltip-v2/src/tooltip.mjs +16 -3
  315. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  316. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
  317. package/es/components/tooltip-v2/src/tooltip2.mjs +38 -12
  318. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  319. package/es/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
  320. package/es/components/tooltip-v2/src/trigger2.mjs +10 -7
  321. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  322. package/es/components/visual-hidden/src/visual-hidden.mjs +4 -2
  323. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  324. package/es/hooks/use-floating/index.d.ts +3 -3
  325. package/es/hooks/use-floating/index.mjs +7 -6
  326. package/es/hooks/use-floating/index.mjs.map +1 -1
  327. package/es/index.mjs +3 -3
  328. package/es/locale/index.d.ts +1 -0
  329. package/es/locale/index.mjs +1 -0
  330. package/es/locale/index.mjs.map +1 -1
  331. package/es/locale/lang/az.d.ts +125 -0
  332. package/es/locale/lang/az.mjs +127 -0
  333. package/es/locale/lang/az.mjs.map +1 -0
  334. package/es/locales.mjs +1 -0
  335. package/es/locales.mjs.map +1 -1
  336. package/es/tokens/index.mjs +1 -1
  337. package/es/tokens/tooltip-v2.d.ts +6 -0
  338. package/es/tokens/tooltip-v2.mjs +2 -1
  339. package/es/tokens/tooltip-v2.mjs.map +1 -1
  340. package/es/version.d.ts +1 -1
  341. package/es/version.mjs +1 -1
  342. package/es/version.mjs.map +1 -1
  343. package/lib/component.js +10 -8
  344. package/lib/component.js.map +1 -1
  345. package/lib/components/autocomplete/index.d.ts +4 -3
  346. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -3
  347. package/lib/components/autocomplete/src/autocomplete2.js +7 -1
  348. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  349. package/lib/components/cascader/index.d.ts +4 -4
  350. package/lib/components/cascader/src/index.js +1 -1
  351. package/lib/components/cascader/src/index.vue.d.ts +2 -2
  352. package/lib/components/image/index.d.ts +181 -10
  353. package/lib/components/image/src/image.vue.d.ts +181 -10
  354. package/lib/components/image/src/image2.js +63 -82
  355. package/lib/components/image/src/image2.js.map +1 -1
  356. package/lib/components/image-viewer/index.d.ts +98 -22
  357. package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
  358. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  359. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +99 -23
  360. package/lib/components/image-viewer/src/image-viewer2.js +178 -214
  361. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  362. package/lib/components/index.js +2 -2
  363. package/lib/components/input/index.d.ts +1 -1
  364. package/lib/components/input/src/input.vue.d.ts +1 -1
  365. package/lib/components/input/src/input2.js +2 -1
  366. package/lib/components/input/src/input2.js.map +1 -1
  367. package/lib/components/input-number/index.d.ts +2 -2
  368. package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
  369. package/lib/components/select/src/select.js +1 -1
  370. package/lib/components/tabs/index.d.ts +74 -18
  371. package/lib/components/tabs/index.js +1 -1
  372. package/lib/components/tabs/index.js.map +1 -1
  373. package/lib/components/tabs/src/tab-bar.d.ts +4 -2
  374. package/lib/components/tabs/src/tab-bar.js +2 -2
  375. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  376. package/lib/components/tabs/src/tab-bar.vue.d.ts +38 -2
  377. package/lib/components/tabs/src/tab-bar2.js +28 -24
  378. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  379. package/lib/components/tabs/src/tab-nav.d.ts +12 -100
  380. package/lib/components/tabs/src/tab-nav.js +67 -83
  381. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  382. package/lib/components/tabs/src/tab-pane.d.ts +2 -0
  383. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  384. package/lib/components/tabs/src/tab-pane.vue.d.ts +29 -0
  385. package/lib/components/tabs/src/tab-pane2.js +31 -31
  386. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  387. package/lib/components/tabs/src/tabs.d.ts +24 -24
  388. package/lib/components/tabs/src/tabs.js +52 -40
  389. package/lib/components/tabs/src/tabs.js.map +1 -1
  390. package/lib/components/tag/index.js +2 -2
  391. package/lib/components/tag/src/tag.js +29 -89
  392. package/lib/components/tag/src/tag.js.map +1 -1
  393. package/lib/components/tag/src/tag2.js +89 -29
  394. package/lib/components/tag/src/tag2.js.map +1 -1
  395. package/lib/components/tooltip-v2/index.d.ts +578 -0
  396. package/lib/components/tooltip-v2/index.js +21 -0
  397. package/lib/components/tooltip-v2/index.js.map +1 -1
  398. package/lib/components/tooltip-v2/src/arrow.d.ts +7 -3
  399. package/lib/components/tooltip-v2/src/arrow.js +11 -2
  400. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  401. package/lib/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
  402. package/lib/components/tooltip-v2/src/arrow2.js +21 -8
  403. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  404. package/lib/components/tooltip-v2/src/common.d.ts +19 -0
  405. package/lib/components/tooltip-v2/src/common.js +24 -0
  406. package/lib/components/tooltip-v2/src/common.js.map +1 -1
  407. package/lib/components/tooltip-v2/src/content.d.ts +7 -4
  408. package/lib/components/tooltip-v2/src/content.js +12 -3
  409. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  410. package/lib/components/tooltip-v2/src/content.vue.d.ts +42 -13
  411. package/lib/components/tooltip-v2/src/content2.js +58 -25
  412. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  413. package/lib/components/tooltip-v2/src/root.vue.d.ts +14 -0
  414. package/lib/components/tooltip-v2/src/root2.js +9 -4
  415. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  416. package/lib/components/tooltip-v2/src/tooltip.d.ts +27 -19
  417. package/lib/components/tooltip-v2/src/tooltip.js +16 -3
  418. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  419. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
  420. package/lib/components/tooltip-v2/src/tooltip2.js +37 -11
  421. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  422. package/lib/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
  423. package/lib/components/tooltip-v2/src/trigger2.js +9 -6
  424. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  425. package/lib/components/visual-hidden/src/visual-hidden.js +3 -1
  426. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  427. package/lib/hooks/use-floating/index.d.ts +3 -3
  428. package/lib/hooks/use-floating/index.js +6 -5
  429. package/lib/hooks/use-floating/index.js.map +1 -1
  430. package/lib/index.js +3 -2
  431. package/lib/index.js.map +1 -1
  432. package/lib/locale/index.d.ts +1 -0
  433. package/lib/locale/index.js +2 -0
  434. package/lib/locale/index.js.map +1 -1
  435. package/lib/locale/lang/az.d.ts +125 -0
  436. package/lib/locale/lang/az.js +131 -0
  437. package/lib/locale/lang/az.js.map +1 -0
  438. package/lib/locales.js +2 -0
  439. package/lib/locales.js.map +1 -1
  440. package/lib/tokens/index.js +1 -0
  441. package/lib/tokens/index.js.map +1 -1
  442. package/lib/tokens/tooltip-v2.d.ts +6 -0
  443. package/lib/tokens/tooltip-v2.js +2 -0
  444. package/lib/tokens/tooltip-v2.js.map +1 -1
  445. package/lib/version.d.ts +1 -1
  446. package/lib/version.js +1 -1
  447. package/lib/version.js.map +1 -1
  448. package/package.json +6 -6
  449. package/tags.json +1 -1
  450. package/theme-chalk/el-tooltip-v2.css +1 -0
  451. package/theme-chalk/index.css +1 -1
  452. package/theme-chalk/src/index.scss +1 -0
  453. package/theme-chalk/src/tooltip-v2.scss +91 -0
  454. package/web-types.json +1 -1
@@ -1 +1 @@
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=\"el-tab-pane\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n markRaw,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: tabPaneProps,\n setup(props) {\n const instance = getCurrentInstance()!\n const tabsRoot = inject(tabsRootContextKey)\n if (!tabsRoot) throwError(COMPONENT_NAME, `must use with ElTabs`)\n\n const index = ref<string>()\n const isClosable = computed(() => props.closable || tabsRoot.props.closable)\n const active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n )\n const loaded = ref(active.value)\n const paneName = computed(() => props.name || index.value)\n const shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n )\n\n watch(active, (val) => {\n if (val) loaded.value = true\n })\n\n tabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n )\n\n return {\n active,\n paneName,\n shouldBeRender,\n }\n },\n})\n</script>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_renderSlot","_vShow","_createCommentVNode"],"mappings":";;;;;;;;;AA6BA,MAAM,cAAiB,GAAA,WAAA,CAAA;AAEvB,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA,EACP,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,QAAW,GAAA,kBAAA,EAAA,CAAA;AACjB,IAAA,MAAM,WAAW,MAAO,CAAA,kBAAA,CAAA,CAAA;AACxB,IAAA,IAAI,CAAC,QAAA;AAAU,MAAA,UAAA,CAAW,cAAgB,EAAA,CAAA,oBAAA,CAAA,CAAA,CAAA;AAE1C,IAAA,MAAM,KAAQ,GAAA,GAAA,EAAA,CAAA;AACd,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,KAAM,CAAA,QAAA,IAAY,SAAS,KAAM,CAAA,QAAA,CAAA,CAAA;AACnE,IAAM,MAAA,MAAA,GAAS,cACb,MAAM,QAAA,CAAS,YAAY,KAAW,MAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA,CAAA,CAAA,CAAA;AAE5D,IAAM,MAAA,MAAA,GAAS,IAAI,MAAO,CAAA,KAAA,CAAA,CAAA;AAC1B,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA,CAAA,CAAA;AACpD,IAAM,MAAA,cAAA,GAAiB,cACrB,MAAM,CAAC,MAAM,IAAQ,IAAA,MAAA,CAAO,SAAS,MAAO,CAAA,KAAA,CAAA,CAAA;AAG9C,IAAM,KAAA,CAAA,MAAA,EAAQ,CAAC,GAAQ,KAAA;AACrB,MAAI,IAAA,GAAA;AAAK,QAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAG1B,IAAA,QAAA,CAAS,gBACP,QAAS,CAAA;AAAA,MACP,KAAK,QAAS,CAAA,GAAA;AAAA,MACd,UAAU,OAAQ,CAAA,QAAA,CAAA;AAAA,MAClB,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAIJ,IAAO,OAAA;AAAA,MACL,MAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,CAAA;;;AAnEI,EAAA,OAAA,IAAA,CAAA,cAAA,GAAAA,cAAA,EAAAC,SAAA,EAAA,EADRC,kBAUM,CAAA,KAAA,EAAA;AAAA,IAAA,GAAA,EAAA,CAAA;AAPH,IAAA,EAAA,EAAE,CAAU,KAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IACb,KAAM,EAAA,aAAA;AAAA,IACN,IAAK,EAAA,UAAA;AAAA,IACJ,eAAW,CAAG,IAAA,CAAA,MAAA;AAAA,IACd,mBAAe,CAAS,IAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,EAAA;IAEzBC,UAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,GAAA,EAAA,CAAA,EAAA,UAAA,CAAA,GAAA;AAPA,IAAA,CAAAC,KAAA,EAAA,IAAA,CAAA,MAAA,CAAA;AAAA,GAAA,CAAA,GAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA,CAAA;;;;;;"}
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<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n markRaw,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: 'ElTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\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\ntabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,QAAA,GAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,MAAA,CAAA,kBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAA,UAAA,CAAA,cAAA,EAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,YAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,QAAA,CAAA,MAAA,KAAA,CAAA,QAAA,IAAA,SAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,cACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,QAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,MAAA,GAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,QAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,cACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,SAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAGA,IAAA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA;AAAA,QAAA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,QAAA,CAAA,gBACA,QAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,UAAA,OAAA,CAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,41 +1,41 @@
1
1
  import type { TabsPaneContext } from 'element-plus/es/tokens';
2
- import type { ComponentInternalInstance, ExtractPropTypes, VNode } from 'vue';
2
+ import type { ComponentInternalInstance, ExtractPropTypes } from 'vue';
3
+ import type { Awaitable } from 'element-plus/es/utils';
4
+ export declare type TabPanelName = string | number;
3
5
  export declare const tabsProps: {
4
6
  readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "card" | "border-card", unknown>;
5
- readonly activeName: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
7
+ readonly activeName: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
6
8
  readonly closable: BooleanConstructor;
7
9
  readonly addable: BooleanConstructor;
8
10
  readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
9
11
  readonly editable: BooleanConstructor;
10
12
  readonly tabPosition: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "top", unknown, "top" | "right" | "bottom" | "left", unknown>;
11
- readonly beforeLeave: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(newTabName: string | number, oldTabName: string | number) => void | boolean | Promise<void | boolean>>, () => boolean, unknown, unknown, unknown>;
13
+ readonly beforeLeave: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(newName: TabPanelName, oldName: TabPanelName) => Awaitable<void | boolean>>, () => boolean, unknown, unknown, unknown>;
12
14
  readonly stretch: BooleanConstructor;
13
15
  };
14
16
  export declare type TabsProps = ExtractPropTypes<typeof tabsProps>;
15
17
  export declare const tabsEmits: {
16
- "update:modelValue": (tabName: string | number) => boolean;
17
- input: (tabName: string | number) => boolean;
18
+ "update:modelValue": (name: TabPanelName) => boolean;
19
+ input: (name: TabPanelName) => boolean;
18
20
  'tab-click': (pane: TabsPaneContext, ev: Event) => boolean;
19
- edit: (paneName: string | number | null, action: 'remove' | 'add') => boolean;
20
- 'tab-remove': (paneName: string | number) => boolean;
21
+ edit: (paneName: TabPanelName | undefined, action: 'remove' | 'add') => boolean;
22
+ 'tab-remove': (name: TabPanelName) => boolean;
21
23
  'tab-add': () => boolean;
22
24
  };
23
25
  export declare type TabsEmits = typeof tabsEmits;
24
26
  declare const _default: import("vue").DefineComponent<{
25
27
  readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "card" | "border-card", unknown>;
26
- readonly activeName: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
28
+ readonly activeName: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
27
29
  readonly closable: BooleanConstructor;
28
30
  readonly addable: BooleanConstructor;
29
31
  readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
30
32
  readonly editable: BooleanConstructor;
31
33
  readonly tabPosition: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "top", unknown, "top" | "right" | "bottom" | "left", unknown>;
32
- readonly beforeLeave: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(newTabName: string | number, oldTabName: string | number) => boolean | void | Promise<boolean | void>>, () => boolean, unknown, unknown, unknown>;
34
+ readonly beforeLeave: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(newName: TabPanelName, oldName: TabPanelName) => Awaitable<boolean | void>>, () => boolean, unknown, unknown, unknown>;
33
35
  readonly stretch: BooleanConstructor;
34
- }, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
- [key: string]: any;
36
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
- "update:modelValue": (tabName: string | number) => boolean;
38
- input: (tabName: string | number) => boolean;
36
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
+ "update:modelValue": (name: TabPanelName) => boolean;
38
+ input: (name: TabPanelName) => boolean;
39
39
  'tab-click': (pane: {
40
40
  uid: number;
41
41
  instance: import("vue").ShallowReactive<ComponentInternalInstance>;
@@ -51,22 +51,22 @@ declare const _default: import("vue").DefineComponent<{
51
51
  index: string | undefined;
52
52
  isClosable: boolean;
53
53
  }, ev: Event) => boolean;
54
- edit: (paneName: string | number | null, action: "remove" | "add") => boolean;
55
- 'tab-remove': (paneName: string | number) => boolean;
54
+ edit: (paneName: TabPanelName | undefined, action: "remove" | "add") => boolean;
55
+ 'tab-remove': (name: TabPanelName) => boolean;
56
56
  'tab-add': () => boolean;
57
57
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
58
58
  readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "card" | "border-card", unknown>;
59
- readonly activeName: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
59
+ readonly activeName: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
60
60
  readonly closable: BooleanConstructor;
61
61
  readonly addable: BooleanConstructor;
62
62
  readonly modelValue: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
63
63
  readonly editable: BooleanConstructor;
64
64
  readonly tabPosition: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "top", unknown, "top" | "right" | "bottom" | "left", unknown>;
65
- readonly beforeLeave: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(newTabName: string | number, oldTabName: string | number) => boolean | void | Promise<boolean | void>>, () => boolean, unknown, unknown, unknown>;
65
+ readonly beforeLeave: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(newName: TabPanelName, oldName: TabPanelName) => Awaitable<boolean | void>>, () => boolean, unknown, unknown, unknown>;
66
66
  readonly stretch: BooleanConstructor;
67
67
  }>> & {
68
- "onUpdate:modelValue"?: ((tabName: string | number) => any) | undefined;
69
- onInput?: ((tabName: string | number) => any) | undefined;
68
+ "onUpdate:modelValue"?: ((name: TabPanelName) => any) | undefined;
69
+ onInput?: ((name: TabPanelName) => any) | undefined;
70
70
  "onTab-click"?: ((pane: {
71
71
  uid: number;
72
72
  instance: import("vue").ShallowReactive<ComponentInternalInstance>;
@@ -82,16 +82,16 @@ declare const _default: import("vue").DefineComponent<{
82
82
  index: string | undefined;
83
83
  isClosable: boolean;
84
84
  }, ev: Event) => any) | undefined;
85
- onEdit?: ((paneName: string | number | null, action: "remove" | "add") => any) | undefined;
86
- "onTab-remove"?: ((paneName: string | number) => any) | undefined;
85
+ onEdit?: ((paneName: TabPanelName | undefined, action: "remove" | "add") => any) | undefined;
86
+ "onTab-remove"?: ((name: TabPanelName) => any) | undefined;
87
87
  "onTab-add"?: (() => any) | undefined;
88
88
  }, {
89
89
  type: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "card" | "border-card", unknown>;
90
90
  modelValue: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
91
91
  closable: boolean;
92
- activeName: string;
92
+ activeName: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
93
93
  tabPosition: import("element-plus/es/utils").BuildPropType<StringConstructor, "top" | "right" | "bottom" | "left", unknown>;
94
- beforeLeave: (newTabName: string | number, oldTabName: string | number) => boolean | void | Promise<boolean | void>;
94
+ beforeLeave: (newName: TabPanelName, oldName: TabPanelName) => Awaitable<boolean | void>;
95
95
  addable: boolean;
96
96
  editable: boolean;
97
97
  stretch: boolean;
@@ -1,13 +1,16 @@
1
- import { Fragment, defineComponent, getCurrentInstance, ref, onUpdated, onMounted, watch, nextTick, provide, h, renderSlot } from 'vue';
2
- import { isPromise, NOOP } from '@vue/shared';
1
+ import { Fragment, defineComponent, getCurrentInstance, ref, onUpdated, onMounted, watch, nextTick, provide, createVNode, renderSlot } from 'vue';
2
+ import { isString, isPromise, NOOP } from '@vue/shared';
3
3
  import '../../../utils/index.mjs';
4
4
  import '../../../constants/index.mjs';
5
5
  import { ElIcon } from '../../icon/index.mjs';
6
6
  import { Plus } from '@element-plus/icons-vue';
7
7
  import '../../../tokens/index.mjs';
8
+ import '../../../hooks/index.mjs';
8
9
  import TabNav from './tab-nav.mjs';
9
10
  import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
11
+ import { isNumber } from '@vueuse/core';
10
12
  import { UPDATE_MODEL_EVENT, INPUT_EVENT } from '../../../constants/event.mjs';
13
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
14
  import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
12
15
  import { EVENT_CODE } from '../../../constants/aria.mjs';
13
16
 
@@ -18,7 +21,7 @@ const tabsProps = buildProps({
18
21
  default: ""
19
22
  },
20
23
  activeName: {
21
- type: String,
24
+ type: [String, Number],
22
25
  default: ""
23
26
  },
24
27
  closable: Boolean,
@@ -39,12 +42,13 @@ const tabsProps = buildProps({
39
42
  },
40
43
  stretch: Boolean
41
44
  });
45
+ const isPanelName = (value) => isString(value) || isNumber(value);
42
46
  const tabsEmits = {
43
- [UPDATE_MODEL_EVENT]: (tabName) => typeof tabName === "string" || typeof tabName === "number",
44
- [INPUT_EVENT]: (tabName) => typeof tabName === "string" || typeof tabName === "number",
47
+ [UPDATE_MODEL_EVENT]: (name) => isPanelName(name),
48
+ [INPUT_EVENT]: (name) => isPanelName(name),
45
49
  "tab-click": (pane, ev) => ev instanceof Event,
46
- edit: (paneName, action) => action === "remove" || action === "add",
47
- "tab-remove": (paneName) => typeof paneName === "string" || typeof paneName === "number",
50
+ edit: (paneName, action) => ["remove", "add"].includes(action),
51
+ "tab-remove": (name) => isPanelName(name),
48
52
  "tab-add": () => true
49
53
  };
50
54
  const getPaneInstanceFromSlot = (vnode, paneInstanceList = []) => {
@@ -64,8 +68,13 @@ var Tabs = defineComponent({
64
68
  name: "ElTabs",
65
69
  props: tabsProps,
66
70
  emits: tabsEmits,
67
- setup(props, { emit, slots, expose }) {
71
+ setup(props, {
72
+ emit,
73
+ slots,
74
+ expose
75
+ }) {
68
76
  const instance = getCurrentInstance();
77
+ const ns = useNamespace("tabs");
69
78
  const nav$ = ref();
70
79
  const panes = ref([]);
71
80
  const currentName = ref(props.modelValue || props.activeName || "0");
@@ -73,11 +82,13 @@ var Tabs = defineComponent({
73
82
  const updatePaneInstances = (isForceUpdate = false) => {
74
83
  if (slots.default) {
75
84
  const children = instance.subTree.children;
76
- const content = Array.from(children).find(({ props: props2 }) => (props2 == null ? void 0 : props2.class) === "el-tabs__content");
85
+ const content = Array.from(children).find(({
86
+ props: props2
87
+ }) => (props2 == null ? void 0 : props2.class) === ns.e("content"));
77
88
  if (!content)
78
89
  return;
79
90
  const paneInstanceList = getPaneInstanceFromSlot(content).map((paneComponent) => paneStatesMap[paneComponent.uid]);
80
- const panesChanged = !(paneInstanceList.length === panes.value.length && paneInstanceList.every((pane, index) => pane.uid === panes.value[index].uid && !pane.instance.slots.label));
91
+ const panesChanged = !(paneInstanceList.length === panes.value.length && paneInstanceList.every((pane, index) => pane.uid === panes.value[index].uid));
81
92
  if (isForceUpdate || panesChanged) {
82
93
  panes.value = paneInstanceList;
83
94
  }
@@ -119,7 +130,7 @@ var Tabs = defineComponent({
119
130
  emit("tab-remove", pane.props.name);
120
131
  };
121
132
  const handleTabAdd = () => {
122
- emit("edit", null, "add");
133
+ emit("edit", void 0, "add");
123
134
  emit("tab-add");
124
135
  };
125
136
  onUpdated(() => updatePaneInstances());
@@ -142,39 +153,40 @@ var Tabs = defineComponent({
142
153
  currentName
143
154
  });
144
155
  return () => {
145
- const newButton = props.editable || props.addable ? h("span", {
146
- class: "el-tabs__new-tab",
147
- tabindex: "0",
148
- onClick: handleTabAdd,
149
- onKeydown: (ev) => {
156
+ const newButton = props.editable || props.addable ? createVNode("span", {
157
+ "class": ns.e("new-tab"),
158
+ "tabindex": "0",
159
+ "onClick": handleTabAdd,
160
+ "onKeydown": (ev) => {
150
161
  if (ev.code === EVENT_CODE.enter)
151
162
  handleTabAdd();
152
163
  }
153
- }, [h(ElIcon, { class: "is-icon-plus" }, { default: () => h(Plus) })]) : null;
154
- const header = h("div", { class: ["el-tabs__header", `is-${props.tabPosition}`] }, [
155
- newButton,
156
- h(TabNav, {
157
- currentName: currentName.value,
158
- editable: props.editable,
159
- type: props.type,
160
- panes: panes.value,
161
- stretch: props.stretch,
162
- ref: nav$,
163
- onTabClick: handleTabClick,
164
- onTabRemove: handleTabRemove
165
- })
166
- ]);
167
- const panels = h("div", { class: "el-tabs__content" }, [
168
- renderSlot(slots, "default")
169
- ]);
170
- return h("div", {
171
- class: {
172
- "el-tabs": true,
173
- "el-tabs--card": props.type === "card",
174
- [`el-tabs--${props.tabPosition}`]: true,
175
- "el-tabs--border-card": props.type === "border-card"
176
- }
177
- }, props.tabPosition !== "bottom" ? [header, panels] : [panels, header]);
164
+ }, [createVNode(ElIcon, {
165
+ "class": ns.is("icon-plus")
166
+ }, {
167
+ default: () => [createVNode(Plus, null, null)]
168
+ })]) : null;
169
+ const header = createVNode("div", {
170
+ "class": [ns.e("header"), ns.is(props.tabPosition)]
171
+ }, [newButton, createVNode(TabNav, {
172
+ "ref": nav$,
173
+ "currentName": currentName.value,
174
+ "editable": props.editable,
175
+ "type": props.type,
176
+ "panes": panes.value,
177
+ "stretch": props.stretch,
178
+ "onTabClick": handleTabClick,
179
+ "onTabRemove": handleTabRemove
180
+ }, null)]);
181
+ const panels = createVNode("div", {
182
+ "class": ns.e("content")
183
+ }, [renderSlot(slots, "default")]);
184
+ return createVNode("div", {
185
+ "class": [ns.b(), ns.m(props.tabPosition), {
186
+ [ns.m("card")]: props.type === "card",
187
+ [ns.m("border-card")]: props.type === "border-card"
188
+ }]
189
+ }, [...props.tabPosition !== "bottom" ? [header, panels] : [panels, header]]);
178
190
  };
179
191
  }
180
192
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.ts"],"sourcesContent":["import {\n Fragment,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { NOOP, isPromise } from '@vue/shared'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport {\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabNav from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n ExtractPropTypes,\n Ref,\n VNode,\n} from 'vue'\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: String,\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newTabName: string | number,\n oldTabName: string | number\n ) => void | boolean | Promise<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (tabName: string | number) =>\n typeof tabName === 'string' || typeof tabName === 'number',\n [INPUT_EVENT]: (tabName: string | number) =>\n typeof tabName === 'string' || typeof tabName === 'number',\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n edit: (paneName: string | number | null, action: 'remove' | 'add') =>\n action === 'remove' || action === 'add',\n 'tab-remove': (paneName: string | number) =>\n typeof paneName === 'string' || typeof paneName === 'number',\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'ElTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const nav$ = ref<InstanceType<typeof TabNav>>()\n\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === 'el-tabs__content'\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) =>\n pane.uid === panes.value[index].uid && !pane.instance.slots.label // if has label slot, should update every time\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: string | number) => {\n currentName.value = value\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n const setCurrentName = (value: string | number) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: string | number,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', null, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable\n ? h(\n 'span',\n {\n class: 'el-tabs__new-tab',\n tabindex: '0',\n onClick: handleTabAdd,\n onKeydown: (ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n },\n },\n [h(ElIcon, { class: 'is-icon-plus' }, { default: () => h(Plus) })]\n )\n : null\n\n const header = h(\n 'div',\n { class: ['el-tabs__header', `is-${props.tabPosition}`] },\n [\n newButton,\n h(TabNav, {\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n ref: nav$,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n }),\n ]\n )\n\n const panels = h('div', { class: 'el-tabs__content' }, [\n renderSlot(slots, 'default'),\n ])\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs': true,\n 'el-tabs--card': props.type === 'card',\n [`el-tabs--${props.tabPosition}`]: true,\n 'el-tabs--border-card': props.type === 'border-card',\n },\n },\n props.tabPosition !== 'bottom' ? [header, panels] : [panels, header]\n )\n }\n },\n})\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n Fragment,\n defineComponent,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isPromise,\n isString,\n} from '@element-plus/utils'\nimport {\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabNav from './tab-nav'\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n ExtractPropTypes,\n Ref,\n VNode,\n} from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPanelName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newName: TabPanelName,\n oldName: TabPanelName\n ) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPanelName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPanelName) => isPanelName(name),\n [INPUT_EVENT]: (name: TabPanelName) => isPanelName(name),\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n edit: (paneName: TabPanelName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n 'tab-remove': (name: TabPanelName) => isPanelName(name),\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'ElTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const ns = useNamespace('tabs')\n\n const nav$ = ref<TabNavInstance>()\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === ns.e('content')\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) => pane.uid === panes.value[index].uid\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: TabPanelName) => {\n currentName.value = value\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n const setCurrentName = (value: TabPanelName) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPanelName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\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 </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 {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","name","isPanelName","pane","ev","Event","edit","paneName","action","getPaneInstanceFromSlot","children","vnode","Array","from","forEach","node","paneInstanceList","props","emits","setup","emit","slots","expose","instance","getCurrentInstance","ns","useNamespace","nav$","currentName","paneStatesMap","updatePaneInstances","content","isForceUpdate","panesChanged","panes","length","changeCurrentName","value","setCurrentName","canLeave","NOOP","handleTabClick","tab","tabName","handleTabRemove","disabled","stopPropagation","handleTabAdd","onUpdated","onMounted","watch","nextTick","_createVNode","provide","updatePaneState","newButton","code"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import _sfc_main from './src/tag.mjs';
3
- export { tagEmits, tagProps } from './src/tag2.mjs';
2
+ import _sfc_main from './src/tag2.mjs';
3
+ export { tagEmits, tagProps } from './src/tag.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const ElTag = withInstall(_sfc_main);
@@ -1,94 +1,33 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, createElementVNode, renderSlot, createBlock, withCtx, createVNode, createCommentVNode, Transition } from 'vue';
2
- import { ElIcon } from '../../icon/index.mjs';
3
- import { Close } from '@element-plus/icons-vue';
4
- import '../../../hooks/index.mjs';
5
- import { tagProps, tagEmits } from './tag2.mjs';
6
- import { useSize } from '../../../hooks/use-common-props/index.mjs';
7
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
1
+ import '../../../utils/index.mjs';
2
+ import { buildProps } from '../../../utils/vue/props.mjs';
8
3
 
9
- const __default__ = {
10
- name: "ElTag"
11
- };
12
- const _sfc_main = /* @__PURE__ */ defineComponent({
13
- ...__default__,
14
- props: tagProps,
15
- emits: tagEmits,
16
- setup(__props, { emit }) {
17
- const props = __props;
18
- const tagSize = useSize();
19
- const ns = useNamespace("tag");
20
- const classes = computed(() => {
21
- const { type, hit, effect, closable } = props;
22
- return [
23
- ns.b(),
24
- ns.is("closable", closable),
25
- ns.m(type),
26
- ns.m(tagSize.value),
27
- ns.m(effect),
28
- ns.is("hit", hit)
29
- ];
30
- });
31
- const handleClose = (event) => {
32
- event.stopPropagation();
33
- emit("close", event);
34
- };
35
- const handleClick = (event) => {
36
- emit("click", event);
37
- };
38
- return (_ctx, _cache) => {
39
- return !_ctx.disableTransitions ? (openBlock(), createElementBlock("span", {
40
- key: 0,
41
- class: normalizeClass(unref(classes)),
42
- style: normalizeStyle({ backgroundColor: _ctx.color }),
43
- onClick: handleClick
44
- }, [
45
- createElementVNode("span", {
46
- class: normalizeClass(unref(ns).e("content"))
47
- }, [
48
- renderSlot(_ctx.$slots, "default")
49
- ], 2),
50
- _ctx.closable ? (openBlock(), createBlock(unref(ElIcon), {
51
- key: 0,
52
- class: normalizeClass(unref(ns).e("close")),
53
- onClick: handleClose
54
- }, {
55
- default: withCtx(() => [
56
- createVNode(unref(Close))
57
- ]),
58
- _: 1
59
- }, 8, ["class"])) : createCommentVNode("v-if", true)
60
- ], 6)) : (openBlock(), createBlock(Transition, {
61
- key: 1,
62
- name: `${unref(ns).namespace.value}-zoom-in-center`
63
- }, {
64
- default: withCtx(() => [
65
- createElementVNode("span", {
66
- class: normalizeClass(unref(classes)),
67
- style: normalizeStyle({ backgroundColor: _ctx.color }),
68
- onClick: handleClick
69
- }, [
70
- createElementVNode("span", {
71
- class: normalizeClass(unref(ns).e("content"))
72
- }, [
73
- renderSlot(_ctx.$slots, "default")
74
- ], 2),
75
- _ctx.closable ? (openBlock(), createBlock(unref(ElIcon), {
76
- key: 0,
77
- class: normalizeClass(unref(ns).e("close")),
78
- onClick: handleClose
79
- }, {
80
- default: withCtx(() => [
81
- createVNode(unref(Close))
82
- ]),
83
- _: 1
84
- }, 8, ["class"])) : createCommentVNode("v-if", true)
85
- ], 6)
86
- ]),
87
- _: 3
88
- }, 8, ["name"]));
89
- };
4
+ const tagProps = buildProps({
5
+ closable: Boolean,
6
+ type: {
7
+ type: String,
8
+ values: ["success", "info", "warning", "danger", ""],
9
+ default: ""
10
+ },
11
+ hit: Boolean,
12
+ disableTransitions: Boolean,
13
+ color: {
14
+ type: String,
15
+ default: ""
16
+ },
17
+ size: {
18
+ type: String,
19
+ values: ["large", "default", "small"]
20
+ },
21
+ effect: {
22
+ type: String,
23
+ values: ["dark", "light", "plain"],
24
+ default: "light"
90
25
  }
91
26
  });
27
+ const tagEmits = {
28
+ close: (evt) => evt instanceof MouseEvent,
29
+ click: (evt) => evt instanceof MouseEvent
30
+ };
92
31
 
93
- export { _sfc_main as default };
32
+ export { tagEmits, tagProps };
94
33
  //# sourceMappingURL=tag.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <el-icon v-if=\"closable\" :class=\"ns.e('close')\" @click=\"handleClose\">\n <Close />\n </el-icon>\n </span>\n <transition v-else :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <el-icon v-if=\"closable\" :class=\"ns.e('close')\" @click=\"handleClose\">\n <Close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { tagEmits, tagProps } from './tag'\n\ndefineOptions({\n name: 'ElTag',\n})\nconst props = defineProps(tagProps)\nconst emit = defineEmits(tagEmits)\n\nconst tagSize = useSize()\nconst ns = useNamespace('tag')\nconst classes = computed(() => {\n const { type, hit, effect, closable } = props\n return [\n ns.b(),\n ns.is('closable', closable),\n ns.m(type),\n ns.m(tagSize.value),\n ns.m(effect),\n ns.is('hit', hit),\n ]\n})\n\n// methods\nconst handleClose = (event: MouseEvent) => {\n event.stopPropagation()\n emit('close', event)\n}\n\nconst handleClick = (event: MouseEvent) => {\n emit('click', event)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA4CA,IAAA,MAAA,OAAA,GAAA,OAAA,EAAA,CAAA;AACA,IAAA,MAAA,KAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,EAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,OAAA;AAAA,QACA,EAAA,CAAA,CAAA,EAAA;AAAA,QACA,EAAA,CAAA,GAAA,UAAA,EAAA,QAAA,CAAA;AAAA,QACA,GAAA,CAAA,CAAA,IAAA,CAAA;AAAA,QACA,EAAA,CAAA,EAAA,OAAA,CAAA,KAAA,CAAA;AAAA,QACA,GAAA,CAAA,CAAA,MAAA,CAAA;AAAA,QACA,EAAA,CAAA,GAAA,KAAA,EAAA,GAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAKA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tag.mjs","sources":["../../../../../../packages/components/tag/src/tag.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type Tag from './tag.vue'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const tagProps = buildProps({\n closable: Boolean,\n type: {\n type: String,\n values: ['success', 'info', 'warning', 'danger', ''],\n default: '',\n },\n hit: Boolean,\n disableTransitions: Boolean,\n color: {\n type: String,\n default: '',\n },\n size: {\n type: String,\n values: ['large', 'default', 'small'],\n },\n effect: {\n type: String,\n values: ['dark', 'light', 'plain'],\n default: 'light',\n },\n} as const)\nexport type TagProps = ExtractPropTypes<typeof tagProps>\n\nexport const tagEmits = {\n close: (evt: MouseEvent) => evt instanceof MouseEvent,\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type TagEmits = typeof tagEmits\n\nexport type TagInstance = InstanceType<typeof Tag>\n"],"names":[],"mappings":";;;AACY,MAAC,QAAQ,GAAG,UAAU,CAAC;AACnC,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AACxD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,GAAG,EAAE,OAAO;AACd,EAAE,kBAAkB,EAAE,OAAO;AAC7B,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;AACtC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,QAAQ,GAAG;AACxB,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;"}