@element-plus/nightly 0.0.20250723 → 0.0.20250725

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 (558) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +122 -55
  4. package/dist/index.full.min.js +15 -15
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +15 -15
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +122 -56
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/anchor/index.mjs +1 -1
  278. package/es/components/anchor/src/anchor-link.mjs +5 -81
  279. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  280. package/es/components/anchor/src/anchor-link2.mjs +81 -5
  281. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  282. package/es/components/avatar/index.mjs +2 -2
  283. package/es/components/avatar/src/avatar.mjs +65 -31
  284. package/es/components/avatar/src/avatar.mjs.map +1 -1
  285. package/es/components/avatar/src/avatar2.mjs +31 -65
  286. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  287. package/es/components/calendar/index.mjs +2 -2
  288. package/es/components/calendar/src/calendar.mjs +16 -134
  289. package/es/components/calendar/src/calendar.mjs.map +1 -1
  290. package/es/components/calendar/src/calendar2.mjs +134 -16
  291. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  292. package/es/components/calendar/src/date-table.mjs +89 -31
  293. package/es/components/calendar/src/date-table.mjs.map +1 -1
  294. package/es/components/calendar/src/date-table2.mjs +31 -89
  295. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  296. package/es/components/calendar/src/use-date-table.mjs +1 -1
  297. package/es/components/cascader/src/cascader.d.ts +1 -0
  298. package/es/components/cascader/src/cascader.mjs +5 -0
  299. package/es/components/cascader/src/cascader.mjs.map +1 -1
  300. package/es/components/cascader/src/cascader.vue.d.ts +5 -0
  301. package/es/components/cascader/src/cascader2.mjs +33 -3
  302. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  303. package/es/components/descriptions/index.mjs +2 -2
  304. package/es/components/descriptions/src/description.mjs +127 -26
  305. package/es/components/descriptions/src/description.mjs.map +1 -1
  306. package/es/components/descriptions/src/description2.mjs +26 -127
  307. package/es/components/descriptions/src/description2.mjs.map +1 -1
  308. package/es/components/dialog/index.mjs +1 -1
  309. package/es/components/dialog/src/constants.d.ts +1 -0
  310. package/es/components/dialog/src/constants.mjs +2 -1
  311. package/es/components/dialog/src/constants.mjs.map +1 -1
  312. package/es/components/dialog/src/dialog-content.mjs +88 -29
  313. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  314. package/es/components/dialog/src/dialog-content2.mjs +29 -88
  315. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  316. package/es/components/dialog/src/dialog.d.ts +3 -1
  317. package/es/components/dialog/src/dialog.mjs +6 -1
  318. package/es/components/dialog/src/dialog.mjs.map +1 -1
  319. package/es/components/dialog/src/dialog.vue.d.ts +3 -0
  320. package/es/components/dialog/src/dialog2.mjs +5 -13
  321. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  322. package/es/components/dialog/src/use-dialog.d.ts +7 -1
  323. package/es/components/dialog/src/use-dialog.mjs +39 -1
  324. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  325. package/es/components/drawer/src/drawer.d.ts +1 -0
  326. package/es/components/drawer/src/drawer.vue.d.ts +3 -0
  327. package/es/components/index.mjs +9 -9
  328. package/es/components/mention/index.mjs +2 -2
  329. package/es/components/mention/src/mention.mjs +285 -65
  330. package/es/components/mention/src/mention.mjs.map +1 -1
  331. package/es/components/mention/src/mention2.mjs +65 -285
  332. package/es/components/mention/src/mention2.mjs.map +1 -1
  333. package/es/components/pagination/src/components/sizes.mjs +71 -23
  334. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  335. package/es/components/pagination/src/components/sizes2.mjs +23 -71
  336. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  337. package/es/components/pagination/src/pagination.mjs +1 -1
  338. package/es/components/row/index.mjs +2 -2
  339. package/es/components/row/src/row.mjs +44 -28
  340. package/es/components/row/src/row.mjs.map +1 -1
  341. package/es/components/row/src/row2.mjs +28 -44
  342. package/es/components/row/src/row2.mjs.map +1 -1
  343. package/es/components/scrollbar/src/scrollbar2.mjs +18 -23
  344. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  345. package/es/components/select/index.mjs +1 -1
  346. package/es/components/select/src/option.mjs +13 -89
  347. package/es/components/select/src/option.mjs.map +1 -1
  348. package/es/components/select/src/option2.mjs +89 -13
  349. package/es/components/select/src/option2.mjs.map +1 -1
  350. package/es/components/select/src/select2.mjs +1 -1
  351. package/es/components/select/src/useOption.mjs +1 -1
  352. package/es/components/slider/src/button.mjs +19 -91
  353. package/es/components/slider/src/button.mjs.map +1 -1
  354. package/es/components/slider/src/button2.mjs +91 -19
  355. package/es/components/slider/src/button2.mjs.map +1 -1
  356. package/es/components/slider/src/slider2.mjs +1 -1
  357. package/es/components/splitter/index.mjs +2 -2
  358. package/es/components/splitter/src/splitter.mjs +7 -80
  359. package/es/components/splitter/src/splitter.mjs.map +1 -1
  360. package/es/components/splitter/src/splitter2.mjs +80 -7
  361. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  362. package/es/components/steps/index.mjs +2 -2
  363. package/es/components/steps/src/steps.mjs +41 -35
  364. package/es/components/steps/src/steps.mjs.map +1 -1
  365. package/es/components/steps/src/steps2.mjs +35 -41
  366. package/es/components/steps/src/steps2.mjs.map +1 -1
  367. package/es/components/table/src/store/helper.d.ts +12 -12
  368. package/es/components/table/src/store/index.d.ts +24 -24
  369. package/es/components/table/src/store/tree.d.ts +3 -3
  370. package/es/components/table/src/store/tree.mjs +11 -10
  371. package/es/components/table/src/store/tree.mjs.map +1 -1
  372. package/es/components/table/src/store/watcher.d.ts +2 -2
  373. package/es/components/table/src/store/watcher.mjs.map +1 -1
  374. package/es/components/table/src/table/defaults.d.ts +1 -1
  375. package/es/components/table/src/table/defaults.mjs.map +1 -1
  376. package/es/components/table/src/table-header/index.mjs +1 -1
  377. package/es/components/table/src/table-header/index.mjs.map +1 -1
  378. package/es/components/table/src/table.vue.d.ts +12 -12
  379. package/es/components/table/src/util.d.ts +1 -1
  380. package/es/components/table/src/util.mjs +3 -3
  381. package/es/components/table/src/util.mjs.map +1 -1
  382. package/es/components/table-v2/src/composables/use-row.mjs +6 -1
  383. package/es/components/table-v2/src/composables/use-row.mjs.map +1 -1
  384. package/es/components/table-v2/src/row.d.ts +2 -2
  385. package/es/components/table-v2/src/row.mjs.map +1 -1
  386. package/es/components/time-picker/src/common/picker-range-trigger.mjs +1 -1
  387. package/es/components/time-picker/src/common/picker-range-trigger.mjs.map +1 -1
  388. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  389. package/es/components/tour/index.mjs +1 -1
  390. package/es/components/tour/src/content.mjs +67 -43
  391. package/es/components/tour/src/content.mjs.map +1 -1
  392. package/es/components/tour/src/content2.mjs +43 -67
  393. package/es/components/tour/src/content2.mjs.map +1 -1
  394. package/es/components/tour/src/mask.mjs +75 -18
  395. package/es/components/tour/src/mask.mjs.map +1 -1
  396. package/es/components/tour/src/mask2.mjs +18 -75
  397. package/es/components/tour/src/mask2.mjs.map +1 -1
  398. package/es/components/tour/src/step.mjs +1 -1
  399. package/es/components/tour/src/tour.mjs +1 -1
  400. package/es/components/tour/src/tour2.mjs +2 -2
  401. package/es/components/visual-hidden/index.mjs +3 -3
  402. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -6
  403. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  404. package/es/components/visual-hidden/src/visual-hidden2.mjs +6 -35
  405. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  406. package/es/index.d.ts +50 -27
  407. package/es/index.mjs +9 -9
  408. package/es/version.d.ts +1 -1
  409. package/es/version.mjs +1 -1
  410. package/es/version.mjs.map +1 -1
  411. package/lib/components/anchor/index.js +1 -1
  412. package/lib/components/anchor/src/anchor-link.js +5 -81
  413. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  414. package/lib/components/anchor/src/anchor-link2.js +81 -5
  415. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  416. package/lib/components/avatar/index.js +2 -2
  417. package/lib/components/avatar/src/avatar.js +65 -32
  418. package/lib/components/avatar/src/avatar.js.map +1 -1
  419. package/lib/components/avatar/src/avatar2.js +32 -65
  420. package/lib/components/avatar/src/avatar2.js.map +1 -1
  421. package/lib/components/calendar/index.js +2 -2
  422. package/lib/components/calendar/src/calendar.js +17 -134
  423. package/lib/components/calendar/src/calendar.js.map +1 -1
  424. package/lib/components/calendar/src/calendar2.js +134 -17
  425. package/lib/components/calendar/src/calendar2.js.map +1 -1
  426. package/lib/components/calendar/src/date-table.js +89 -35
  427. package/lib/components/calendar/src/date-table.js.map +1 -1
  428. package/lib/components/calendar/src/date-table2.js +35 -89
  429. package/lib/components/calendar/src/date-table2.js.map +1 -1
  430. package/lib/components/calendar/src/use-date-table.js +1 -1
  431. package/lib/components/cascader/src/cascader.d.ts +1 -0
  432. package/lib/components/cascader/src/cascader.js +5 -0
  433. package/lib/components/cascader/src/cascader.js.map +1 -1
  434. package/lib/components/cascader/src/cascader.vue.d.ts +5 -0
  435. package/lib/components/cascader/src/cascader2.js +33 -3
  436. package/lib/components/cascader/src/cascader2.js.map +1 -1
  437. package/lib/components/descriptions/index.js +2 -2
  438. package/lib/components/descriptions/src/description.js +127 -26
  439. package/lib/components/descriptions/src/description.js.map +1 -1
  440. package/lib/components/descriptions/src/description2.js +26 -127
  441. package/lib/components/descriptions/src/description2.js.map +1 -1
  442. package/lib/components/dialog/index.js +1 -0
  443. package/lib/components/dialog/index.js.map +1 -1
  444. package/lib/components/dialog/src/constants.d.ts +1 -0
  445. package/lib/components/dialog/src/constants.js +2 -0
  446. package/lib/components/dialog/src/constants.js.map +1 -1
  447. package/lib/components/dialog/src/dialog-content.js +87 -29
  448. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  449. package/lib/components/dialog/src/dialog-content2.js +29 -87
  450. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  451. package/lib/components/dialog/src/dialog.d.ts +3 -1
  452. package/lib/components/dialog/src/dialog.js +6 -1
  453. package/lib/components/dialog/src/dialog.js.map +1 -1
  454. package/lib/components/dialog/src/dialog.vue.d.ts +3 -0
  455. package/lib/components/dialog/src/dialog2.js +4 -12
  456. package/lib/components/dialog/src/dialog2.js.map +1 -1
  457. package/lib/components/dialog/src/use-dialog.d.ts +7 -1
  458. package/lib/components/dialog/src/use-dialog.js +39 -1
  459. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  460. package/lib/components/drawer/src/drawer.d.ts +1 -0
  461. package/lib/components/drawer/src/drawer.vue.d.ts +3 -0
  462. package/lib/components/index.js +9 -8
  463. package/lib/components/index.js.map +1 -1
  464. package/lib/components/mention/index.js +2 -2
  465. package/lib/components/mention/src/mention.js +283 -64
  466. package/lib/components/mention/src/mention.js.map +1 -1
  467. package/lib/components/mention/src/mention2.js +64 -283
  468. package/lib/components/mention/src/mention2.js.map +1 -1
  469. package/lib/components/pagination/src/components/sizes.js +71 -23
  470. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  471. package/lib/components/pagination/src/components/sizes2.js +23 -71
  472. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  473. package/lib/components/pagination/src/pagination.js +1 -1
  474. package/lib/components/row/index.js +2 -2
  475. package/lib/components/row/src/row.js +44 -30
  476. package/lib/components/row/src/row.js.map +1 -1
  477. package/lib/components/row/src/row2.js +30 -44
  478. package/lib/components/row/src/row2.js.map +1 -1
  479. package/lib/components/scrollbar/src/scrollbar2.js +18 -23
  480. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  481. package/lib/components/select/index.js +1 -1
  482. package/lib/components/select/src/option.js +14 -89
  483. package/lib/components/select/src/option.js.map +1 -1
  484. package/lib/components/select/src/option2.js +89 -14
  485. package/lib/components/select/src/option2.js.map +1 -1
  486. package/lib/components/select/src/select2.js +1 -1
  487. package/lib/components/select/src/useOption.js +1 -1
  488. package/lib/components/slider/src/button.js +20 -91
  489. package/lib/components/slider/src/button.js.map +1 -1
  490. package/lib/components/slider/src/button2.js +91 -20
  491. package/lib/components/slider/src/button2.js.map +1 -1
  492. package/lib/components/slider/src/slider2.js +1 -1
  493. package/lib/components/splitter/index.js +2 -2
  494. package/lib/components/splitter/src/splitter.js +7 -80
  495. package/lib/components/splitter/src/splitter.js.map +1 -1
  496. package/lib/components/splitter/src/splitter2.js +80 -7
  497. package/lib/components/splitter/src/splitter2.js.map +1 -1
  498. package/lib/components/steps/index.js +2 -2
  499. package/lib/components/steps/src/steps.js +41 -36
  500. package/lib/components/steps/src/steps.js.map +1 -1
  501. package/lib/components/steps/src/steps2.js +36 -41
  502. package/lib/components/steps/src/steps2.js.map +1 -1
  503. package/lib/components/table/src/store/helper.d.ts +12 -12
  504. package/lib/components/table/src/store/index.d.ts +24 -24
  505. package/lib/components/table/src/store/tree.d.ts +3 -3
  506. package/lib/components/table/src/store/tree.js +11 -10
  507. package/lib/components/table/src/store/tree.js.map +1 -1
  508. package/lib/components/table/src/store/watcher.d.ts +2 -2
  509. package/lib/components/table/src/store/watcher.js.map +1 -1
  510. package/lib/components/table/src/table/defaults.d.ts +1 -1
  511. package/lib/components/table/src/table/defaults.js.map +1 -1
  512. package/lib/components/table/src/table-header/index.js +1 -1
  513. package/lib/components/table/src/table-header/index.js.map +1 -1
  514. package/lib/components/table/src/table.vue.d.ts +12 -12
  515. package/lib/components/table/src/util.d.ts +1 -1
  516. package/lib/components/table/src/util.js +3 -3
  517. package/lib/components/table/src/util.js.map +1 -1
  518. package/lib/components/table-v2/src/composables/use-row.js +5 -0
  519. package/lib/components/table-v2/src/composables/use-row.js.map +1 -1
  520. package/lib/components/table-v2/src/row.d.ts +2 -2
  521. package/lib/components/table-v2/src/row.js.map +1 -1
  522. package/lib/components/time-picker/src/common/picker-range-trigger.js +1 -1
  523. package/lib/components/time-picker/src/common/picker-range-trigger.js.map +1 -1
  524. package/lib/components/tooltip-v2/src/content2.js +1 -1
  525. package/lib/components/tour/index.js +1 -1
  526. package/lib/components/tour/src/content.js +67 -46
  527. package/lib/components/tour/src/content.js.map +1 -1
  528. package/lib/components/tour/src/content2.js +46 -67
  529. package/lib/components/tour/src/content2.js.map +1 -1
  530. package/lib/components/tour/src/mask.js +75 -18
  531. package/lib/components/tour/src/mask.js.map +1 -1
  532. package/lib/components/tour/src/mask2.js +18 -75
  533. package/lib/components/tour/src/mask2.js.map +1 -1
  534. package/lib/components/tour/src/step.js +1 -1
  535. package/lib/components/tour/src/tour.js +1 -1
  536. package/lib/components/tour/src/tour2.js +2 -2
  537. package/lib/components/visual-hidden/index.js +2 -2
  538. package/lib/components/visual-hidden/src/visual-hidden.js +35 -6
  539. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  540. package/lib/components/visual-hidden/src/visual-hidden2.js +6 -35
  541. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  542. package/lib/index.d.ts +50 -27
  543. package/lib/index.js +9 -8
  544. package/lib/index.js.map +1 -1
  545. package/lib/version.d.ts +1 -1
  546. package/lib/version.js +1 -1
  547. package/lib/version.js.map +1 -1
  548. package/package.json +2 -2
  549. package/tags.json +1 -1
  550. package/theme-chalk/el-cascader.css +1 -1
  551. package/theme-chalk/el-input.css +1 -1
  552. package/theme-chalk/el-tabs.css +1 -1
  553. package/theme-chalk/index.css +1 -1
  554. package/theme-chalk/src/cascader.scss +10 -0
  555. package/theme-chalk/src/common/var.scss +10 -0
  556. package/theme-chalk/src/input.scss +1 -0
  557. package/theme-chalk/src/tabs.scss +2 -5
  558. package/web-types.json +1 -1
