@element-plus/nightly 0.0.20250622 → 0.0.20250624

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 (697) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +425 -417
  3. package/dist/index.full.min.js +17 -17
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +17 -17
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +425 -419
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/autocomplete/index.mjs +2 -2
  277. package/es/components/autocomplete/src/autocomplete.mjs +370 -80
  278. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  279. package/es/components/autocomplete/src/autocomplete2.mjs +80 -370
  280. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  281. package/es/components/avatar/index.mjs +2 -2
  282. package/es/components/avatar/src/avatar.mjs +65 -31
  283. package/es/components/avatar/src/avatar.mjs.map +1 -1
  284. package/es/components/avatar/src/avatar2.mjs +31 -65
  285. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  286. package/es/components/calendar/index.mjs +2 -2
  287. package/es/components/calendar/src/calendar.mjs +134 -16
  288. package/es/components/calendar/src/calendar.mjs.map +1 -1
  289. package/es/components/calendar/src/calendar2.mjs +16 -134
  290. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  291. package/es/components/cascader/src/cascader.d.ts +2 -2
  292. package/es/components/cascader/src/cascader.mjs +3 -2
  293. package/es/components/cascader/src/cascader.mjs.map +1 -1
  294. package/es/components/cascader/src/cascader.vue.d.ts +4 -4
  295. package/es/components/cascader-panel/index.mjs +1 -1
  296. package/es/components/cascader-panel/src/config.d.ts +26 -2
  297. package/es/components/cascader-panel/src/config.mjs +19 -1
  298. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  299. package/es/components/cascader-panel/src/index.mjs +50 -55
  300. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  301. package/es/components/cascader-panel/src/index.vue.d.ts +46 -46
  302. package/es/components/cascader-panel/src/instance.d.ts +2 -0
  303. package/es/components/cascader-panel/src/menu.mjs +68 -85
  304. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  305. package/es/components/cascader-panel/src/menu.vue.d.ts +11 -30
  306. package/es/components/cascader-panel/src/node-content.d.ts +14 -19
  307. package/es/components/cascader-panel/src/node-content.mjs +29 -18
  308. package/es/components/cascader-panel/src/node-content.mjs.map +1 -1
  309. package/es/components/cascader-panel/src/node.d.ts +9 -8
  310. package/es/components/cascader-panel/src/node.mjs +12 -12
  311. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  312. package/es/components/cascader-panel/src/node.vue.d.ts +3 -36
  313. package/es/components/cascader-panel/src/node2.mjs +86 -114
  314. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  315. package/es/components/cascader-panel/src/types.d.ts +6 -6
  316. package/es/components/cascader-panel/src/types.mjs.map +1 -1
  317. package/es/components/check-tag/index.mjs +2 -2
  318. package/es/components/check-tag/src/check-tag.mjs +38 -14
  319. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  320. package/es/components/check-tag/src/check-tag2.mjs +14 -38
  321. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  322. package/es/components/checkbox/index.mjs +2 -2
  323. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  324. package/es/components/checkbox/src/checkbox.mjs +59 -119
  325. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  326. package/es/components/checkbox/src/checkbox2.mjs +119 -59
  327. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  328. package/es/components/color-picker/src/color-picker.d.ts +3 -1
  329. package/es/components/color-picker/src/color-picker.mjs +6 -1
  330. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  331. package/es/components/color-picker/src/color-picker.vue.d.ts +8 -2
  332. package/es/components/color-picker/src/color-picker2.mjs +6 -4
  333. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  334. package/es/components/color-picker/src/utils/color.d.ts +1 -1
  335. package/es/components/color-picker/src/utils/color.mjs.map +1 -1
  336. package/es/components/drawer/index.mjs +2 -2
  337. package/es/components/drawer/src/drawer.mjs +26 -178
  338. package/es/components/drawer/src/drawer.mjs.map +1 -1
  339. package/es/components/drawer/src/drawer2.mjs +178 -26
  340. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  341. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  342. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  343. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  344. package/es/components/form/index.mjs +2 -2
  345. package/es/components/form/src/form.mjs +54 -161
  346. package/es/components/form/src/form.mjs.map +1 -1
  347. package/es/components/form/src/form2.mjs +161 -54
  348. package/es/components/form/src/form2.mjs.map +1 -1
  349. package/es/components/image/index.mjs +2 -2
  350. package/es/components/image/src/image.mjs +226 -68
  351. package/es/components/image/src/image.mjs.map +1 -1
  352. package/es/components/image/src/image2.mjs +68 -226
  353. package/es/components/image/src/image2.mjs.map +1 -1
  354. package/es/components/index.mjs +17 -17
  355. package/es/components/input/index.mjs +2 -2
  356. package/es/components/input/src/input.mjs +106 -437
  357. package/es/components/input/src/input.mjs.map +1 -1
  358. package/es/components/input/src/input2.mjs +437 -106
  359. package/es/components/input/src/input2.mjs.map +1 -1
  360. package/es/components/mention/src/mention.mjs +1 -1
  361. package/es/components/mention/src/mention2.mjs +1 -1
  362. package/es/components/message/index.mjs +1 -1
  363. package/es/components/message/src/message.mjs +153 -92
  364. package/es/components/message/src/message.mjs.map +1 -1
  365. package/es/components/message/src/message2.mjs +92 -153
  366. package/es/components/message/src/message2.mjs.map +1 -1
  367. package/es/components/message/src/method.mjs +2 -2
  368. package/es/components/pagination/src/components/jumper.mjs +58 -7
  369. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  370. package/es/components/pagination/src/components/jumper2.mjs +7 -58
  371. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  372. package/es/components/pagination/src/pagination.mjs +1 -1
  373. package/es/components/radio/index.mjs +2 -2
  374. package/es/components/radio/src/radio-group.mjs +34 -65
  375. package/es/components/radio/src/radio-group.mjs.map +1 -1
  376. package/es/components/radio/src/radio-group2.mjs +65 -34
  377. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  378. package/es/components/roving-focus-group/index.mjs +3 -3
  379. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  380. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  381. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  382. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  383. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  384. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  385. package/es/components/row/index.mjs +2 -2
  386. package/es/components/row/src/row.mjs +28 -44
  387. package/es/components/row/src/row.mjs.map +1 -1
  388. package/es/components/row/src/row2.mjs +44 -28
  389. package/es/components/row/src/row2.mjs.map +1 -1
  390. package/es/components/select/index.mjs +1 -1
  391. package/es/components/select/src/option.mjs +13 -89
  392. package/es/components/select/src/option.mjs.map +1 -1
  393. package/es/components/select/src/option2.mjs +89 -13
  394. package/es/components/select/src/option2.mjs.map +1 -1
  395. package/es/components/select/src/select2.mjs +1 -1
  396. package/es/components/select/src/useOption.mjs +1 -1
  397. package/es/components/space/src/space.mjs +0 -2
  398. package/es/components/space/src/space.mjs.map +1 -1
  399. package/es/components/table/src/store/index.mjs +0 -1
  400. package/es/components/table/src/store/index.mjs.map +1 -1
  401. package/es/components/table/src/store/watcher.mjs +0 -10
  402. package/es/components/table/src/store/watcher.mjs.map +1 -1
  403. package/es/components/tabs/src/tab-bar2.mjs +1 -1
  404. package/es/components/text/index.mjs +2 -2
  405. package/es/components/text/src/text.mjs +67 -21
  406. package/es/components/text/src/text.mjs.map +1 -1
  407. package/es/components/text/src/text2.mjs +21 -67
  408. package/es/components/text/src/text2.mjs.map +1 -1
  409. package/es/components/time-select/index.mjs +2 -2
  410. package/es/components/time-select/src/time-select.mjs +132 -54
  411. package/es/components/time-select/src/time-select.mjs.map +1 -1
  412. package/es/components/time-select/src/time-select2.mjs +54 -132
  413. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  414. package/es/components/timeline/index.mjs +2 -2
  415. package/es/components/timeline/src/timeline-item.mjs +72 -33
  416. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  417. package/es/components/timeline/src/timeline-item2.mjs +33 -72
  418. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  419. package/es/components/tooltip-v2/index.mjs +5 -5
  420. package/es/components/tooltip-v2/src/arrow.mjs +37 -21
  421. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  422. package/es/components/tooltip-v2/src/arrow2.mjs +21 -37
  423. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  424. package/es/components/tooltip-v2/src/content.mjs +110 -48
  425. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  426. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  427. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  428. package/es/components/tooltip-v2/src/tooltip.mjs +78 -20
  429. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  430. package/es/components/tooltip-v2/src/tooltip2.mjs +20 -78
  431. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  432. package/es/components/tooltip-v2/src/trigger.mjs +89 -12
  433. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  434. package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
  435. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  436. package/es/components/tree/src/model/node.d.ts +9 -9
  437. package/es/components/tree/src/model/node.mjs +13 -9
  438. package/es/components/tree/src/model/node.mjs.map +1 -1
  439. package/es/components/tree/src/model/tree-store.d.ts +8 -8
  440. package/es/components/tree/src/model/tree-store.mjs +22 -12
  441. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  442. package/es/components/tree/src/model/useDragNode.d.ts +221 -13
  443. package/es/components/tree/src/model/useDragNode.mjs +22 -10
  444. package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
  445. package/es/components/tree/src/model/useKeydown.d.ts +1 -1
  446. package/es/components/tree/src/model/useKeydown.mjs +2 -0
  447. package/es/components/tree/src/model/useKeydown.mjs.map +1 -1
  448. package/es/components/tree/src/model/useNodeExpandEventBroadcast.d.ts +7 -2
  449. package/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs +2 -1
  450. package/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs.map +1 -1
  451. package/es/components/tree/src/model/util.d.ts +2 -2
  452. package/es/components/tree/src/model/util.mjs.map +1 -1
  453. package/es/components/tree/src/tree.mjs +15 -8
  454. package/es/components/tree/src/tree.mjs.map +1 -1
  455. package/es/components/tree/src/tree.type.d.ts +6 -6
  456. package/es/components/tree/src/tree.vue.d.ts +171 -79
  457. package/es/components/tree-v2/src/composables/useTree.d.ts +0 -1
  458. package/es/components/tree-v2/src/composables/useTree.mjs +5 -4
  459. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  460. package/es/components/tree-v2/src/tree-node.mjs +3 -1
  461. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  462. package/es/components/tree-v2/src/tree.mjs +1 -2
  463. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  464. package/es/components/tree-v2/src/tree.vue.d.ts +3 -3
  465. package/es/components/tree-v2/src/types.d.ts +1 -0
  466. package/es/components/upload/index.mjs +1 -1
  467. package/es/components/upload/src/upload-content.mjs +196 -33
  468. package/es/components/upload/src/upload-content.mjs.map +1 -1
  469. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  470. package/es/components/upload/src/upload-content2.mjs +33 -196
  471. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  472. package/es/components/upload/src/upload.vue.d.ts +1 -1
  473. package/es/components/upload/src/upload2.mjs +1 -1
  474. package/es/components/visual-hidden/index.mjs +3 -3
  475. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -6
  476. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  477. package/es/components/visual-hidden/src/visual-hidden2.mjs +6 -35
  478. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  479. package/es/index.d.ts +2608 -2434
  480. package/es/index.mjs +17 -17
  481. package/es/version.d.ts +1 -1
  482. package/es/version.mjs +1 -1
  483. package/es/version.mjs.map +1 -1
  484. package/lib/components/autocomplete/index.js +2 -2
  485. package/lib/components/autocomplete/src/autocomplete.js +368 -79
  486. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  487. package/lib/components/autocomplete/src/autocomplete2.js +79 -368
  488. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  489. package/lib/components/avatar/index.js +2 -2
  490. package/lib/components/avatar/src/avatar.js +65 -32
  491. package/lib/components/avatar/src/avatar.js.map +1 -1
  492. package/lib/components/avatar/src/avatar2.js +32 -65
  493. package/lib/components/avatar/src/avatar2.js.map +1 -1
  494. package/lib/components/calendar/index.js +2 -2
  495. package/lib/components/calendar/src/calendar.js +134 -17
  496. package/lib/components/calendar/src/calendar.js.map +1 -1
  497. package/lib/components/calendar/src/calendar2.js +17 -134
  498. package/lib/components/calendar/src/calendar2.js.map +1 -1
  499. package/lib/components/cascader/src/cascader.d.ts +2 -2
  500. package/lib/components/cascader/src/cascader.js +3 -2
  501. package/lib/components/cascader/src/cascader.js.map +1 -1
  502. package/lib/components/cascader/src/cascader.vue.d.ts +4 -4
  503. package/lib/components/cascader-panel/index.js +2 -0
  504. package/lib/components/cascader-panel/index.js.map +1 -1
  505. package/lib/components/cascader-panel/src/config.d.ts +26 -2
  506. package/lib/components/cascader-panel/src/config.js +20 -0
  507. package/lib/components/cascader-panel/src/config.js.map +1 -1
  508. package/lib/components/cascader-panel/src/index.js +48 -53
  509. package/lib/components/cascader-panel/src/index.js.map +1 -1
  510. package/lib/components/cascader-panel/src/index.vue.d.ts +46 -46
  511. package/lib/components/cascader-panel/src/instance.d.ts +2 -0
  512. package/lib/components/cascader-panel/src/menu.js +75 -92
  513. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  514. package/lib/components/cascader-panel/src/menu.vue.d.ts +11 -30
  515. package/lib/components/cascader-panel/src/node-content.d.ts +14 -19
  516. package/lib/components/cascader-panel/src/node-content.js +28 -17
  517. package/lib/components/cascader-panel/src/node-content.js.map +1 -1
  518. package/lib/components/cascader-panel/src/node.d.ts +9 -8
  519. package/lib/components/cascader-panel/src/node.js +12 -12
  520. package/lib/components/cascader-panel/src/node.js.map +1 -1
  521. package/lib/components/cascader-panel/src/node.vue.d.ts +3 -36
  522. package/lib/components/cascader-panel/src/node2.js +90 -118
  523. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  524. package/lib/components/cascader-panel/src/types.d.ts +6 -6
  525. package/lib/components/cascader-panel/src/types.js.map +1 -1
  526. package/lib/components/check-tag/index.js +2 -2
  527. package/lib/components/check-tag/src/check-tag.js +38 -15
  528. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  529. package/lib/components/check-tag/src/check-tag2.js +15 -38
  530. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  531. package/lib/components/checkbox/index.js +2 -2
  532. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  533. package/lib/components/checkbox/src/checkbox.js +60 -119
  534. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  535. package/lib/components/checkbox/src/checkbox2.js +119 -60
  536. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  537. package/lib/components/color-picker/src/color-picker.d.ts +3 -1
  538. package/lib/components/color-picker/src/color-picker.js +8 -3
  539. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  540. package/lib/components/color-picker/src/color-picker.vue.d.ts +8 -2
  541. package/lib/components/color-picker/src/color-picker2.js +20 -18
  542. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  543. package/lib/components/color-picker/src/utils/color.d.ts +1 -1
  544. package/lib/components/color-picker/src/utils/color.js.map +1 -1
  545. package/lib/components/drawer/index.js +2 -2
  546. package/lib/components/drawer/src/drawer.js +27 -178
  547. package/lib/components/drawer/src/drawer.js.map +1 -1
  548. package/lib/components/drawer/src/drawer2.js +178 -27
  549. package/lib/components/drawer/src/drawer2.js.map +1 -1
  550. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  551. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  552. package/lib/components/dropdown/src/dropdown2.js +1 -1
  553. package/lib/components/form/index.js +2 -2
  554. package/lib/components/form/src/form.js +55 -160
  555. package/lib/components/form/src/form.js.map +1 -1
  556. package/lib/components/form/src/form2.js +160 -55
  557. package/lib/components/form/src/form2.js.map +1 -1
  558. package/lib/components/image/index.js +2 -2
  559. package/lib/components/image/src/image.js +225 -68
  560. package/lib/components/image/src/image.js.map +1 -1
  561. package/lib/components/image/src/image2.js +68 -225
  562. package/lib/components/image/src/image2.js.map +1 -1
  563. package/lib/components/index.js +18 -16
  564. package/lib/components/index.js.map +1 -1
  565. package/lib/components/input/index.js +2 -2
  566. package/lib/components/input/src/input.js +104 -434
  567. package/lib/components/input/src/input.js.map +1 -1
  568. package/lib/components/input/src/input2.js +434 -104
  569. package/lib/components/input/src/input2.js.map +1 -1
  570. package/lib/components/mention/src/mention.js +1 -1
  571. package/lib/components/mention/src/mention2.js +1 -1
  572. package/lib/components/message/index.js +1 -1
  573. package/lib/components/message/src/message.js +152 -94
  574. package/lib/components/message/src/message.js.map +1 -1
  575. package/lib/components/message/src/message2.js +94 -152
  576. package/lib/components/message/src/message2.js.map +1 -1
  577. package/lib/components/message/src/method.js +2 -2
  578. package/lib/components/pagination/src/components/jumper.js +58 -7
  579. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  580. package/lib/components/pagination/src/components/jumper2.js +7 -58
  581. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  582. package/lib/components/pagination/src/pagination.js +1 -1
  583. package/lib/components/radio/index.js +2 -2
  584. package/lib/components/radio/src/radio-group.js +35 -65
  585. package/lib/components/radio/src/radio-group.js.map +1 -1
  586. package/lib/components/radio/src/radio-group2.js +65 -35
  587. package/lib/components/radio/src/radio-group2.js.map +1 -1
  588. package/lib/components/roving-focus-group/index.js +2 -2
  589. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  590. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -31
  591. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  592. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -27
  593. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  594. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  595. package/lib/components/row/index.js +2 -2
  596. package/lib/components/row/src/row.js +30 -44
  597. package/lib/components/row/src/row.js.map +1 -1
  598. package/lib/components/row/src/row2.js +44 -30
  599. package/lib/components/row/src/row2.js.map +1 -1
  600. package/lib/components/select/index.js +1 -1
  601. package/lib/components/select/src/option.js +14 -89
  602. package/lib/components/select/src/option.js.map +1 -1
  603. package/lib/components/select/src/option2.js +89 -14
  604. package/lib/components/select/src/option2.js.map +1 -1
  605. package/lib/components/select/src/select2.js +1 -1
  606. package/lib/components/select/src/useOption.js +1 -1
  607. package/lib/components/space/src/space.js +0 -2
  608. package/lib/components/space/src/space.js.map +1 -1
  609. package/lib/components/table/src/store/index.js +0 -1
  610. package/lib/components/table/src/store/index.js.map +1 -1
  611. package/lib/components/table/src/store/watcher.js +0 -10
  612. package/lib/components/table/src/store/watcher.js.map +1 -1
  613. package/lib/components/tabs/src/tab-bar2.js +1 -1
  614. package/lib/components/text/index.js +2 -2
  615. package/lib/components/text/src/text.js +67 -21
  616. package/lib/components/text/src/text.js.map +1 -1
  617. package/lib/components/text/src/text2.js +21 -67
  618. package/lib/components/text/src/text2.js.map +1 -1
  619. package/lib/components/time-select/index.js +2 -2
  620. package/lib/components/time-select/src/time-select.js +137 -54
  621. package/lib/components/time-select/src/time-select.js.map +1 -1
  622. package/lib/components/time-select/src/time-select2.js +54 -137
  623. package/lib/components/time-select/src/time-select2.js.map +1 -1
  624. package/lib/components/timeline/index.js +2 -2
  625. package/lib/components/timeline/src/timeline-item.js +72 -33
  626. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  627. package/lib/components/timeline/src/timeline-item2.js +33 -72
  628. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  629. package/lib/components/tooltip-v2/index.js +5 -5
  630. package/lib/components/tooltip-v2/src/arrow.js +37 -22
  631. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  632. package/lib/components/tooltip-v2/src/arrow2.js +22 -37
  633. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  634. package/lib/components/tooltip-v2/src/content.js +110 -48
  635. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  636. package/lib/components/tooltip-v2/src/content2.js +48 -110
  637. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  638. package/lib/components/tooltip-v2/src/tooltip.js +78 -20
  639. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  640. package/lib/components/tooltip-v2/src/tooltip2.js +20 -78
  641. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  642. package/lib/components/tooltip-v2/src/trigger.js +89 -12
  643. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  644. package/lib/components/tooltip-v2/src/trigger2.js +12 -89
  645. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  646. package/lib/components/tree/src/model/node.d.ts +9 -9
  647. package/lib/components/tree/src/model/node.js +13 -9
  648. package/lib/components/tree/src/model/node.js.map +1 -1
  649. package/lib/components/tree/src/model/tree-store.d.ts +8 -8
  650. package/lib/components/tree/src/model/tree-store.js +21 -11
  651. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  652. package/lib/components/tree/src/model/useDragNode.d.ts +221 -13
  653. package/lib/components/tree/src/model/useDragNode.js +22 -10
  654. package/lib/components/tree/src/model/useDragNode.js.map +1 -1
  655. package/lib/components/tree/src/model/useKeydown.d.ts +1 -1
  656. package/lib/components/tree/src/model/useKeydown.js +2 -0
  657. package/lib/components/tree/src/model/useKeydown.js.map +1 -1
  658. package/lib/components/tree/src/model/useNodeExpandEventBroadcast.d.ts +7 -2
  659. package/lib/components/tree/src/model/useNodeExpandEventBroadcast.js +2 -1
  660. package/lib/components/tree/src/model/useNodeExpandEventBroadcast.js.map +1 -1
  661. package/lib/components/tree/src/model/util.d.ts +2 -2
  662. package/lib/components/tree/src/model/util.js.map +1 -1
  663. package/lib/components/tree/src/tree.js +15 -8
  664. package/lib/components/tree/src/tree.js.map +1 -1
  665. package/lib/components/tree/src/tree.type.d.ts +6 -6
  666. package/lib/components/tree/src/tree.vue.d.ts +171 -79
  667. package/lib/components/tree-v2/src/composables/useTree.d.ts +0 -1
  668. package/lib/components/tree-v2/src/composables/useTree.js +5 -4
  669. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  670. package/lib/components/tree-v2/src/tree-node.js +3 -1
  671. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  672. package/lib/components/tree-v2/src/tree.js +1 -2
  673. package/lib/components/tree-v2/src/tree.js.map +1 -1
  674. package/lib/components/tree-v2/src/tree.vue.d.ts +3 -3
  675. package/lib/components/tree-v2/src/types.d.ts +1 -0
  676. package/lib/components/upload/index.js +1 -1
  677. package/lib/components/upload/src/upload-content.js +194 -31
  678. package/lib/components/upload/src/upload-content.js.map +1 -1
  679. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  680. package/lib/components/upload/src/upload-content2.js +31 -194
  681. package/lib/components/upload/src/upload-content2.js.map +1 -1
  682. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  683. package/lib/components/upload/src/upload2.js +1 -1
  684. package/lib/components/visual-hidden/index.js +2 -2
  685. package/lib/components/visual-hidden/src/visual-hidden.js +35 -6
  686. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  687. package/lib/components/visual-hidden/src/visual-hidden2.js +6 -35
  688. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  689. package/lib/index.d.ts +2608 -2434
  690. package/lib/index.js +18 -16
  691. package/lib/index.js.map +1 -1
  692. package/lib/version.d.ts +1 -1
  693. package/lib/version.js +1 -1
  694. package/lib/version.js.map +1 -1
  695. package/package.json +2 -2
  696. package/tags.json +1 -1
  697. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":[],"mappings":";;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,GAAG,WAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;;;;"}
