@element-plus/nightly 0.0.20250410 → 0.0.20250412

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 (626) hide show
  1. package/dist/index.full.js +3 -3
  2. package/dist/index.full.min.js +3 -3
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +3 -3
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +3 -3
  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/index.mjs +26 -26
  276. package/es/packages/components/anchor/index.mjs +2 -2
  277. package/es/packages/components/anchor/src/anchor.mjs +193 -42
  278. package/es/packages/components/anchor/src/anchor.mjs.map +1 -1
  279. package/es/packages/components/anchor/src/anchor2.mjs +42 -193
  280. package/es/packages/components/anchor/src/anchor2.mjs.map +1 -1
  281. package/es/packages/components/autocomplete/index.mjs +2 -2
  282. package/es/packages/components/autocomplete/src/autocomplete.mjs +79 -369
  283. package/es/packages/components/autocomplete/src/autocomplete.mjs.map +1 -1
  284. package/es/packages/components/autocomplete/src/autocomplete2.mjs +369 -79
  285. package/es/packages/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  286. package/es/packages/components/breadcrumb/index.mjs +4 -4
  287. package/es/packages/components/breadcrumb/src/breadcrumb-item.mjs +8 -56
  288. package/es/packages/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  289. package/es/packages/components/breadcrumb/src/breadcrumb-item2.mjs +56 -8
  290. package/es/packages/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  291. package/es/packages/components/breadcrumb/src/breadcrumb.mjs +37 -10
  292. package/es/packages/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  293. package/es/packages/components/breadcrumb/src/breadcrumb2.mjs +10 -37
  294. package/es/packages/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  295. package/es/packages/components/calendar/index.mjs +2 -2
  296. package/es/packages/components/calendar/src/calendar.mjs +16 -134
  297. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  298. package/es/packages/components/calendar/src/calendar2.mjs +134 -16
  299. package/es/packages/components/calendar/src/calendar2.mjs.map +1 -1
  300. package/es/packages/components/cascader/src/cascader.mjs +2 -2
  301. package/es/packages/components/cascader-panel/src/index.mjs +1 -1
  302. package/es/packages/components/cascader-panel/src/menu.mjs +1 -1
  303. package/es/packages/components/cascader-panel/src/node.mjs +115 -206
  304. package/es/packages/components/cascader-panel/src/node.mjs.map +1 -1
  305. package/es/packages/components/cascader-panel/src/node2.mjs +206 -115
  306. package/es/packages/components/cascader-panel/src/node2.mjs.map +1 -1
  307. package/es/packages/components/cascader-panel/src/store.mjs +1 -1
  308. package/es/packages/components/check-tag/index.mjs +2 -2
  309. package/es/packages/components/check-tag/src/check-tag.mjs +14 -38
  310. package/es/packages/components/check-tag/src/check-tag.mjs.map +1 -1
  311. package/es/packages/components/check-tag/src/check-tag2.mjs +38 -14
  312. package/es/packages/components/check-tag/src/check-tag2.mjs.map +1 -1
  313. package/es/packages/components/color-picker/src/color-picker.mjs +1 -1
  314. package/es/packages/components/descriptions/src/description2.mjs +1 -1
  315. package/es/packages/components/descriptions/src/descriptions-row.mjs +63 -6
  316. package/es/packages/components/descriptions/src/descriptions-row.mjs.map +1 -1
  317. package/es/packages/components/descriptions/src/descriptions-row2.mjs +6 -63
  318. package/es/packages/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  319. package/es/packages/components/dropdown/index.mjs +2 -2
  320. package/es/packages/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  321. package/es/packages/components/dropdown/src/dropdown-item.mjs +1 -1
  322. package/es/packages/components/dropdown/src/dropdown-menu.mjs +1 -1
  323. package/es/packages/components/dropdown/src/dropdown.mjs +108 -299
  324. package/es/packages/components/dropdown/src/dropdown.mjs.map +1 -1
  325. package/es/packages/components/dropdown/src/dropdown2.mjs +299 -108
  326. package/es/packages/components/dropdown/src/dropdown2.mjs.map +1 -1
  327. package/es/packages/components/form/index.mjs +4 -4
  328. package/es/packages/components/form/src/form-item.mjs +47 -319
  329. package/es/packages/components/form/src/form-item.mjs.map +1 -1
  330. package/es/packages/components/form/src/form-item2.mjs +319 -47
  331. package/es/packages/components/form/src/form-item2.mjs.map +1 -1
  332. package/es/packages/components/form/src/form.mjs +53 -153
  333. package/es/packages/components/form/src/form.mjs.map +1 -1
  334. package/es/packages/components/form/src/form2.mjs +153 -53
  335. package/es/packages/components/form/src/form2.mjs.map +1 -1
  336. package/es/packages/components/image/index.mjs +2 -2
  337. package/es/packages/components/image/src/image.mjs +68 -222
  338. package/es/packages/components/image/src/image.mjs.map +1 -1
  339. package/es/packages/components/image/src/image2.mjs +222 -68
  340. package/es/packages/components/image/src/image2.mjs.map +1 -1
  341. package/es/packages/components/image-viewer/index.mjs +2 -2
  342. package/es/packages/components/image-viewer/src/image-viewer.mjs +49 -447
  343. package/es/packages/components/image-viewer/src/image-viewer.mjs.map +1 -1
  344. package/es/packages/components/image-viewer/src/image-viewer2.mjs +447 -49
  345. package/es/packages/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  346. package/es/packages/components/index.mjs +26 -26
  347. package/es/packages/components/input-tag/index.mjs +2 -2
  348. package/es/packages/components/input-tag/src/input-tag.mjs +215 -69
  349. package/es/packages/components/input-tag/src/input-tag.mjs.map +1 -1
  350. package/es/packages/components/input-tag/src/input-tag2.mjs +69 -215
  351. package/es/packages/components/input-tag/src/input-tag2.mjs.map +1 -1
  352. package/es/packages/components/mention/index.mjs +2 -2
  353. package/es/packages/components/mention/src/mention.mjs +282 -62
  354. package/es/packages/components/mention/src/mention.mjs.map +1 -1
  355. package/es/packages/components/mention/src/mention2.mjs +62 -282
  356. package/es/packages/components/mention/src/mention2.mjs.map +1 -1
  357. package/es/packages/components/menu/index.mjs +2 -2
  358. package/es/packages/components/menu/src/menu-item-group.mjs +33 -4
  359. package/es/packages/components/menu/src/menu-item-group.mjs.map +1 -1
  360. package/es/packages/components/menu/src/menu-item-group2.mjs +4 -33
  361. package/es/packages/components/menu/src/menu-item-group2.mjs.map +1 -1
  362. package/es/packages/components/notification/index.mjs +1 -1
  363. package/es/packages/components/notification/src/notification.mjs +68 -142
  364. package/es/packages/components/notification/src/notification.mjs.map +1 -1
  365. package/es/packages/components/notification/src/notification2.mjs +142 -68
  366. package/es/packages/components/notification/src/notification2.mjs.map +1 -1
  367. package/es/packages/components/notification/src/notify.mjs +2 -2
  368. package/es/packages/components/pagination/src/components/total.mjs +6 -26
  369. package/es/packages/components/pagination/src/components/total.mjs.map +1 -1
  370. package/es/packages/components/pagination/src/components/total2.mjs +26 -6
  371. package/es/packages/components/pagination/src/components/total2.mjs.map +1 -1
  372. package/es/packages/components/pagination/src/pagination.mjs +1 -1
  373. package/es/packages/components/popconfirm/src/popconfirm.mjs +1 -1
  374. package/es/packages/components/popover/src/popover.mjs +2 -2
  375. package/es/packages/components/popper/index.mjs +2 -2
  376. package/es/packages/components/popper/src/arrow.mjs +7 -36
  377. package/es/packages/components/popper/src/arrow.mjs.map +1 -1
  378. package/es/packages/components/popper/src/arrow2.mjs +36 -7
  379. package/es/packages/components/popper/src/arrow2.mjs.map +1 -1
  380. package/es/packages/components/radio/index.mjs +4 -4
  381. package/es/packages/components/radio/src/radio-button.mjs +5 -65
  382. package/es/packages/components/radio/src/radio-button.mjs.map +1 -1
  383. package/es/packages/components/radio/src/radio-button2.mjs +65 -5
  384. package/es/packages/components/radio/src/radio-button2.mjs.map +1 -1
  385. package/es/packages/components/radio/src/radio-group.mjs +1 -1
  386. package/es/packages/components/radio/src/radio.mjs +32 -74
  387. package/es/packages/components/radio/src/radio.mjs.map +1 -1
  388. package/es/packages/components/radio/src/radio2.mjs +74 -32
  389. package/es/packages/components/radio/src/radio2.mjs.map +1 -1
  390. package/es/packages/components/segmented/index.mjs +2 -2
  391. package/es/packages/components/segmented/src/segmented.mjs +42 -168
  392. package/es/packages/components/segmented/src/segmented.mjs.map +1 -1
  393. package/es/packages/components/segmented/src/segmented2.mjs +168 -42
  394. package/es/packages/components/segmented/src/segmented2.mjs.map +1 -1
  395. package/es/packages/components/select/src/select.mjs +2 -2
  396. package/es/packages/components/select-v2/src/defaults.mjs +2 -2
  397. package/es/packages/components/tabs/src/tabs.mjs +1 -1
  398. package/es/packages/components/tabs/src/tabs.mjs.map +1 -1
  399. package/es/packages/components/tag/index.mjs +2 -2
  400. package/es/packages/components/tag/src/tag.mjs +27 -99
  401. package/es/packages/components/tag/src/tag.mjs.map +1 -1
  402. package/es/packages/components/tag/src/tag2.mjs +99 -27
  403. package/es/packages/components/tag/src/tag2.mjs.map +1 -1
  404. package/es/packages/components/teleport/index.mjs +2 -2
  405. package/es/packages/components/teleport/src/teleport.mjs +8 -18
  406. package/es/packages/components/teleport/src/teleport.mjs.map +1 -1
  407. package/es/packages/components/teleport/src/teleport2.mjs +18 -8
  408. package/es/packages/components/teleport/src/teleport2.mjs.map +1 -1
  409. package/es/packages/components/text/index.mjs +2 -2
  410. package/es/packages/components/text/src/text.mjs +21 -67
  411. package/es/packages/components/text/src/text.mjs.map +1 -1
  412. package/es/packages/components/text/src/text2.mjs +67 -21
  413. package/es/packages/components/text/src/text2.mjs.map +1 -1
  414. package/es/packages/components/tooltip/index.mjs +1 -1
  415. package/es/packages/components/tooltip/src/content.mjs +192 -28
  416. package/es/packages/components/tooltip/src/content.mjs.map +1 -1
  417. package/es/packages/components/tooltip/src/content2.mjs +28 -192
  418. package/es/packages/components/tooltip/src/content2.mjs.map +1 -1
  419. package/es/packages/components/tooltip/src/tooltip.mjs +2 -2
  420. package/es/packages/components/tooltip/src/tooltip2.mjs +2 -2
  421. package/es/packages/components/tooltip-v2/index.mjs +1 -1
  422. package/es/packages/components/tooltip-v2/src/arrow.mjs +21 -37
  423. package/es/packages/components/tooltip-v2/src/arrow.mjs.map +1 -1
  424. package/es/packages/components/tooltip-v2/src/arrow2.mjs +37 -21
  425. package/es/packages/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  426. package/es/packages/components/tooltip-v2/src/tooltip.mjs +1 -1
  427. package/es/packages/components/tooltip-v2/src/tooltip2.mjs +2 -2
  428. package/es/packages/components/tour/index.mjs +1 -1
  429. package/es/packages/components/tour/src/content.mjs +43 -67
  430. package/es/packages/components/tour/src/content.mjs.map +1 -1
  431. package/es/packages/components/tour/src/content2.mjs +67 -43
  432. package/es/packages/components/tour/src/content2.mjs.map +1 -1
  433. package/es/packages/components/tour/src/step.mjs +1 -1
  434. package/es/packages/components/tour/src/tour.mjs +1 -1
  435. package/es/packages/components/tour/src/tour2.mjs +1 -1
  436. package/es/packages/components/upload/index.mjs +1 -1
  437. package/es/packages/components/upload/src/upload-list.mjs +28 -173
  438. package/es/packages/components/upload/src/upload-list.mjs.map +1 -1
  439. package/es/packages/components/upload/src/upload-list2.mjs +173 -28
  440. package/es/packages/components/upload/src/upload-list2.mjs.map +1 -1
  441. package/es/packages/components/upload/src/upload2.mjs +1 -1
  442. package/es/packages/components/watermark/index.mjs +2 -2
  443. package/es/packages/components/watermark/src/watermark.mjs +220 -27
  444. package/es/packages/components/watermark/src/watermark.mjs.map +1 -1
  445. package/es/packages/components/watermark/src/watermark2.mjs +27 -220
  446. package/es/packages/components/watermark/src/watermark2.mjs.map +1 -1
  447. package/es/version.d.ts +1 -1
  448. package/es/version.mjs +1 -1
  449. package/es/version.mjs.map +1 -1
  450. package/lib/index.js +26 -26
  451. package/lib/packages/components/anchor/index.js +2 -2
  452. package/lib/packages/components/anchor/src/anchor.js +192 -42
  453. package/lib/packages/components/anchor/src/anchor.js.map +1 -1
  454. package/lib/packages/components/anchor/src/anchor2.js +42 -192
  455. package/lib/packages/components/anchor/src/anchor2.js.map +1 -1
  456. package/lib/packages/components/autocomplete/index.js +2 -2
  457. package/lib/packages/components/autocomplete/src/autocomplete.js +78 -367
  458. package/lib/packages/components/autocomplete/src/autocomplete.js.map +1 -1
  459. package/lib/packages/components/autocomplete/src/autocomplete2.js +367 -78
  460. package/lib/packages/components/autocomplete/src/autocomplete2.js.map +1 -1
  461. package/lib/packages/components/breadcrumb/index.js +4 -4
  462. package/lib/packages/components/breadcrumb/src/breadcrumb-item.js +8 -56
  463. package/lib/packages/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  464. package/lib/packages/components/breadcrumb/src/breadcrumb-item2.js +56 -8
  465. package/lib/packages/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  466. package/lib/packages/components/breadcrumb/src/breadcrumb.js +37 -10
  467. package/lib/packages/components/breadcrumb/src/breadcrumb.js.map +1 -1
  468. package/lib/packages/components/breadcrumb/src/breadcrumb2.js +10 -37
  469. package/lib/packages/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  470. package/lib/packages/components/calendar/index.js +2 -2
  471. package/lib/packages/components/calendar/src/calendar.js +17 -134
  472. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  473. package/lib/packages/components/calendar/src/calendar2.js +134 -17
  474. package/lib/packages/components/calendar/src/calendar2.js.map +1 -1
  475. package/lib/packages/components/cascader/src/cascader.js +2 -2
  476. package/lib/packages/components/cascader-panel/src/index.js +1 -1
  477. package/lib/packages/components/cascader-panel/src/menu.js +1 -1
  478. package/lib/packages/components/cascader-panel/src/node.js +115 -206
  479. package/lib/packages/components/cascader-panel/src/node.js.map +1 -1
  480. package/lib/packages/components/cascader-panel/src/node2.js +206 -115
  481. package/lib/packages/components/cascader-panel/src/node2.js.map +1 -1
  482. package/lib/packages/components/cascader-panel/src/store.js +1 -1
  483. package/lib/packages/components/check-tag/index.js +2 -2
  484. package/lib/packages/components/check-tag/src/check-tag.js +15 -38
  485. package/lib/packages/components/check-tag/src/check-tag.js.map +1 -1
  486. package/lib/packages/components/check-tag/src/check-tag2.js +38 -15
  487. package/lib/packages/components/check-tag/src/check-tag2.js.map +1 -1
  488. package/lib/packages/components/color-picker/src/color-picker.js +1 -1
  489. package/lib/packages/components/descriptions/src/description2.js +1 -1
  490. package/lib/packages/components/descriptions/src/descriptions-row.js +63 -6
  491. package/lib/packages/components/descriptions/src/descriptions-row.js.map +1 -1
  492. package/lib/packages/components/descriptions/src/descriptions-row2.js +6 -63
  493. package/lib/packages/components/descriptions/src/descriptions-row2.js.map +1 -1
  494. package/lib/packages/components/dropdown/index.js +2 -2
  495. package/lib/packages/components/dropdown/src/dropdown-item-impl.js +1 -1
  496. package/lib/packages/components/dropdown/src/dropdown-item.js +1 -1
  497. package/lib/packages/components/dropdown/src/dropdown-menu.js +1 -1
  498. package/lib/packages/components/dropdown/src/dropdown.js +117 -299
  499. package/lib/packages/components/dropdown/src/dropdown.js.map +1 -1
  500. package/lib/packages/components/dropdown/src/dropdown2.js +299 -117
  501. package/lib/packages/components/dropdown/src/dropdown2.js.map +1 -1
  502. package/lib/packages/components/form/index.js +4 -4
  503. package/lib/packages/components/form/src/form-item.js +48 -323
  504. package/lib/packages/components/form/src/form-item.js.map +1 -1
  505. package/lib/packages/components/form/src/form-item2.js +323 -48
  506. package/lib/packages/components/form/src/form-item2.js.map +1 -1
  507. package/lib/packages/components/form/src/form.js +54 -152
  508. package/lib/packages/components/form/src/form.js.map +1 -1
  509. package/lib/packages/components/form/src/form2.js +152 -54
  510. package/lib/packages/components/form/src/form2.js.map +1 -1
  511. package/lib/packages/components/image/index.js +2 -2
  512. package/lib/packages/components/image/src/image.js +68 -221
  513. package/lib/packages/components/image/src/image.js.map +1 -1
  514. package/lib/packages/components/image/src/image2.js +221 -68
  515. package/lib/packages/components/image/src/image2.js.map +1 -1
  516. package/lib/packages/components/image-viewer/index.js +2 -2
  517. package/lib/packages/components/image-viewer/src/image-viewer.js +50 -447
  518. package/lib/packages/components/image-viewer/src/image-viewer.js.map +1 -1
  519. package/lib/packages/components/image-viewer/src/image-viewer2.js +447 -50
  520. package/lib/packages/components/image-viewer/src/image-viewer2.js.map +1 -1
  521. package/lib/packages/components/index.js +26 -26
  522. package/lib/packages/components/input-tag/index.js +2 -2
  523. package/lib/packages/components/input-tag/src/input-tag.js +214 -69
  524. package/lib/packages/components/input-tag/src/input-tag.js.map +1 -1
  525. package/lib/packages/components/input-tag/src/input-tag2.js +69 -214
  526. package/lib/packages/components/input-tag/src/input-tag2.js.map +1 -1
  527. package/lib/packages/components/mention/index.js +2 -2
  528. package/lib/packages/components/mention/src/mention.js +281 -62
  529. package/lib/packages/components/mention/src/mention.js.map +1 -1
  530. package/lib/packages/components/mention/src/mention2.js +62 -281
  531. package/lib/packages/components/mention/src/mention2.js.map +1 -1
  532. package/lib/packages/components/menu/index.js +2 -2
  533. package/lib/packages/components/menu/src/menu-item-group.js +33 -4
  534. package/lib/packages/components/menu/src/menu-item-group.js.map +1 -1
  535. package/lib/packages/components/menu/src/menu-item-group2.js +4 -33
  536. package/lib/packages/components/menu/src/menu-item-group2.js.map +1 -1
  537. package/lib/packages/components/notification/index.js +1 -1
  538. package/lib/packages/components/notification/src/notification.js +69 -141
  539. package/lib/packages/components/notification/src/notification.js.map +1 -1
  540. package/lib/packages/components/notification/src/notification2.js +141 -69
  541. package/lib/packages/components/notification/src/notification2.js.map +1 -1
  542. package/lib/packages/components/notification/src/notify.js +2 -2
  543. package/lib/packages/components/pagination/src/components/total.js +6 -26
  544. package/lib/packages/components/pagination/src/components/total.js.map +1 -1
  545. package/lib/packages/components/pagination/src/components/total2.js +26 -6
  546. package/lib/packages/components/pagination/src/components/total2.js.map +1 -1
  547. package/lib/packages/components/pagination/src/pagination.js +1 -1
  548. package/lib/packages/components/popconfirm/src/popconfirm.js +1 -1
  549. package/lib/packages/components/popover/src/popover.js +2 -2
  550. package/lib/packages/components/popper/index.js +2 -2
  551. package/lib/packages/components/popper/src/arrow.js +8 -36
  552. package/lib/packages/components/popper/src/arrow.js.map +1 -1
  553. package/lib/packages/components/popper/src/arrow2.js +36 -8
  554. package/lib/packages/components/popper/src/arrow2.js.map +1 -1
  555. package/lib/packages/components/radio/index.js +4 -4
  556. package/lib/packages/components/radio/src/radio-button.js +5 -65
  557. package/lib/packages/components/radio/src/radio-button.js.map +1 -1
  558. package/lib/packages/components/radio/src/radio-button2.js +65 -5
  559. package/lib/packages/components/radio/src/radio-button2.js.map +1 -1
  560. package/lib/packages/components/radio/src/radio-group.js +1 -1
  561. package/lib/packages/components/radio/src/radio.js +33 -73
  562. package/lib/packages/components/radio/src/radio.js.map +1 -1
  563. package/lib/packages/components/radio/src/radio2.js +73 -33
  564. package/lib/packages/components/radio/src/radio2.js.map +1 -1
  565. package/lib/packages/components/segmented/index.js +2 -2
  566. package/lib/packages/components/segmented/src/segmented.js +44 -168
  567. package/lib/packages/components/segmented/src/segmented.js.map +1 -1
  568. package/lib/packages/components/segmented/src/segmented2.js +168 -44
  569. package/lib/packages/components/segmented/src/segmented2.js.map +1 -1
  570. package/lib/packages/components/select/src/select.js +2 -2
  571. package/lib/packages/components/select-v2/src/defaults.js +2 -2
  572. package/lib/packages/components/tabs/src/tabs.js +1 -1
  573. package/lib/packages/components/tabs/src/tabs.js.map +1 -1
  574. package/lib/packages/components/tag/index.js +2 -2
  575. package/lib/packages/components/tag/src/tag.js +28 -99
  576. package/lib/packages/components/tag/src/tag.js.map +1 -1
  577. package/lib/packages/components/tag/src/tag2.js +99 -28
  578. package/lib/packages/components/tag/src/tag2.js.map +1 -1
  579. package/lib/packages/components/teleport/index.js +2 -2
  580. package/lib/packages/components/teleport/src/teleport.js +8 -18
  581. package/lib/packages/components/teleport/src/teleport.js.map +1 -1
  582. package/lib/packages/components/teleport/src/teleport2.js +18 -8
  583. package/lib/packages/components/teleport/src/teleport2.js.map +1 -1
  584. package/lib/packages/components/text/index.js +2 -2
  585. package/lib/packages/components/text/src/text.js +21 -67
  586. package/lib/packages/components/text/src/text.js.map +1 -1
  587. package/lib/packages/components/text/src/text2.js +67 -21
  588. package/lib/packages/components/text/src/text2.js.map +1 -1
  589. package/lib/packages/components/tooltip/index.js +1 -1
  590. package/lib/packages/components/tooltip/src/content.js +192 -28
  591. package/lib/packages/components/tooltip/src/content.js.map +1 -1
  592. package/lib/packages/components/tooltip/src/content2.js +28 -192
  593. package/lib/packages/components/tooltip/src/content2.js.map +1 -1
  594. package/lib/packages/components/tooltip/src/tooltip.js +2 -2
  595. package/lib/packages/components/tooltip/src/tooltip2.js +2 -2
  596. package/lib/packages/components/tooltip-v2/index.js +1 -1
  597. package/lib/packages/components/tooltip-v2/src/arrow.js +22 -37
  598. package/lib/packages/components/tooltip-v2/src/arrow.js.map +1 -1
  599. package/lib/packages/components/tooltip-v2/src/arrow2.js +37 -22
  600. package/lib/packages/components/tooltip-v2/src/arrow2.js.map +1 -1
  601. package/lib/packages/components/tooltip-v2/src/tooltip.js +1 -1
  602. package/lib/packages/components/tooltip-v2/src/tooltip2.js +2 -2
  603. package/lib/packages/components/tour/index.js +1 -1
  604. package/lib/packages/components/tour/src/content.js +46 -67
  605. package/lib/packages/components/tour/src/content.js.map +1 -1
  606. package/lib/packages/components/tour/src/content2.js +67 -46
  607. package/lib/packages/components/tour/src/content2.js.map +1 -1
  608. package/lib/packages/components/tour/src/step.js +1 -1
  609. package/lib/packages/components/tour/src/tour.js +1 -1
  610. package/lib/packages/components/tour/src/tour2.js +1 -1
  611. package/lib/packages/components/upload/index.js +1 -1
  612. package/lib/packages/components/upload/src/upload-list.js +29 -173
  613. package/lib/packages/components/upload/src/upload-list.js.map +1 -1
  614. package/lib/packages/components/upload/src/upload-list2.js +173 -29
  615. package/lib/packages/components/upload/src/upload-list2.js.map +1 -1
  616. package/lib/packages/components/upload/src/upload2.js +1 -1
  617. package/lib/packages/components/watermark/index.js +2 -2
  618. package/lib/packages/components/watermark/src/watermark.js +220 -27
  619. package/lib/packages/components/watermark/src/watermark.js.map +1 -1
  620. package/lib/packages/components/watermark/src/watermark2.js +27 -220
  621. package/lib/packages/components/watermark/src/watermark2.js.map +1 -1
  622. package/lib/version.d.ts +1 -1
  623. package/lib/version.js +1 -1
  624. package/lib/version.js.map +1 -1
  625. package/package.json +2 -2
  626. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","sources":["../../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst getField: FormContext['getField'] = (prop) => {\n return fields.find((field) => field.prop === prop)\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error') field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n await callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n await callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["fields","props","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"form.mjs","sources":["../../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: [Object, Boolean],\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":[],"mappings":";;;;;AAQY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE,OAAO;AAC/B,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;AACpH;;;;"}
@@ -1,59 +1,159 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
2
- import { componentSizes } from '../../../constants/size.mjs';
3
- import { isArray, isString } from '@vue/shared';
4
- import { isBoolean } from '../../../utils/types.mjs';
1
+ import { defineComponent, computed, watch, provide, reactive, toRefs, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
2
+ import { formContextKey } from './constants.mjs';
3
+ import { formProps, formEmits } from './form.mjs';
4
+ import { useFormLabelWidth, filterFields } from './utils.mjs';
5
+ import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useFormSize } from './hooks/use-form-common-props.mjs';
7
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
8
+ import { debugWarn } from '../../../utils/error.mjs';
9
+ import { isFunction } from '@vue/shared';
5
10
 
6
- const formMetaProps = buildProps({
7
- size: {
8
- type: String,
9
- values: componentSizes
10
- },
11
- disabled: Boolean
11
+ const COMPONENT_NAME = "ElForm";
12
+ const __default__ = defineComponent({
13
+ name: COMPONENT_NAME
12
14
  });
13
- const formProps = buildProps({
14
- ...formMetaProps,
15
- model: Object,
16
- rules: {
17
- type: definePropType(Object)
18
- },
19
- labelPosition: {
20
- type: String,
21
- values: ["left", "right", "top"],
22
- default: "right"
23
- },
24
- requireAsteriskPosition: {
25
- type: String,
26
- values: ["left", "right"],
27
- default: "left"
28
- },
29
- labelWidth: {
30
- type: [String, Number],
31
- default: ""
32
- },
33
- labelSuffix: {
34
- type: String,
35
- default: ""
36
- },
37
- inline: Boolean,
38
- inlineMessage: Boolean,
39
- statusIcon: Boolean,
40
- showMessage: {
41
- type: Boolean,
42
- default: true
43
- },
44
- validateOnRuleChange: {
45
- type: Boolean,
46
- default: true
47
- },
48
- hideRequiredAsterisk: Boolean,
49
- scrollToError: Boolean,
50
- scrollIntoViewOptions: {
51
- type: [Object, Boolean]
15
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16
+ ...__default__,
17
+ props: formProps,
18
+ emits: formEmits,
19
+ setup(__props, { expose, emit }) {
20
+ const props = __props;
21
+ const fields = [];
22
+ const formSize = useFormSize();
23
+ const ns = useNamespace("form");
24
+ const formClasses = computed(() => {
25
+ const { labelPosition, inline } = props;
26
+ return [
27
+ ns.b(),
28
+ ns.m(formSize.value || "default"),
29
+ {
30
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
31
+ [ns.m("inline")]: inline
32
+ }
33
+ ];
34
+ });
35
+ const getField = (prop) => {
36
+ return fields.find((field) => field.prop === prop);
37
+ };
38
+ const addField = (field) => {
39
+ fields.push(field);
40
+ };
41
+ const removeField = (field) => {
42
+ if (field.prop) {
43
+ fields.splice(fields.indexOf(field), 1);
44
+ }
45
+ };
46
+ const resetFields = (properties = []) => {
47
+ if (!props.model) {
48
+ debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
49
+ return;
50
+ }
51
+ filterFields(fields, properties).forEach((field) => field.resetField());
52
+ };
53
+ const clearValidate = (props2 = []) => {
54
+ filterFields(fields, props2).forEach((field) => field.clearValidate());
55
+ };
56
+ const isValidatable = computed(() => {
57
+ const hasModel = !!props.model;
58
+ if (!hasModel) {
59
+ debugWarn(COMPONENT_NAME, "model is required for validate to work.");
60
+ }
61
+ return hasModel;
62
+ });
63
+ const obtainValidateFields = (props2) => {
64
+ if (fields.length === 0)
65
+ return [];
66
+ const filteredFields = filterFields(fields, props2);
67
+ if (!filteredFields.length) {
68
+ debugWarn(COMPONENT_NAME, "please pass correct props!");
69
+ return [];
70
+ }
71
+ return filteredFields;
72
+ };
73
+ const validate = async (callback) => validateField(void 0, callback);
74
+ const doValidateField = async (props2 = []) => {
75
+ if (!isValidatable.value)
76
+ return false;
77
+ const fields2 = obtainValidateFields(props2);
78
+ if (fields2.length === 0)
79
+ return true;
80
+ let validationErrors = {};
81
+ for (const field of fields2) {
82
+ try {
83
+ await field.validate("");
84
+ if (field.validateState === "error")
85
+ field.resetField();
86
+ } catch (fields3) {
87
+ validationErrors = {
88
+ ...validationErrors,
89
+ ...fields3
90
+ };
91
+ }
92
+ }
93
+ if (Object.keys(validationErrors).length === 0)
94
+ return true;
95
+ return Promise.reject(validationErrors);
96
+ };
97
+ const validateField = async (modelProps = [], callback) => {
98
+ const shouldThrow = !isFunction(callback);
99
+ try {
100
+ const result = await doValidateField(modelProps);
101
+ if (result === true) {
102
+ await (callback == null ? void 0 : callback(result));
103
+ }
104
+ return result;
105
+ } catch (e) {
106
+ if (e instanceof Error)
107
+ throw e;
108
+ const invalidFields = e;
109
+ if (props.scrollToError) {
110
+ scrollToField(Object.keys(invalidFields)[0]);
111
+ }
112
+ await (callback == null ? void 0 : callback(false, invalidFields));
113
+ return shouldThrow && Promise.reject(invalidFields);
114
+ }
115
+ };
116
+ const scrollToField = (prop) => {
117
+ var _a;
118
+ const field = filterFields(fields, prop)[0];
119
+ if (field) {
120
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
121
+ }
122
+ };
123
+ watch(() => props.rules, () => {
124
+ if (props.validateOnRuleChange) {
125
+ validate().catch((err) => debugWarn(err));
126
+ }
127
+ }, { deep: true, flush: "post" });
128
+ provide(formContextKey, reactive({
129
+ ...toRefs(props),
130
+ emit,
131
+ resetFields,
132
+ clearValidate,
133
+ validateField,
134
+ getField,
135
+ addField,
136
+ removeField,
137
+ ...useFormLabelWidth()
138
+ }));
139
+ expose({
140
+ validate,
141
+ validateField,
142
+ resetFields,
143
+ clearValidate,
144
+ scrollToField,
145
+ fields
146
+ });
147
+ return (_ctx, _cache) => {
148
+ return openBlock(), createElementBlock("form", {
149
+ class: normalizeClass(unref(formClasses))
150
+ }, [
151
+ renderSlot(_ctx.$slots, "default")
152
+ ], 2);
153
+ };
52
154
  }
53
155
  });
54
- const formEmits = {
55
- validate: (prop, isValid, message) => (isArray(prop) || isString(prop)) && isBoolean(isValid) && isString(message)
56
- };
156
+ var Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form.vue"]]);
57
157
 
58
- export { formEmits, formMetaProps, formProps };
158
+ export { Form as default };
59
159
  //# sourceMappingURL=form2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form2.mjs","sources":["../../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: [Object, Boolean],\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":[],"mappings":";;;;;AAQY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE,OAAO;AAC/B,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;AACpH;;;;"}
1
+ {"version":3,"file":"form2.mjs","sources":["../../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst getField: FormContext['getField'] = (prop) => {\n return fields.find((field) => field.prop === prop)\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error') field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n await callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n await callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["fields","props","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import Image from './src/image.mjs';
2
- export { imageEmits, imageProps } from './src/image2.mjs';
1
+ import Image from './src/image2.mjs';
2
+ export { imageEmits, imageProps } from './src/image.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElImage = withInstall(Image);
@@ -1,227 +1,73 @@
1
- import { defineComponent, useAttrs, computed, ref, watch, onMounted, openBlock, createElementBlock, mergeProps, unref, renderSlot, createElementVNode, normalizeClass, toDisplayString, Fragment, createCommentVNode, createBlock, withCtx, normalizeProps, guardReactiveProps, nextTick } from 'vue';
2
- import { isClient, useThrottleFn, useEventListener } from '@vueuse/core';
3
- import { fromPairs } from 'lodash-unified';
4
- import { ElImageViewer } from '../../image-viewer/index.mjs';
5
- import { imageProps, imageEmits } from './image2.mjs';
6
- import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
7
- import { isInContainer } from '../../../utils/dom/position.mjs';
8
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
9
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
- import { useAttrs as useAttrs$1 } from '../../../hooks/use-attrs/index.mjs';
11
- import { isArray, isString } from '@vue/shared';
12
- import { isElement } from '../../../utils/types.mjs';
13
- import { getScrollContainer } from '../../../utils/dom/scroll.mjs';
1
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
2
+ import { mutable } from '../../../utils/typescript.mjs';
3
+ import { isNumber } from '../../../utils/types.mjs';
14
4
 
15
- const __default__ = defineComponent({
16
- name: "ElImage",
17
- inheritAttrs: false
18
- });
19
- const _sfc_main = /* @__PURE__ */ defineComponent({
20
- ...__default__,
21
- props: imageProps,
22
- emits: imageEmits,
23
- setup(__props, { expose, emit }) {
24
- const props = __props;
25
- const { t } = useLocale();
26
- const ns = useNamespace("image");
27
- const rawAttrs = useAttrs();
28
- const containerAttrs = computed(() => {
29
- return fromPairs(Object.entries(rawAttrs).filter(([key]) => /^(data-|on[A-Z])/i.test(key) || ["id", "style"].includes(key)));
30
- });
31
- const imgAttrs = useAttrs$1({
32
- excludeListeners: true,
33
- excludeKeys: computed(() => {
34
- return Object.keys(containerAttrs.value);
35
- })
36
- });
37
- const imageSrc = ref();
38
- const hasLoadError = ref(false);
39
- const isLoading = ref(true);
40
- const showViewer = ref(false);
41
- const container = ref();
42
- const _scrollContainer = ref();
43
- const supportLoading = isClient && "loading" in HTMLImageElement.prototype;
44
- let stopScrollListener;
45
- const imageKls = computed(() => [
46
- ns.e("inner"),
47
- preview.value && ns.e("preview"),
48
- isLoading.value && ns.is("loading")
49
- ]);
50
- const imageStyle = computed(() => {
51
- const { fit } = props;
52
- if (isClient && fit) {
53
- return { objectFit: fit };
54
- }
55
- return {};
56
- });
57
- const preview = computed(() => {
58
- const { previewSrcList } = props;
59
- return isArray(previewSrcList) && previewSrcList.length > 0;
60
- });
61
- const imageIndex = computed(() => {
62
- const { previewSrcList, initialIndex } = props;
63
- let previewIndex = initialIndex;
64
- if (initialIndex > previewSrcList.length - 1) {
65
- previewIndex = 0;
66
- }
67
- return previewIndex;
68
- });
69
- const isManual = computed(() => {
70
- if (props.loading === "eager")
71
- return false;
72
- return !supportLoading && props.loading === "lazy" || props.lazy;
73
- });
74
- const loadImage = () => {
75
- if (!isClient)
76
- return;
77
- isLoading.value = true;
78
- hasLoadError.value = false;
79
- imageSrc.value = props.src;
80
- };
81
- function handleLoad(event) {
82
- isLoading.value = false;
83
- hasLoadError.value = false;
84
- emit("load", event);
85
- }
86
- function handleError(event) {
87
- isLoading.value = false;
88
- hasLoadError.value = true;
89
- emit("error", event);
90
- }
91
- function handleLazyLoad() {
92
- if (isInContainer(container.value, _scrollContainer.value)) {
93
- loadImage();
94
- removeLazyLoadListener();
95
- }
96
- }
97
- const lazyLoadHandler = useThrottleFn(handleLazyLoad, 200, true);
98
- async function addLazyLoadListener() {
99
- var _a;
100
- if (!isClient)
101
- return;
102
- await nextTick();
103
- const { scrollContainer } = props;
104
- if (isElement(scrollContainer)) {
105
- _scrollContainer.value = scrollContainer;
106
- } else if (isString(scrollContainer) && scrollContainer !== "") {
107
- _scrollContainer.value = (_a = document.querySelector(scrollContainer)) != null ? _a : void 0;
108
- } else if (container.value) {
109
- _scrollContainer.value = getScrollContainer(container.value);
110
- }
111
- if (_scrollContainer.value) {
112
- stopScrollListener = useEventListener(_scrollContainer, "scroll", lazyLoadHandler);
113
- setTimeout(() => handleLazyLoad(), 100);
114
- }
115
- }
116
- function removeLazyLoadListener() {
117
- if (!isClient || !_scrollContainer.value || !lazyLoadHandler)
118
- return;
119
- stopScrollListener == null ? void 0 : stopScrollListener();
120
- _scrollContainer.value = void 0;
121
- }
122
- function clickHandler() {
123
- if (!preview.value)
124
- return;
125
- showViewer.value = true;
126
- emit("show");
127
- }
128
- function closeViewer() {
129
- showViewer.value = false;
130
- emit("close");
131
- }
132
- function switchViewer(val) {
133
- emit("switch", val);
134
- }
135
- watch(() => props.src, () => {
136
- if (isManual.value) {
137
- isLoading.value = true;
138
- hasLoadError.value = false;
139
- removeLazyLoadListener();
140
- addLazyLoadListener();
141
- } else {
142
- loadImage();
143
- }
144
- });
145
- onMounted(() => {
146
- if (isManual.value) {
147
- addLazyLoadListener();
148
- } else {
149
- loadImage();
150
- }
151
- });
152
- expose({
153
- showPreview: clickHandler
154
- });
155
- return (_ctx, _cache) => {
156
- return openBlock(), createElementBlock("div", mergeProps({
157
- ref_key: "container",
158
- ref: container
159
- }, unref(containerAttrs), {
160
- class: [unref(ns).b(), _ctx.$attrs.class]
161
- }), [
162
- hasLoadError.value ? renderSlot(_ctx.$slots, "error", { key: 0 }, () => [
163
- createElementVNode("div", {
164
- class: normalizeClass(unref(ns).e("error"))
165
- }, toDisplayString(unref(t)("el.image.error")), 3)
166
- ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
167
- imageSrc.value !== void 0 ? (openBlock(), createElementBlock("img", mergeProps({ key: 0 }, unref(imgAttrs), {
168
- src: imageSrc.value,
169
- loading: _ctx.loading,
170
- style: unref(imageStyle),
171
- class: unref(imageKls),
172
- crossorigin: _ctx.crossorigin,
173
- onClick: clickHandler,
174
- onLoad: handleLoad,
175
- onError: handleError
176
- }), null, 16, ["src", "loading", "crossorigin"])) : createCommentVNode("v-if", true),
177
- isLoading.value ? (openBlock(), createElementBlock("div", {
178
- key: 1,
179
- class: normalizeClass(unref(ns).e("wrapper"))
180
- }, [
181
- renderSlot(_ctx.$slots, "placeholder", {}, () => [
182
- createElementVNode("div", {
183
- class: normalizeClass(unref(ns).e("placeholder"))
184
- }, null, 2)
185
- ])
186
- ], 2)) : createCommentVNode("v-if", true)
187
- ], 64)),
188
- unref(preview) ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
189
- showViewer.value ? (openBlock(), createBlock(unref(ElImageViewer), {
190
- key: 0,
191
- "z-index": _ctx.zIndex,
192
- "initial-index": unref(imageIndex),
193
- infinite: _ctx.infinite,
194
- "zoom-rate": _ctx.zoomRate,
195
- "min-scale": _ctx.minScale,
196
- "max-scale": _ctx.maxScale,
197
- "show-progress": _ctx.showProgress,
198
- "url-list": _ctx.previewSrcList,
199
- crossorigin: _ctx.crossorigin,
200
- "hide-on-click-modal": _ctx.hideOnClickModal,
201
- teleported: _ctx.previewTeleported,
202
- "close-on-press-escape": _ctx.closeOnPressEscape,
203
- onClose: closeViewer,
204
- onSwitch: switchViewer
205
- }, {
206
- progress: withCtx((progress) => [
207
- renderSlot(_ctx.$slots, "progress", normalizeProps(guardReactiveProps(progress)))
208
- ]),
209
- toolbar: withCtx((toolbar) => [
210
- renderSlot(_ctx.$slots, "toolbar", normalizeProps(guardReactiveProps(toolbar)))
211
- ]),
212
- default: withCtx(() => [
213
- _ctx.$slots.viewer ? (openBlock(), createElementBlock("div", { key: 0 }, [
214
- renderSlot(_ctx.$slots, "viewer")
215
- ])) : createCommentVNode("v-if", true)
216
- ]),
217
- _: 3
218
- }, 8, ["z-index", "initial-index", "infinite", "zoom-rate", "min-scale", "max-scale", "show-progress", "url-list", "crossorigin", "hide-on-click-modal", "teleported", "close-on-press-escape"])) : createCommentVNode("v-if", true)
219
- ], 64)) : createCommentVNode("v-if", true)
220
- ], 16);
221
- };
5
+ const imageProps = buildProps({
6
+ hideOnClickModal: Boolean,
7
+ src: {
8
+ type: String,
9
+ default: ""
10
+ },
11
+ fit: {
12
+ type: String,
13
+ values: ["", "contain", "cover", "fill", "none", "scale-down"],
14
+ default: ""
15
+ },
16
+ loading: {
17
+ type: String,
18
+ values: ["eager", "lazy"]
19
+ },
20
+ lazy: Boolean,
21
+ scrollContainer: {
22
+ type: definePropType([String, Object])
23
+ },
24
+ previewSrcList: {
25
+ type: definePropType(Array),
26
+ default: () => mutable([])
27
+ },
28
+ previewTeleported: Boolean,
29
+ zIndex: {
30
+ type: Number
31
+ },
32
+ initialIndex: {
33
+ type: Number,
34
+ default: 0
35
+ },
36
+ infinite: {
37
+ type: Boolean,
38
+ default: true
39
+ },
40
+ closeOnPressEscape: {
41
+ type: Boolean,
42
+ default: true
43
+ },
44
+ zoomRate: {
45
+ type: Number,
46
+ default: 1.2
47
+ },
48
+ minScale: {
49
+ type: Number,
50
+ default: 0.2
51
+ },
52
+ maxScale: {
53
+ type: Number,
54
+ default: 7
55
+ },
56
+ showProgress: {
57
+ type: Boolean,
58
+ default: false
59
+ },
60
+ crossorigin: {
61
+ type: definePropType(String)
222
62
  }
223
63
  });
224
- var Image = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "image.vue"]]);
64
+ const imageEmits = {
65
+ load: (evt) => evt instanceof Event,
66
+ error: (evt) => evt instanceof Event,
67
+ switch: (val) => isNumber(val),
68
+ close: () => true,
69
+ show: () => true
70
+ };
225
71
 
226
- export { Image as default };
72
+ export { imageEmits, imageProps };
227
73
  //# sourceMappingURL=image.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.mjs","sources":["../../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\n <div ref=\"container\" v-bind=\"containerAttrs\" :class=\"[ns.b(), $attrs.class]\">\n <slot v-if=\"hasLoadError\" name=\"error\">\n <div :class=\"ns.e('error')\">{{ t('el.image.error') }}</div>\n </slot>\n <template v-else>\n <img\n v-if=\"imageSrc !== undefined\"\n v-bind=\"imgAttrs\"\n :src=\"imageSrc\"\n :loading=\"loading\"\n :style=\"imageStyle\"\n :class=\"imageKls\"\n :crossorigin=\"crossorigin\"\n @click=\"clickHandler\"\n @load=\"handleLoad\"\n @error=\"handleError\"\n />\n <div v-if=\"isLoading\" :class=\"ns.e('wrapper')\">\n <slot name=\"placeholder\">\n <div :class=\"ns.e('placeholder')\" />\n </slot>\n </div>\n </template>\n <template v-if=\"preview\">\n <image-viewer\n v-if=\"showViewer\"\n :z-index=\"zIndex\"\n :initial-index=\"imageIndex\"\n :infinite=\"infinite\"\n :zoom-rate=\"zoomRate\"\n :min-scale=\"minScale\"\n :max-scale=\"maxScale\"\n :show-progress=\"showProgress\"\n :url-list=\"previewSrcList\"\n :crossorigin=\"crossorigin\"\n :hide-on-click-modal=\"hideOnClickModal\"\n :teleported=\"previewTeleported\"\n :close-on-press-escape=\"closeOnPressEscape\"\n @close=\"closeViewer\"\n @switch=\"switchViewer\"\n >\n <div v-if=\"$slots.viewer\">\n <slot name=\"viewer\" />\n </div>\n <template #progress=\"progress\">\n <slot name=\"progress\" v-bind=\"progress\" />\n </template>\n <template #toolbar=\"toolbar\">\n <slot name=\"toolbar\" v-bind=\"toolbar\" />\n </template>\n </image-viewer>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n watch,\n} from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { fromPairs } from 'lodash-unified'\nimport { useAttrs, useLocale, useNamespace } from '@element-plus/hooks'\nimport ImageViewer from '@element-plus/components/image-viewer'\nimport {\n getScrollContainer,\n isArray,\n isClient,\n isElement,\n isInContainer,\n isString,\n} from '@element-plus/utils'\nimport { imageEmits, imageProps } from './image'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElImage',\n inheritAttrs: false,\n})\n\nconst props = defineProps(imageProps)\nconst emit = defineEmits(imageEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image')\nconst rawAttrs = useRawAttrs()\n\nconst containerAttrs = computed(() => {\n return fromPairs(\n Object.entries(rawAttrs).filter(\n ([key]) => /^(data-|on[A-Z])/i.test(key) || ['id', 'style'].includes(key)\n )\n )\n})\n\nconst imgAttrs = useAttrs({\n excludeListeners: true,\n excludeKeys: computed<string[]>(() => {\n return Object.keys(containerAttrs.value)\n }),\n})\n\nconst imageSrc = ref<string | undefined>()\nconst hasLoadError = ref(false)\nconst isLoading = ref(true)\nconst showViewer = ref(false)\nconst container = ref<HTMLElement>()\nconst _scrollContainer = ref<HTMLElement | Window>()\n\nconst supportLoading = isClient && 'loading' in HTMLImageElement.prototype\nlet stopScrollListener: (() => void) | undefined\n\nconst imageKls = computed(() => [\n ns.e('inner'),\n preview.value && ns.e('preview'),\n isLoading.value && ns.is('loading'),\n])\n\nconst imageStyle = computed<CSSProperties>(() => {\n const { fit } = props\n if (isClient && fit) {\n return { objectFit: fit }\n }\n return {}\n})\n\nconst preview = computed(() => {\n const { previewSrcList } = props\n return isArray(previewSrcList) && previewSrcList.length > 0\n})\n\nconst imageIndex = computed(() => {\n const { previewSrcList, initialIndex } = props\n let previewIndex = initialIndex\n if (initialIndex > previewSrcList.length - 1) {\n previewIndex = 0\n }\n return previewIndex\n})\n\nconst isManual = computed(() => {\n if (props.loading === 'eager') return false\n return (!supportLoading && props.loading === 'lazy') || props.lazy\n})\n\nconst loadImage = () => {\n if (!isClient) return\n\n // reset status\n isLoading.value = true\n hasLoadError.value = false\n imageSrc.value = props.src\n}\n\nfunction handleLoad(event: Event) {\n isLoading.value = false\n hasLoadError.value = false\n emit('load', event)\n}\n\nfunction handleError(event: Event) {\n isLoading.value = false\n hasLoadError.value = true\n emit('error', event)\n}\n\nfunction handleLazyLoad() {\n if (isInContainer(container.value, _scrollContainer.value)) {\n loadImage()\n removeLazyLoadListener()\n }\n}\n\nconst lazyLoadHandler = useThrottleFn(handleLazyLoad, 200, true)\n\nasync function addLazyLoadListener() {\n if (!isClient) return\n\n await nextTick()\n\n const { scrollContainer } = props\n if (isElement(scrollContainer)) {\n _scrollContainer.value = scrollContainer\n } else if (isString(scrollContainer) && scrollContainer !== '') {\n _scrollContainer.value =\n document.querySelector<HTMLElement>(scrollContainer) ?? undefined\n } else if (container.value) {\n _scrollContainer.value = getScrollContainer(container.value)\n }\n\n if (_scrollContainer.value) {\n stopScrollListener = useEventListener(\n _scrollContainer,\n 'scroll',\n lazyLoadHandler\n )\n setTimeout(() => handleLazyLoad(), 100)\n }\n}\n\nfunction removeLazyLoadListener() {\n if (!isClient || !_scrollContainer.value || !lazyLoadHandler) return\n\n stopScrollListener?.()\n _scrollContainer.value = undefined\n}\n\nfunction clickHandler() {\n // don't show viewer when preview is false\n if (!preview.value) return\n showViewer.value = true\n emit('show')\n}\n\nfunction closeViewer() {\n showViewer.value = false\n emit('close')\n}\n\nfunction switchViewer(val: number) {\n emit('switch', val)\n}\n\nwatch(\n () => props.src,\n () => {\n if (isManual.value) {\n // reset status\n isLoading.value = true\n hasLoadError.value = false\n removeLazyLoadListener()\n addLazyLoadListener()\n } else {\n loadImage()\n }\n }\n)\n\nonMounted(() => {\n if (isManual.value) {\n addLazyLoadListener()\n } else {\n loadImage()\n }\n})\n\ndefineExpose({\n /** @description manually open preview */\n showPreview: clickHandler,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","_openBlock","_createElementBlock","_mergeProps","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"image.mjs","sources":["../../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Image from './image.vue'\n\nexport const imageProps = buildProps({\n /**\n * @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode.\n */\n hideOnClickModal: Boolean,\n /**\n * @description image source, same as native.\n */\n src: {\n type: String,\n default: '',\n },\n /**\n * @description indicate how the image should be resized to fit its container, same as [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit).\n */\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n /**\n * @description Indicates how the browser should load the image, same as [native](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-loading)\n */\n loading: {\n type: String,\n values: ['eager', 'lazy'],\n },\n /**\n * @description whether to use lazy load.\n */\n lazy: Boolean,\n /**\n * @description the container to add scroll listener when using lazy load.\n */\n scrollContainer: {\n type: definePropType<string | HTMLElement | undefined>([String, Object]),\n },\n /**\n * @description allow big image preview.\n */\n previewSrcList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n previewTeleported: Boolean,\n /**\n * @description set image preview z-index.\n */\n zIndex: {\n type: Number,\n },\n /**\n * @description initial preview image index, less than the length of `url-list`.\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether the viewer preview is infinite.\n */\n infinite: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the zoom rate of the image viewer zoom event\n */\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale: {\n type: Number,\n default: 0.2,\n },\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale: {\n type: Number,\n default: 7,\n },\n /**\n * @description show preview image progress content.\n */\n showProgress: {\n type: Boolean,\n default: false,\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\nexport type ImageProps = ExtractPropTypes<typeof imageProps>\n\nexport const imageEmits = {\n load: (evt: Event) => evt instanceof Event,\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n show: () => true,\n}\nexport type ImageEmits = typeof imageEmits\nexport type ImageInstance = InstanceType<typeof Image> & unknown\n"],"names":[],"mappings":";;;;AAMY,MAAC,UAAU,GAAG,UAAU,CAAC;AACrC,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;AAClE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7B,GAAG;AACH,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,iBAAiB,EAAE,OAAO;AAC5B,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,CAAC,EAAE;AACS,MAAC,UAAU,GAAG;AAC1B,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACrC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACtC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB;;;;"}