element-plus 2.13.6 → 2.13.7

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 (870) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +199 -101
  4. package/dist/index.full.min.js +7 -7
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +7 -7
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +199 -101
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/component.mjs +3 -3
  278. package/es/components/affix/src/affix.d.ts +3 -2
  279. package/es/components/affix/src/affix.vue.d.ts +4 -5
  280. package/es/components/alert/src/alert.vue.d.ts +1 -1
  281. package/es/components/anchor/src/anchor-link.vue.d.ts +1 -3
  282. package/es/components/anchor/src/anchor-link.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  283. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  284. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  285. package/es/components/autocomplete/index.d.ts +2 -2
  286. package/es/components/autocomplete/src/autocomplete.d.ts +21 -13
  287. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  288. package/es/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
  289. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs +4 -2
  290. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  291. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  292. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  293. package/es/components/avatar/src/avatar-group.d.ts +2 -2
  294. package/es/components/avatar/src/avatar.d.ts +3 -2
  295. package/es/components/avatar/src/avatar.vue.d.ts +2 -3
  296. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  297. package/es/components/badge/src/badge.vue.d.ts +1 -1
  298. package/es/components/button/src/button-custom.mjs +17 -0
  299. package/es/components/button/src/button-custom.mjs.map +1 -1
  300. package/es/components/button/src/button.d.ts +1 -1
  301. package/es/components/button/src/button.vue.d.ts +3 -3
  302. package/es/components/calendar/src/use-date-table.mjs +2 -1
  303. package/es/components/calendar/src/use-date-table.mjs.map +1 -1
  304. package/es/components/card/src/card.d.ts +1 -1
  305. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  306. package/es/components/carousel/src/carousel.d.ts +1 -1
  307. package/es/components/cascader/src/cascader.d.ts +2 -2
  308. package/es/components/cascader/src/cascader.vue.d.ts +15 -15
  309. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +9 -4
  310. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  311. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  312. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  313. package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
  314. package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs +1 -1
  315. package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  316. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  317. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  318. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  319. package/es/components/checkbox/src/checkbox.d.ts +3 -3
  320. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  321. package/es/components/checkbox/src/composables/use-checkbox-model.mjs +6 -2
  322. package/es/components/checkbox/src/composables/use-checkbox-model.mjs.map +1 -1
  323. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  324. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  325. package/es/components/col/src/col.vue.d.ts +1 -1
  326. package/es/components/collapse/src/collapse.d.ts +1 -1
  327. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  328. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  329. package/es/components/color-picker/src/color-picker.vue.d.ts +7 -7
  330. package/es/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.mjs +1 -1
  331. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  332. package/es/components/color-picker-panel/src/composables/use-predefine.mjs.map +1 -1
  333. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  334. package/es/components/config-provider/src/config-provider.d.ts +3 -3
  335. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  336. package/es/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.mjs +1 -1
  337. package/es/components/date-picker/src/date-picker.d.ts +12 -12
  338. package/es/components/date-picker/src/props.d.ts +2 -2
  339. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  340. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs +2 -2
  341. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  342. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.mjs +1 -1
  343. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  344. package/es/components/descriptions/src/description-item.d.ts +8 -8
  345. package/es/components/descriptions/src/description.d.ts +1 -1
  346. package/es/components/descriptions/src/description.mjs.map +1 -1
  347. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  348. package/es/components/dialog/src/dialog.vue.d.ts +11 -11
  349. package/es/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.mjs +6 -5
  350. package/es/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  351. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  352. package/es/components/dialog/src/use-dialog.d.ts +4 -2
  353. package/es/components/dialog/src/use-dialog.mjs +8 -1
  354. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  355. package/es/components/divider/src/divider.d.ts +1 -1
  356. package/es/components/drawer/src/drawer.vue.d.ts +5 -5
  357. package/es/components/dropdown/src/dropdown-item.vue.d.ts +4 -10
  358. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  359. package/es/components/dropdown/src/dropdown.d.ts +2 -2
  360. package/es/components/dropdown/src/dropdown.vue.d.ts +60 -66
  361. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  362. package/es/components/form/src/form-item.d.ts +2 -2
  363. package/es/components/form/src/form-item.vue.d.ts +1 -1
  364. package/es/components/form/src/form-item.vue_vue_type_script_setup_true_lang.mjs +11 -1
  365. package/es/components/form/src/form-item.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  366. package/es/components/form/src/form-item2.mjs.map +1 -1
  367. package/es/components/form/src/form.d.ts +4 -4
  368. package/es/components/form/src/form.vue.d.ts +1 -1
  369. package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs +11 -3
  370. package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  371. package/es/components/form/src/form2.mjs.map +1 -1
  372. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  373. package/es/components/form/src/types.d.ts +2 -1
  374. package/es/components/icon/src/icon.vue.d.ts +1 -3
  375. package/es/components/icon/src/icon.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  376. package/es/components/icon/src/icon2.mjs.map +1 -1
  377. package/es/components/image/src/image.d.ts +1 -1
  378. package/es/components/image/src/image.vue.d.ts +3 -3
  379. package/es/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
  380. package/es/components/index.d.ts +2 -2
  381. package/es/components/index.mjs +6 -6
  382. package/es/components/input/src/input.d.ts +13 -3
  383. package/es/components/input/src/input.mjs +1 -0
  384. package/es/components/input/src/input.mjs.map +1 -1
  385. package/es/components/input/src/input.vue.d.ts +6 -5
  386. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +76 -11
  387. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  388. package/es/components/input/src/input2.mjs.map +1 -1
  389. package/es/components/input-number/src/input-number.d.ts +3 -3
  390. package/es/components/input-number/src/input-number.vue.d.ts +5 -5
  391. package/es/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.mjs +1 -1
  392. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  393. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  394. package/es/components/input-tag/src/input-tag.vue.d.ts +9 -9
  395. package/es/components/link/src/link.d.ts +1 -1
  396. package/es/components/link/src/link.vue.d.ts +1 -1
  397. package/es/components/mention/src/helper.d.ts +1 -1
  398. package/es/components/mention/src/helper.mjs.map +1 -1
  399. package/es/components/mention/src/mention.d.ts +17 -10
  400. package/es/components/mention/src/mention.mjs.map +1 -1
  401. package/es/components/mention/src/mention.vue.d.ts +48 -55
  402. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs +5 -3
  403. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  404. package/es/components/mention/src/mention2.mjs.map +1 -1
  405. package/es/components/menu/src/menu.d.ts +1 -1
  406. package/es/components/menu/src/menu.mjs +1 -1
  407. package/es/components/menu/src/sub-menu.d.ts +1 -1
  408. package/es/components/menu/src/utils/menu-item.mjs +1 -1
  409. package/es/components/menu/src/utils/submenu.mjs +1 -1
  410. package/es/components/message/src/message.d.ts +1 -1
  411. package/es/components/message/src/message.vue.d.ts +3 -3
  412. package/es/components/message/src/message.vue_vue_type_script_setup_true_lang.mjs +1 -1
  413. package/es/components/message/src/message.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  414. package/es/components/message/src/message2.mjs.map +1 -1
  415. package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs +1 -1
  416. package/es/components/message-box/src/message-box.type.d.ts +5 -3
  417. package/es/components/notification/src/notification.vue.d.ts +4 -4
  418. package/es/components/overlay/index.d.ts +3 -3
  419. package/es/components/overlay/src/overlay.d.ts +2 -2
  420. package/es/components/pagination/src/pagination.d.ts +6 -6
  421. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  422. package/es/components/popover/src/popover.d.ts +1 -1
  423. package/es/components/popover/src/popover.vue.d.ts +7 -7
  424. package/es/components/popper/src/composables/use-content.d.ts +5 -5
  425. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  426. package/es/components/popper/src/content.d.ts +4 -4
  427. package/es/components/popper/src/content.vue.d.ts +4 -4
  428. package/es/components/popper/src/popper.d.ts +2 -2
  429. package/es/components/popper/src/trigger.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  430. package/es/components/popper/src/trigger2.mjs.map +1 -1
  431. package/es/components/progress/src/progress.vue.d.ts +2 -2
  432. package/es/components/radio/src/radio-button.d.ts +1 -1
  433. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  434. package/es/components/radio/src/radio-group.d.ts +1 -1
  435. package/es/components/radio/src/radio-group.vue.d.ts +4 -4
  436. package/es/components/radio/src/radio.d.ts +2 -2
  437. package/es/components/radio/src/radio.vue.d.ts +4 -4
  438. package/es/components/rate/src/rate.d.ts +1 -1
  439. package/es/components/rate/src/rate.vue.d.ts +2 -2
  440. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  441. package/es/components/row/src/row.d.ts +1 -1
  442. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  443. package/es/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.mjs +4 -3
  444. package/es/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  445. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  446. package/es/components/segmented/index.d.ts +2 -2
  447. package/es/components/segmented/src/segmented.d.ts +1 -1
  448. package/es/components/segmented/src/segmented.vue.d.ts +1 -1
  449. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +2 -57
  450. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  451. package/es/components/select/src/option.d.ts +1 -1
  452. package/es/components/select/src/option.vue.d.ts +3 -2
  453. package/es/components/select/src/option.vue_vue_type_script_lang.mjs +11 -0
  454. package/es/components/select/src/option.vue_vue_type_script_lang.mjs.map +1 -1
  455. package/es/components/select/src/option2.mjs +2 -1
  456. package/es/components/select/src/option2.mjs.map +1 -1
  457. package/es/components/select/src/select.d.ts +3 -3
  458. package/es/components/select/src/select.vue.d.ts +76 -81
  459. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +1 -1
  460. package/es/components/select/src/type.d.ts +1 -0
  461. package/es/components/select-v2/src/defaults.d.ts +2 -2
  462. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  463. package/es/components/select-v2/src/option-item.mjs +2 -1
  464. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  465. package/es/components/select-v2/src/option-item.vue_vue_type_script_lang.mjs +13 -1
  466. package/es/components/select-v2/src/option-item.vue_vue_type_script_lang.mjs.map +1 -1
  467. package/es/components/select-v2/src/select.vue.d.ts +62 -68
  468. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs +1 -1
  469. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  470. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  471. package/es/components/slider/src/button.vue.d.ts +1 -1
  472. package/es/components/slider/src/slider.d.ts +2 -2
  473. package/es/components/slider/src/slider.vue.d.ts +9 -9
  474. package/es/components/space/src/space.d.ts +10 -9
  475. package/es/components/steps/src/steps.vue.d.ts +1 -1
  476. package/es/components/switch/src/switch.d.ts +1 -1
  477. package/es/components/switch/src/switch.vue.d.ts +3 -3
  478. package/es/components/table/src/table-body/index.d.ts +1 -1
  479. package/es/components/table/src/table-column/index.d.ts +15 -15
  480. package/es/components/table/src/table-footer/index.d.ts +1 -1
  481. package/es/components/table/src/table-header/index.d.ts +15 -15
  482. package/es/components/table/src/table.vue.d.ts +35 -35
  483. package/es/components/table/src/table.vue_vue_type_script_lang.mjs +1 -1
  484. package/es/components/table-v2/src/components/header.d.ts +1 -1
  485. package/es/components/table-v2/src/components/index.d.ts +2 -2
  486. package/es/components/table-v2/src/components/row.d.ts +12 -3
  487. package/es/components/table-v2/src/components/row.mjs.map +1 -1
  488. package/es/components/table-v2/src/table-grid.d.ts +2 -2
  489. package/es/components/table-v2/src/table-v2.d.ts +18 -6
  490. package/es/components/table-v2/src/table-v2.mjs +1 -0
  491. package/es/components/table-v2/src/table-v2.mjs.map +1 -1
  492. package/es/components/tabs/src/tab-bar.vue.d.ts +1 -1
  493. package/es/components/tabs/src/tab-bar.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  494. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  495. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  496. package/es/components/tabs/src/tabs.d.ts +5 -5
  497. package/es/components/tag/src/tag.d.ts +1 -1
  498. package/es/components/text/src/text.d.ts +1 -1
  499. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  500. package/es/components/time-picker/src/common/picker.vue.d.ts +16 -16
  501. package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs +4 -3
  502. package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  503. package/es/components/time-picker/src/common/props.d.ts +2 -2
  504. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.mjs +1 -1
  505. package/es/components/time-picker/src/time-picker.d.ts +12 -12
  506. package/es/components/time-select/src/time-select.d.ts +1 -1
  507. package/es/components/time-select/src/time-select.vue.d.ts +5 -5
  508. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  509. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  510. package/es/components/tooltip/src/content.d.ts +1 -1
  511. package/es/components/tooltip/src/content.vue.d.ts +6 -6
  512. package/es/components/tooltip/src/tooltip.d.ts +2 -2
  513. package/es/components/tooltip/src/tooltip.vue.d.ts +12 -12
  514. package/es/components/tour/src/content.d.ts +2 -2
  515. package/es/components/tour/src/step.d.ts +1 -1
  516. package/es/components/tour/src/tour.d.ts +1 -1
  517. package/es/components/tour/src/tour.vue.d.ts +3 -3
  518. package/es/components/transfer/src/composables/use-check.d.ts +4 -4
  519. package/es/components/transfer/src/composables/use-check.mjs.map +1 -1
  520. package/es/components/transfer/src/composables/use-computed-data.d.ts +3 -3
  521. package/es/components/transfer/src/composables/use-computed-data.mjs +1 -1
  522. package/es/components/transfer/src/composables/use-computed-data.mjs.map +1 -1
  523. package/es/components/transfer/src/composables/use-move.d.ts +2 -2
  524. package/es/components/transfer/src/composables/use-move.mjs.map +1 -1
  525. package/es/components/transfer/src/composables/use-props-alias.d.ts +4 -2
  526. package/es/components/transfer/src/composables/use-props-alias.mjs.map +1 -1
  527. package/es/components/transfer/src/transfer-panel.d.ts +11 -10
  528. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  529. package/es/components/transfer/src/transfer-panel.vue.d.ts +23 -25
  530. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  531. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  532. package/es/components/transfer/src/transfer.d.ts +9 -8
  533. package/es/components/transfer/src/transfer.mjs.map +1 -1
  534. package/es/components/transfer/src/transfer.vue.d.ts +32 -42
  535. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  536. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  537. package/es/components/tree/src/tree.vue.d.ts +19 -25
  538. package/es/components/tree-select/src/tree-select.vue.d.ts +31 -31
  539. package/es/components/tree-v2/src/tree.vue.d.ts +3 -3
  540. package/es/components/upload/src/upload-content.mjs.map +1 -1
  541. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  542. package/es/components/upload/src/upload.vue.d.ts +2 -2
  543. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  544. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  545. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  546. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  547. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  548. package/es/constants/index.mjs +2 -2
  549. package/es/directives/trap-focus/index.mjs +1 -1
  550. package/es/hooks/use-floating/index.d.ts +8 -8
  551. package/es/hooks/use-popper/index.d.ts +5 -5
  552. package/es/hooks/use-size/index.d.ts +3 -3
  553. package/es/hooks/use-timeout/index.mjs +6 -2
  554. package/es/hooks/use-timeout/index.mjs.map +1 -1
  555. package/es/index.d.ts +2 -2
  556. package/es/index.mjs +13 -13
  557. package/es/plugin.mjs +1 -1
  558. package/es/utils/index.d.ts +2 -2
  559. package/es/utils/typescript.d.ts +22 -5
  560. package/es/utils/typescript.mjs.map +1 -1
  561. package/es/utils/vue/typescript.d.ts +3 -2
  562. package/es/utils/vue/vnode.d.ts +4 -4
  563. package/es/version.mjs +1 -1
  564. package/es/version.mjs.map +1 -1
  565. package/lib/component.js +107 -107
  566. package/lib/components/affix/src/affix.d.ts +3 -2
  567. package/lib/components/affix/src/affix.vue.d.ts +4 -5
  568. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  569. package/lib/components/anchor/src/anchor-link.vue.d.ts +1 -3
  570. package/lib/components/anchor/src/anchor-link.vue_vue_type_script_setup_true_lang.js.map +1 -1
  571. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  572. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  573. package/lib/components/autocomplete/index.d.ts +2 -2
  574. package/lib/components/autocomplete/src/autocomplete.d.ts +21 -13
  575. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  576. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
  577. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +4 -2
  578. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  579. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  580. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  581. package/lib/components/avatar/src/avatar-group.d.ts +2 -2
  582. package/lib/components/avatar/src/avatar.d.ts +3 -2
  583. package/lib/components/avatar/src/avatar.vue.d.ts +2 -3
  584. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  585. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  586. package/lib/components/button/src/button-custom.js +17 -0
  587. package/lib/components/button/src/button-custom.js.map +1 -1
  588. package/lib/components/button/src/button.d.ts +1 -1
  589. package/lib/components/button/src/button.vue.d.ts +3 -3
  590. package/lib/components/calendar/src/use-date-table.js +2 -1
  591. package/lib/components/calendar/src/use-date-table.js.map +1 -1
  592. package/lib/components/card/src/card.d.ts +1 -1
  593. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  594. package/lib/components/carousel/src/carousel.d.ts +1 -1
  595. package/lib/components/cascader/src/cascader.d.ts +2 -2
  596. package/lib/components/cascader/src/cascader.vue.d.ts +15 -15
  597. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +44 -39
  598. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  599. package/lib/components/cascader/src/cascader2.js.map +1 -1
  600. package/lib/components/cascader-panel/src/index.js.map +1 -1
  601. package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
  602. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js +11 -11
  603. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js.map +1 -1
  604. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  605. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  606. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  607. package/lib/components/checkbox/src/checkbox.d.ts +3 -3
  608. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  609. package/lib/components/checkbox/src/composables/use-checkbox-model.js +6 -2
  610. package/lib/components/checkbox/src/composables/use-checkbox-model.js.map +1 -1
  611. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  612. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  613. package/lib/components/col/src/col.vue.d.ts +1 -1
  614. package/lib/components/collapse/src/collapse.d.ts +1 -1
  615. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  616. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  617. package/lib/components/color-picker/src/color-picker.vue.d.ts +7 -7
  618. package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js +18 -18
  619. package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  620. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  621. package/lib/components/color-picker-panel/src/composables/use-predefine.js.map +1 -1
  622. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  623. package/lib/components/config-provider/src/config-provider.d.ts +3 -3
  624. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  625. package/lib/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.js +1 -1
  626. package/lib/components/date-picker/src/date-picker.d.ts +12 -12
  627. package/lib/components/date-picker/src/props.d.ts +2 -2
  628. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.js.map +1 -1
  629. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js +19 -19
  630. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js.map +1 -1
  631. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js +23 -23
  632. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js.map +1 -1
  633. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  634. package/lib/components/descriptions/src/description-item.d.ts +8 -8
  635. package/lib/components/descriptions/src/description.d.ts +1 -1
  636. package/lib/components/descriptions/src/description.js.map +1 -1
  637. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  638. package/lib/components/dialog/src/dialog.vue.d.ts +11 -11
  639. package/lib/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.js +6 -5
  640. package/lib/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  641. package/lib/components/dialog/src/dialog2.js.map +1 -1
  642. package/lib/components/dialog/src/use-dialog.d.ts +4 -2
  643. package/lib/components/dialog/src/use-dialog.js +8 -1
  644. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  645. package/lib/components/divider/src/divider.d.ts +1 -1
  646. package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
  647. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +4 -10
  648. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  649. package/lib/components/dropdown/src/dropdown.d.ts +2 -2
  650. package/lib/components/dropdown/src/dropdown.vue.d.ts +60 -66
  651. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  652. package/lib/components/form/src/form-item.d.ts +2 -2
  653. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  654. package/lib/components/form/src/form-item.vue_vue_type_script_setup_true_lang.js +11 -1
  655. package/lib/components/form/src/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  656. package/lib/components/form/src/form-item2.js.map +1 -1
  657. package/lib/components/form/src/form.d.ts +4 -4
  658. package/lib/components/form/src/form.vue.d.ts +1 -1
  659. package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js +11 -3
  660. package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
  661. package/lib/components/form/src/form2.js.map +1 -1
  662. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  663. package/lib/components/form/src/types.d.ts +2 -1
  664. package/lib/components/icon/src/icon.vue.d.ts +1 -3
  665. package/lib/components/icon/src/icon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  666. package/lib/components/icon/src/icon2.js.map +1 -1
  667. package/lib/components/image/src/image.d.ts +1 -1
  668. package/lib/components/image/src/image.vue.d.ts +3 -3
  669. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
  670. package/lib/components/index.d.ts +2 -2
  671. package/lib/components/index.js +123 -123
  672. package/lib/components/input/src/input.d.ts +13 -3
  673. package/lib/components/input/src/input.js +1 -0
  674. package/lib/components/input/src/input.js.map +1 -1
  675. package/lib/components/input/src/input.vue.d.ts +6 -5
  676. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +76 -11
  677. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  678. package/lib/components/input/src/input2.js.map +1 -1
  679. package/lib/components/input-number/src/input-number.d.ts +3 -3
  680. package/lib/components/input-number/src/input-number.vue.d.ts +5 -5
  681. package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js +12 -12
  682. package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js.map +1 -1
  683. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  684. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  685. package/lib/components/input-tag/src/input-tag.vue.d.ts +9 -9
  686. package/lib/components/link/src/link.d.ts +1 -1
  687. package/lib/components/link/src/link.vue.d.ts +1 -1
  688. package/lib/components/mention/src/helper.d.ts +1 -1
  689. package/lib/components/mention/src/helper.js.map +1 -1
  690. package/lib/components/mention/src/mention.d.ts +17 -10
  691. package/lib/components/mention/src/mention.js.map +1 -1
  692. package/lib/components/mention/src/mention.vue.d.ts +48 -55
  693. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js +4 -2
  694. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  695. package/lib/components/mention/src/mention2.js.map +1 -1
  696. package/lib/components/menu/src/menu.d.ts +1 -1
  697. package/lib/components/menu/src/menu.js +7 -7
  698. package/lib/components/menu/src/menu.js.map +1 -1
  699. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  700. package/lib/components/menu/src/utils/menu-item.js +11 -11
  701. package/lib/components/menu/src/utils/menu-item.js.map +1 -1
  702. package/lib/components/menu/src/utils/submenu.js +9 -9
  703. package/lib/components/menu/src/utils/submenu.js.map +1 -1
  704. package/lib/components/message/src/message.d.ts +1 -1
  705. package/lib/components/message/src/message.vue.d.ts +3 -3
  706. package/lib/components/message/src/message.vue_vue_type_script_setup_true_lang.js +1 -1
  707. package/lib/components/message/src/message.vue_vue_type_script_setup_true_lang.js.map +1 -1
  708. package/lib/components/message/src/message2.js.map +1 -1
  709. package/lib/components/message-box/src/index.vue_vue_type_script_lang.js +19 -19
  710. package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
  711. package/lib/components/message-box/src/message-box.type.d.ts +5 -3
  712. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  713. package/lib/components/overlay/index.d.ts +3 -3
  714. package/lib/components/overlay/src/overlay.d.ts +2 -2
  715. package/lib/components/pagination/src/pagination.d.ts +6 -6
  716. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  717. package/lib/components/popover/src/popover.d.ts +1 -1
  718. package/lib/components/popover/src/popover.vue.d.ts +7 -7
  719. package/lib/components/popper/src/composables/use-content.d.ts +5 -5
  720. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  721. package/lib/components/popper/src/content.d.ts +4 -4
  722. package/lib/components/popper/src/content.vue.d.ts +4 -4
  723. package/lib/components/popper/src/popper.d.ts +2 -2
  724. package/lib/components/popper/src/trigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  725. package/lib/components/popper/src/trigger2.js.map +1 -1
  726. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  727. package/lib/components/radio/src/radio-button.d.ts +1 -1
  728. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  729. package/lib/components/radio/src/radio-group.d.ts +1 -1
  730. package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
  731. package/lib/components/radio/src/radio.d.ts +2 -2
  732. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  733. package/lib/components/rate/src/rate.d.ts +1 -1
  734. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  735. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  736. package/lib/components/row/src/row.d.ts +1 -1
  737. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  738. package/lib/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.js +4 -3
  739. package/lib/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  740. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  741. package/lib/components/segmented/index.d.ts +2 -2
  742. package/lib/components/segmented/src/segmented.d.ts +1 -1
  743. package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
  744. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +1 -56
  745. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  746. package/lib/components/select/src/option.d.ts +1 -1
  747. package/lib/components/select/src/option.vue.d.ts +3 -2
  748. package/lib/components/select/src/option.vue_vue_type_script_lang.js +11 -0
  749. package/lib/components/select/src/option.vue_vue_type_script_lang.js.map +1 -1
  750. package/lib/components/select/src/option2.js +2 -1
  751. package/lib/components/select/src/option2.js.map +1 -1
  752. package/lib/components/select/src/select.d.ts +3 -3
  753. package/lib/components/select/src/select.vue.d.ts +76 -81
  754. package/lib/components/select/src/select.vue_vue_type_script_lang.js +10 -10
  755. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  756. package/lib/components/select/src/type.d.ts +1 -0
  757. package/lib/components/select-v2/src/defaults.d.ts +2 -2
  758. package/lib/components/select-v2/src/defaults.js.map +1 -1
  759. package/lib/components/select-v2/src/option-item.js +2 -1
  760. package/lib/components/select-v2/src/option-item.js.map +1 -1
  761. package/lib/components/select-v2/src/option-item.vue_vue_type_script_lang.js +13 -1
  762. package/lib/components/select-v2/src/option-item.vue_vue_type_script_lang.js.map +1 -1
  763. package/lib/components/select-v2/src/select.vue.d.ts +62 -68
  764. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js +10 -10
  765. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  766. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  767. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  768. package/lib/components/slider/src/button.vue.d.ts +1 -1
  769. package/lib/components/slider/src/slider.d.ts +2 -2
  770. package/lib/components/slider/src/slider.vue.d.ts +9 -9
  771. package/lib/components/space/src/space.d.ts +10 -9
  772. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  773. package/lib/components/switch/src/switch.d.ts +1 -1
  774. package/lib/components/switch/src/switch.vue.d.ts +3 -3
  775. package/lib/components/table/src/table-body/index.d.ts +1 -1
  776. package/lib/components/table/src/table-column/index.d.ts +15 -15
  777. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  778. package/lib/components/table/src/table-header/index.d.ts +15 -15
  779. package/lib/components/table/src/table.vue.d.ts +35 -35
  780. package/lib/components/table/src/table.vue_vue_type_script_lang.js +8 -8
  781. package/lib/components/table/src/table.vue_vue_type_script_lang.js.map +1 -1
  782. package/lib/components/table-v2/src/components/header.d.ts +1 -1
  783. package/lib/components/table-v2/src/components/index.d.ts +2 -2
  784. package/lib/components/table-v2/src/components/row.d.ts +12 -3
  785. package/lib/components/table-v2/src/components/row.js.map +1 -1
  786. package/lib/components/table-v2/src/table-grid.d.ts +2 -2
  787. package/lib/components/table-v2/src/table-v2.d.ts +18 -6
  788. package/lib/components/table-v2/src/table-v2.js +1 -0
  789. package/lib/components/table-v2/src/table-v2.js.map +1 -1
  790. package/lib/components/tabs/src/tab-bar.vue.d.ts +1 -1
  791. package/lib/components/tabs/src/tab-bar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  792. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  793. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  794. package/lib/components/tabs/src/tabs.d.ts +5 -5
  795. package/lib/components/tag/src/tag.d.ts +1 -1
  796. package/lib/components/text/src/text.d.ts +1 -1
  797. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  798. package/lib/components/time-picker/src/common/picker.vue.d.ts +16 -16
  799. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js +4 -3
  800. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  801. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  802. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js +10 -10
  803. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  804. package/lib/components/time-picker/src/time-picker.d.ts +12 -12
  805. package/lib/components/time-select/src/time-select.d.ts +1 -1
  806. package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
  807. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  808. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  809. package/lib/components/tooltip/src/content.d.ts +1 -1
  810. package/lib/components/tooltip/src/content.vue.d.ts +6 -6
  811. package/lib/components/tooltip/src/tooltip.d.ts +2 -2
  812. package/lib/components/tooltip/src/tooltip.vue.d.ts +12 -12
  813. package/lib/components/tour/src/content.d.ts +2 -2
  814. package/lib/components/tour/src/step.d.ts +1 -1
  815. package/lib/components/tour/src/tour.d.ts +1 -1
  816. package/lib/components/tour/src/tour.vue.d.ts +3 -3
  817. package/lib/components/transfer/src/composables/use-check.d.ts +4 -4
  818. package/lib/components/transfer/src/composables/use-check.js.map +1 -1
  819. package/lib/components/transfer/src/composables/use-computed-data.d.ts +3 -3
  820. package/lib/components/transfer/src/composables/use-computed-data.js +1 -1
  821. package/lib/components/transfer/src/composables/use-computed-data.js.map +1 -1
  822. package/lib/components/transfer/src/composables/use-move.d.ts +2 -2
  823. package/lib/components/transfer/src/composables/use-move.js.map +1 -1
  824. package/lib/components/transfer/src/composables/use-props-alias.d.ts +4 -2
  825. package/lib/components/transfer/src/composables/use-props-alias.js.map +1 -1
  826. package/lib/components/transfer/src/transfer-panel.d.ts +11 -10
  827. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  828. package/lib/components/transfer/src/transfer-panel.vue.d.ts +23 -25
  829. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  830. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  831. package/lib/components/transfer/src/transfer.d.ts +9 -8
  832. package/lib/components/transfer/src/transfer.js.map +1 -1
  833. package/lib/components/transfer/src/transfer.vue.d.ts +32 -42
  834. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  835. package/lib/components/transfer/src/transfer2.js.map +1 -1
  836. package/lib/components/tree/src/tree.vue.d.ts +19 -25
  837. package/lib/components/tree-select/src/tree-select.vue.d.ts +31 -31
  838. package/lib/components/tree-v2/src/tree.vue.d.ts +3 -3
  839. package/lib/components/upload/src/upload-content.js.map +1 -1
  840. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  841. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  842. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  843. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  844. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  845. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  846. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  847. package/lib/constants/index.js +2 -2
  848. package/lib/directives/trap-focus/index.js +5 -5
  849. package/lib/directives/trap-focus/index.js.map +1 -1
  850. package/lib/hooks/use-floating/index.d.ts +8 -8
  851. package/lib/hooks/use-popper/index.d.ts +5 -5
  852. package/lib/hooks/use-size/index.d.ts +3 -3
  853. package/lib/hooks/use-timeout/index.js +6 -2
  854. package/lib/hooks/use-timeout/index.js.map +1 -1
  855. package/lib/index.d.ts +2 -2
  856. package/lib/index.js +267 -267
  857. package/lib/plugin.js +12 -12
  858. package/lib/utils/index.d.ts +2 -2
  859. package/lib/utils/typescript.d.ts +22 -5
  860. package/lib/utils/typescript.js.map +1 -1
  861. package/lib/utils/vue/typescript.d.ts +3 -2
  862. package/lib/utils/vue/vnode.d.ts +4 -4
  863. package/lib/version.js +1 -1
  864. package/lib/version.js.map +1 -1
  865. package/package.json +2 -2
  866. package/tags.json +1 -1
  867. package/theme-chalk/el-table.css +1 -1
  868. package/theme-chalk/index.css +1 -1
  869. package/theme-chalk/src/table.scss +1 -1
  870. package/web-types.json +1 -1