@@ -192,10 +192,24 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
192
192
  (_a = cascaderPanelRef.value) == null ? void 0 : _a.calculateCheckedValue();
193
193
  emit("removeTag", node.valueByOption);
194
194
  };
195
+ const getStrategyCheckedNodes = () => {
196
+ switch (props.showCheckedStrategy) {
197
+ case "child":
198
+ return checkedNodes.value;
199
+ case "parent": {
200
+ const clickedNodes = getCheckedNodes(false);
201
+ const clickedNodesValue = clickedNodes.map((o) => o.value);
202
+ const parentNodes = clickedNodes.filter((o) => !o.parent || !clickedNodesValue.includes(o.parent.value));
203
+ return parentNodes;
204
+ }
205
+ default:
206
+ return [];
207
+ }
208
+ };
195
209
  const calculatePresentTags = () => {
196
210
  if (!multiple.value)
197
211
  return;
198
- const nodes = checkedNodes.value;
212
+ const nodes = getStrategyCheckedNodes();
199
213
  const tags = [];
200
214
  const allTags = [];
201
215
  nodes.forEach((node) => allTags.push(genTag(node)));
@@ -590,6 +604,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
590
604
  ])
591
605
  ]),
592
606
  content: vue.withCtx(() => [
607
+ _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
608
+ key: 0,
609
+ class: vue.normalizeClass(vue.unref(nsCascader).e("header")),
610
+ onClick: vue.withModifiers(() => {
611
+ }, ["stop"])
612
+ }, [
613
+ vue.renderSlot(_ctx.$slots, "header")
614
+ ], 10, ["onClick"])) : vue.createCommentVNode("v-if", true),
593
615
  vue.withDirectives(vue.createVNode(vue.unref(index$a.ElCascaderPanel), {
594
616
  ref_key: "cascaderPanelRef",
595
617
  ref: cascaderPanelRef,
@@ -610,7 +632,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
610
632
  [vue.vShow, !filtering.value]
611
633
  ]),
612
634
  _ctx.filterable ? vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(index$8.ElScrollbar), {
613
- key: 0,
635
+ key: 1,
614
636
  ref_key: "suggestionPanel",
615
637
  ref: suggestionPanel,
616
638
  tag: "ul",
@@ -648,7 +670,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
648
670
  _: 3
649
671
  }, 8, ["class", "view-class"])), [
650
672
  [vue.vShow, filtering.value]
651
- ]) : vue.createCommentVNode("v-if", true)
673
+ ]) : vue.createCommentVNode("v-if", true),
674
+ _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
675
+ key: 2,
676
+ class: vue.normalizeClass(vue.unref(nsCascader).e("footer")),
677
+ onClick: vue.withModifiers(() => {
678
+ }, ["stop"])
679
+ }, [
680
+ vue.renderSlot(_ctx.$slots, "footer")
681
+ ], 10, ["onClick"])) : vue.createCommentVNode("v-if", true)
652
682
  ]),
