@element-plus/nightly 0.0.20251226 → 0.0.20251228

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 (478) hide show
  1. package/dist/index.full.js +10 -13
  2. package/dist/index.full.min.js +11 -11
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +11 -11
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +10 -13
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.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/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  276. package/es/components/autocomplete/src/autocomplete2.mjs +1 -1
  277. package/es/components/badge/index.mjs +2 -2
  278. package/es/components/badge/src/badge.mjs +83 -31
  279. package/es/components/badge/src/badge.mjs.map +1 -1
  280. package/es/components/badge/src/badge2.mjs +31 -83
  281. package/es/components/badge/src/badge2.mjs.map +1 -1
  282. package/es/components/carousel/index.mjs +4 -4
  283. package/es/components/carousel/src/carousel-item.mjs +79 -7
  284. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  285. package/es/components/carousel/src/carousel-item2.mjs +7 -79
  286. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  287. package/es/components/carousel/src/carousel.mjs +254 -60
  288. package/es/components/carousel/src/carousel.mjs.map +1 -1
  289. package/es/components/carousel/src/carousel2.mjs +60 -254
  290. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  291. package/es/components/cascader-panel/src/index.mjs +1 -1
  292. package/es/components/cascader-panel/src/menu.mjs +1 -1
  293. package/es/components/cascader-panel/src/node.mjs +192 -116
  294. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  295. package/es/components/cascader-panel/src/node2.mjs +116 -192
  296. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  297. package/es/components/cascader-panel/src/store.mjs +1 -1
  298. package/es/components/collapse/index.mjs +2 -2
  299. package/es/components/collapse/src/collapse-item.mjs +118 -17
  300. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  301. package/es/components/collapse/src/collapse-item2.mjs +17 -118
  302. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  303. package/es/components/dropdown/index.mjs +2 -2
  304. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  305. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  306. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  307. package/es/components/dropdown/src/dropdown.mjs +264 -112
  308. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  309. package/es/components/dropdown/src/dropdown2.mjs +112 -264
  310. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  311. package/es/components/index.mjs +15 -15
  312. package/es/components/input/index.mjs +2 -2
  313. package/es/components/input/src/input.mjs +586 -124
  314. package/es/components/input/src/input.mjs.map +1 -1
  315. package/es/components/input/src/input2.mjs +124 -586
  316. package/es/components/input/src/input2.mjs.map +1 -1
  317. package/es/components/mention/src/mention-dropdown.mjs +205 -14
  318. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  319. package/es/components/mention/src/mention-dropdown2.mjs +14 -205
  320. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  321. package/es/components/mention/src/mention.mjs +1 -1
  322. package/es/components/mention/src/mention2.mjs +2 -2
  323. package/es/components/popover/src/popover.mjs +1 -1
  324. package/es/components/popper/index.mjs +2 -2
  325. package/es/components/popper/src/trigger.mjs +156 -30
  326. package/es/components/popper/src/trigger.mjs.map +1 -1
  327. package/es/components/popper/src/trigger2.mjs +30 -156
  328. package/es/components/popper/src/trigger2.mjs.map +1 -1
  329. package/es/components/rate/index.mjs +2 -2
  330. package/es/components/rate/src/rate.mjs +295 -85
  331. package/es/components/rate/src/rate.mjs.map +1 -1
  332. package/es/components/rate/src/rate2.mjs +85 -295
  333. package/es/components/rate/src/rate2.mjs.map +1 -1
  334. package/es/components/result/index.mjs +2 -2
  335. package/es/components/result/src/result.mjs +96 -29
  336. package/es/components/result/src/result.mjs.map +1 -1
  337. package/es/components/result/src/result2.mjs +29 -96
  338. package/es/components/result/src/result2.mjs.map +1 -1
  339. package/es/components/select/index.mjs +2 -2
  340. package/es/components/select/src/option2.mjs +1 -3
  341. package/es/components/select/src/option2.mjs.map +1 -1
  342. package/es/components/select/src/select.mjs +727 -152
  343. package/es/components/select/src/select.mjs.map +1 -1
  344. package/es/components/select/src/select2.mjs +152 -727
  345. package/es/components/select/src/select2.mjs.map +1 -1
  346. package/es/components/select-v2/src/option-item.mjs +1 -3
  347. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  348. package/es/components/skeleton/index.mjs +4 -4
  349. package/es/components/skeleton/src/skeleton-item.mjs +27 -17
  350. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  351. package/es/components/skeleton/src/skeleton-item2.mjs +17 -27
  352. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  353. package/es/components/skeleton/src/skeleton.mjs +67 -17
  354. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  355. package/es/components/skeleton/src/skeleton2.mjs +17 -67
  356. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  357. package/es/components/steps/index.mjs +2 -2
  358. package/es/components/steps/src/item.mjs +257 -18
  359. package/es/components/steps/src/item.mjs.map +1 -1
  360. package/es/components/steps/src/item2.mjs +18 -257
  361. package/es/components/steps/src/item2.mjs.map +1 -1
  362. package/es/components/tabs/index.mjs +2 -2
  363. package/es/components/tabs/src/tab-pane.mjs +88 -15
  364. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  365. package/es/components/tabs/src/tab-pane2.mjs +15 -88
  366. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  367. package/es/components/tooltip/src/trigger.mjs +1 -1
  368. package/es/components/tooltip/src/trigger2.mjs +1 -1
  369. package/es/components/tree-select/src/tree-select.mjs +1 -1
  370. package/es/components/virtual-list/src/hooks/use-wheel.mjs +7 -6
  371. package/es/components/virtual-list/src/hooks/use-wheel.mjs.map +1 -1
  372. package/es/index.mjs +15 -15
  373. package/es/version.d.ts +1 -1
  374. package/es/version.mjs +1 -1
  375. package/es/version.mjs.map +1 -1
  376. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  377. package/lib/components/autocomplete/src/autocomplete2.js +1 -1
  378. package/lib/components/badge/index.js +2 -2
  379. package/lib/components/badge/src/badge.js +83 -31
  380. package/lib/components/badge/src/badge.js.map +1 -1
  381. package/lib/components/badge/src/badge2.js +31 -83
  382. package/lib/components/badge/src/badge2.js.map +1 -1
  383. package/lib/components/carousel/index.js +4 -4
  384. package/lib/components/carousel/src/carousel-item.js +79 -7
  385. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  386. package/lib/components/carousel/src/carousel-item2.js +7 -79
  387. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  388. package/lib/components/carousel/src/carousel.js +254 -61
  389. package/lib/components/carousel/src/carousel.js.map +1 -1
  390. package/lib/components/carousel/src/carousel2.js +61 -254
  391. package/lib/components/carousel/src/carousel2.js.map +1 -1
  392. package/lib/components/cascader-panel/src/index.js +1 -1
  393. package/lib/components/cascader-panel/src/menu.js +1 -1
  394. package/lib/components/cascader-panel/src/node.js +192 -116
  395. package/lib/components/cascader-panel/src/node.js.map +1 -1
  396. package/lib/components/cascader-panel/src/node2.js +116 -192
  397. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  398. package/lib/components/cascader-panel/src/store.js +1 -1
  399. package/lib/components/collapse/index.js +2 -2
  400. package/lib/components/collapse/src/collapse-item.js +118 -17
  401. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  402. package/lib/components/collapse/src/collapse-item2.js +17 -118
  403. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  404. package/lib/components/dropdown/index.js +2 -2
  405. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  406. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  407. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  408. package/lib/components/dropdown/src/dropdown.js +264 -117
  409. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  410. package/lib/components/dropdown/src/dropdown2.js +117 -264
  411. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  412. package/lib/components/index.js +15 -15
  413. package/lib/components/input/index.js +2 -2
  414. package/lib/components/input/src/input.js +582 -121
  415. package/lib/components/input/src/input.js.map +1 -1
  416. package/lib/components/input/src/input2.js +121 -582
  417. package/lib/components/input/src/input2.js.map +1 -1
  418. package/lib/components/mention/src/mention-dropdown.js +205 -15
  419. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  420. package/lib/components/mention/src/mention-dropdown2.js +15 -205
  421. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  422. package/lib/components/mention/src/mention.js +1 -1
  423. package/lib/components/mention/src/mention2.js +2 -2
  424. package/lib/components/popover/src/popover.js +1 -1
  425. package/lib/components/popper/index.js +2 -2
  426. package/lib/components/popper/src/trigger.js +156 -31
  427. package/lib/components/popper/src/trigger.js.map +1 -1
  428. package/lib/components/popper/src/trigger2.js +31 -156
  429. package/lib/components/popper/src/trigger2.js.map +1 -1
  430. package/lib/components/rate/index.js +2 -2
  431. package/lib/components/rate/src/rate.js +294 -85
  432. package/lib/components/rate/src/rate.js.map +1 -1
  433. package/lib/components/rate/src/rate2.js +85 -294
  434. package/lib/components/rate/src/rate2.js.map +1 -1
  435. package/lib/components/result/index.js +2 -2
  436. package/lib/components/result/src/result.js +96 -31
  437. package/lib/components/result/src/result.js.map +1 -1
  438. package/lib/components/result/src/result2.js +31 -96
  439. package/lib/components/result/src/result2.js.map +1 -1
  440. package/lib/components/select/index.js +2 -2
  441. package/lib/components/select/src/option2.js +1 -3
  442. package/lib/components/select/src/option2.js.map +1 -1
  443. package/lib/components/select/src/select.js +726 -152
  444. package/lib/components/select/src/select.js.map +1 -1
  445. package/lib/components/select/src/select2.js +152 -726
  446. package/lib/components/select/src/select2.js.map +1 -1
  447. package/lib/components/select-v2/src/option-item.js +1 -3
  448. package/lib/components/select-v2/src/option-item.js.map +1 -1
  449. package/lib/components/skeleton/index.js +4 -4
  450. package/lib/components/skeleton/src/skeleton-item.js +27 -17
  451. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  452. package/lib/components/skeleton/src/skeleton-item2.js +17 -27
  453. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  454. package/lib/components/skeleton/src/skeleton.js +67 -17
  455. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  456. package/lib/components/skeleton/src/skeleton2.js +17 -67
  457. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  458. package/lib/components/steps/index.js +2 -2
  459. package/lib/components/steps/src/item.js +257 -18
  460. package/lib/components/steps/src/item.js.map +1 -1
  461. package/lib/components/steps/src/item2.js +18 -257
  462. package/lib/components/steps/src/item2.js.map +1 -1
  463. package/lib/components/tabs/index.js +2 -2
  464. package/lib/components/tabs/src/tab-pane.js +88 -15
  465. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  466. package/lib/components/tabs/src/tab-pane2.js +15 -88
  467. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  468. package/lib/components/tooltip/src/trigger.js +1 -1
  469. package/lib/components/tooltip/src/trigger2.js +1 -1
  470. package/lib/components/tree-select/src/tree-select.js +1 -1
  471. package/lib/components/virtual-list/src/hooks/use-wheel.js +6 -5
  472. package/lib/components/virtual-list/src/hooks/use-wheel.js.map +1 -1
  473. package/lib/index.js +15 -15
  474. package/lib/version.d.ts +1 -1
  475. package/lib/version.js +1 -1
  476. package/lib/version.js.map +1 -1
  477. package/package.json +2 -2
  478. package/web-types.json +1 -1