@@ -56,7 +56,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
56
56
  readonly validator: ((val: unknown) => boolean) | undefined;
57
57
  __epPropKey: true;
58
58
  };
59
- readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
59
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
60
60
  readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
61
61
  readonly id: StringConstructor;
62
62
  readonly size: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -177,7 +177,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
177
177
  __epPropKey: true;
178
178
  };
179
179
  readonly disabled: BooleanConstructor;
180
- readonly role: EpPropFinalized<StringConstructor, "tooltip" | "dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tree", unknown, "menu", boolean>;
180
+ readonly role: EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown, "menu", boolean>;
181
181
  readonly buttonProps: {
182
182
  readonly type: vue.PropType<Partial<ButtonProps>>;
183
183
  readonly required: false;
@@ -215,7 +215,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
215
215
  scrollbar: vue.Ref<null, null>;
216
216
  wrapStyle: vue.ComputedRef<CSSProperties>;
217
217
  dropdownTriggerKls: vue.ComputedRef<string[]>;
218
- dropdownSize: vue.ComputedRef<"" | "default" | "large" | "small">;
218
+ dropdownSize: vue.ComputedRef<"" | "default" | "small" | "large">;
219
219
  triggerId: vue.ComputedRef<string>;
220
220
  currentTabId: vue.Ref<string | null, string | null>;
221
221
  handleCurrentTabIdChange: (id: string) => void;
@@ -258,7 +258,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
258
258
  readonly validator: ((val: unknown) => boolean) | undefined;
259
259
  __epPropKey: true;
260
260
  };