1
+ {"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[ns.b(), direction, visible && 'open']\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"[ns.e('header'), headerClass]\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <close />\n </el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"[ns.e('body'), bodyClass]\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\ndefineOptions({\n name: 'ElDrawer',\n inheritAttrs: false,\n})\n\nconst props = defineProps(drawerProps)\ndefineEmits(drawerEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst drawerRef = ref<HTMLElement>()\nconst focusStartRef = ref<HTMLElement>()\nconst ns = useNamespace('drawer')\nconst { t } = useLocale()\nconst {\n afterEnter,\n afterLeave,\n beforeLeave,\n visible,\n rendered,\n titleId,\n bodyId,\n zIndex,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusoutPrevented,\n onCloseRequested,\n handleClose,\n} = useDialog(props, drawerRef)\n\nconst isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n)\nconst drawerSize = computed(() => addUnit(props.size))\n\ndefineExpose({\n handleClose,\n afterEnter,\n afterLeave,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref"],"mappings":";;;;;;;;;;;;;;mCAuGc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,aAAA,CAAA;AAAA,MACE,KAAA,EAAA,WAAA;AAAA,MAAA,IACS,EAAA,gBAAA;AAAA,MAAA,WACD,EAAA,iBAAA;AAAA,MAAA,OACO,EAAA,OAAA;AAAA,MAAA,GACJ,EAAA,4DAAA;AAAA,KAAA,EAAA,QACJ,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACP,MAAA,SAAA,GAAA,GAAA,EAAA,CAAA;AAAA,IAAA,MACS,aAAQ,MAAM,EAAK,CAAA;AAAA,IAC9B,MAAA,EAAA,GAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AAEA,IAAA,MAAM,iBAA6B,EAAA,CAAA;AACnC,IAAA,MAAM;AACN,MAAM;AACN,MAAM,UAAI;AACV,MAAM,WAAA;AAAA,MACJ,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,KACA,GAAA,SAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACA,MAAA,YAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,SAAA,KAAA,KAAA,IAAA,KAAA,CAAA,SAAA,KAAA,KAAA,CAAA,CAAA;AAAA,IACA,MAAA,UAAA,GAAA,QAAA,CAAA,MAAA,OAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,IACF,MAAc,CAAA;AAEd,MAAA,WAAqB;AAAA,MACnB,UAAM;AAAiD,MACzD,UAAA;AACA,KAAA,CAAA,CAAA;AAEA,IAAa,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACX,OAAAA,SAAA,EAAA,EAAAC,WAAA,CAAAC,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,QACA,EAAA,EAAA,IAAA,CAAA,QAAA;AAAA,QACA,QAAA,EAAA,IAAA,CAAA,QAAA,KAAA,MAAA,GAAA,KAAA,GAAA,CAAA,IAAA,CAAA,YAAA;AAAA,OACD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ import { ElIcon } from '../../icon/index.mjs';
3
3
  import { dropdownItemProps, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY } from './dropdown.mjs';