@@ -1,199 +1,123 @@
1
- import { defineComponent, inject, computed, openBlock, createElementBlock, normalizeClass, unref, createCommentVNode, createBlock, withModifiers, withCtx, createElementVNode, createVNode, Fragment } from 'vue';
2
- import { ElCheckbox } from '../../checkbox/index.mjs';
3
- import { ElRadio } from '../../radio/index.mjs';
4
- import { ElIcon } from '../../icon/index.mjs';
5
- import { Check, Loading, ArrowRight } from '@element-plus/icons-vue';
6
- import NodeContent from './node-content.mjs';
7
- import { CASCADER_PANEL_INJECTION_KEY } from './types.mjs';
8
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
1
+ import { isEmpty, isUndefined } from '../../../utils/types.mjs';
2
+ import { isFunction, isArray } from '@vue/shared';
10
3
 
11
- const _hoisted_1 = ["id", "aria-haspopup", "aria-owns", "aria-expanded", "tabindex"];
12
- const _sfc_main = defineComponent({
13
- ...{
14
- name: "ElCascaderNode"
15
- },
16
- __name: "node",
17
- props: {
18
- node: {
19
- type: Object,
20
- required: true
21
- },
22
- menuId: String
23
- },
24
- emits: ["expand"],
25
- setup(__props, { emit: __emit }) {
26
- const props = __props;
27
- const emit = __emit;
28
- const panel = inject(CASCADER_PANEL_INJECTION_KEY);
29
- const ns = useNamespace("cascader-node");
30
- const isHoverMenu = computed(() => panel.isHoverMenu);
31
- const multiple = computed(() => panel.config.multiple);
32
- const checkStrictly = computed(() => panel.config.checkStrictly);
33
- const showPrefix = computed(() => panel.config.showPrefix);
34
- const checkedNodeId = computed(() => {
35
- var _a;
36
- return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;
37
- });
38
- const isDisabled = computed(() => props.node.isDisabled);
39
- const isLeaf = computed(() => props.node.isLeaf);
40
- const expandable = computed(
41
- () => checkStrictly.value && !isLeaf.value || !isDisabled.value
42
- );
43
- const inExpandingPath = computed(() => isInPath(panel.expandingNode));
44
- const inCheckedPath = computed(
45
- () => checkStrictly.value && panel.checkedNodes.some(isInPath)
4
+ let uid = 0;
5
+ const calculatePathNodes = (node) => {
6
+ const nodes = [node];
7
+ let { parent } = node;
8
+ while (parent) {
9
+ nodes.unshift(parent);
10
+ parent = parent.parent;
11
+ }
12
+ return nodes;
13
+ };
14
+ class Node {
15
+ constructor(data, config, parent, root = false) {
16
+ this.data = data;
17
+ this.config = config;
18
+ this.parent = parent;
19
+ this.root = root;
20
+ this.uid = uid++;
21
+ this.checked = false;
22
+ this.indeterminate = false;
23
+ this.loading = false;
24
+ const { value: valueKey, label: labelKey, children: childrenKey } = config;
25
+ const childrenData = data[childrenKey];
26
+ const pathNodes = calculatePathNodes(this);
27
+ this.level = root ? 0 : parent ? parent.level + 1 : 1;
28
+ this.value = data[valueKey];
29
+ this.label = data[labelKey];
30
+ this.pathNodes = pathNodes;
31
+ this.pathValues = pathNodes.map((node) => node.value);
32
+ this.pathLabels = pathNodes.map((node) => node.label);
33
+ this.childrenData = childrenData;
34
+ this.children = (childrenData || []).map(
35
+ (child) => new Node(child, config, this)
46
36
  );
47
- const isInPath = (node) => {
37
+ this.loaded = !config.lazy || this.isLeaf || !isEmpty(childrenData);
38
+ this.text = "";
39
+ }
40
+ get isDisabled() {
41
+ const { data, parent, config } = this;
42
+ const { disabled, checkStrictly } = config;
43
+ const isDisabled = isFunction(disabled) ? disabled(data, this) : !!data[disabled];
44
+ return isDisabled || !checkStrictly && !!(parent == null ? void 0 : parent.isDisabled);
45
+ }
46
+ get isLeaf() {
47
+ const { data, config, childrenData, loaded } = this;
48
+ const { lazy, leaf } = config;
49
+ const isLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf];
50
+ return isUndefined(isLeaf) ? lazy && !loaded ? false : !(isArray(childrenData) && childrenData.length) : !!isLeaf;
51
+ }
52
+ get valueByOption() {
53
+ return this.config.emitPath ? this.pathValues : this.value;
54
+ }
55
+ appendChild(childData) {
56
+ const { childrenData, children } = this;
57
+ const node = new Node(childData, this.config, this);
58
+ if (isArray(childrenData)) {
59
+ childrenData.push(childData);
60
+ } else {
61
+ this.childrenData = [childData];
62
+ }
63
+ children.push(node);
64
+ return node;
65
+ }
66
+ calcText(allLevels, separator) {
67
+ const text = allLevels ? this.pathLabels.join(separator) : this.label;
68
+ this.text = text;
69
+ return text;
70
+ }
71
+ broadcast(checked) {
72
+ this.children.forEach((child) => {
48
73
  var _a;
49
- const { level, uid } = props.node;
50
- return ((_a = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a.uid) === uid;
51
- };
52
- const doExpand = () => {
53
- if (inExpandingPath.value)
54
- return;
55
- panel.expandNode(props.node);
56
- };
57
- const doCheck = (checked) => {
58
- const { node } = props;
59
- if (checked === node.checked)
60
- return;
61
- panel.handleCheckChange(node, checked);
62
- };
63
- const doLoad = () => {
64
- panel.lazyLoad(props.node, () => {
65
- if (!isLeaf.value)
66
- doExpand();
67
- });
68
- };
69
- const handleHoverExpand = (e) => {
70
- if (!isHoverMenu.value)
71
- return;
72
- handleExpand();
73
- !isLeaf.value && emit("expand", e);
74
- };
75
- const handleExpand = () => {
76
- const { node } = props;
77
- if (!expandable.value || node.loading)
78
- return;
79
- node.loaded ? doExpand() : doLoad();
80
- };
81
- const handleClick = () => {
82
- if (isLeaf.value && !isDisabled.value && !checkStrictly.value && !multiple.value) {
83
- handleCheck(true);
84
- } else if ((panel.config.checkOnClickNode && (multiple.value || checkStrictly.value) || isLeaf.value && panel.config.checkOnClickLeaf) && !isDisabled.value) {
85
- handleSelectCheck(!props.node.checked);
86
- } else if (!isHoverMenu.value) {
87
- handleExpand();
88
- }
89
- };
90
- const handleSelectCheck = (checked) => {
91
- if (checkStrictly.value) {
92
- doCheck(checked);
93
- if (props.node.loaded) {
94
- doExpand();
95
- }
96
- } else {
97
- handleCheck(checked);
98
- }
99
- };
100
- const handleCheck = (checked) => {
101
- if (!props.node.loaded) {
102
- doLoad();
103
- } else {
104
- doCheck(checked);
105
- !checkStrictly.value && doExpand();
74
+ if (child) {
75
+ child.broadcast(checked);
76
+ (_a = child.onParentCheck) == null ? void 0 : _a.call(child, checked);
106
77
  }
107
- };
108
- return (_ctx, _cache) => {
109
- return openBlock(), createElementBlock("li", {
110
- id: `${__props.menuId}-${__props.node.uid}`,
111
- role: "menuitem",
112
- "aria-haspopup": !isLeaf.value,
113
- "aria-owns": isLeaf.value ? void 0 : __props.menuId,
114
- "aria-expanded": inExpandingPath.value,
115
- tabindex: expandable.value ? -1 : void 0,
116
- class: normalizeClass([
117
- unref(ns).b(),
118
- unref(ns).is("selectable", checkStrictly.value),
119
- unref(ns).is("active", __props.node.checked),
120
- unref(ns).is("disabled", !expandable.value),
121
- inExpandingPath.value && "in-active-path",
122
- inCheckedPath.value && "in-checked-path"
123
- ]),
124
- onMouseenter: handleHoverExpand,
125
- onFocus: handleHoverExpand,
126
- onClick: handleClick
127
- }, [
128
- createCommentVNode(" prefix "),
129
- multiple.value && showPrefix.value ? (openBlock(), createBlock(unref(ElCheckbox), {
130
- key: 0,
131
- "model-value": __props.node.checked,
132
- indeterminate: __props.node.indeterminate,
133
- disabled: isDisabled.value,
134
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
135
- }, ["stop"])),
136
- "onUpdate:modelValue": handleSelectCheck
137
- }, null, 8, ["model-value", "indeterminate", "disabled"])) : checkStrictly.value && showPrefix.value ? (openBlock(), createBlock(unref(ElRadio), {
138
- key: 1,
139
- "model-value": checkedNodeId.value,
140
- label: __props.node.uid,
141
- disabled: isDisabled.value,
142
- "onUpdate:modelValue": handleSelectCheck,
143
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {
144
- }, ["stop"]))
145
- }, {
146
- default: withCtx(() => [
147
- createCommentVNode("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "),
148
- _cache[2] || (_cache[2] = createElementVNode(
149
- "span",
150
- null,
151
- null,
152
- -1
153
- ))
154
- ]),
155
- _: 1
156
- }, 8, ["model-value", "label", "disabled"])) : isLeaf.value && __props.node.checked ? (openBlock(), createBlock(unref(ElIcon), {
157
- key: 2,
158
- class: normalizeClass(unref(ns).e("prefix"))
159
- }, {
160
- default: withCtx(() => [
161
- createVNode(unref(Check))
162
- ]),
163
- _: 1
164
- }, 8, ["class"])) : createCommentVNode("v-if", true),
165
- createCommentVNode(" content "),
166
- createVNode(unref(NodeContent), { node: __props.node }, null, 8, ["node"]),
167
- createCommentVNode(" postfix "),
168
- !isLeaf.value ? (openBlock(), createElementBlock(
169
- Fragment,
170
- { key: 3 },
171
- [
172
- __props.node.loading ? (openBlock(), createBlock(unref(ElIcon), {
173
- key: 0,
174
- class: normalizeClass([unref(ns).is("loading"), unref(ns).e("postfix")])
175
- }, {
176
- default: withCtx(() => [
177
- createVNode(unref(Loading))
178
- ]),
179
- _: 1
180
- }, 8, ["class"])) : (openBlock(), createBlock(unref(ElIcon), {
181
- key: 1,
182
- class: normalizeClass(["arrow-right", unref(ns).e("postfix")])
183
- }, {
184
- default: withCtx(() => [
185
- createVNode(unref(ArrowRight))
186
- ]),
187
- _: 1
188
- }, 8, ["class"]))
189
- ],
190
- 64
191
- )) : createCommentVNode("v-if", true)
192
- ], 42, _hoisted_1);
193
- };
78
+ });
79
+ }
80
+ emit() {
81
+ var _a;
82
+ const { parent } = this;
83
+ if (parent) {
84
+ (_a = parent.onChildCheck) == null ? void 0 : _a.call(parent);
85
+ parent.emit();
86
+ }
87
+ }
88
+ onParentCheck(checked) {
89
+ if (!this.isDisabled) {
90
+ this.setCheckState(checked);
91
+ }
92
+ }
93
+ onChildCheck() {
94
+ const { children } = this;
95
+ const validChildren = children.filter((child) => !child.isDisabled);
96
+ const checked = validChildren.length ? validChildren.every((child) => child.checked) : false;
97
+ this.setCheckState(checked);
98
+ }
99
+ setCheckState(checked) {
100
+ const totalNum = this.children.length;
101
+ const checkedNum = this.children.reduce((c, p) => {
102
+ const num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;
103
+ return c + num;
104
+ }, 0);
105
+ this.checked = this.loaded && this.children.filter((child) => !child.isDisabled).every((child) => child.loaded && child.checked) && checked;
106
+ this.indeterminate = this.loaded && checkedNum !== totalNum && checkedNum > 0;
107
+ }
108
+ doCheck(checked) {
109
+ if (this.checked === checked)
110
+ return;
111
+ const { checkStrictly, multiple } = this.config;
112
+ if (checkStrictly || !multiple) {
113
+ this.checked = checked;
114
+ } else {
115
+ this.broadcast(checked);
116
+ this.setCheckState(checked);
117
+ this.emit();
118
+ }
194
119
  }
195
- });
196
- var ElCascaderNode = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/cascader-panel/src/node.vue"]]);
120
+ }
197
121
 