261
- readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
261
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
262
262
  readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
263
263
  readonly id: StringConstructor;
264
264
  readonly size: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -379,7 +379,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
379
379
  __epPropKey: true;
380
380
  };
381
381
  readonly disabled: BooleanConstructor;
382
- readonly role: EpPropFinalized<StringConstructor, "tooltip" | "dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tree", unknown, "menu", boolean>;
382
+ readonly role: EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown, "menu", boolean>;
383
383
  readonly buttonProps: {
384
384
  readonly type: vue.PropType<Partial<ButtonProps>>;
385
385
  readonly required: false;
@@ -399,21 +399,21 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
399
399
  "onVisible-change"?: ((...args: any[]) => any) | undefined;
400
400
  onCommand?: ((...args: any[]) => any) | undefined;
401
401
  }>, {
402
+ readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
402
403
  readonly effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
403
404
  readonly size: string;
404
405
  readonly disabled: boolean;
405
- readonly placement: EpPropMergeType<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown>;
406
- readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
407
- readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
406
+ readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
408
407
  readonly virtualTriggering: boolean;
409
408
  readonly loop: EpPropMergeType<BooleanConstructor, unknown, unknown>;
409
+ readonly placement: EpPropMergeType<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown>;
410
410
  readonly popperOptions: Partial<Options>;
411
411
  readonly showArrow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
412
- readonly role: EpPropMergeType<StringConstructor, "tooltip" | "dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tree", unknown>;
412
+ readonly role: EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown>;
413
+ readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
413
414
  readonly trigger: Arrayable<"click" | "contextmenu" | "hover">;
414
415
  readonly triggerKeys: string[];
415
416
  readonly maxHeight: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
416
- readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
417
417
  readonly hideOnClick: EpPropMergeType<BooleanConstructor, unknown, unknown>;
418
418
  readonly showTimeout: number;
419
419
  readonly hideTimeout: number;
@@ -424,7 +424,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
424
424
  onClick?: ((evt: MouseEvent) => any) | undefined;
425
425
  }>, {
426
426
  ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
427
- size: vue.ComputedRef<"" | "default" | "large" | "small">;
427
+ size: vue.ComputedRef<"" | "default" | "small" | "large">;
428
428
  type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">;
429
429
  disabled: vue.ComputedRef<boolean>;
430
430
  shouldAddSpace: vue.ComputedRef<boolean>;
@@ -432,13 +432,13 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
432
432
  click: (evt: MouseEvent) => void;
433
433
  }, vue.PublicProps, {
434
434
  type: ButtonType;
435
- disabled: boolean;
436
435
  text: boolean;
436
+ disabled: boolean;
437
437
  round: boolean;
438
438
  dashed: boolean;
439
- plain: boolean;
440
439
  nativeType: ButtonNativeType;
441
440
  loadingIcon: IconPropType;
441
+ plain: boolean;
442
442
  autoInsertSpace: boolean;
443
443
  tag: string | vue.Component;
444
444
  }, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