4
4
  import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
5
5
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
- import { ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group.mjs';
6
+ import { ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group2.mjs';
7
7
  import { ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY } from '../../roving-focus-group/src/tokens.mjs';
8
8
  import { COLLECTION_ITEM_SIGN } from '../../collection/src/collection.mjs';
9
9
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
@@ -4,7 +4,7 @@ import { dropdownMenuProps, DROPDOWN_COLLECTION_INJECTION_KEY as COLLECTION_INJE
4
4
  import { useDropdown } from './useDropdown.mjs';
5
5
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
6
  import { ROVING_FOCUS_GROUP_INJECTION_KEY } from '../../roving-focus-group/src/tokens.mjs';
7
- import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group.mjs';
7
+ import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group2.mjs';
8
8
  import { focusFirst } from '../../roving-focus-group/src/utils.mjs';
9
9
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
10
  import { FOCUS_TRAP_INJECTION_KEY } from '../../focus-trap/src/tokens.mjs';
@@ -3,7 +3,7 @@ import { ElButton } from '../../button/index.mjs';
3
3
  import { ElTooltip } from '../../tooltip/index.mjs';
4
4
  import { ElScrollbar } from '../../scrollbar/index.mjs';
5
5
  import { ElIcon } from '../../icon/index.mjs';
6
- import ElRovingFocusGroup from '../../roving-focus-group/src/roving-focus-group2.mjs';
6
+ import ElRovingFocusGroup from '../../roving-focus-group/src/roving-focus-group.mjs';
7
7
  import { ArrowDown } from '@element-plus/icons-vue';
8
8
  import { ElCollection, dropdownProps } from './dropdown.mjs';
9
9
  import { DROPDOWN_INJECTION_KEY, DROPDOWN_INSTANCE_INJECTION_KEY } from './tokens.mjs';
@@ -1,6 +1,6 @@
1
- import Form from './src/form.mjs';
1
+ import Form from './src/form2.mjs';
2
2
  import FormItem from './src/form-item2.mjs';
3
- export { formEmits, formMetaProps, formProps } from './src/form2.mjs';
3
+ export { formEmits, formMetaProps, formProps } from './src/form.mjs';
4
4
  export { formItemProps, formItemValidateStates } from './src/form-item.mjs';
5
5
  export { formContextKey, formItemContextKey } from './src/constants.mjs';
6
6
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
@@ -1,167 +1,60 @@
1
- import { defineComponent, ref, reactive, computed, watch, provide, toRefs, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
2
- import { formContextKey } from './constants.mjs';
3
- import { formProps, formEmits } from './form2.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';
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';
10
5
 
11
- const COMPONENT_NAME = "ElForm";
12
- const __default__ = defineComponent({
13
- name: COMPONENT_NAME
6
+ const formMetaProps = buildProps({
7
+ size: {
8
+ type: String,
9
+ values: componentSizes
10
+ },
11
+ disabled: Boolean
14
12
  });
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 formRef = ref();
22
- const fields = reactive([]);
23
- const formSize = useFormSize();
24
- const ns = useNamespace("form");
25
- const formClasses = computed(() => {
26
- const { labelPosition, inline } = props;
27
- return [
28
- ns.b(),
29
- ns.m(formSize.value || "default"),
30
- {
31
- [ns.m(`label-${labelPosition}`)]: labelPosition,
32
- [ns.m("inline")]: inline
33
- }
34
- ];
35
- });
36
- const getField = (prop) => {
37
- return filterFields(fields, [prop])[0];
38
- };
39
- const addField = (field) => {
40
- fields.push(field);
41
- };
42
- const removeField = (field) => {
43
- if (field.prop) {
44
- fields.splice(fields.indexOf(field), 1);
45
- }
46
- };
47
- const resetFields = (properties = []) => {
48
- if (!props.model) {
49
- debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
50
- return;
51
- }
52
- filterFields(fields, properties).forEach((field) => field.resetField());
53
- };
54
- const clearValidate = (props2 = []) => {
55
- filterFields(fields, props2).forEach((field) => field.clearValidate());
56
- };
57
- const isValidatable = computed(() => {
58
- const hasModel = !!props.model;
59
- if (!hasModel) {
60
- debugWarn(COMPONENT_NAME, "model is required for validate to work.");
61
- }
62
- return hasModel;
63
- });
64
- const obtainValidateFields = (props2) => {
65
- if (fields.length === 0)
66
- return [];
67
- const filteredFields = filterFields(fields, props2);
68
- if (!filteredFields.length) {
69
- debugWarn(COMPONENT_NAME, "please pass correct props!");
70
- return [];
71
- }
72
- return filteredFields;
73
- };
74
- const validate = async (callback) => validateField(void 0, callback);
75
- const doValidateField = async (props2 = []) => {
76
- if (!isValidatable.value)
77
- return false;
78
- const fields2 = obtainValidateFields(props2);
79
- if (fields2.length === 0)
80
- return true;
81
- let validationErrors = {};
82
- for (const field of fields2) {
83
- try {
84
- await field.validate("");
85
- if (field.validateState === "error")
86
- field.resetField();
87
- } catch (fields3) {
88
- validationErrors = {
89
- ...validationErrors,
90
- ...fields3
91
- };
92
- }
93
- }
94
- if (Object.keys(validationErrors).length === 0)
95
- return true;
96
- return Promise.reject(validationErrors);
97
- };
98
- const validateField = async (modelProps = [], callback) => {
99
- let result = false;
100
- const shouldThrow = !isFunction(callback);
101
- try {
102
- result = await doValidateField(modelProps);
103
- if (result === true) {
104
- await (callback == null ? void 0 : callback(result));
105
- }
106
- return result;
107
- } catch (e) {
108
- if (e instanceof Error)
109
- throw e;
110
- const invalidFields = e;
111
- if (props.scrollToError) {
112
- if (formRef.value) {
113
- const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`);
114
- formItem == null ? void 0 : formItem.scrollIntoView(props.scrollIntoViewOptions);
115
- }
116
- }
117
- !result && await (callback == null ? void 0 : callback(false, invalidFields));
118
- return shouldThrow && Promise.reject(invalidFields);
119
- }
120
- };
121
- const scrollToField = (prop) => {
122
- var _a;
123
- const field = getField(prop);
124
- if (field) {
125
- (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
126
- }
127
- };
128
- watch(() => props.rules, () => {
129
- if (props.validateOnRuleChange) {
130
- validate().catch((err) => debugWarn(err));
131
- }
132
- }, { deep: true, flush: "post" });
133
- provide(formContextKey, reactive({
134
- ...toRefs(props),
135
- emit,
136
- resetFields,
137
- clearValidate,
138
- validateField,
139
- getField,
140
- addField,
141
- removeField,
142
- ...useFormLabelWidth()
143
- }));
144
- expose({
145
- validate,
146
- validateField,
147
- resetFields,
148
- clearValidate,
149
- scrollToField,
150
- getField,
151
- fields
152
- });
153
- return (_ctx, _cache) => {
154
- return openBlock(), createElementBlock("form", {
155
- ref_key: "formRef",
156
- ref: formRef,
157
- class: normalizeClass(unref(formClasses))
158
- }, [
159
- renderSlot(_ctx.$slots, "default")
160
- ], 2);
161
- };
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],
52
+ default: true
162
53
  }
163
54
  });
164
- var Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form.vue"]]);
55
+ const formEmits = {
56
+ validate: (prop, isValid, message) => (isArray(prop) || isString(prop)) && isBoolean(isValid) && isString(message)
57
+ };
165
58
 
166
- export { Form as default };
59
+ export { formEmits, formMetaProps, formProps };
167
60
  //# sourceMappingURL=form.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, 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 formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\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 filterFields(fields, [prop])[0]\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 let result = false\n const shouldThrow = !isFunction(callback)\n try {\n 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 // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value!.querySelector(\n `.${ns.b()}-item.is-error`\n )\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\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 Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["props","fields","_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 default: true,\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,IAAI,OAAO,EAAE,IAAI;AACjB,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,60 +1,167 @@
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, ref, reactive, computed, watch, provide, 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],
52
- default: true
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 formRef = ref();
22
+ const fields = reactive([]);
23
+ const formSize = useFormSize();
24
+ const ns = useNamespace("form");
25
+ const formClasses = computed(() => {
26
+ const { labelPosition, inline } = props;
27
+ return [
28
+ ns.b(),
29
+ ns.m(formSize.value || "default"),
30
+ {
31
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
32
+ [ns.m("inline")]: inline
33
+ }
34
+ ];
35
+ });
36
+ const getField = (prop) => {
37
+ return filterFields(fields, [prop])[0];
38
+ };
39
+ const addField = (field) => {
40
+ fields.push(field);
41
+ };
42
+ const removeField = (field) => {
43
+ if (field.prop) {
44
+ fields.splice(fields.indexOf(field), 1);
45
+ }
46
+ };
47
+ const resetFields = (properties = []) => {
48
+ if (!props.model) {
49
+ debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
50
+ return;
51
+ }
52
+ filterFields(fields, properties).forEach((field) => field.resetField());
53
+ };
54
+ const clearValidate = (props2 = []) => {
55
+ filterFields(fields, props2).forEach((field) => field.clearValidate());
56
+ };
57
+ const isValidatable = computed(() => {
58
+ const hasModel = !!props.model;
59
+ if (!hasModel) {
60
+ debugWarn(COMPONENT_NAME, "model is required for validate to work.");
61
+ }
62
+ return hasModel;
63
+ });
64
+ const obtainValidateFields = (props2) => {
65
+ if (fields.length === 0)
66
+ return [];
67
+ const filteredFields = filterFields(fields, props2);
68
+ if (!filteredFields.length) {
69
+ debugWarn(COMPONENT_NAME, "please pass correct props!");
70
+ return [];
71
+ }
72
+ return filteredFields;
73
+ };
74
+ const validate = async (callback) => validateField(void 0, callback);
75
+ const doValidateField = async (props2 = []) => {
76
+ if (!isValidatable.value)
77
+ return false;
78
+ const fields2 = obtainValidateFields(props2);
79
+ if (fields2.length === 0)
80
+ return true;
81
+ let validationErrors = {};
82
+ for (const field of fields2) {
83
+ try {
84
+ await field.validate("");
85
+ if (field.validateState === "error")
86
+ field.resetField();
87
+ } catch (fields3) {
88
+ validationErrors = {
89
+ ...validationErrors,
90
+ ...fields3
91
+ };
92
+ }
93
+ }
94
+ if (Object.keys(validationErrors).length === 0)
95
+ return true;
96
+ return Promise.reject(validationErrors);
97
+ };
98
+ const validateField = async (modelProps = [], callback) => {
99
+ let result = false;
100
+ const shouldThrow = !isFunction(callback);
101
+ try {
102
+ result = await doValidateField(modelProps);
103
+ if (result === true) {
104
+ await (callback == null ? void 0 : callback(result));
105
+ }
106
+ return result;
107
+ } catch (e) {
108
+ if (e instanceof Error)
109
+ throw e;
110
+ const invalidFields = e;
111
+ if (props.scrollToError) {
112
+ if (formRef.value) {
113
+ const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`);
114
+ formItem == null ? void 0 : formItem.scrollIntoView(props.scrollIntoViewOptions);
115
+ }
116
+ }
117
+ !result && await (callback == null ? void 0 : callback(false, invalidFields));
118
+ return shouldThrow && Promise.reject(invalidFields);
119
+ }
120
+ };
121
+ const scrollToField = (prop) => {
122
+ var _a;
123
+ const field = getField(prop);
124
+ if (field) {
125
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
126
+ }
127
+ };
128
+ watch(() => props.rules, () => {
129
+ if (props.validateOnRuleChange) {
130
+ validate().catch((err) => debugWarn(err));
131
+ }
132
+ }, { deep: true, flush: "post" });
133
+ provide(formContextKey, reactive({
134
+ ...toRefs(props),
135
+ emit,
136
+ resetFields,
137
+ clearValidate,
138
+ validateField,
139
+ getField,
140
+ addField,
141
+ removeField,
142
+ ...useFormLabelWidth()
143
+ }));
144
+ expose({
145
+ validate,
146
+ validateField,
147
+ resetFields,
148
+ clearValidate,
149
+ scrollToField,
150
+ getField,
151
+ fields
152
+ });
153
+ return (_ctx, _cache) => {
154
+ return openBlock(), createElementBlock("form", {
155
+ ref_key: "formRef",
156
+ ref: formRef,
157
+ class: normalizeClass(unref(formClasses))
158
+ }, [
159
+ renderSlot(_ctx.$slots, "default")
160
+ ], 2);
161
+ };
53
162
  }
54
163
  });
55
- const formEmits = {
56
- validate: (prop, isValid, message) => (isArray(prop) || isString(prop)) && isBoolean(isValid) && isString(message)
57
- };
164
+ var Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form.vue"]]);
58
165
 
59
- export { formEmits, formMetaProps, formProps };
166
+ export { Form as default };
60
167
  //# 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 default: true,\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,IAAI,OAAO,EAAE,IAAI;AACjB,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 ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, 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 formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\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 filterFields(fields, [prop])[0]\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 let result = false\n const shouldThrow = !isFunction(callback)\n try {\n 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 // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value!.querySelector(\n `.${ns.b()}-item.is-error`\n )\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\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 Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["props","fields","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import Image from './src/image2.mjs';
2
- export { imageEmits, imageProps } from './src/image.mjs';
1
+ import Image from './src/image.mjs';
2
+ export { imageEmits, imageProps } from './src/image2.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElImage = withInstall(Image);