653
683
  _: 3
654
684
  }, 8, ["visible", "teleported", "popper-class", "fallback-placements", "placement", "transition", "persistent"]);
@@ -1 +1 @@
1
- {"version":3,"file":"cascader2.js","sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n effect=\"light\"\n pure\n :persistent=\"persistent\"\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[contentRef]=\"() => togglePopperVisible(false)\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"inputClass\"\n :tabindex=\"multiple && filterable && !isDisabled ? -1 : undefined\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"handleInput\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div\n v-if=\"multiple\"\n ref=\"tagWrapper\"\n :class=\"[\n nsCascader.e('tags'),\n nsCascader.is('validate', Boolean(validateState)),\n ]\"\n >\n <slot name=\"tag\" :data=\"allPresentTags\" :delete-tag=\"deleteTag\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <template v-if=\"tag.isCollapseTag === false\">\n <span>{{ tag.text }}</span>\n </template>\n <template v-else>\n <el-tooltip\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n effect=\"light\"\n >\n <template #default>\n <span>{{ tag.text }}</span>\n </template>\n <template #content>\n <el-scrollbar :max-height=\"maxCollapseTagsTooltipHeight\">\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag2, idx) in allPresentTags.slice(\n maxCollapseTags\n )\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag2.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag2.hitState\"\n :closable=\"tag2.closable\"\n disable-transitions\n @close=\"deleteTag(tag2)\"\n >\n <span>{{ tag2.text }}</span>\n </el-tag>\n </div>\n </div>\n </el-scrollbar>\n </template>\n </el-tooltip>\n </template>\n </el-tag>\n </slot>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"nsCascader.e('search-input')\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as KeyboardEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"cascaderPanelRef\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-panel>\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <slot name=\"suggestion-item\" :item=\"item\">\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </slot>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, useAttrs, watch } from 'vue'\nimport { cloneDeep, debounce } from 'lodash-unified'\nimport { useCssVar, useResizeObserver } from '@vueuse/core'\nimport {\n debugWarn,\n focusNode,\n getSibling,\n isClient,\n isPromise,\n} from '@element-plus/utils'\nimport ElCascaderPanel from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport {\n useComposition,\n useEmptyValues,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport { cascaderEmits, cascaderProps } from './cascader'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type {\n CascaderNode,\n CascaderPanelInstance,\n CascaderValue,\n Tag,\n} from '@element-plus/components/cascader-panel'\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n if (modifiersData.arrow) {\n modifiersData.arrow.x = 35\n }\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElCascader'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(cascaderProps)\nconst emit = defineEmits(cascaderEmits)\nconst attrs = useAttrs()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('cascader')\nconst nsInput = useNamespace('input')\n\nconst { t } = useLocale()\nconst { form, formItem } = useFormItem()\nconst { valueOnClear } = useEmptyValues(props)\nconst { isComposing, handleComposition } = useComposition({\n afterComposition(event) {\n const text = (event.target as HTMLInputElement)?.value\n handleInput(text)\n },\n})\n\nconst tooltipRef: Ref<TooltipInstance | null> = ref(null)\nconst input: Ref<InputInstance | null> = ref(null)\nconst tagWrapper = ref(null)\nconst cascaderPanelRef: Ref<CascaderPanelInstance | null> = ref(null)\nconst suggestionPanel: Ref<ScrollbarInstance | null> = ref(null)\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst filterFocus = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst presentTags: Ref<Tag[]> = ref([])\nconst allPresentTags: Ref<Tag[]> = ref([])\nconst suggestions: Ref<CascaderNode[]> = ref([])\n\nconst cascaderStyle = computed<StyleValue>(() => {\n return attrs.style as StyleValue\n})\n\nconst isDisabled = computed(() => props.disabled || form?.disabled)\nconst inputPlaceholder = computed(\n () => props.placeholder ?? t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value || presentTags.value.length > 0 || isComposing.value\n ? ''\n : inputPlaceholder.value\n)\nconst realSize = useFormSize()\nconst tagSize = computed(() =>\n realSize.value === 'small' ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => cascaderPanelRef.value?.checkedNodes || []\n)\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst validateState = computed(() => formItem?.validateState || '')\n\nconst checkedValue = computed<CascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as CascaderValue\n },\n set(val) {\n // https://github.com/element-plus/element-plus/issues/17647\n const value = val ?? valueOnClear.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst inputClass = computed(() => {\n return nsCascader.is('focus', popperVisible.value || filterFocus.value)\n})\n\nconst contentRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(cascaderPanelRef.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n isCollapseTag: false,\n }\n}\n\nconst deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n cascaderPanelRef.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = checkedNodes.value\n const tags: Tag[] = []\n\n const allTags: Tag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n allPresentTags.value = allTags\n\n if (nodes.length) {\n nodes\n .slice(0, props.maxCollapseTags)\n .forEach((node) => tags.push(genTag(node)))\n const rest = nodes.slice(props.maxCollapseTags)\n const restCount = rest.length\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n isCollapseTag: true,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = cascaderPanelRef.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n allPresentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n}\n\nconst focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n `.${nsCascader.e('suggestion-item')}`\n )\n } else {\n firstNode = cascaderPanelRef.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n}\n\nconst updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n `.${nsCascader.e('suggestion-list')}`\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n // 2 is el-input__wrapper padding\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight, inputInitialHeight) - 2}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return cascaderPanelRef.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isComposing.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n cascaderPanelRef.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n togglePopperVisible(false)\n emit('clear')\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n cascaderPanelRef.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && cascaderPanelRef.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount || (props.collapseTags && tags.length > 1))\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst handleFocus = (e: FocusEvent) => {\n const el = e.target as HTMLInputElement\n const name = nsCascader.e('search-input')\n if (el.className === name) {\n filterFocus.value = true\n }\n emit('focus', e)\n}\n\nconst handleBlur = (e: FocusEvent) => {\n filterFocus.value = false\n emit('blur', e)\n}\n\nconst handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, props.debounce)\n\nconst handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n}\n\nconst getInputInnerHeight = (inputInner: HTMLElement): number =>\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value\n ) - 2\n\nwatch(filtering, updatePopperPosition)\n\nwatch(\n [checkedNodes, isDisabled, () => props.collapseTags],\n calculatePresentTags\n)\n\nwatch(presentTags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(realSize, async () => {\n await nextTick()\n const inputInner = input.value!.input!\n inputInitialHeight = getInputInnerHeight(inputInner) || inputInitialHeight\n updateStyle()\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nonMounted(() => {\n const inputInner = input.value!.input!\n\n const inputInnerHeight = getInputInnerHeight(inputInner)\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputInner, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n /**\n * @description cascader content ref\n */\n contentRef,\n /**\n * @description selected content text\n */\n presentText,\n})\n</script>\n"],"names":["useAttrs","useNamespace","useLocale","useFormItem","useEmptyValues","useComposition","ref","computed","useFormSize","UPDATE_MODEL_EVENT","CHANGE_EVENT","debugWarn","nextTick","isClient","EVENT_CODE","focusNode","getSibling","debounce","isPromise","useCssVar","watch","onMounted","useResizeObserver","_openBlock","_createBlock","_unref","ElTooltip"],"mappings":"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"}
1
+ {"version":3,"file":"cascader2.js","sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n effect=\"light\"\n pure\n :persistent=\"persistent\"\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[contentRef]=\"() => togglePopperVisible(false)\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"inputClass\"\n :tabindex=\"multiple && filterable && !isDisabled ? -1 : undefined\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"handleInput\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div\n v-if=\"multiple\"\n ref=\"tagWrapper\"\n :class=\"[\n nsCascader.e('tags'),\n nsCascader.is('validate', Boolean(validateState)),\n ]\"\n >\n <slot name=\"tag\" :data=\"allPresentTags\" :delete-tag=\"deleteTag\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <template v-if=\"tag.isCollapseTag === false\">\n <span>{{ tag.text }}</span>\n </template>\n <template v-else>\n <el-tooltip\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n effect=\"light\"\n >\n <template #default>\n <span>{{ tag.text }}</span>\n </template>\n <template #content>\n <el-scrollbar :max-height=\"maxCollapseTagsTooltipHeight\">\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag2, idx) in allPresentTags.slice(\n maxCollapseTags\n )\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag2.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag2.hitState\"\n :closable=\"tag2.closable\"\n disable-transitions\n @close=\"deleteTag(tag2)\"\n >\n <span>{{ tag2.text }}</span>\n </el-tag>\n </div>\n </div>\n </el-scrollbar>\n </template>\n </el-tooltip>\n </template>\n </el-tag>\n </slot>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"nsCascader.e('search-input')\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as KeyboardEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <div v-if=\"$slots.header\" :class=\"nsCascader.e('header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"cascaderPanelRef\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-panel>\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <slot name=\"suggestion-item\" :item=\"item\">\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </slot>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n <div v-if=\"$slots.footer\" :class=\"nsCascader.e('footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, useAttrs, watch } from 'vue'\nimport { cloneDeep, debounce } from 'lodash-unified'\nimport { useCssVar, useResizeObserver } from '@vueuse/core'\nimport {\n debugWarn,\n focusNode,\n getSibling,\n isClient,\n isPromise,\n} from '@element-plus/utils'\nimport ElCascaderPanel from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport {\n useComposition,\n useEmptyValues,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport { cascaderEmits, cascaderProps } from './cascader'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type {\n CascaderNode,\n CascaderPanelInstance,\n CascaderValue,\n Tag,\n} from '@element-plus/components/cascader-panel'\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }: any) => {\n const { modifiersData, placement } = state\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n if (modifiersData.arrow) {\n modifiersData.arrow.x = 35\n }\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElCascader'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(cascaderProps)\nconst emit = defineEmits(cascaderEmits)\nconst attrs = useAttrs()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('cascader')\nconst nsInput = useNamespace('input')\n\nconst { t } = useLocale()\nconst { form, formItem } = useFormItem()\nconst { valueOnClear } = useEmptyValues(props)\nconst { isComposing, handleComposition } = useComposition({\n afterComposition(event) {\n const text = (event.target as HTMLInputElement)?.value\n handleInput(text)\n },\n})\n\nconst tooltipRef: Ref<TooltipInstance | null> = ref(null)\nconst input: Ref<InputInstance | null> = ref(null)\nconst tagWrapper = ref(null)\nconst cascaderPanelRef: Ref<CascaderPanelInstance | null> = ref(null)\nconst suggestionPanel: Ref<ScrollbarInstance | null> = ref(null)\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst filterFocus = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst presentTags: Ref<Tag[]> = ref([])\nconst allPresentTags: Ref<Tag[]> = ref([])\nconst suggestions: Ref<CascaderNode[]> = ref([])\n\nconst cascaderStyle = computed<StyleValue>(() => {\n return attrs.style as StyleValue\n})\n\nconst isDisabled = computed(() => props.disabled || form?.disabled)\nconst inputPlaceholder = computed(\n () => props.placeholder ?? t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value || presentTags.value.length > 0 || isComposing.value\n ? ''\n : inputPlaceholder.value\n)\nconst realSize = useFormSize()\nconst tagSize = computed(() =>\n realSize.value === 'small' ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => cascaderPanelRef.value?.checkedNodes || []\n)\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst validateState = computed(() => formItem?.validateState || '')\n\nconst checkedValue = computed<CascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as CascaderValue\n },\n set(val) {\n // https://github.com/element-plus/element-plus/issues/17647\n const value = val ?? valueOnClear.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst inputClass = computed(() => {\n return nsCascader.is('focus', popperVisible.value || filterFocus.value)\n})\n\nconst contentRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n nextTick(cascaderPanelRef.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n isCollapseTag: false,\n }\n}\n\nconst deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n cascaderPanelRef.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n}\n\nconst getStrategyCheckedNodes = (): CascaderNode[] => {\n switch (props.showCheckedStrategy) {\n case 'child':\n return checkedNodes.value\n case 'parent': {\n const clickedNodes = getCheckedNodes(false)\n const clickedNodesValue = clickedNodes!.map((o) => o.value)\n const parentNodes = clickedNodes!.filter(\n (o) => !o.parent || !clickedNodesValue.includes(o.parent.value)\n )\n return parentNodes\n }\n default:\n return []\n }\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = getStrategyCheckedNodes()\n const tags: Tag[] = []\n\n const allTags: Tag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n allPresentTags.value = allTags\n\n if (nodes.length) {\n nodes\n .slice(0, props.maxCollapseTags)\n .forEach((node) => tags.push(genTag(node)))\n const rest = nodes.slice(props.maxCollapseTags)\n const restCount = rest.length\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n isCollapseTag: true,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = cascaderPanelRef.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n allPresentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n}\n\nconst focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n `.${nsCascader.e('suggestion-item')}`\n )\n } else {\n firstNode = cascaderPanelRef.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n}\n\nconst updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n `.${nsCascader.e('suggestion-list')}`\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n // 2 is el-input__wrapper padding\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight, inputInitialHeight) - 2}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return cascaderPanelRef.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isComposing.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n cascaderPanelRef.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n togglePopperVisible(false)\n emit('clear')\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n cascaderPanelRef.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && cascaderPanelRef.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount || (props.collapseTags && tags.length > 1))\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst handleFocus = (e: FocusEvent) => {\n const el = e.target as HTMLInputElement\n const name = nsCascader.e('search-input')\n if (el.className === name) {\n filterFocus.value = true\n }\n emit('focus', e)\n}\n\nconst handleBlur = (e: FocusEvent) => {\n filterFocus.value = false\n emit('blur', e)\n}\n\nconst handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, props.debounce)\n\nconst handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n}\n\nconst getInputInnerHeight = (inputInner: HTMLElement): number =>\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value\n ) - 2\n\nwatch(filtering, updatePopperPosition)\n\nwatch(\n [checkedNodes, isDisabled, () => props.collapseTags],\n calculatePresentTags\n)\n\nwatch(presentTags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(realSize, async () => {\n await nextTick()\n const inputInner = input.value!.input!\n inputInitialHeight = getInputInnerHeight(inputInner) || inputInitialHeight\n updateStyle()\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nonMounted(() => {\n const inputInner = input.value!.input!\n\n const inputInnerHeight = getInputInnerHeight(inputInner)\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputInner, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n /**\n * @description cascader content ref\n */\n contentRef,\n /**\n * @description selected content text\n */\n presentText,\n})\n</script>\n"],"names":["useAttrs","useNamespace","useLocale","useFormItem","useEmptyValues","useComposition","ref","computed","useFormSize","UPDATE_MODEL_EVENT","CHANGE_EVENT","debugWarn","nextTick","isClient","EVENT_CODE","focusNode","getSibling","debounce","isPromise","useCssVar","watch","onMounted","useResizeObserver","_openBlock","_createBlock","_unref","ElTooltip","_withCtx"],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var description$1 = require('./src/description2.js');
5
+ var description$1 = require('./src/description.js');
6
6
  var descriptionItem = require('./src/description-item.js');