@@ -452,19 +452,19 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
452
452
  onClick?: ((evt: MouseEvent) => any) | undefined;
453
453
  }>, {
454
454
  ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
455
- size: vue.ComputedRef<"" | "default" | "large" | "small">;
455
+ size: vue.ComputedRef<"" | "default" | "small" | "large">;
456
456
  type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">;
457
457
  disabled: vue.ComputedRef<boolean>;
458
458
  shouldAddSpace: vue.ComputedRef<boolean>;
459
459
  }, {}, {}, {}, {
460
460
  type: ButtonType;
461
- disabled: boolean;
462
461
  text: boolean;
462
+ disabled: boolean;
463
463
  round: boolean;
464
464
  dashed: boolean;
465
- plain: boolean;
466
465
  nativeType: ButtonNativeType;
467
466
  loadingIcon: IconPropType;
467
+ plain: boolean;
468
468
  autoInsertSpace: boolean;
469
469
  tag: string | vue.Component;
470
470
  }>;
@@ -475,7 +475,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
475
475
  onClick?: ((evt: MouseEvent) => any) | undefined;
476
476
  }>, {
477
477
  ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
478
- size: vue.ComputedRef<"" | "default" | "large" | "small">;
478
+ size: vue.ComputedRef<"" | "default" | "small" | "large">;
479
479
  type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">;
480
480
  disabled: vue.ComputedRef<boolean>;
481
481
  shouldAddSpace: vue.ComputedRef<boolean>;
@@ -483,13 +483,13 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
483
483
  click: (evt: MouseEvent) => void;
484
484
  }, string, {
485
485
  type: ButtonType;
486
- disabled: boolean;
487
486
  text: boolean;
487
+ disabled: boolean;
488
488
  round: boolean;
489
489
  dashed: boolean;
490
- plain: boolean;
491
490
  nativeType: ButtonNativeType;
492
491
  loadingIcon: IconPropType;
492
+ plain: boolean;
493
493
  autoInsertSpace: boolean;
494
494
  tag: string | vue.Component;
495
495
  }, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
