element-plus 2.9.4 → 2.9.5

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 (750) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +365 -360
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +365 -360
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lt.js +1 -1
  142. package/dist/locale/lt.min.js +1 -1
  143. package/dist/locale/lt.min.mjs +1 -1
  144. package/dist/locale/lt.mjs +1 -1
  145. package/dist/locale/lv.js +1 -1
  146. package/dist/locale/lv.min.js +1 -1
  147. package/dist/locale/lv.min.mjs +1 -1
  148. package/dist/locale/lv.mjs +1 -1
  149. package/dist/locale/mg.js +1 -1
  150. package/dist/locale/mg.min.js +1 -1
  151. package/dist/locale/mg.min.mjs +1 -1
  152. package/dist/locale/mg.mjs +1 -1
  153. package/dist/locale/mn.js +1 -1
  154. package/dist/locale/mn.min.js +1 -1
  155. package/dist/locale/mn.min.mjs +1 -1
  156. package/dist/locale/mn.mjs +1 -1
  157. package/dist/locale/ms.js +1 -1
  158. package/dist/locale/ms.min.js +1 -1
  159. package/dist/locale/ms.min.mjs +1 -1
  160. package/dist/locale/ms.mjs +1 -1
  161. package/dist/locale/my.js +1 -1
  162. package/dist/locale/my.min.js +1 -1
  163. package/dist/locale/my.min.mjs +1 -1
  164. package/dist/locale/my.mjs +1 -1
  165. package/dist/locale/nb-no.js +1 -1
  166. package/dist/locale/nb-no.min.js +1 -1
  167. package/dist/locale/nb-no.min.mjs +1 -1
  168. package/dist/locale/nb-no.mjs +1 -1
  169. package/dist/locale/nl.js +1 -1
  170. package/dist/locale/nl.min.js +1 -1
  171. package/dist/locale/nl.min.mjs +1 -1
  172. package/dist/locale/nl.mjs +1 -1
  173. package/dist/locale/no.js +1 -1
  174. package/dist/locale/no.min.js +1 -1
  175. package/dist/locale/no.min.mjs +1 -1
  176. package/dist/locale/no.mjs +1 -1
  177. package/dist/locale/pa.js +1 -1
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.mjs +1 -1
  180. package/dist/locale/pa.mjs +1 -1
  181. package/dist/locale/pl.js +1 -1
  182. package/dist/locale/pl.min.js +1 -1
  183. package/dist/locale/pl.min.mjs +1 -1
  184. package/dist/locale/pl.mjs +1 -1
  185. package/dist/locale/pt-br.js +1 -1
  186. package/dist/locale/pt-br.min.js +1 -1
  187. package/dist/locale/pt-br.min.mjs +1 -1
  188. package/dist/locale/pt-br.mjs +1 -1
  189. package/dist/locale/pt.js +1 -1
  190. package/dist/locale/pt.min.js +1 -1
  191. package/dist/locale/pt.min.mjs +1 -1
  192. package/dist/locale/pt.mjs +1 -1
  193. package/dist/locale/ro.js +1 -1
  194. package/dist/locale/ro.min.js +1 -1
  195. package/dist/locale/ro.min.mjs +1 -1
  196. package/dist/locale/ro.mjs +1 -1
  197. package/dist/locale/ru.js +1 -1
  198. package/dist/locale/ru.min.js +1 -1
  199. package/dist/locale/ru.min.mjs +1 -1
  200. package/dist/locale/ru.mjs +1 -1
  201. package/dist/locale/sk.js +1 -1
  202. package/dist/locale/sk.min.js +1 -1
  203. package/dist/locale/sk.min.mjs +1 -1
  204. package/dist/locale/sk.mjs +1 -1
  205. package/dist/locale/sl.js +1 -1
  206. package/dist/locale/sl.min.js +1 -1
  207. package/dist/locale/sl.min.mjs +1 -1
  208. package/dist/locale/sl.mjs +1 -1
  209. package/dist/locale/sr.js +1 -1
  210. package/dist/locale/sr.min.js +1 -1
  211. package/dist/locale/sr.min.mjs +1 -1
  212. package/dist/locale/sr.mjs +1 -1
  213. package/dist/locale/sv.js +1 -1
  214. package/dist/locale/sv.min.js +1 -1
  215. package/dist/locale/sv.min.mjs +1 -1
  216. package/dist/locale/sv.mjs +1 -1
  217. package/dist/locale/sw.js +1 -1
  218. package/dist/locale/sw.min.js +1 -1
  219. package/dist/locale/sw.min.mjs +1 -1
  220. package/dist/locale/sw.mjs +1 -1
  221. package/dist/locale/ta.js +1 -1
  222. package/dist/locale/ta.min.js +1 -1
  223. package/dist/locale/ta.min.mjs +1 -1
  224. package/dist/locale/ta.mjs +1 -1
  225. package/dist/locale/te.js +1 -1
  226. package/dist/locale/te.min.js +1 -1
  227. package/dist/locale/te.min.mjs +1 -1
  228. package/dist/locale/te.mjs +1 -1
  229. package/dist/locale/th.js +1 -1
  230. package/dist/locale/th.min.js +1 -1
  231. package/dist/locale/th.min.mjs +1 -1
  232. package/dist/locale/th.mjs +1 -1
  233. package/dist/locale/tk.js +1 -1
  234. package/dist/locale/tk.min.js +1 -1
  235. package/dist/locale/tk.min.mjs +1 -1
  236. package/dist/locale/tk.mjs +1 -1
  237. package/dist/locale/tr.js +1 -1
  238. package/dist/locale/tr.min.js +1 -1
  239. package/dist/locale/tr.min.mjs +1 -1
  240. package/dist/locale/tr.mjs +1 -1
  241. package/dist/locale/ug-cn.js +1 -1
  242. package/dist/locale/ug-cn.min.js +1 -1
  243. package/dist/locale/ug-cn.min.mjs +1 -1
  244. package/dist/locale/ug-cn.mjs +1 -1
  245. package/dist/locale/uk.js +1 -1
  246. package/dist/locale/uk.min.js +1 -1
  247. package/dist/locale/uk.min.mjs +1 -1
  248. package/dist/locale/uk.mjs +1 -1
  249. package/dist/locale/uz-uz.js +1 -1
  250. package/dist/locale/uz-uz.min.js +1 -1
  251. package/dist/locale/uz-uz.min.mjs +1 -1
  252. package/dist/locale/uz-uz.mjs +1 -1
  253. package/dist/locale/vi.js +1 -1
  254. package/dist/locale/vi.min.js +1 -1
  255. package/dist/locale/vi.min.mjs +1 -1
  256. package/dist/locale/vi.mjs +1 -1
  257. package/dist/locale/zh-cn.js +1 -1
  258. package/dist/locale/zh-cn.min.js +1 -1
  259. package/dist/locale/zh-cn.min.mjs +1 -1
  260. package/dist/locale/zh-cn.mjs +1 -1
  261. package/dist/locale/zh-hk.js +1 -1
  262. package/dist/locale/zh-hk.min.js +1 -1
  263. package/dist/locale/zh-hk.min.mjs +1 -1
  264. package/dist/locale/zh-hk.mjs +1 -1
  265. package/dist/locale/zh-mo.js +1 -1
  266. package/dist/locale/zh-mo.min.js +1 -1
  267. package/dist/locale/zh-mo.min.mjs +1 -1
  268. package/dist/locale/zh-mo.mjs +1 -1
  269. package/dist/locale/zh-tw.js +1 -1
  270. package/dist/locale/zh-tw.min.js +1 -1
  271. package/dist/locale/zh-tw.min.mjs +1 -1
  272. package/dist/locale/zh-tw.mjs +1 -1
  273. package/es/components/affix/index.mjs +2 -2
  274. package/es/components/affix/src/affix.mjs +118 -25
  275. package/es/components/affix/src/affix.mjs.map +1 -1
  276. package/es/components/affix/src/affix2.mjs +25 -118
  277. package/es/components/affix/src/affix2.mjs.map +1 -1
  278. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  279. package/es/components/button/index.mjs +1 -1
  280. package/es/components/button/src/button-group.mjs +29 -6
  281. package/es/components/button/src/button-group.mjs.map +1 -1
  282. package/es/components/button/src/button-group2.mjs +6 -29
  283. package/es/components/button/src/button-group2.mjs.map +1 -1
  284. package/es/components/calendar/index.mjs +2 -2
  285. package/es/components/calendar/src/calendar.mjs +16 -134
  286. package/es/components/calendar/src/calendar.mjs.map +1 -1
  287. package/es/components/calendar/src/calendar2.mjs +134 -16
  288. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  289. package/es/components/cascader/src/cascader.mjs +1 -1
  290. package/es/components/cascader/src/cascader.vue.d.ts +3 -0
  291. package/es/components/cascader/src/cascader2.mjs +10 -7
  292. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  293. package/es/components/checkbox/index.mjs +2 -2
  294. package/es/components/checkbox/src/checkbox-group.mjs +71 -29
  295. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  296. package/es/components/checkbox/src/checkbox-group2.mjs +29 -71
  297. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  298. package/es/components/collapse/index.mjs +2 -2
  299. package/es/components/collapse/src/collapse-item.mjs +90 -18
  300. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  301. package/es/components/collapse/src/collapse-item2.mjs +18 -90
  302. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  303. package/es/components/color-picker/src/color-picker.mjs +1 -1
  304. package/es/components/countdown/index.mjs +2 -2
  305. package/es/components/countdown/src/countdown.mjs +79 -22
  306. package/es/components/countdown/src/countdown.mjs.map +1 -1
  307. package/es/components/countdown/src/countdown2.mjs +22 -79
  308. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  309. package/es/components/date-picker/src/date-picker.d.ts +6 -6
  310. package/es/components/date-picker/src/props/date-picker.d.ts +3 -3
  311. package/es/components/dialog/index.mjs +2 -2
  312. package/es/components/dialog/src/dialog.mjs +67 -171
  313. package/es/components/dialog/src/dialog.mjs.map +1 -1
  314. package/es/components/dialog/src/dialog2.mjs +171 -67
  315. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  316. package/es/components/divider/index.mjs +2 -2
  317. package/es/components/divider/src/divider.mjs +16 -34
  318. package/es/components/divider/src/divider.mjs.map +1 -1
  319. package/es/components/divider/src/divider2.mjs +34 -16
  320. package/es/components/divider/src/divider2.mjs.map +1 -1
  321. package/es/components/drawer/src/drawer.mjs +1 -1
  322. package/es/components/dropdown/src/dropdown.d.ts +1 -0
  323. package/es/components/dropdown/src/dropdown.mjs +6 -2
  324. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  325. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -0
  326. package/es/components/dropdown/src/dropdown2.mjs +2 -2
  327. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  328. package/es/components/form/index.mjs +2 -2
  329. package/es/components/form/src/form-item.mjs +319 -47
  330. package/es/components/form/src/form-item.mjs.map +1 -1
  331. package/es/components/form/src/form-item2.mjs +47 -319
  332. package/es/components/form/src/form-item2.mjs.map +1 -1
  333. package/es/components/icon/index.mjs +2 -2
  334. package/es/components/icon/src/icon.mjs +35 -8
  335. package/es/components/icon/src/icon.mjs.map +1 -1
  336. package/es/components/icon/src/icon2.mjs +8 -35
  337. package/es/components/icon/src/icon2.mjs.map +1 -1
  338. package/es/components/image-viewer/index.mjs +2 -2
  339. package/es/components/image-viewer/src/image-viewer.mjs +49 -426
  340. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  341. package/es/components/image-viewer/src/image-viewer2.mjs +426 -49
  342. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  343. package/es/components/index.mjs +22 -22
  344. package/es/components/menu/index.mjs +2 -2
  345. package/es/components/menu/src/menu-collapse-transition.mjs +16 -17
  346. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  347. package/es/components/menu/src/menu-collapse-transition.vue.d.ts +10 -4
  348. package/es/components/menu/src/menu-item-group.vue.d.ts +12 -21
  349. package/es/components/menu/src/menu-item-group2.mjs +23 -24
  350. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  351. package/es/components/menu/src/menu-item.mjs +14 -96
  352. package/es/components/menu/src/menu-item.mjs.map +1 -1
  353. package/es/components/menu/src/menu-item.vue.d.ts +14 -2
  354. package/es/components/menu/src/menu-item2.mjs +97 -15
  355. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  356. package/es/components/menu/src/menu.d.ts +4 -0
  357. package/es/components/menu/src/menu.mjs +8 -13
  358. package/es/components/menu/src/menu.mjs.map +1 -1
  359. package/es/components/menu/src/sub-menu.mjs +6 -21
  360. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  361. package/es/components/menu/src/use-menu-color.mjs +1 -5
  362. package/es/components/menu/src/use-menu-color.mjs.map +1 -1
  363. package/es/components/menu/src/use-menu-css-var.mjs +8 -10
  364. package/es/components/menu/src/use-menu-css-var.mjs.map +1 -1
  365. package/es/components/message-box/src/index.mjs +3 -3
  366. package/es/components/message-box/src/index.mjs.map +1 -1
  367. package/es/components/message-box/src/index.vue.d.ts +121 -0
  368. package/es/components/message-box/src/message-box.type.d.ts +3 -0
  369. package/es/components/message-box/src/messageBox.mjs +6 -2
  370. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  371. package/es/components/page-header/index.mjs +2 -2
  372. package/es/components/page-header/src/page-header.mjs +16 -97
  373. package/es/components/page-header/src/page-header.mjs.map +1 -1
  374. package/es/components/page-header/src/page-header2.mjs +97 -16
  375. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  376. package/es/components/pagination/src/components/jumper.mjs +7 -58
  377. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  378. package/es/components/pagination/src/components/jumper2.mjs +58 -7
  379. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  380. package/es/components/pagination/src/pagination.mjs +1 -1
  381. package/es/components/popconfirm/index.mjs +2 -2
  382. package/es/components/popconfirm/src/popconfirm.mjs +114 -45
  383. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  384. package/es/components/popconfirm/src/popconfirm2.mjs +45 -114
  385. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  386. package/es/components/popover/src/popover.mjs +1 -1
  387. package/es/components/popper/index.mjs +2 -2
  388. package/es/components/popper/src/trigger.mjs +31 -127
  389. package/es/components/popper/src/trigger.mjs.map +1 -1
  390. package/es/components/popper/src/trigger2.mjs +127 -31
  391. package/es/components/popper/src/trigger2.mjs.map +1 -1
  392. package/es/components/radio/index.mjs +2 -2
  393. package/es/components/radio/src/radio-button.mjs +65 -5
  394. package/es/components/radio/src/radio-button.mjs.map +1 -1
  395. package/es/components/radio/src/radio-button2.mjs +5 -65
  396. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  397. package/es/components/result/index.mjs +2 -2
  398. package/es/components/result/src/result.mjs +28 -62
  399. package/es/components/result/src/result.mjs.map +1 -1
  400. package/es/components/result/src/result2.mjs +62 -28
  401. package/es/components/result/src/result2.mjs.map +1 -1
  402. package/es/components/select/src/select.mjs +1 -1
  403. package/es/components/select/src/useOption.mjs +3 -2
  404. package/es/components/select/src/useOption.mjs.map +1 -1
  405. package/es/components/select/src/useSelect.mjs +5 -1
  406. package/es/components/select/src/useSelect.mjs.map +1 -1
  407. package/es/components/select-v2/src/defaults.mjs +1 -1
  408. package/es/components/slider/src/button2.mjs +4 -2
  409. package/es/components/slider/src/button2.mjs.map +1 -1
  410. package/es/components/slider/src/composables/use-slider-button.d.ts +1 -0
  411. package/es/components/slider/src/composables/use-slider-button.mjs +2 -0
  412. package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
  413. package/es/components/slider/src/slider.d.ts +1 -0
  414. package/es/components/slider/src/slider.mjs +4 -0
  415. package/es/components/slider/src/slider.mjs.map +1 -1
  416. package/es/components/slider/src/slider.vue.d.ts +3 -0
  417. package/es/components/switch/index.mjs +2 -2
  418. package/es/components/switch/src/switch.mjs +72 -228
  419. package/es/components/switch/src/switch.mjs.map +1 -1
  420. package/es/components/switch/src/switch2.mjs +228 -72
  421. package/es/components/switch/src/switch2.mjs.map +1 -1
  422. package/es/components/table/src/table/style-helper.mjs +2 -0
  423. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  424. package/es/components/tabs/index.mjs +1 -1
  425. package/es/components/tabs/src/tab-bar.mjs +95 -7
  426. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  427. package/es/components/tabs/src/tab-bar2.mjs +7 -95
  428. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  429. package/es/components/tabs/src/tab-nav.mjs +1 -1
  430. package/es/components/teleport/index.mjs +2 -2
  431. package/es/components/teleport/src/teleport.mjs +8 -18
  432. package/es/components/teleport/src/teleport.mjs.map +1 -1
  433. package/es/components/teleport/src/teleport2.mjs +18 -8
  434. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  435. package/es/components/time-picker/src/common/picker.vue.d.ts +6 -6
  436. package/es/components/time-picker/src/common/props.d.ts +3 -3
  437. package/es/components/time-picker/src/composables/use-time-panel.d.ts +4 -4
  438. package/es/components/time-picker/src/composables/use-time-panel.mjs.map +1 -1
  439. package/es/components/time-picker/src/composables/use-time-picker.d.ts +4 -5
  440. package/es/components/time-picker/src/composables/use-time-picker.mjs.map +1 -1
  441. package/es/components/time-picker/src/props/basic-time-spinner.d.ts +3 -3
  442. package/es/components/time-picker/src/props/shared.d.ts +1 -4
  443. package/es/components/time-picker/src/props/shared.mjs.map +1 -1
  444. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +6 -6
  445. package/es/components/time-picker/src/time-picker.d.ts +6 -6
  446. package/es/components/time-select/index.mjs +2 -2
  447. package/es/components/time-select/src/time-select.mjs +131 -54
  448. package/es/components/time-select/src/time-select.mjs.map +1 -1
  449. package/es/components/time-select/src/time-select2.mjs +54 -131
  450. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  451. package/es/components/tooltip/index.mjs +1 -1
  452. package/es/components/tooltip/src/content.mjs +192 -28
  453. package/es/components/tooltip/src/content.mjs.map +1 -1
  454. package/es/components/tooltip/src/content2.mjs +28 -192
  455. package/es/components/tooltip/src/content2.mjs.map +1 -1
  456. package/es/components/tooltip/src/tooltip.mjs +1 -1
  457. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  458. package/es/components/tooltip/src/trigger.mjs +1 -1
  459. package/es/components/tooltip/src/trigger2.mjs +1 -1
  460. package/es/components/tooltip-v2/index.mjs +4 -4
  461. package/es/components/tooltip-v2/src/content.mjs +48 -110
  462. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  463. package/es/components/tooltip-v2/src/content2.mjs +110 -48
  464. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  465. package/es/components/tooltip-v2/src/tooltip.mjs +20 -78
  466. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  467. package/es/components/tooltip-v2/src/tooltip2.mjs +78 -20
  468. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  469. package/es/components/tooltip-v2/src/trigger.mjs +89 -12
  470. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  471. package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
  472. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  473. package/es/components/transfer/index.mjs +2 -2
  474. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  475. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  476. package/es/components/transfer/src/transfer-panel.mjs +19 -130
  477. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  478. package/es/components/transfer/src/transfer-panel2.mjs +130 -19
  479. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  480. package/es/components/transfer/src/transfer.mjs +68 -164
  481. package/es/components/transfer/src/transfer.mjs.map +1 -1
  482. package/es/components/transfer/src/transfer2.mjs +164 -68
  483. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  484. package/es/components/tree/index.d.ts +2 -1
  485. package/es/components/tree/index.mjs.map +1 -1
  486. package/es/components/tree/src/model/tree-store.mjs +7 -3
  487. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  488. package/es/components/tree/src/model/util.mjs +1 -5
  489. package/es/components/tree/src/model/util.mjs.map +1 -1
  490. package/es/components/tree/src/tree-node-content.mjs.map +1 -1
  491. package/es/components/tree/src/tree-node.mjs +7 -5
  492. package/es/components/tree/src/tree-node.mjs.map +1 -1
  493. package/es/components/tree/src/tree-node.vue.d.ts +4 -5
  494. package/es/components/tree/src/tree.type.d.ts +21 -23
  495. package/es/components/tree-select/src/select.mjs +2 -0
  496. package/es/components/tree-select/src/select.mjs.map +1 -1
  497. package/es/components/tree-select/src/tree-select-option.mjs +3 -1
  498. package/es/components/tree-select/src/tree-select-option.mjs.map +1 -1
  499. package/es/components/tree-v2/src/tree.vue.d.ts +16 -16
  500. package/es/index.mjs +22 -22
  501. package/es/utils/vue/vnode.mjs +2 -0
  502. package/es/utils/vue/vnode.mjs.map +1 -1
  503. package/es/version.d.ts +1 -1
  504. package/es/version.mjs +1 -1
  505. package/es/version.mjs.map +1 -1
  506. package/lib/components/affix/index.js +2 -2
  507. package/lib/components/affix/src/affix.js +118 -26
  508. package/lib/components/affix/src/affix.js.map +1 -1
  509. package/lib/components/affix/src/affix2.js +26 -118
  510. package/lib/components/affix/src/affix2.js.map +1 -1
  511. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  512. package/lib/components/button/index.js +1 -1
  513. package/lib/components/button/src/button-group.js +29 -6
  514. package/lib/components/button/src/button-group.js.map +1 -1
  515. package/lib/components/button/src/button-group2.js +6 -29
  516. package/lib/components/button/src/button-group2.js.map +1 -1
  517. package/lib/components/calendar/index.js +2 -2
  518. package/lib/components/calendar/src/calendar.js +17 -134
  519. package/lib/components/calendar/src/calendar.js.map +1 -1
  520. package/lib/components/calendar/src/calendar2.js +134 -17
  521. package/lib/components/calendar/src/calendar2.js.map +1 -1
  522. package/lib/components/cascader/src/cascader.js +1 -1
  523. package/lib/components/cascader/src/cascader.vue.d.ts +3 -0
  524. package/lib/components/cascader/src/cascader2.js +10 -7
  525. package/lib/components/cascader/src/cascader2.js.map +1 -1
  526. package/lib/components/checkbox/index.js +2 -2
  527. package/lib/components/checkbox/src/checkbox-group.js +71 -30
  528. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  529. package/lib/components/checkbox/src/checkbox-group2.js +30 -71
  530. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  531. package/lib/components/collapse/index.js +2 -2
  532. package/lib/components/collapse/src/collapse-item.js +90 -18
  533. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  534. package/lib/components/collapse/src/collapse-item2.js +18 -90
  535. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  536. package/lib/components/color-picker/src/color-picker.js +1 -1
  537. package/lib/components/countdown/index.js +2 -2
  538. package/lib/components/countdown/src/countdown.js +79 -23
  539. package/lib/components/countdown/src/countdown.js.map +1 -1
  540. package/lib/components/countdown/src/countdown2.js +23 -79
  541. package/lib/components/countdown/src/countdown2.js.map +1 -1
  542. package/lib/components/date-picker/src/date-picker.d.ts +6 -6
  543. package/lib/components/date-picker/src/props/date-picker.d.ts +3 -3
  544. package/lib/components/dialog/index.js +2 -2
  545. package/lib/components/dialog/src/dialog.js +68 -171
  546. package/lib/components/dialog/src/dialog.js.map +1 -1
  547. package/lib/components/dialog/src/dialog2.js +171 -68
  548. package/lib/components/dialog/src/dialog2.js.map +1 -1
  549. package/lib/components/divider/index.js +2 -2
  550. package/lib/components/divider/src/divider.js +16 -34
  551. package/lib/components/divider/src/divider.js.map +1 -1
  552. package/lib/components/divider/src/divider2.js +34 -16
  553. package/lib/components/divider/src/divider2.js.map +1 -1
  554. package/lib/components/drawer/src/drawer.js +1 -1
  555. package/lib/components/dropdown/src/dropdown.d.ts +1 -0
  556. package/lib/components/dropdown/src/dropdown.js +6 -2
  557. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  558. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -0
  559. package/lib/components/dropdown/src/dropdown2.js +2 -2
  560. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  561. package/lib/components/form/index.js +2 -2
  562. package/lib/components/form/src/form-item.js +323 -48
  563. package/lib/components/form/src/form-item.js.map +1 -1
  564. package/lib/components/form/src/form-item2.js +48 -323
  565. package/lib/components/form/src/form-item2.js.map +1 -1
  566. package/lib/components/icon/index.js +2 -2
  567. package/lib/components/icon/src/icon.js +35 -8
  568. package/lib/components/icon/src/icon.js.map +1 -1
  569. package/lib/components/icon/src/icon2.js +8 -35
  570. package/lib/components/icon/src/icon2.js.map +1 -1
  571. package/lib/components/image-viewer/index.js +2 -2
  572. package/lib/components/image-viewer/src/image-viewer.js +50 -426
  573. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  574. package/lib/components/image-viewer/src/image-viewer2.js +426 -50
  575. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  576. package/lib/components/index.js +22 -22
  577. package/lib/components/menu/index.js +2 -2
  578. package/lib/components/menu/src/menu-collapse-transition.js +15 -16
  579. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  580. package/lib/components/menu/src/menu-collapse-transition.vue.d.ts +10 -4
  581. package/lib/components/menu/src/menu-item-group.vue.d.ts +12 -21
  582. package/lib/components/menu/src/menu-item-group2.js +22 -23
  583. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  584. package/lib/components/menu/src/menu-item.js +15 -96
  585. package/lib/components/menu/src/menu-item.js.map +1 -1
  586. package/lib/components/menu/src/menu-item.vue.d.ts +14 -2
  587. package/lib/components/menu/src/menu-item2.js +97 -16
  588. package/lib/components/menu/src/menu-item2.js.map +1 -1
  589. package/lib/components/menu/src/menu.d.ts +4 -0
  590. package/lib/components/menu/src/menu.js +8 -13
  591. package/lib/components/menu/src/menu.js.map +1 -1
  592. package/lib/components/menu/src/sub-menu.js +6 -21
  593. package/lib/components/menu/src/sub-menu.js.map +1 -1
  594. package/lib/components/menu/src/use-menu-color.js +1 -5
  595. package/lib/components/menu/src/use-menu-color.js.map +1 -1
  596. package/lib/components/menu/src/use-menu-css-var.js +8 -10
  597. package/lib/components/menu/src/use-menu-css-var.js.map +1 -1
  598. package/lib/components/message-box/src/index.js +3 -3
  599. package/lib/components/message-box/src/index.js.map +1 -1
  600. package/lib/components/message-box/src/index.vue.d.ts +121 -0
  601. package/lib/components/message-box/src/message-box.type.d.ts +3 -0
  602. package/lib/components/message-box/src/messageBox.js +5 -1
  603. package/lib/components/message-box/src/messageBox.js.map +1 -1
  604. package/lib/components/page-header/index.js +2 -2
  605. package/lib/components/page-header/src/page-header.js +17 -97
  606. package/lib/components/page-header/src/page-header.js.map +1 -1
  607. package/lib/components/page-header/src/page-header2.js +97 -17
  608. package/lib/components/page-header/src/page-header2.js.map +1 -1
  609. package/lib/components/pagination/src/components/jumper.js +7 -58
  610. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  611. package/lib/components/pagination/src/components/jumper2.js +58 -7
  612. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  613. package/lib/components/pagination/src/pagination.js +1 -1
  614. package/lib/components/popconfirm/index.js +2 -2
  615. package/lib/components/popconfirm/src/popconfirm.js +114 -46
  616. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  617. package/lib/components/popconfirm/src/popconfirm2.js +46 -114
  618. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  619. package/lib/components/popover/src/popover.js +1 -1
  620. package/lib/components/popper/index.js +2 -2
  621. package/lib/components/popper/src/trigger.js +32 -127
  622. package/lib/components/popper/src/trigger.js.map +1 -1
  623. package/lib/components/popper/src/trigger2.js +127 -32
  624. package/lib/components/popper/src/trigger2.js.map +1 -1
  625. package/lib/components/radio/index.js +2 -2
  626. package/lib/components/radio/src/radio-button.js +65 -5
  627. package/lib/components/radio/src/radio-button.js.map +1 -1
  628. package/lib/components/radio/src/radio-button2.js +5 -65
  629. package/lib/components/radio/src/radio-button2.js.map +1 -1
  630. package/lib/components/result/index.js +2 -2
  631. package/lib/components/result/src/result.js +30 -62
  632. package/lib/components/result/src/result.js.map +1 -1
  633. package/lib/components/result/src/result2.js +62 -30
  634. package/lib/components/result/src/result2.js.map +1 -1
  635. package/lib/components/select/src/select.js +1 -1
  636. package/lib/components/select/src/useOption.js +2 -1
  637. package/lib/components/select/src/useOption.js.map +1 -1
  638. package/lib/components/select/src/useSelect.js +5 -1
  639. package/lib/components/select/src/useSelect.js.map +1 -1
  640. package/lib/components/select-v2/src/defaults.js +1 -1
  641. package/lib/components/slider/src/button2.js +3 -1
  642. package/lib/components/slider/src/button2.js.map +1 -1
  643. package/lib/components/slider/src/composables/use-slider-button.d.ts +1 -0
  644. package/lib/components/slider/src/composables/use-slider-button.js +2 -0
  645. package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
  646. package/lib/components/slider/src/slider.d.ts +1 -0
  647. package/lib/components/slider/src/slider.js +4 -0
  648. package/lib/components/slider/src/slider.js.map +1 -1
  649. package/lib/components/slider/src/slider.vue.d.ts +3 -0
  650. package/lib/components/switch/index.js +2 -2
  651. package/lib/components/switch/src/switch.js +72 -227
  652. package/lib/components/switch/src/switch.js.map +1 -1
  653. package/lib/components/switch/src/switch2.js +227 -72
  654. package/lib/components/switch/src/switch2.js.map +1 -1
  655. package/lib/components/table/src/table/style-helper.js +2 -0
  656. package/lib/components/table/src/table/style-helper.js.map +1 -1
  657. package/lib/components/tabs/index.js +1 -1
  658. package/lib/components/tabs/src/tab-bar.js +95 -7
  659. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  660. package/lib/components/tabs/src/tab-bar2.js +7 -95
  661. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  662. package/lib/components/tabs/src/tab-nav.js +1 -1
  663. package/lib/components/teleport/index.js +2 -2
  664. package/lib/components/teleport/src/teleport.js +8 -18
  665. package/lib/components/teleport/src/teleport.js.map +1 -1
  666. package/lib/components/teleport/src/teleport2.js +18 -8
  667. package/lib/components/teleport/src/teleport2.js.map +1 -1
  668. package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -6
  669. package/lib/components/time-picker/src/common/props.d.ts +3 -3
  670. package/lib/components/time-picker/src/composables/use-time-panel.d.ts +4 -4
  671. package/lib/components/time-picker/src/composables/use-time-panel.js.map +1 -1
  672. package/lib/components/time-picker/src/composables/use-time-picker.d.ts +4 -5
  673. package/lib/components/time-picker/src/composables/use-time-picker.js.map +1 -1
  674. package/lib/components/time-picker/src/props/basic-time-spinner.d.ts +3 -3
  675. package/lib/components/time-picker/src/props/shared.d.ts +1 -4
  676. package/lib/components/time-picker/src/props/shared.js.map +1 -1
  677. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +6 -6
  678. package/lib/components/time-picker/src/time-picker.d.ts +6 -6
  679. package/lib/components/time-select/index.js +2 -2
  680. package/lib/components/time-select/src/time-select.js +136 -54
  681. package/lib/components/time-select/src/time-select.js.map +1 -1
  682. package/lib/components/time-select/src/time-select2.js +54 -136
  683. package/lib/components/time-select/src/time-select2.js.map +1 -1
  684. package/lib/components/tooltip/index.js +1 -1
  685. package/lib/components/tooltip/src/content.js +192 -28
  686. package/lib/components/tooltip/src/content.js.map +1 -1
  687. package/lib/components/tooltip/src/content2.js +28 -192
  688. package/lib/components/tooltip/src/content2.js.map +1 -1
  689. package/lib/components/tooltip/src/tooltip.js +1 -1
  690. package/lib/components/tooltip/src/tooltip2.js +1 -1
  691. package/lib/components/tooltip/src/trigger.js +1 -1
  692. package/lib/components/tooltip/src/trigger2.js +1 -1
  693. package/lib/components/tooltip-v2/index.js +4 -4
  694. package/lib/components/tooltip-v2/src/content.js +48 -110
  695. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  696. package/lib/components/tooltip-v2/src/content2.js +110 -48
  697. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  698. package/lib/components/tooltip-v2/src/tooltip.js +20 -78
  699. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  700. package/lib/components/tooltip-v2/src/tooltip2.js +78 -20
  701. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  702. package/lib/components/tooltip-v2/src/trigger.js +89 -12
  703. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  704. package/lib/components/tooltip-v2/src/trigger2.js +12 -89
  705. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  706. package/lib/components/transfer/index.js +2 -2
  707. package/lib/components/transfer/src/composables/use-check.js +1 -1
  708. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  709. package/lib/components/transfer/src/transfer-panel.js +21 -130
  710. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  711. package/lib/components/transfer/src/transfer-panel2.js +130 -21
  712. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  713. package/lib/components/transfer/src/transfer.js +72 -164
  714. package/lib/components/transfer/src/transfer.js.map +1 -1
  715. package/lib/components/transfer/src/transfer2.js +164 -72
  716. package/lib/components/transfer/src/transfer2.js.map +1 -1
  717. package/lib/components/tree/index.d.ts +2 -1
  718. package/lib/components/tree/index.js.map +1 -1
  719. package/lib/components/tree/src/model/tree-store.js +7 -3
  720. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  721. package/lib/components/tree/src/model/util.js +1 -5
  722. package/lib/components/tree/src/model/util.js.map +1 -1
  723. package/lib/components/tree/src/tree-node-content.js.map +1 -1
  724. package/lib/components/tree/src/tree-node.js +7 -5
  725. package/lib/components/tree/src/tree-node.js.map +1 -1
  726. package/lib/components/tree/src/tree-node.vue.d.ts +4 -5
  727. package/lib/components/tree/src/tree.type.d.ts +21 -23
  728. package/lib/components/tree-select/src/select.js +2 -0
  729. package/lib/components/tree-select/src/select.js.map +1 -1
  730. package/lib/components/tree-select/src/tree-select-option.js +3 -1
  731. package/lib/components/tree-select/src/tree-select-option.js.map +1 -1
  732. package/lib/components/tree-v2/src/tree.vue.d.ts +16 -16
  733. package/lib/index.js +22 -22
  734. package/lib/utils/vue/vnode.js +2 -0
  735. package/lib/utils/vue/vnode.js.map +1 -1
  736. package/lib/version.d.ts +1 -1
  737. package/lib/version.js +1 -1
  738. package/lib/version.js.map +1 -1
  739. package/package.json +2 -2
  740. package/tags.json +1 -1
  741. package/theme-chalk/el-step.css +1 -1
  742. package/theme-chalk/index.css +1 -1
  743. package/theme-chalk/src/step.scss +3 -3
  744. package/web-types.json +1 -1
  745. package/es/components/time-picker/src/types.d.ts +0 -4
  746. package/es/components/time-picker/src/types.mjs +0 -2
  747. package/es/components/time-picker/src/types.mjs.map +0 -1
  748. package/lib/components/time-picker/src/types.d.ts +0 -4
  749. package/lib/components/time-picker/src/types.js +0 -3
  750. package/lib/components/time-picker/src/types.js.map +0 -1