198
- export { ElCascaderNode as default };
122
+ export { Node as default };
199
123
  //# sourceMappingURL=node2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"node2.mjs","sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? undefined : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple && showPrefix\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly && showPrefix\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </el-radio>\n <el-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content :node=\"node\" />\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </el-icon>\n <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { CascaderNode } from './types'\nimport type { PropType } from 'vue'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElCascaderNode',\n})\n\nconst props = defineProps({\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n})\nconst emit = defineEmits(['expand'])\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst ns = useNamespace('cascader-node')\nconst isHoverMenu = computed(() => panel.isHoverMenu)\nconst multiple = computed(() => panel.config.multiple)\nconst checkStrictly = computed(() => panel.config.checkStrictly)\nconst showPrefix = computed(() => panel.config.showPrefix)\nconst checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\nconst isDisabled = computed(() => props.node.isDisabled)\nconst isLeaf = computed(() => props.node.isLeaf)\nconst expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n)\nconst inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n\n// only useful in check-strictly mode\nconst inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n)\n\nconst isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n}\n\nconst doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n}\n\nconst doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n}\n\nconst doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n}\n\nconst handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n}\n\nconst handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n}\n\nconst handleClick = () => {\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else if (\n ((panel.config.checkOnClickNode &&\n (multiple.value || checkStrictly.value)) ||\n (isLeaf.value && panel.config.checkOnClickLeaf)) &&\n !isDisabled.value\n ) {\n handleSelectCheck(!props.node.checked)\n } else if (!isHoverMenu.value) {\n handleExpand()\n }\n}\n\nconst handleSelectCheck = (checked: CheckboxValueType | undefined) => {\n if (checkStrictly.value) {\n doCheck(checked as boolean)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked as boolean)\n }\n}\n\nconst handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n}\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createCommentVNode","_createBlock","_withModifiers","_createElementVNode","_createVNode","_openBlock","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAOd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,KAAA,GAAQ,OAAO,4BAA4B,CAAA,CAAA;AAE3C,IAAA,MAAA,EAAA,GAAK,aAAa,eAAe,CAAA,CAAA;AACvC,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,WAAW,CAAA,CAAA;AACpD,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACrD,IAAA,MAAM,aAAgB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,aAAa,CAAA,CAAA;AAC/D,IAAA,MAAM,UAAa,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,UAAU,CAAA,CAAA;AACzD,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAA;;AAAM,MAAM,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,YAAA,CAAa,OAAnB,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAA;AAAA,KAAG,CAAA,CAAA;AAC/D,IAAA,MAAM,UAAa,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,KAAK,UAAU,CAAA,CAAA;AACvD,IAAA,MAAM,MAAS,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,KAAK,MAAM,CAAA,CAAA;AAC/C,IAAA,MAAM,UAAa,GAAA,QAAA;AAAA,MACjB,MAAO,aAAc,CAAA,KAAA,IAAS,CAAC,MAAO,CAAA,KAAA,IAAU,CAAC,UAAW,CAAA,KAAA;AAAA,KAC9D,CAAA;AACA,IAAA,MAAM,kBAAkB,QAAS,CAAA,MAAM,QAAS,CAAA,KAAA,CAAM,aAAc,CAAC,CAAA,CAAA;AAGrE,IAAA,MAAM,aAAgB,GAAA,QAAA;AAAA,MACpB,MAAM,aAAc,CAAA,KAAA,IAAS,KAAM,CAAA,YAAA,CAAa,KAAK,QAAQ,CAAA;AAAA,KAC/D,CAAA;AAEM,IAAA,MAAA,QAAA,GAAW,CAAC,IAAuB,KAAA;;AACvC,MAAA,MAAM,EAAE,KAAA,EAAO,GAAI,EAAA,GAAI,KAAM,CAAA,IAAA,CAAA;AAC7B,MAAA,OAAA,CAAA,CAAO,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,SAAA,CAAU,KAAQ,GAAA,CAAA,CAAA,KAAxB,mBAA4B,GAAQ,MAAA,GAAA,CAAA;AAAA,KAC7C,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,IAAI,eAAgB,CAAA,KAAA;AAAO,QAAA,OAAA;AACrB,MAAA,KAAA,CAAA,UAAA,CAAW,MAAM,IAAI,CAAA,CAAA;AAAA,KAC7B,CAAA;AAEM,IAAA,MAAA,OAAA,GAAU,CAAC,OAAqB,KAAA;AAC9B,MAAA,MAAA,EAAE,MAAS,GAAA,KAAA,CAAA;AACb,MAAA,IAAA,YAAY,IAAK,CAAA,OAAA;AAAS,QAAA,OAAA;AACxB,MAAA,KAAA,CAAA,iBAAA,CAAkB,MAAM,OAAO,CAAA,CAAA;AAAA,KACvC,CAAA;AAEA,IAAA,MAAM,SAAS,MAAM;AACb,MAAA,KAAA,CAAA,QAAA,CAAS,KAAM,CAAA,IAAA,EAAM,MAAM;AAC3B,QAAA,IAAA,CAAC,MAAO,CAAA,KAAA;AAAgB,UAAA,QAAA,EAAA,CAAA;AAAA,OAC7B,CAAA,CAAA;AAAA,KACH,CAAA;AAEM,IAAA,MAAA,iBAAA,GAAoB,CAAC,CAAa,KAAA;AAClC,MAAA,IAAA,CAAC,WAAY,CAAA,KAAA;AAAO,QAAA,OAAA;AACX,MAAA,YAAA,EAAA,CAAA;AACb,MAAA,CAAC,MAAO,CAAA,KAAA,IAAS,IAAK,CAAA,QAAA,EAAU,CAAC,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACnB,MAAA,MAAA,EAAE,MAAS,GAAA,KAAA,CAAA;AAEjB,MAAI,IAAA,CAAC,UAAW,CAAA,KAAA,IAAS,IAAK,CAAA,OAAA;AAAS,QAAA,OAAA;AAClC,MAAA,IAAA,CAAA,MAAA,GAAS,QAAS,EAAA,GAAI,MAAO,EAAA,CAAA;AAAA,KACpC,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AAEtB,MAAA,IAAA,MAAA,CAAO,KACP,IAAA,CAAC,UAAW,CAAA,KAAA,IACZ,CAAC,aAAc,CAAA,KAAA,IACf,CAAC,QAAA,CAAS,KACV,EAAA;AACA,QAAA,WAAA,CAAY,IAAI,CAAA,CAAA;AAAA,OAEd,MAAA,IAAA,CAAA,KAAA,CAAM,MAAO,CAAA,gBAAA,KACZ,SAAS,KAAS,IAAA,aAAA,CAAc,KAChC,CAAA,IAAA,MAAA,CAAO,SAAS,KAAM,CAAA,MAAA,CAAO,gBAChC,KAAA,CAAC,WAAW,KACZ,EAAA;AACkB,QAAA,iBAAA,CAAA,CAAC,KAAM,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,OACvC,MAAA,IAAW,CAAC,WAAA,CAAY,KAAO,EAAA;AAChB,QAAA,YAAA,EAAA,CAAA;AAAA,OACf;AAAA,KACF,CAAA;AAEM,IAAA,MAAA,iBAAA,GAAoB,CAAC,OAA2C,KAAA;AACpE,MAAA,IAAI,cAAc,KAAO,EAAA;AACvB,QAAA,OAAA,CAAQ,OAAkB,CAAA,CAAA;AACtB,QAAA,IAAA,KAAA,CAAM,KAAK,MAAQ,EAAA;AACZ,UAAA,QAAA,EAAA,CAAA;AAAA,SACX;AAAA,OACK,MAAA;AACL,QAAA,WAAA,CAAY,OAAkB,CAAA,CAAA;AAAA,OAChC;AAAA,KACF,CAAA;AAEM,IAAA,MAAA,WAAA,GAAc,CAAC,OAAqB,KAAA;AACpC,MAAA,IAAA,CAAC,KAAM,CAAA,IAAA,CAAK,MAAQ,EAAA;AACf,QAAA,MAAA,EAAA,CAAA;AAAA,OACF,MAAA;AACL,QAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AACd,QAAA,CAAA,aAAA,CAAc,SAAS,QAAS,EAAA,CAAA;AAAA,OACnC;AAAA,KACF,CAAA;;wBApLE,EAAAA,kBAAA,CAyDK,IAAA,EAAA;AAAA,QAxDF,EAAE,EAAA,CAAA,EAAK,OAAM,CAAA,MAAA,CAAA,CAAA,EAAI,YAAK,CAAA,GAAA,CAAA,CAAA;AAAA,QACvB,IAAK,EAAA,UAAA;AAAA,QACJ,eAAA,EAAa,CAAG,MAAA,CAAA,KAAA;AAAA,QAChB,WAAW,EAAA,MAAA,MAAS,GAAA,KAAA,CAAA,GAAY,OAAA,CAAA,MAAA;AAAA,QAChC,iBAAe,eAAA,CAAA,KAAA;AAAA,QACf,QAAA,EAAU,mBAAU,CAAQ,CAAA,GAAA,KAAA,CAAA;AAAA,QAC5B,OAAKC,cAAA,CAAA;AAAA,UAAUC,KAAA,KAAG,CAAC,EAAA;AAAA,UAAUA,MAAA,EAAA,CAAA,CAAG,EAAE,CAAA,YAAA,EAAe,cAAa,KAAA,CAAA;AAAA,UAASA,MAAG,EAAA,CAAA,CAAA,GAAE,QAAW,EAAA,OAAA,CAAA,KAAK,OAAO,CAAA;AAAA,UAASA,MAAA,EAAA,CAAA,CAAG,GAAE,UAAA,EAAA,CAAc,WAAU,KAAA,CAAA;AAAA,UAAS,gBAAe,KAAA,IAAA,gBAAA;AAAA,UAA4B,cAAa,KAAA,IAAA,iBAAA;AAAA,SAAA,CAAA;AAAA,QAQ1M,YAAY,EAAA,iBAAA;AAAA,QACZ,OAAO,EAAA,iBAAA;AAAA,QACP,OAAO,EAAA,WAAA;AAAA,OAAA,EAAA;AAAA,QAERC,mBAAA,UAAA,CAAA;AAAA,QAEQ,QAAA,CAAA,SAAY,+BADpB,EAAAC,WAAA,CAOEF,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UALC,aAAA,EAAa,QAAK,IAAA,CAAA,OAAA;AAAA,UAClB,aAAA,EAAe,QAAK,IAAA,CAAA,aAAA;AAAA,UACpB,UAAU,UAAA,CAAA,KAAA;AAAA,UACV,SAAK,MAAN,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAG,cAAA,MAAA;AAAA,WAAW,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,UACV,qBAAoB,EAAA,iBAAA;AAAA,WAGV,IAAA,EAAA,CAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA,IAAA,aAAA,CAAA,KAAA,IAAiB,iCAD9BD,WAaW,CAAAF,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAXR,eAAa,aAAA,CAAA,KAAA;AAAA,UACb,KAAA,EAAO,QAAK,IAAA,CAAA,GAAA;AAAA,UACZ,UAAU,UAAA,CAAA,KAAA;AAAA,UACV,qBAAoB,EAAA,iBAAA;AAAA,UACpB,SAAK,MAAN,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAG,cAAA,MAAA;AAAA,WAAW,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,SAAA,EAAA;AAAA,2BAEX,MAGG;AAAA,YAHHF,mBAAA,uJAAA,CAAA;AAAA,YAIA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAG,kBAAA;AAAA,cAAQ,MAAA;AAAA,cAAA,IAAA;AAAA,cAAA,IAAA;AAAA,cAAA,CAAA,CAAA;AAAA,aAAA,CAAA;AAAA,WAAA,CAAA;AAAA;mDAEU,IAAA,MAAA,CAAU,KAAA,IAAA,OAAA,CAAA,KAAK,wBAAnCF,WAEU,CAAAF,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAFmC,OAAKD,cAAE,CAAAC,KAAA,IAAG,CAAA,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,SAAA,EAAA;AAAA,2BACtD,MAAS;AAAA,YAATK,WAAA,CAASL,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,WAAA,CAAA;AAAA;;QAGXC,mBAAA,WAAA,CAAA;AAAA,QACAI,WAA6B,CAAAL,KAAA,CAAd,WAAA,CAAA,EAAA,EAAA,IAAA,EAAM,OAAI,CAAA,IAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,QACzBC,mBAAA,WAAA,CAAA;AAAA,QAAA,CACiB,MAAA,CAAjB,KAAA,IAAAK,SAAA,EAAA,EAAAR,kBAAA;AAAA,UAOWS,QAAA;AAAA,UAAA,EAAA,KAAA,CAAA,EAAA;AAAA,UAAA;AAAA,YANM,OAAA,CAAA,KAAK,wBAApBL,WAEU,CAAAF,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;AAAA,cAFoB,KAAK,EAAAD,cAAA,CAAG,CAAAC,KAAA,CAAA,EAAA,CAAG,CAAA,EAAA,CAAE,SAAA,CAAA,EAAaA,UAAG,CAAC,CAAA,SAAA,CAAA,CAAA,CAAA;AAAA,aAAA,EAAA;AAAA,+BAC1D,MAAW;AAAA,gBAAXK,WAAA,CAAWL,KAAA,CAAA,OAAA,CAAA,CAAA;AAAA,eAAA,CAAA;AAAA;4CAEb,EAAAE,WAAA,CAEUF,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;AAAA,cAFO,KAAA,EAAKD,cAAA,CAAA,CAAA,aAAkB,EAAAC,KAAA,IAAG,CAAA,CAAA,CAAC,SAAA,CAAA,CAAA,CAAA;AAAA,aAAA,EAAA;AAAA,+BAC1C,MAAe;AAAA,gBAAfK,WAAA,CAAeL,KAAA,CAAA,UAAA,CAAA,CAAA;AAAA,eAAA,CAAA;AAAA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"node2.mjs","sources":["../../../../../../packages/components/cascader-panel/src/node.ts"],"sourcesContent":["import { isArray, isEmpty, isFunction, isUndefined } from '@element-plus/utils'\n\nimport type {\n CascaderConfig,\n CascaderNodePathValue,\n CascaderNodeValue,\n CascaderOption,\n} from './types'\n\ntype ChildrenData = CascaderOption[] | undefined\n\nlet uid = 0\n\nconst calculatePathNodes = (node: Node) => {\n const nodes = [node]\n let { parent } = node\n\n while (parent) {\n nodes.unshift(parent)\n parent = parent.parent\n }\n\n return nodes\n}\n\nclass Node {\n readonly uid: number = uid++\n readonly level: number\n readonly value: CascaderNodeValue\n readonly label: string\n readonly pathNodes: Node[]\n readonly pathValues: CascaderNodePathValue\n readonly pathLabels: string[]\n\n childrenData: ChildrenData\n children: Node[]\n text: string\n loaded: boolean\n /**\n * Is it checked\n *\n * @default false\n */\n checked = false\n /**\n * Used to indicate the intermediate state of unchecked and fully checked child nodes\n *\n * @default false\n */\n indeterminate = false\n /**\n * Loading Status\n *\n * @default false\n */\n loading = false\n\n constructor(\n readonly data: CascaderOption,\n readonly config: CascaderConfig,\n readonly parent?: Node,\n readonly root = false\n ) {\n const { value: valueKey, label: labelKey, children: childrenKey } = config\n\n const childrenData = data[childrenKey] as ChildrenData\n const pathNodes = calculatePathNodes(this)\n\n this.level = root ? 0 : parent ? parent.level + 1 : 1\n this.value = data[valueKey] as CascaderNodeValue\n this.label = data[labelKey] as string\n this.pathNodes = pathNodes\n this.pathValues = pathNodes.map((node) => node.value)\n this.pathLabels = pathNodes.map((node) => node.label)\n this.childrenData = childrenData\n this.children = (childrenData || []).map(\n (child) => new Node(child, config, this)\n )\n this.loaded = !config.lazy || this.isLeaf || !isEmpty(childrenData)\n this.text = ''\n }\n\n get isDisabled(): boolean {\n const { data, parent, config } = this\n const { disabled, checkStrictly } = config\n const isDisabled = isFunction(disabled)\n ? disabled(data, this)\n : !!data[disabled]\n return isDisabled || (!checkStrictly && !!parent?.isDisabled)\n }\n\n get isLeaf(): boolean {\n const { data, config, childrenData, loaded } = this\n const { lazy, leaf } = config\n const isLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf]\n\n return isUndefined(isLeaf)\n ? lazy && !loaded\n ? false\n : !(isArray(childrenData) && childrenData.length)\n : !!isLeaf\n }\n\n get valueByOption() {\n return this.config.emitPath ? this.pathValues : this.value\n }\n\n appendChild(childData: CascaderOption) {\n const { childrenData, children } = this\n const node = new Node(childData, this.config, this)\n\n if (isArray(childrenData)) {\n childrenData.push(childData)\n } else {\n this.childrenData = [childData]\n }\n\n children.push(node)\n\n return node\n }\n\n calcText(allLevels: boolean, separator: string) {\n const text = allLevels ? this.pathLabels.join(separator) : this.label\n this.text = text\n return text\n }\n\n broadcast(checked: boolean) {\n this.children.forEach((child) => {\n if (child) {\n // bottom up\n child.broadcast(checked)\n child.onParentCheck?.(checked)\n }\n })\n }\n\n emit() {\n const { parent } = this\n if (parent) {\n parent.onChildCheck?.()\n parent.emit()\n }\n }\n\n onParentCheck(checked: boolean) {\n if (!this.isDisabled) {\n this.setCheckState(checked)\n }\n }\n\n onChildCheck() {\n const { children } = this\n const validChildren = children.filter((child) => !child.isDisabled)\n const checked = validChildren.length\n ? validChildren.every((child) => child.checked)\n : false\n\n this.setCheckState(checked)\n }\n\n setCheckState(checked: boolean) {\n const totalNum = this.children.length\n const checkedNum = this.children.reduce((c, p) => {\n const num = p.checked ? 1 : p.indeterminate ? 0.5 : 0\n return c + num\n }, 0)\n\n this.checked =\n this.loaded &&\n this.children\n .filter((child) => !child.isDisabled)\n .every((child) => child.loaded && child.checked) &&\n checked\n this.indeterminate =\n this.loaded && checkedNum !== totalNum && checkedNum > 0\n }\n\n doCheck(checked: boolean) {\n if (this.checked === checked) return\n\n const { checkStrictly, multiple } = this.config\n\n if (checkStrictly || !multiple) {\n this.checked = checked\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast(checked)\n this.setCheckState(checked)\n this.emit()\n }\n }\n}\n\nexport default Node\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isEqual } from 'lodash-unified';