@@ -501,7 +501,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
501
501
  default?: (props: {}) => any;
502
502
  };
503
503
  }) & vue.ObjectPlugin & {
504
- setPropsDefaults: (defaults: Partial<{
504
+ setPropsDefaults: (defaults: Partial<Omit<{
505
505
  readonly size?: ComponentSize | undefined;
506
506
  readonly disabled?: boolean | undefined;
507
507
  readonly type?: ButtonType | undefined;
@@ -522,7 +522,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
522
522
  readonly autoInsertSpace?: boolean | undefined;
523
523
  readonly tag?: (string | vue.Component) | undefined;
524
524
  readonly onClick?: ((evt: MouseEvent) => any) | undefined;
525
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps>) => void;
525
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "onClick" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps>>) => void;
526
526
  } & {
527
527
  ButtonGroup: typeof _default$1;
528
528
  };
@@ -576,9 +576,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
576
576
  }) => void;
577
577
  "end-reached": (direction: ScrollbarDirection) => void;
578
578
  }, vue.PublicProps, {
579
+ tabindex: number | string;
579
580
  height: number | string;
580
581
  maxHeight: number | string;
581
- tabindex: number | string;
582
582
  tag: keyof HTMLElementTagNameMap | (string & {});
583
583
  distance: number;
584
584
  wrapStyle: string | false | CSSProperties | vue.StyleValue[] | null;
@@ -610,9 +610,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
610
610
  setScrollLeft: (value: number) => void;
611
611
  handleScroll: () => void;
612
612
  }, {}, {}, {}, {
613
+ tabindex: number | string;
613
614
  height: number | string;
614
615
  maxHeight: number | string;
615
- tabindex: number | string;
616
616
  tag: keyof HTMLElementTagNameMap | (string & {});
617
617
  distance: number;
618
618
  wrapStyle: string | false | CSSProperties | vue.StyleValue[] | null;
@@ -647,9 +647,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
647
647
  }) => void;