@@ -202,7 +202,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
202
202
  transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
203
203
  teleported: _ctx.teleported,
204
204
  pure: "",
205
- persistent: "",
205
+ persistent: _ctx.persistent,
206
206
  onBeforeShow: _ctx.handleBeforeShowTooltip,
207
207
  onShow: _ctx.handleShowTooltip,
208
208
  onBeforeHide: _ctx.handleBeforeHideTooltip
@@ -254,7 +254,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
254
254
  }, 8, ["id", "tabindex"])
255
255
  ])
256
256
  } : void 0
257
- ]), 1032, ["role", "effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "trigger-keys", "trigger-target-el", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition", "teleported", "onBeforeShow", "onShow", "onBeforeHide"]),
257
+ ]), 1032, ["role", "effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "trigger-keys", "trigger-target-el", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition", "teleported", "persistent", "onBeforeShow", "onShow", "onBeforeHide"]),
258
258
  _ctx.splitButton ? (openBlock(), createBlock(_component_el_button_group, { key: 0 }, {
259
259
  default: withCtx(() => [
260
260
  createVNode(_component_el_button, mergeProps({ ref: "referenceElementRef" }, _ctx.buttonProps, {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown2.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, ensureArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n const trigger = computed(() => ensureArray(props.trigger))\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => props.id || defaultTriggerId)\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, trigger],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n trigger.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n trigger.value.includes('hover') && contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollection","ElOnlyChild","ensureArray","_resolveComponent","_createSlots","_withCtx","_createVNode","_renderSlot","_openBlock","_createBlock","_mergeProps","_normalizeClass","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown2.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n :persistent=\"persistent\"\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, ensureArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n const trigger = computed(() => ensureArray(props.trigger))\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => props.id || defaultTriggerId)\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, trigger],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n trigger.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n trigger.value.includes('hover') && contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollection","ElOnlyChild","ensureArray","_resolveComponent","_createSlots","_withCtx","_createVNode","_renderSlot","_openBlock","_createBlock","_mergeProps","_normalizeClass","_createCommentVNode"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import Form from './src/form2.mjs';
2
- import FormItem from './src/form-item2.mjs';
2
+ import FormItem from './src/form-item.mjs';
3
3
  export { formEmits, formMetaProps, formProps } from './src/form.mjs';
4
- export { formItemProps, formItemValidateStates } from './src/form-item.mjs';
4
+ export { formItemProps, formItemValidateStates } from './src/form-item2.mjs';
5
5
  export { formContextKey, formItemContextKey } from './src/constants.mjs';
6
6
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
7
7
  export { useDisabled, useFormDisabled, useFormSize, useSize } from './src/hooks/use-form-common-props.mjs';
@@ -1,52 +1,324 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
2
- import { componentSizes } from '../../../constants/size.mjs';
1
+ import { defineComponent, useSlots, inject, ref, computed, watch, reactive, toRefs, provide, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, createBlock, resolveDynamicComponent, normalizeStyle, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, TransitionGroup, nextTick } from 'vue';
2
+ import AsyncValidator from 'async-validator';
3
+ import { castArray, clone } from 'lodash-unified';
4
+ import { refDebounced } from '@vueuse/core';
5
+ import { formItemProps } from './form-item2.mjs';
6
+ import FormLabelWrap from './form-label-wrap.mjs';
7
+ import { formContextKey, formItemContextKey } from './constants.mjs';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
+ import { getProp } from '../../../utils/objects.mjs';
10
+ import { useFormSize } from './hooks/use-form-common-props.mjs';
11
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
12
+ import { useId } from '../../../hooks/use-id/index.mjs';
13
+ import { addUnit } from '../../../utils/dom/style.mjs';
14
+ import { isBoolean } from '../../../utils/types.mjs';
15
+ import { isString, isFunction, isArray } from '@vue/shared';
3
16
 
4
- const formItemValidateStates = [
5
- "",
6
- "error",
7
- "validating",
8
- "success"
9
- ];
10
- const formItemProps = buildProps({
11
- label: String,
12
- labelWidth: {
13
- type: [String, Number],
14
- default: ""
15
- },
16
- labelPosition: {
17
- type: String,
18
- values: ["left", "right", "top", ""],
19
- default: ""
20
- },
21
- prop: {
22
- type: definePropType([String, Array])
23
- },
24
- required: {
25
- type: Boolean,
26
- default: void 0
27
- },
28
- rules: {
29
- type: definePropType([Object, Array])
30
- },
31
- error: String,
32
- validateStatus: {
33
- type: String,
34
- values: formItemValidateStates
35
- },
36
- for: String,
37
- inlineMessage: {
38
- type: [String, Boolean],
39
- default: ""
40
- },
41
- showMessage: {
42
- type: Boolean,
43
- default: true
44
- },
45
- size: {
46
- type: String,
47
- values: componentSizes
17
+ const __default__ = defineComponent({
18
+ name: "ElFormItem"
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ ...__default__,
22
+ props: formItemProps,
23
+ setup(__props, { expose }) {
24
+ const props = __props;
25
+ const slots = useSlots();
26
+ const formContext = inject(formContextKey, void 0);
27
+ const parentFormItemContext = inject(formItemContextKey, void 0);
28
+ const _size = useFormSize(void 0, { formItem: false });
29
+ const ns = useNamespace("form-item");
30
+ const labelId = useId().value;
31
+ const inputIds = ref([]);
32
+ const validateState = ref("");
33
+ const validateStateDebounced = refDebounced(validateState, 100);
34
+ const validateMessage = ref("");
35
+ const formItemRef = ref();
36
+ let initialValue = void 0;
37
+ let isResettingField = false;
38
+ const labelPosition = computed(() => props.labelPosition || (formContext == null ? void 0 : formContext.labelPosition));
39
+ const labelStyle = computed(() => {
40
+ if (labelPosition.value === "top") {
41
+ return {};
42
+ }
43
+ const labelWidth = addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
44
+ if (labelWidth)
45
+ return { width: labelWidth };
46
+ return {};
47
+ });
48
+ const contentStyle = computed(() => {
49
+ if (labelPosition.value === "top" || (formContext == null ? void 0 : formContext.inline)) {
50
+ return {};
51
+ }
52
+ if (!props.label && !props.labelWidth && isNested) {
53
+ return {};
54
+ }
55
+ const labelWidth = addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
56
+ if (!props.label && !slots.label) {
57
+ return { marginLeft: labelWidth };
58
+ }
59
+ return {};
60
+ });
61
+ const formItemClasses = computed(() => [
62
+ ns.b(),
63
+ ns.m(_size.value),
64
+ ns.is("error", validateState.value === "error"),
65
+ ns.is("validating", validateState.value === "validating"),
66
+ ns.is("success", validateState.value === "success"),
67
+ ns.is("required", isRequired.value || props.required),
68
+ ns.is("no-asterisk", formContext == null ? void 0 : formContext.hideRequiredAsterisk),
69
+ (formContext == null ? void 0 : formContext.requireAsteriskPosition) === "right" ? "asterisk-right" : "asterisk-left",
70
+ {
71
+ [ns.m("feedback")]: formContext == null ? void 0 : formContext.statusIcon,
72
+ [ns.m(`label-${labelPosition.value}`)]: labelPosition.value
73
+ }
74
+ ]);
75
+ const _inlineMessage = computed(() => isBoolean(props.inlineMessage) ? props.inlineMessage : (formContext == null ? void 0 : formContext.inlineMessage) || false);
76
+ const validateClasses = computed(() => [
77
+ ns.e("error"),
78
+ { [ns.em("error", "inline")]: _inlineMessage.value }
79
+ ]);
80
+ const propString = computed(() => {
81
+ if (!props.prop)
82
+ return "";
83
+ return isString(props.prop) ? props.prop : props.prop.join(".");
84
+ });
85
+ const hasLabel = computed(() => {
86
+ return !!(props.label || slots.label);
87
+ });
88
+ const labelFor = computed(() => {
89
+ return props.for || (inputIds.value.length === 1 ? inputIds.value[0] : void 0);
90
+ });
91
+ const isGroup = computed(() => {
92
+ return !labelFor.value && hasLabel.value;
93
+ });
94
+ const isNested = !!parentFormItemContext;
95
+ const fieldValue = computed(() => {
96
+ const model = formContext == null ? void 0 : formContext.model;
97
+ if (!model || !props.prop) {
98
+ return;
99
+ }
100
+ return getProp(model, props.prop).value;
101
+ });
102
+ const normalizedRules = computed(() => {
103
+ const { required } = props;
104
+ const rules = [];
105
+ if (props.rules) {
106
+ rules.push(...castArray(props.rules));
107
+ }
108
+ const formRules = formContext == null ? void 0 : formContext.rules;
109
+ if (formRules && props.prop) {
110
+ const _rules = getProp(formRules, props.prop).value;
111
+ if (_rules) {
112
+ rules.push(...castArray(_rules));
113
+ }
114
+ }
115
+ if (required !== void 0) {
116
+ const requiredRules = rules.map((rule, i) => [rule, i]).filter(([rule]) => Object.keys(rule).includes("required"));
117
+ if (requiredRules.length > 0) {
118
+ for (const [rule, i] of requiredRules) {
119
+ if (rule.required === required)
120
+ continue;
121
+ rules[i] = { ...rule, required };
122
+ }
123
+ } else {
124
+ rules.push({ required });
125
+ }
126
+ }
127
+ return rules;
128
+ });
129
+ const validateEnabled = computed(() => normalizedRules.value.length > 0);
130
+ const getFilteredRule = (trigger) => {
131
+ const rules = normalizedRules.value;
132
+ return rules.filter((rule) => {
133
+ if (!rule.trigger || !trigger)
134
+ return true;
135
+ if (isArray(rule.trigger)) {
136
+ return rule.trigger.includes(trigger);
137
+ } else {
138
+ return rule.trigger === trigger;
139
+ }
140
+ }).map(({ trigger: trigger2, ...rule }) => rule);
141
+ };
142
+ const isRequired = computed(() => normalizedRules.value.some((rule) => rule.required));
143
+ const shouldShowError = computed(() => {
144
+ var _a;
145
+ return validateStateDebounced.value === "error" && props.showMessage && ((_a = formContext == null ? void 0 : formContext.showMessage) != null ? _a : true);
146
+ });
147
+ const currentLabel = computed(() => `${props.label || ""}${(formContext == null ? void 0 : formContext.labelSuffix) || ""}`);
148
+ const setValidationState = (state) => {
149
+ validateState.value = state;
150
+ };
151
+ const onValidationFailed = (error) => {
152
+ var _a, _b;
153
+ const { errors, fields } = error;
154
+ if (!errors || !fields) {
155
+ console.error(error);
156
+ }
157
+ setValidationState("error");
158
+ validateMessage.value = errors ? (_b = (_a = errors == null ? void 0 : errors[0]) == null ? void 0 : _a.message) != null ? _b : `${props.prop} is required` : "";
159
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, false, validateMessage.value);
160
+ };
161
+ const onValidationSucceeded = () => {
162
+ setValidationState("success");
163
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, true, "");
164
+ };
165
+ const doValidate = async (rules) => {
166
+ const modelName = propString.value;
167
+ const validator = new AsyncValidator({
168
+ [modelName]: rules
169
+ });
170
+ return validator.validate({ [modelName]: fieldValue.value }, { firstFields: true }).then(() => {
171
+ onValidationSucceeded();
172
+ return true;
173
+ }).catch((err) => {
174
+ onValidationFailed(err);
175
+ return Promise.reject(err);
176
+ });
177
+ };
178
+ const validate = async (trigger, callback) => {
179
+ if (isResettingField || !props.prop) {
180
+ return false;
181
+ }
182
+ const hasCallback = isFunction(callback);
183
+ if (!validateEnabled.value) {
184
+ callback == null ? void 0 : callback(false);
185
+ return false;
186
+ }
187
+ const rules = getFilteredRule(trigger);
188
+ if (rules.length === 0) {
189
+ callback == null ? void 0 : callback(true);
190
+ return true;
191
+ }
192
+ setValidationState("validating");
193
+ return doValidate(rules).then(() => {
194
+ callback == null ? void 0 : callback(true);
195
+ return true;
196
+ }).catch((err) => {
197
+ const { fields } = err;
198
+ callback == null ? void 0 : callback(false, fields);
199
+ return hasCallback ? false : Promise.reject(fields);
200
+ });
201
+ };
202
+ const clearValidate = () => {
203
+ setValidationState("");
204
+ validateMessage.value = "";
205
+ isResettingField = false;
206
+ };
207
+ const resetField = async () => {
208
+ const model = formContext == null ? void 0 : formContext.model;
209
+ if (!model || !props.prop)
210
+ return;
211
+ const computedValue = getProp(model, props.prop);
212
+ isResettingField = true;
213
+ computedValue.value = clone(initialValue);
214
+ await nextTick();
215
+ clearValidate();
216
+ isResettingField = false;
217
+ };
218
+ const addInputId = (id) => {
219
+ if (!inputIds.value.includes(id)) {
220
+ inputIds.value.push(id);
221
+ }
222
+ };
223
+ const removeInputId = (id) => {
224
+ inputIds.value = inputIds.value.filter((listId) => listId !== id);
225
+ };
226
+ watch(() => props.error, (val) => {
227
+ validateMessage.value = val || "";
228
+ setValidationState(val ? "error" : "");
229
+ }, { immediate: true });
230
+ watch(() => props.validateStatus, (val) => setValidationState(val || ""));
231
+ const context = reactive({
232
+ ...toRefs(props),
233
+ $el: formItemRef,
234
+ size: _size,
235
+ validateState,
236
+ labelId,
237
+ inputIds,
238
+ isGroup,
239
+ hasLabel,
240
+ fieldValue,
241
+ addInputId,
242
+ removeInputId,
243
+ resetField,
244
+ clearValidate,
245
+ validate
246
+ });
247
+ provide(formItemContextKey, context);
248
+ onMounted(() => {
249
+ if (props.prop) {
250
+ formContext == null ? void 0 : formContext.addField(context);
251
+ initialValue = clone(fieldValue.value);
252
+ }
253
+ });
254
+ onBeforeUnmount(() => {
255
+ formContext == null ? void 0 : formContext.removeField(context);
256
+ });
257
+ expose({
258
+ size: _size,
259
+ validateMessage,
260
+ validateState,
261
+ validate,
262
+ clearValidate,
263
+ resetField
264
+ });
265
+ return (_ctx, _cache) => {
266
+ var _a;
267
+ return openBlock(), createElementBlock("div", {
268
+ ref_key: "formItemRef",
269
+ ref: formItemRef,
270
+ class: normalizeClass(unref(formItemClasses)),
271
+ role: unref(isGroup) ? "group" : void 0,
272
+ "aria-labelledby": unref(isGroup) ? unref(labelId) : void 0
273
+ }, [
274
+ createVNode(unref(FormLabelWrap), {
275
+ "is-auto-width": unref(labelStyle).width === "auto",
276
+ "update-all": ((_a = unref(formContext)) == null ? void 0 : _a.labelWidth) === "auto"
277
+ }, {
278
+ default: withCtx(() => [
279
+ unref(hasLabel) ? (openBlock(), createBlock(resolveDynamicComponent(unref(labelFor) ? "label" : "div"), {
280
+ key: 0,
281
+ id: unref(labelId),
282
+ for: unref(labelFor),
283
+ class: normalizeClass(unref(ns).e("label")),
284
+ style: normalizeStyle(unref(labelStyle))
285
+ }, {
286
+ default: withCtx(() => [
287
+ renderSlot(_ctx.$slots, "label", { label: unref(currentLabel) }, () => [
288
+ createTextVNode(toDisplayString(unref(currentLabel)), 1)
289
+ ])
290
+ ]),
291
+ _: 3
292
+ }, 8, ["id", "for", "class", "style"])) : createCommentVNode("v-if", true)
293
+ ]),
294
+ _: 3
295
+ }, 8, ["is-auto-width", "update-all"]),
296
+ createElementVNode("div", {
297
+ class: normalizeClass(unref(ns).e("content")),
298
+ style: normalizeStyle(unref(contentStyle))
299
+ }, [
300
+ renderSlot(_ctx.$slots, "default"),
301
+ createVNode(TransitionGroup, {
302
+ name: `${unref(ns).namespace.value}-zoom-in-top`
303
+ }, {
304
+ default: withCtx(() => [
305
+ unref(shouldShowError) ? renderSlot(_ctx.$slots, "error", {
306
+ key: 0,
307
+ error: validateMessage.value
308
+ }, () => [
309
+ createElementVNode("div", {
310
+ class: normalizeClass(unref(validateClasses))
311
+ }, toDisplayString(validateMessage.value), 3)
312
+ ]) : createCommentVNode("v-if", true)
313
+ ]),
314
+ _: 3
315
+ }, 8, ["name"])
316
+ ], 6)
317
+ ], 10, ["role", "aria-labelledby"]);
318
+ };
48
319
  }
49
320
  });
321
+ var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form-item.vue"]]);
50
322
 
51
- export { formItemProps, formItemValidateStates };
323
+ export { FormItem as default };
52
324
  //# sourceMappingURL=form-item.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemRule } from './types'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n /**\n * @description Label text.\n */\n label: String,\n /**\n * @description Width of label, e.g. `'50px'`. `'auto'` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required. The default is extend from `form label-position`.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top', ''],\n default: '',\n },\n /**\n * @description A key of `model`. It could be an array of property paths (e.g `['a', 'b', '0']`). In the use of `validate` and `resetFields` method, the attribute is required.\n */\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n /**\n * @description Whether the field is required or not, will be determined by validation rules if omitted.\n */\n required: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Validation rules of form, see the [following table](#formitemrule), more advanced usage at [async-validator](https://github.com/yiminghe/async-validator).\n */\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n /**\n * @description Field error message, set its value and the field will validate error and show this message immediately.\n */\n error: String,\n /**\n * @description Validation state of formItem.\n */\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n /**\n * @description Same as for in native label.\n */\n for: String,\n /**\n * @description Inline style validate message.\n */\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Control the size of components in this form-item.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n"],"names":[],"mappings":";;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;AACxC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div\n ref=\"formItemRef\"\n :class=\"formItemClasses\"\n :role=\"isGroup ? 'group' : undefined\"\n :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\"\n v-if=\"hasLabel\"\n :id=\"labelId\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </component>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition-group :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n watch,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { clone } from 'lodash-unified'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n isString,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formItemProps } from './form-item'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from './types'\nimport type { FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = defineProps(formItemProps)\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useFormSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\nlet isResettingField = false\n\nconst labelPosition = computed(\n () => props.labelPosition || formContext?.labelPosition\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth || formContext?.labelWidth || '')\n if (labelWidth) return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth || formContext?.labelWidth || '')\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n formContext?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formContext?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isString(props.prop) ? props.prop : props.prop.join('.')\n})\n\nconst hasLabel = computed<boolean>(() => {\n return !!(props.label || slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst normalizedRules = computed(() => {\n const { required } = props\n\n const rules: FormItemRule[] = []\n\n if (props.rules) {\n rules.push(...ensureArray(props.rules))\n }\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (required !== undefined) {\n const requiredRules = rules\n .map((rule, i) => [rule, i] as const)\n .filter(([rule]) => Object.keys(rule).includes('required'))\n\n if (requiredRules.length > 0) {\n for (const [rule, i] of requiredRules) {\n if (rule.required === required) continue\n rules[i] = { ...rule, required }\n }\n } else {\n rules.push({ required })\n }\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => normalizedRules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = normalizedRules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n normalizedRules.value.some((rule) => rule.required)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? errors?.[0]?.message ?? `${props.prop} is required`\n : ''\n\n formContext?.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext?.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err as FormValidateFailure)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n // skip validation if its resetting\n if (isResettingField || !props.prop) {\n return false\n }\n\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n isResettingField = false\n}\n\nconst resetField: FormItemContext['resetField'] = async () => {\n const model = formContext?.model\n if (!model || !props.prop) return\n\n const computedValue = getProp(model, props.prop)\n\n // prevent validation from being triggered\n isResettingField = true\n\n computedValue.value = clone(initialValue)\n\n await nextTick()\n clearValidate()\n\n isResettingField = false\n}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter((listId) => listId !== id)\n}\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n formContext?.addField(context)\n initialValue = clone(fieldValue.value)\n }\n})\n\nonBeforeUnmount(() => {\n formContext?.removeField(context)\n})\n\ndefineExpose({\n /**\n * @description Form item size.\n */\n size: _size,\n /**\n * @description Validation message.\n */\n validateMessage,\n /**\n * @description Validation state.\n */\n validateState,\n /**\n * @description Validate form item.\n */\n validate,\n /**\n * @description Remove validation status of the field.\n */\n clearValidate,\n /**\n * @description Reset current field and remove validation result.\n */\n resetField,\n})\n</script>\n"],"names":["ensureArray","trigger","_openBlock","_createElementBlock","_normalizeClass","_unref","_createVNode","_withCtx","_createBlock","_resolveDynamicComponent","_normalizeStyle","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}