2
- import Node from './node.mjs';
2
+ import Node from './node2.mjs';
3
3
  import { isPropAbsent } from '../../../utils/types.mjs';
4
4
 
5
5
  const flatNodes = (nodes, leafOnly) => {
@@ -1,7 +1,7 @@
1
1
  import Collapse from './src/collapse2.mjs';
2
- import CollapseItem from './src/collapse-item2.mjs';
2
+ import CollapseItem from './src/collapse-item.mjs';
3
3
  export { collapseEmits, collapseProps, emitChangeFn } from './src/collapse.mjs';
4
- export { collapseItemProps } from './src/collapse-item.mjs';
4
+ export { collapseItemProps } from './src/collapse-item2.mjs';
5
5
  export { collapseContextKey } from './src/constants.mjs';
6
6
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
7
7
 
@@ -1,22 +1,123 @@
1
- import { ArrowRight } from '@element-plus/icons-vue';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { iconPropType } from '../../../utils/vue/icon.mjs';
1
+ import { defineComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, withKeys, withModifiers, renderSlot, createTextVNode, toDisplayString, createVNode, withCtx, createBlock, resolveDynamicComponent, withDirectives, vShow } from 'vue';
2
+ import { ElCollapseTransition } from '../../collapse-transition/index.mjs';
3
+ import { ElIcon } from '../../icon/index.mjs';
4
+ import { collapseItemProps } from './collapse-item2.mjs';
5
+ import { useCollapseItem, useCollapseItemDOM } from './use-collapse-item.mjs';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
7
 
5
- const collapseItemProps = buildProps({
6
- title: {
7
- type: String,
8
- default: ""
8
+ const _hoisted_1 = ["id", "aria-expanded", "aria-controls", "aria-describedby", "tabindex", "aria-disabled"];
9
+ const _hoisted_2 = ["id", "aria-hidden", "aria-labelledby"];
10
+ const _sfc_main = defineComponent({
11
+ ...{
12
+ name: "ElCollapseItem"
9
13
  },
10
- name: {
11
- type: definePropType([String, Number]),
12
- default: void 0
13
- },
14
- icon: {
15
- type: iconPropType,
16
- default: ArrowRight
17
- },
18
- disabled: Boolean
14
+ __name: "collapse-item",
15
+ props: collapseItemProps,
16
+ setup(__props, { expose: __expose }) {
17
+ const props = __props;
18
+ const {
19
+ focusing,
20
+ id,
21
+ isActive,
22
+ handleFocus,
23
+ handleHeaderClick,
24
+ handleEnterClick
25
+ } = useCollapseItem(props);
26
+ const {
27
+ arrowKls,
28
+ headKls,
29
+ rootKls,
30
+ itemTitleKls,
31
+ itemWrapperKls,
32
+ itemContentKls,
33
+ scopedContentId,
34
+ scopedHeadId
35
+ } = useCollapseItemDOM(props, { focusing, isActive, id });
36
+ __expose({
37
+ isActive
38
+ });
39
+ return (_ctx, _cache) => {
40
+ return openBlock(), createElementBlock(
41
+ "div",
42
+ {
43
+ class: normalizeClass(unref(rootKls))
44
+ },
45
+ [
46
+ createElementVNode("div", {
47
+ id: unref(scopedHeadId),
48
+ class: normalizeClass(unref(headKls)),
49
+ "aria-expanded": unref(isActive),
50
+ "aria-controls": unref(scopedContentId),
51
+ "aria-describedby": unref(scopedContentId),
52
+ tabindex: _ctx.disabled ? void 0 : 0,
53
+ "aria-disabled": _ctx.disabled,
54
+ role: "button",
55
+ onClick: _cache[0] || (_cache[0] = (...args) => unref(handleHeaderClick) && unref(handleHeaderClick)(...args)),
56
+ onKeydown: _cache[1] || (_cache[1] = withKeys(withModifiers(
57
+ (...args) => unref(handleEnterClick) && unref(handleEnterClick)(...args),
58
+ ["stop"]
59
+ ), ["space", "enter"])),
60
+ onFocus: _cache[2] || (_cache[2] = (...args) => unref(handleFocus) && unref(handleFocus)(...args)),
61
+ onBlur: _cache[3] || (_cache[3] = ($event) => focusing.value = false)
62
+ }, [
63
+ createElementVNode(
64
+ "span",
65
+ {
66
+ class: normalizeClass(unref(itemTitleKls))
67
+ },
68
+ [
69
+ renderSlot(_ctx.$slots, "title", { isActive: unref(isActive) }, () => [
70
+ createTextVNode(
71
+ toDisplayString(_ctx.title),
72
+ 1
73
+ )
74
+ ])
75
+ ],
76
+ 2
77
+ ),
78
+ renderSlot(_ctx.$slots, "icon", { isActive: unref(isActive) }, () => [
79
+ createVNode(unref(ElIcon), {
80
+ class: normalizeClass(unref(arrowKls))
81
+ }, {
82
+ default: withCtx(() => [
83
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
84
+ ]),
85
+ _: 1
86
+ }, 8, ["class"])
87
+ ])
88
+ ], 42, _hoisted_1),
89
+ createVNode(unref(ElCollapseTransition), null, {
90
+ default: withCtx(() => [
91
+ withDirectives(createElementVNode("div", {
92
+ id: unref(scopedContentId),
93
+ role: "region",
94
+ class: normalizeClass(unref(itemWrapperKls)),
95
+ "aria-hidden": !unref(isActive),
96
+ "aria-labelledby": unref(scopedHeadId)
97
+ }, [
98
+ createElementVNode(
99
+ "div",
100
+ {
101
+ class: normalizeClass(unref(itemContentKls))
102
+ },
103
+ [
104
+ renderSlot(_ctx.$slots, "default")
105
+ ],
106
+ 2
107
+ )
108
+ ], 10, _hoisted_2), [
109
+ [vShow, unref(isActive)]
110
+ ])
111
+ ]),
112
+ _: 3
113
+ })
114
+ ],
115
+ 2
116
+ );
117
+ };
118
+ }
19
119
  });
120
+ var CollapseItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse-item.vue"]]);
20
121
 
21
- export { collapseItemProps };
122
+ export { CollapseItem as default };
22
123
  //# sourceMappingURL=collapse-item.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse-item.mjs","sources":["../../../../../../packages/components/collapse/src/collapse-item.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { ArrowRight } from '@element-plus/icons-vue'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { CollapseActiveName } from './collapse'\n\nexport const collapseItemProps = buildProps({\n /**\n * @description title of the panel\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description unique identification of the panel\n */\n name: {\n type: definePropType<CollapseActiveName>([String, Number]),\n default: undefined,\n },\n /**\n * @description icon of the collapse item\n */\n icon: {\n type: iconPropType,\n default: ArrowRight,\n },\n /**\n * @description disable the collapse item\n */\n disabled: Boolean,\n} as const)\nexport type CollapseItemProps = ExtractPropTypes<typeof collapseItemProps>\nexport type CollapseItemPropsPublic = ExtractPublicPropTypes<\n typeof collapseItemProps\n>\n"],"names":[],"mappings":";;;;AAMO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAI1C,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,cAAA,CAAmC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACzD,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,YAAA;AAAA,IACN,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EAIA,QAAU,EAAA,OAAA;AACZ,CAAU;;;;"}
1
+ {"version":3,"file":"collapse-item.mjs","sources":["../../../../../../packages/components/collapse/src/collapse-item.vue"],"sourcesContent":["<template>\n <div :class=\"rootKls\">\n <div\n :id=\"scopedHeadId\"\n :class=\"headKls\"\n :aria-expanded=\"isActive\"\n :aria-controls=\"scopedContentId\"\n :aria-describedby=\"scopedContentId\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @click=\"handleHeaderClick\"\n @keydown.space.enter.stop=\"handleEnterClick\"\n @focus=\"handleFocus\"\n @blur=\"focusing = false\"\n >\n <span :class=\"itemTitleKls\">\n <slot name=\"title\" :is-active=\"isActive\">{{ title }}</slot>\n </span>\n <slot name=\"icon\" :is-active=\"isActive\">\n <el-icon :class=\"arrowKls\">\n <component :is=\"icon\" />\n </el-icon>\n </slot>\n </div>\n\n <el-collapse-transition>\n <div\n v-show=\"isActive\"\n :id=\"scopedContentId\"\n role=\"region\"\n :class=\"itemWrapperKls\"\n :aria-hidden=\"!isActive\"\n :aria-labelledby=\"scopedHeadId\"\n >\n <div :class=\"itemContentKls\">\n <slot />\n </div>\n </div>\n </el-collapse-transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElIcon from '@element-plus/components/icon'\nimport { collapseItemProps } from './collapse-item'\nimport { useCollapseItem, useCollapseItemDOM } from './use-collapse-item'\n\ndefineOptions({\n name: 'ElCollapseItem',\n})\n\nconst props = defineProps(collapseItemProps)\nconst {\n focusing,\n id,\n isActive,\n handleFocus,\n handleHeaderClick,\n handleEnterClick,\n} = useCollapseItem(props)\n\nconst {\n arrowKls,\n headKls,\n rootKls,\n itemTitleKls,\n itemWrapperKls,\n itemContentKls,\n scopedContentId,\n scopedHeadId,\n} = useCollapseItemDOM(props, { focusing, isActive, id })\n\ndefineExpose({\n /** @description current collapse-item whether active */\n isActive,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_createElementVNode","disabled","_withKeys","_withModifiers","_renderSlot","_createTextVNode","title","_createVNode","_createBlock","_resolveDynamicComponent","icon","_withCtx","_withDirectives"],"mappings":"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"}