648
648
  "end-reached": (direction: ScrollbarDirection) => void;
649
649
  }, string, {
650
+ tabindex: number | string;
650
651
  height: number | string;
651
652
  maxHeight: number | string;
652
- tabindex: number | string;
653
653
  tag: keyof HTMLElementTagNameMap | (string & {});
654
654
  distance: number;
655
655
  wrapStyle: string | false | CSSProperties | vue.StyleValue[] | null;
@@ -665,12 +665,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
665
665
  ElTooltip: SFCWithInstall<{
666
666
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<UseTooltipProps> & Readonly<{
667
667
  onClose?: ((...args: any[]) => any) | undefined;
668
+ onHide?: ((...args: any[]) => any) | undefined;
669
+ onShow?: ((...args: any[]) => any) | undefined;
670
+ onOpen?: ((...args: any[]) => any) | undefined;
668
671
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
669
672
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
670
673
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
671
- onShow?: ((...args: any[]) => any) | undefined;
672
- onHide?: ((...args: any[]) => any) | undefined;
673
- onOpen?: ((...args: any[]) => any) | undefined;
674
674
  }>, {
675
675
  popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
676
676
  contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
@@ -681,35 +681,35 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
681
681
  hide: (event?: Event) => void;
682
682
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
683
683
  close: (...args: any[]) => void;
684
+ hide: (...args: any[]) => void;
685
+ show: (...args: any[]) => void;
686
+ open: (...args: any[]) => void;
684
687
  "update:visible": (...args: any[]) => void;
685
688
  "before-show": (...args: any[]) => void;
686
689
  "before-hide": (...args: any[]) => void;
687
- show: (...args: any[]) => void;
688
- hide: (...args: any[]) => void;
689
- open: (...args: any[]) => void;
690
690
  }, vue.PublicProps, {
691
- effect: PopperEffect;
692
- placement: Placement;
693
- popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
691
+ offset: number;
694
692
  teleported: boolean;
693
+ effect: PopperEffect;
695
694
  visible: boolean | null;
695
+ content: string;
696
696
  style: string | false | CSSProperties | vue.StyleValue[] | null;
697
697
  enterable: boolean;
698
698
  pure: boolean;
699
699
  focusOnShow: boolean;
700
700
  trapping: boolean;
701
+ popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
701
702
  stopPopperMouseEvent: boolean;
702
703
  virtualTriggering: boolean;
703
704
  loop: boolean;
704
705
  boundariesPadding: number;
705
706
  gpuAcceleration: boolean;
706
- offset: number;
707
+ placement: Placement;
707
708
  popperOptions: Partial<Options>;
708
- strategy: "absolute" | "fixed";
709
+ strategy: "fixed" | "absolute";
709
710
  arrowOffset: number;
710
711
  showArrow: boolean;
711
712
  role: typeof roleTypes[number];
712
- content: string;
713
713
  showAfter: number;
714
714
  hideAfter: number;
715
715
  autoClose: number;
@@ -724,12 +724,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
724
724
  Defaults: {};
725
725
  }, Readonly<UseTooltipProps> & Readonly<{
726
726
  onClose?: ((...args: any[]) => any) | undefined;
727
+ onHide?: ((...args: any[]) => any) | undefined;
728
+ onShow?: ((...args: any[]) => any) | undefined;
729
+ onOpen?: ((...args: any[]) => any) | undefined;
727
730
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
728
731
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
729
732
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
730
- onShow?: ((...args: any[]) => any) | undefined;
731
- onHide?: ((...args: any[]) => any) | undefined;
732
- onOpen?: ((...args: any[]) => any) | undefined;
733
733
  }>, {
734
734
  popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
735
735
  contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
@@ -739,28 +739,28 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
739
739
  onClose: (event?: Event, delay?: number) => void;
740
740
  hide: (event?: Event) => void;
741
741
  }, {}, {}, {}, {
742
- effect: PopperEffect;
743
- placement: Placement;
744
- popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
742
+ offset: number;
745
743
  teleported: boolean;
744
+ effect: PopperEffect;
746
745
  visible: boolean | null;
746
+ content: string;
747
747
  style: string | false | CSSProperties | vue.StyleValue[] | null;
748
748
  enterable: boolean;
749
749
  pure: boolean;
750
750
  focusOnShow: boolean;
751
751
  trapping: boolean;
752
+ popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
752
753
  stopPopperMouseEvent: boolean;
753
754
  virtualTriggering: boolean;
754
755
  loop: boolean;
755
756
  boundariesPadding: number;
756
757
  gpuAcceleration: boolean;
757
- offset: number;
758
+ placement: Placement;
758
759
  popperOptions: Partial<Options>;
759
- strategy: "absolute" | "fixed";
760
+ strategy: "fixed" | "absolute";
760
761
  arrowOffset: number;
761
762
  showArrow: boolean;
762
763
  role: typeof roleTypes[number];
763
- content: string;
764
764
  showAfter: number;
765
765
  hideAfter: number;
766
766
  autoClose: number;
@@ -772,12 +772,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
772
772
  __isSuspense?: never;
773
773
  } & vue.ComponentOptionsBase<Readonly<UseTooltipProps> & Readonly<{
774
774
  onClose?: ((...args: any[]) => any) | undefined;
775
+ onHide?: ((...args: any[]) => any) | undefined;
776
+ onShow?: ((...args: any[]) => any) | undefined;
777
+ onOpen?: ((...args: any[]) => any) | undefined;
775
778
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
776
779
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
777
780
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
778
- onShow?: ((...args: any[]) => any) | undefined;
779
- onHide?: ((...args: any[]) => any) | undefined;
780
- onOpen?: ((...args: any[]) => any) | undefined;
781
781
  }>, {
782
782
  popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
783
783
  contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
@@ -788,35 +788,35 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
788
788
  hide: (event?: Event) => void;
789
789
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
790
790
  close: (...args: any[]) => void;
791
+ hide: (...args: any[]) => void;
792
+ show: (...args: any[]) => void;
793
+ open: (...args: any[]) => void;
791
794
  "update:visible": (...args: any[]) => void;
792
795
  "before-show": (...args: any[]) => void;
793
796
  "before-hide": (...args: any[]) => void;
794
- show: (...args: any[]) => void;
795
- hide: (...args: any[]) => void;
796
- open: (...args: any[]) => void;
797
797
  }, string, {
798
- effect: PopperEffect;
799
- placement: Placement;
800
- popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
798
+ offset: number;
801
799
  teleported: boolean;
800
+ effect: PopperEffect;
802
801
  visible: boolean | null;
802
+ content: string;
803
803
  style: string | false | CSSProperties | vue.StyleValue[] | null;
804
804
  enterable: boolean;
805
805
  pure: boolean;
806
806
  focusOnShow: boolean;
807
807
  trapping: boolean;
808
+ popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
808
809
  stopPopperMouseEvent: boolean;
809
810
  virtualTriggering: boolean;
810
811
  loop: boolean;
811
812
  boundariesPadding: number;
812
813
  gpuAcceleration: boolean;
813
- offset: number;
814
+ placement: Placement;
814
815
  popperOptions: Partial<Options>;
815
- strategy: "absolute" | "fixed";
816
+ strategy: "fixed" | "absolute";
816
817
  arrowOffset: number;
817
818
  showArrow: boolean;
818
819
  role: typeof roleTypes[number];
819
- content: string;
820
820
  showAfter: number;
821
821
  hideAfter: number;
822
822
  autoClose: number;
@@ -908,24 +908,18 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
908
908
  [key: string]: any;
909
909
  }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
910
910
  ElIcon: SFCWithInstall<{
911
- new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {
912
- size: number | string;
913
- }, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
911
+ new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
914
912
  P: {};
915
913
  B: {};
916
914
  D: {};
917
915
  C: {};
918
916
  M: {};
919
917
  Defaults: {};
920
- }, Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, {
921
- size: number | string;
922
- }>;
918
+ }, Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, {}>;
923
919
  __isFragment?: never;
924
920
  __isTeleport?: never;
925
921
  __isSuspense?: never;
926
- } & vue.ComponentOptionsBase<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
927
- size: number | string;
928
- }, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
922
+ } & vue.ComponentOptionsBase<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
929
923
  $slots: {
930
924
  default?: (props: {}) => any;
931
925
  };