7
- var description = require('./src/description.js');
7
+ var description = require('./src/description2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const ElDescriptions = install.withInstall(description$1["default"], {
@@ -2,34 +2,135 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var index = require('../../../hooks/use-size/index.js');
5
+ var vue = require('vue');
6
+ var descriptionsRow = require('./descriptions-row2.js');
7
+ var token = require('./token.js');
8
+ var description = require('./description2.js');
9
+ var constants = require('./constants.js');
10
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
+ var index = require('../../../hooks/use-namespace/index.js');
12
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
13
+ var vnode = require('../../../utils/vue/vnode.js');
7
14
 
8
- const descriptionProps = runtime.buildProps({
9
- border: Boolean,
10
- column: {
11
- type: Number,
12
- default: 3
13
- },
14
- direction: {
15
- type: String,
16
- values: ["horizontal", "vertical"],
17
- default: "horizontal"
18
- },
19
- size: index.useSizeProp,
20
- title: {
21
- type: String,
22
- default: ""
23
- },
24
- extra: {
25
- type: String,
26
- default: ""
27
- },
28
- labelWidth: {
29
- type: [String, Number],
30
- default: ""
15
+ const __default__ = vue.defineComponent({
16
+ name: "ElDescriptions"
17
+ });
18
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
+ ...__default__,
20
+ props: description.descriptionProps,
21
+ setup(__props) {
22
+ const props = __props;
23
+ const ns = index.useNamespace("descriptions");
24
+ const descriptionsSize = useFormCommonProps.useFormSize();
25
+ const slots = vue.useSlots();
26
+ vue.provide(token.descriptionsKey, props);
27
+ const descriptionKls = vue.computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
28
+ const filledNode = (node, span, count, isLast = false) => {
29
+ if (!node.props) {
30
+ node.props = {};
31
+ }
32
+ if (span > count) {
33
+ node.props.span = count;
34
+ }
35
+ if (isLast) {
36
+ node.props.span = span;
37
+ }
38
+ return node;
39
+ };
40
+ const getRows = () => {
41
+ if (!slots.default)
42
+ return [];
43
+ const children = vnode.flattedChildren(slots.default()).filter((node) => {
44
+ var _a;
45
+ return ((_a = node == null ? void 0 : node.type) == null ? void 0 : _a.name) === constants.COMPONENT_NAME;
46
+ });
47
+ const rows = [];
48
+ let temp = [];
49
+ let count = props.column;
50
+ let totalSpan = 0;
51
+ const rowspanTemp = [];
52
+ children.forEach((node, index) => {
53
+ var _a, _b, _c;
54
+ const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
55
+ const rowspan = ((_b = node.props) == null ? void 0 : _b.rowspan) || 1;
56
+ const rowNo = rows.length;
57
+ rowspanTemp[rowNo] || (rowspanTemp[rowNo] = 0);
58
+ if (rowspan > 1) {
59
+ for (let i = 1; i < rowspan; i++) {
60
+ rowspanTemp[_c = rowNo + i] || (rowspanTemp[_c] = 0);
61
+ rowspanTemp[rowNo + i]++;
62
+ totalSpan++;
63
+ }
64
+ }
65
+ if (rowspanTemp[rowNo] > 0) {
66
+ count -= rowspanTemp[rowNo];
67
+ rowspanTemp[rowNo] = 0;
68
+ }
69
+ if (index < children.length - 1) {
70
+ totalSpan += span > count ? count : span;
71
+ }
72
+ if (index === children.length - 1) {
73
+ const lastSpan = props.column - totalSpan % props.column;
74
+ temp.push(filledNode(node, lastSpan, count, true));
75
+ rows.push(temp);
76
+ return;
77
+ }
78
+ if (span < count) {
79
+ count -= span;
80
+ temp.push(node);
81
+ } else {
82
+ temp.push(filledNode(node, span, count));
83
+ rows.push(temp);
84
+ count = props.column;
85
+ temp = [];
86
+ }
87
+ });
88
+ return rows;
89
+ };
90
+ return (_ctx, _cache) => {
91
+ return vue.openBlock(), vue.createElementBlock("div", {
92
+ class: vue.normalizeClass(vue.unref(descriptionKls))
93
+ }, [
94
+ _ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", {
95
+ key: 0,
96
+ class: vue.normalizeClass(vue.unref(ns).e("header"))
97
+ }, [
98
+ vue.createElementVNode("div", {
99
+ class: vue.normalizeClass(vue.unref(ns).e("title"))
100
+ }, [
101
+ vue.renderSlot(_ctx.$slots, "title", {}, () => [
102
+ vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
103
+ ])
104
+ ], 2),
105
+ vue.createElementVNode("div", {
106
+ class: vue.normalizeClass(vue.unref(ns).e("extra"))
107
+ }, [
108
+ vue.renderSlot(_ctx.$slots, "extra", {}, () => [
109
+ vue.createTextVNode(vue.toDisplayString(_ctx.extra), 1)
110
+ ])
111
+ ], 2)
112
+ ], 2)) : vue.createCommentVNode("v-if", true),
113
+ vue.createElementVNode("div", {
114
+ class: vue.normalizeClass(vue.unref(ns).e("body"))
115
+ }, [
116
+ vue.createElementVNode("table", {
117
+ class: vue.normalizeClass([vue.unref(ns).e("table"), vue.unref(ns).is("bordered", _ctx.border)])
118
+ }, [
119
+ vue.createElementVNode("tbody", null, [
120
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getRows(), (row, _index) => {
121
+ return vue.openBlock(), vue.createBlock(descriptionsRow["default"], {
122
+ key: _index,
123
+ row
124
+ }, null, 8, ["row"]);
125
+ }), 128))
126
+ ])
127
+ ], 2)
128
+ ], 2)
129
+ ], 2);
130
+ };
31
131
  }