@@ -31,7 +31,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
31
31
  }>, {
32
32
  loop: boolean;
33
33
  trapped: boolean;
34
- focusStartEl: HTMLElement | "container" | "first";
34
+ focusStartEl: HTMLElement | "first" | "container";
35
35
  }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
36
36
  //#endregion
37
37
  export { _default };
@@ -71,7 +71,7 @@ declare const formItemProps: {
71
71
  readonly validator: ((val: unknown) => boolean) | undefined;
72
72
  __epPropKey: true;
73
73
  };
74
- readonly labelPosition: EpPropFinalized<StringConstructor, "" | "top" | "right" | "left", unknown, "", boolean>;
74
+ readonly labelPosition: EpPropFinalized<StringConstructor, "" | "top" | "left" | "right", unknown, "", boolean>;
75
75
  readonly prop: {
76
76
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => FormItemProp) | (((new (...args: any[]) => string | string[]) | (() => FormItemProp)) | null)[], unknown, unknown>>;
77
77
  readonly required: false;
@@ -96,7 +96,7 @@ declare const formItemProps: {
96
96
  readonly inlineMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
97
97
  readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
98
98
  readonly size: {
99
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", unknown>>;
99
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
100
100
  readonly required: false;
101
101
  readonly validator: ((val: unknown) => boolean) | undefined;
102
102
  __epPropKey: true;
@@ -19,7 +19,7 @@ declare const __VLS_base: vue.DefineComponent<FormItemProps, {
19
19
  /**
20
20
  * @description Form item size.
21
21
  */
22
- size: vue.ComputedRef<"" | "default" | "large" | "small">;
22
+ size: vue.ComputedRef<"" | "default" | "small" | "large">;
23
23
  /**
24
24
  * @description Validation message.
25
25
  */
@@ -184,6 +184,7 @@ var form_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
184
184
  const setInitialValue = (value) => {
185
185
  initialValue = cloneDeep(value);
186
186
  };
187
+ const getInitialValue = () => initialValue;
187
188
  watch(() => props.error, (val) => {
188
189
  validateMessage.value = val || "";
189
190
  setValidationState(val ? "error" : "");
@@ -206,9 +207,18 @@ var form_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
206
207
  clearValidate,
207
208
  validate,
208
209
  propString,
209
- setInitialValue
210
+ setInitialValue,
211
+ getInitialValue
210
212
  });
211
213
  provide(formItemContextKey, context);
214
+ watch(propString, (newPropString, oldPropString) => {
215
+ if (!formContext || !oldPropString) return;
216
+ formContext.removeField(context, oldPropString);
217
+ if (newPropString) {
218
+ setInitialValue(fieldValue.value);
219
+ formContext.addField(context);
220
+ }
221
+ });
212
222
  onMounted(() => {
213
223
  if (props.prop) {
214
224
  setInitialValue(fieldValue.value);
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"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=\"!!(label || $slots.label)\"\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 { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\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 { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\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 return { width: labelWidth }\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 isArray(props.prop) ? props.prop.join('.') : props.prop\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]) => 'required' in rule)\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)\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 = cloneDeep(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\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\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 validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\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 * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"form-item.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"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=\"!!(label || $slots.label)\"\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 { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\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 { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\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 return { width: labelWidth }\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 isArray(props.prop) ? props.prop.join('.') : props.prop\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]) => 'required' in rule)\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)\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 = cloneDeep(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\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\n}\n\nconst getInitialValue: FormItemContext['getInitialValue'] = () => initialValue\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 validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n getInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nwatch(propString, (newPropString, oldPropString) => {\n if (!formContext || !oldPropString) return\n formContext.removeField(context, oldPropString)\n if (newPropString) {\n setInitialValue(fieldValue.value)\n formContext.addField(context)\n }\n})\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\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 * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-item2.mjs","names":[],"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=\"!!(label || $slots.label)\"\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 { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\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 { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\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 return { width: labelWidth }\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 isArray(props.prop) ? props.prop.join('.') : props.prop\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]) => 'required' in rule)\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)\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 = cloneDeep(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\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\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 validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\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 * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"form-item2.mjs","names":[],"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=\"!!(label || $slots.label)\"\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 { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\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 { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\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 return { width: labelWidth }\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 isArray(props.prop) ? props.prop.join('.') : props.prop\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]) => 'required' in rule)\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)\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 = cloneDeep(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\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\n}\n\nconst getInitialValue: FormItemContext['getInitialValue'] = () => initialValue\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 validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n getInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nwatch(propString, (newPropString, oldPropString) => {\n if (!formContext || !oldPropString) return\n formContext.removeField(context, oldPropString)\n if (newPropString) {\n setInitialValue(fieldValue.value)\n formContext.addField(context)\n }\n})\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\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 * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":""}