32
132
  });
133
+ var Descriptions = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "description.vue"]]);
33
134
 
34
- exports.descriptionProps = descriptionProps;
135
+ exports["default"] = Descriptions;
35
136
  //# sourceMappingURL=description.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../../../packages/components/descriptions/src/description.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n /**\n * @description with or without border\n */\n border: Boolean,\n /**\n * @description numbers of `Descriptions Item` in one line\n */\n column: {\n type: Number,\n default: 3,\n },\n /**\n * @description direction of list\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description size of list\n */\n size: useSizeProp,\n /**\n * @description title text, display on the top left\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description extra text, display on the top right\n */\n extra: {\n type: String,\n default: '',\n },\n /**\n * @description width of every label column\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n} as const)\n\nexport type DescriptionProps = ExtractPropTypes<typeof descriptionProps>\nexport type DescriptionPropsPublic = __ExtractPublicPropTypes<\n typeof descriptionProps\n>\nexport type DescriptionInstance = InstanceType<typeof Description> & unknown\n"],"names":["buildProps","useSizeProp"],"mappings":";;;;;;;AAEY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\nimport { COMPONENT_NAME } from './constants'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === COMPONENT_NAME\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n const rowspanTemp: number[] = [] // the number of row spans\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n const rowspan = node.props?.rowspan || 1\n const rowNo = rows.length\n rowspanTemp[rowNo] ||= 0\n\n if (rowspan > 1) {\n for (let i = 1; i < rowspan; i++) {\n rowspanTemp[rowNo + i] ||= 0\n rowspanTemp[rowNo + i]++\n totalSpan++\n }\n }\n if (rowspanTemp[rowNo] > 0) {\n count -= rowspanTemp[rowNo]\n rowspanTemp[rowNo] = 0\n }\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":["useNamespace","useFormSize","useSlots","provide","descriptionsKey","computed","flattedChildren","COMPONENT_NAME"],"mappings":";;;;;;;;;;;;;;uCAuCc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,cAAc,CAAA,CAAA;AAEtC,IAAA,MAAM,mBAAmBC,8BAAY,EAAA,CAAA;AAErC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAAC,WAAA,CAAQC,uBAAiB,KAA4B,CAAA,CAAA;AAErD,IAAA,MAAM,cAAiB,GAAAC,YAAA,CAAS,MAAM,CAAC,EAAG,CAAA,CAAA,EAAK,EAAA,EAAA,CAAG,CAAE,CAAA,gBAAA,CAAiB,KAAK,CAAC,CAAC,CAAA,CAAA;AAE5E,IAAA,MAAM,aAAa,CACjB,IAAA,EACA,IACA,EAAA,KAAA,EACA,SAAS,KACN,KAAA;AACH,MAAI,IAAA,CAAC,KAAK,KAAO,EAAA;AACf,QAAA,IAAA,CAAK,QAAQ,EAAC,CAAA;AAAA,OAChB;AACA,MAAA,IAAI,OAAO,KAAO,EAAA;AAChB,QAAA,IAAA,CAAK,MAAM,IAAO,GAAA,KAAA,CAAA;AAAA,OACpB;AACA,MAAA,IAAI,MAAQ,EAAA;AAEV,QAAA,IAAA,CAAK,MAAM,IAAO,GAAA,IAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,IAAI,CAAC,KAAA,CAAM,OAAS;AAEpB,QAAA,OAAiB,EAAA,CAAA;AAAiC,MAAA,MAC/C,QACgB,GAAAC,qBAAe,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,KAAA;AAAA,QAClC,IAAA,EAAA,CAAA;AACA,QAAA,WAAuC,GAAC,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,MAAAC,wBAAA,CAAA;AACxC,OAAA,CAAA,CAAA;AACA,MAAA,aAAkB,EAAA,CAAA;AAClB,MAAA,IAAI,IAAY,GAAA,EAAA,CAAA;AAChB,MAAA,IAAA,oBAA+B,CAAA;AAE/B,MAAS,IAAA,SAAA,GAAA,CAAQ,CAAC;AAChB,MAAM,MAAA,WAAY,GAAA,EAAA,CAAA;AAClB,MAAM,QAAA,CAAA,OAAA,CAAA,CAAU,IAAK,EAAA,KAAA,KAAkB;AACvC,QAAA,IAAA,EAAM,QAAQ,CAAK;AACnB,QAAA,MAAA,IAAA,OAAiB,GAAM,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,KAAA,CAAA,CAAA;AAEvB,QAAA,gBAAiB,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAA,CAAA,CAAA;AACf,QAAA,MAAA,KAAS,GAAI,IAAG,CAAI,MAAA,CAAA;AAClB,QAAY,WAAA,CAAA,KAAA,CAAA,KAAA,WAAe,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAC3B,QAAA,IAAA,OAAA,GAAA,CAAA;AACA,UAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,OAAA,EAAA,CAAA,EAAA,EAAA;AAAA,YACF,WAAA,CAAA,EAAA,GAAA,KAAA,GAAA,CAAA,CAAA,KAAA,WAAA,CAAA,EAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,YACF,WAAA,CAAA,KAAA,GAAA,CAAA,CAAA,EAAA,CAAA;AACA,YAAI,SAAA,EAAA,CAAY;AACd,WAAA;AACA,SAAA;AAAqB,QACvB,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,CAAA,EAAA;AACA,UAAI,KAAA,IAAA,WAAiB,CAAA,KAAA,CAAA,CAAS;AAC5B,UAAa,WAAA,CAAA,KAAA,CAAA;AAAuB,SACtC;AAEA,QAAI,IAAA,KAAA,GAAA,QAAmB,CAAA,MAAA,GAAA,CAAA,EAAY;AAEjC,UAAA,SAAiB,IAAA,IAAA,GAAA,KAAgB,GAAA,KAAA,GAAA,IAAA,CAAA;AACjC,SAAA;AACA,QAAA,IAAA,UAAc,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACd,UAAA,MAAA,QAAA,GAAA,KAAA,CAAA,MAAA,GAAA,SAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AAAA,UACF,IAAA,CAAA,IAAA,CAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAEA,UAAA,SAAW,CAAO,IAAA,CAAA,CAAA;AAChB,UAAS,OAAA;AACT,SAAA;AAAc,QAChB,IAAO,IAAA,GAAA,KAAA,EAAA;AACL,UAAA,KAAK,IAAK,IAAA,CAAA;AACV,UAAA,IAAA,CAAK,KAAK,IAAI,CAAA,CAAA;AACd,SAAA,MAAA;AACA,UAAA,IAAA,CAAA,IAAQ,CAAA,UAAA,CAAA,IAAA,EAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAAA,UACV,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAAA,UACD,KAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AAED,UAAO,IAAA,GAAA,EAAA,CAAA;AAAA,SACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,135 +2,34 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var descriptionsRow = require('./descriptions-row2.js');
7
- var token = require('./token.js');
8
- var description = require('./description.js');
9
- var constants = require('./constants.js');
10
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
- var index = require('../../../hooks/use-namespace/index.js');
12
- var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
13
- var vnode = require('../../../utils/vue/vnode.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
6
+ var index = require('../../../hooks/use-size/index.js');
14
7
 
15
- const __default__ = vue.defineComponent({
16
- name: "ElDescriptions"
17
- });
18
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
- ...__default__,
20
- props: description.descriptionProps,
21
- setup(__props) {
22
- const props = __props;
23
- const ns = index.useNamespace("descriptions");
24
- const descriptionsSize = useFormCommonProps.useFormSize();
25
- const slots = vue.useSlots();
26
- vue.provide(token.descriptionsKey, props);
27
- const descriptionKls = vue.computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
28
- const filledNode = (node, span, count, isLast = false) => {
29
- if (!node.props) {
30
- node.props = {};
31
- }
32
- if (span > count) {
33
- node.props.span = count;
34
- }
35
- if (isLast) {
36
- node.props.span = span;
37
- }
38
- return node;
39
- };
40
- const getRows = () => {
41
- if (!slots.default)
42
- return [];
43
- const children = vnode.flattedChildren(slots.default()).filter((node) => {
44
- var _a;
45
- return ((_a = node == null ? void 0 : node.type) == null ? void 0 : _a.name) === constants.COMPONENT_NAME;
46
- });
47
- const rows = [];
48
- let temp = [];
49
- let count = props.column;
50
- let totalSpan = 0;
51
- const rowspanTemp = [];
52
- children.forEach((node, index) => {
53
- var _a, _b, _c;
54
- const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
55
- const rowspan = ((_b = node.props) == null ? void 0 : _b.rowspan) || 1;
56
- const rowNo = rows.length;
57
- rowspanTemp[rowNo] || (rowspanTemp[rowNo] = 0);
58
- if (rowspan > 1) {
59
- for (let i = 1; i < rowspan; i++) {
60
- rowspanTemp[_c = rowNo + i] || (rowspanTemp[_c] = 0);
61
- rowspanTemp[rowNo + i]++;
62
- totalSpan++;
63
- }
64
- }
65
- if (rowspanTemp[rowNo] > 0) {
66
- count -= rowspanTemp[rowNo];
67
- rowspanTemp[rowNo] = 0;
68
- }
69
- if (index < children.length - 1) {
70
- totalSpan += span > count ? count : span;
71
- }
72
- if (index === children.length - 1) {
73
- const lastSpan = props.column - totalSpan % props.column;
74
- temp.push(filledNode(node, lastSpan, count, true));
75
- rows.push(temp);
76
- return;
77
- }
78
- if (span < count) {
79
- count -= span;
80
- temp.push(node);
81
- } else {
82
- temp.push(filledNode(node, span, count));
83
- rows.push(temp);
84
- count = props.column;
85
- temp = [];
86
- }
87
- });
88
- return rows;
89
- };
90
- return (_ctx, _cache) => {
91
- return vue.openBlock(), vue.createElementBlock("div", {
92
- class: vue.normalizeClass(vue.unref(descriptionKls))
93
- }, [
94
- _ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", {
95
- key: 0,
96
- class: vue.normalizeClass(vue.unref(ns).e("header"))
97
- }, [
98
- vue.createElementVNode("div", {
99
- class: vue.normalizeClass(vue.unref(ns).e("title"))
100
- }, [
101
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
102
- vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
103
- ])
104
- ], 2),
105
- vue.createElementVNode("div", {
106
- class: vue.normalizeClass(vue.unref(ns).e("extra"))
107
- }, [
108
- vue.renderSlot(_ctx.$slots, "extra", {}, () => [
109
- vue.createTextVNode(vue.toDisplayString(_ctx.extra), 1)
110
- ])
111
- ], 2)
112
- ], 2)) : vue.createCommentVNode("v-if", true),
113
- vue.createElementVNode("div", {
114
- class: vue.normalizeClass(vue.unref(ns).e("body"))
115
- }, [
116
- vue.createElementVNode("table", {
117
- class: vue.normalizeClass([vue.unref(ns).e("table"), vue.unref(ns).is("bordered", _ctx.border)])
118
- }, [
119
- vue.createElementVNode("tbody", null, [
120
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getRows(), (row, _index) => {
121
- return vue.openBlock(), vue.createBlock(descriptionsRow["default"], {
122
- key: _index,
123
- row
124
- }, null, 8, ["row"]);
125
- }), 128))
126
- ])
127
- ], 2)
128
- ], 2)
129
- ], 2);
130
- };
8
+ const descriptionProps = runtime.buildProps({
9
+ border: Boolean,
10
+ column: {
11
+ type: Number,
12
+ default: 3
13
+ },
14
+ direction: {
15
+ type: String,
16
+ values: ["horizontal", "vertical"],
17
+ default: "horizontal"
18
+ },
19
+ size: index.useSizeProp,
20
+ title: {
21
+ type: String,
22
+ default: ""
23
+ },
24
+ extra: {
25
+ type: String,
26
+ default: ""
27
+ },
28
+ labelWidth: {
29
+ type: [String, Number],
30
+ default: ""
131
31
  }
132
32
  });
133
- var Descriptions = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "description.vue"]]);
134
33
 
135
- exports["default"] = Descriptions;
34
+ exports.descriptionProps = descriptionProps;
136
35
  //# sourceMappingURL=description2.js.map