@element-plus/nightly 0.0.20220303 → 0.0.20220306

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 (645) hide show
  1. package/README.md +1 -1
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +1980 -2030
  5. package/dist/index.full.min.js +11 -11
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +11 -11
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +1965 -2029
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/bg.js +1 -1
  19. package/dist/locale/bg.min.js +1 -1
  20. package/dist/locale/bg.min.mjs +1 -1
  21. package/dist/locale/bg.mjs +1 -1
  22. package/dist/locale/bn.js +1 -1
  23. package/dist/locale/bn.min.js +1 -1
  24. package/dist/locale/bn.min.mjs +1 -1
  25. package/dist/locale/bn.mjs +1 -1
  26. package/dist/locale/ca.js +1 -1
  27. package/dist/locale/ca.min.js +1 -1
  28. package/dist/locale/ca.min.mjs +1 -1
  29. package/dist/locale/ca.mjs +1 -1
  30. package/dist/locale/cs.js +1 -1
  31. package/dist/locale/cs.min.js +1 -1
  32. package/dist/locale/cs.min.mjs +1 -1
  33. package/dist/locale/cs.mjs +1 -1
  34. package/dist/locale/da.js +1 -1
  35. package/dist/locale/da.min.js +1 -1
  36. package/dist/locale/da.min.mjs +1 -1
  37. package/dist/locale/da.mjs +1 -1
  38. package/dist/locale/de.js +1 -1
  39. package/dist/locale/de.min.js +1 -1
  40. package/dist/locale/de.min.mjs +1 -1
  41. package/dist/locale/de.mjs +1 -1
  42. package/dist/locale/el.js +1 -1
  43. package/dist/locale/el.min.js +1 -1
  44. package/dist/locale/el.min.mjs +1 -1
  45. package/dist/locale/el.mjs +1 -1
  46. package/dist/locale/en.js +1 -1
  47. package/dist/locale/en.min.js +1 -1
  48. package/dist/locale/en.min.mjs +1 -1
  49. package/dist/locale/en.mjs +1 -1
  50. package/dist/locale/eo.js +1 -1
  51. package/dist/locale/eo.min.js +1 -1
  52. package/dist/locale/eo.min.mjs +1 -1
  53. package/dist/locale/eo.mjs +1 -1
  54. package/dist/locale/es.js +1 -1
  55. package/dist/locale/es.min.js +1 -1
  56. package/dist/locale/es.min.mjs +1 -1
  57. package/dist/locale/es.mjs +1 -1
  58. package/dist/locale/et.js +1 -1
  59. package/dist/locale/et.min.js +1 -1
  60. package/dist/locale/et.min.mjs +1 -1
  61. package/dist/locale/et.mjs +1 -1
  62. package/dist/locale/eu.js +1 -1
  63. package/dist/locale/eu.min.js +1 -1
  64. package/dist/locale/eu.min.mjs +1 -1
  65. package/dist/locale/eu.mjs +1 -1
  66. package/dist/locale/fa.js +1 -1
  67. package/dist/locale/fa.min.js +1 -1
  68. package/dist/locale/fa.min.mjs +1 -1
  69. package/dist/locale/fa.mjs +1 -1
  70. package/dist/locale/fi.js +1 -1
  71. package/dist/locale/fi.min.js +1 -1
  72. package/dist/locale/fi.min.mjs +1 -1
  73. package/dist/locale/fi.mjs +1 -1
  74. package/dist/locale/fr.js +1 -1
  75. package/dist/locale/fr.min.js +1 -1
  76. package/dist/locale/fr.min.mjs +1 -1
  77. package/dist/locale/fr.mjs +1 -1
  78. package/dist/locale/he.js +1 -1
  79. package/dist/locale/he.min.js +1 -1
  80. package/dist/locale/he.min.mjs +1 -1
  81. package/dist/locale/he.mjs +1 -1
  82. package/dist/locale/hr.js +1 -1
  83. package/dist/locale/hr.min.js +1 -1
  84. package/dist/locale/hr.min.mjs +1 -1
  85. package/dist/locale/hr.mjs +1 -1
  86. package/dist/locale/hu.js +1 -1
  87. package/dist/locale/hu.min.js +1 -1
  88. package/dist/locale/hu.min.mjs +1 -1
  89. package/dist/locale/hu.mjs +1 -1
  90. package/dist/locale/hy-am.js +1 -1
  91. package/dist/locale/hy-am.min.js +1 -1
  92. package/dist/locale/hy-am.min.mjs +1 -1
  93. package/dist/locale/hy-am.mjs +1 -1
  94. package/dist/locale/id.js +1 -1
  95. package/dist/locale/id.min.js +1 -1
  96. package/dist/locale/id.min.mjs +1 -1
  97. package/dist/locale/id.mjs +1 -1
  98. package/dist/locale/it.js +1 -1
  99. package/dist/locale/it.min.js +1 -1
  100. package/dist/locale/it.min.mjs +1 -1
  101. package/dist/locale/it.mjs +1 -1
  102. package/dist/locale/ja.js +1 -1
  103. package/dist/locale/ja.min.js +1 -1
  104. package/dist/locale/ja.min.mjs +1 -1
  105. package/dist/locale/ja.mjs +1 -1
  106. package/dist/locale/kk.js +1 -1
  107. package/dist/locale/kk.min.js +1 -1
  108. package/dist/locale/kk.min.mjs +1 -1
  109. package/dist/locale/kk.mjs +1 -1
  110. package/dist/locale/km.js +1 -1
  111. package/dist/locale/km.min.js +1 -1
  112. package/dist/locale/km.min.mjs +1 -1
  113. package/dist/locale/km.mjs +1 -1
  114. package/dist/locale/ko.js +1 -1
  115. package/dist/locale/ko.min.js +1 -1
  116. package/dist/locale/ko.min.mjs +1 -1
  117. package/dist/locale/ko.mjs +1 -1
  118. package/dist/locale/ku.js +1 -1
  119. package/dist/locale/ku.min.js +1 -1
  120. package/dist/locale/ku.min.mjs +1 -1
  121. package/dist/locale/ku.mjs +1 -1
  122. package/dist/locale/ky.js +1 -1
  123. package/dist/locale/ky.min.js +1 -1
  124. package/dist/locale/ky.min.mjs +1 -1
  125. package/dist/locale/ky.mjs +1 -1
  126. package/dist/locale/lt.js +1 -1
  127. package/dist/locale/lt.min.js +1 -1
  128. package/dist/locale/lt.min.mjs +1 -1
  129. package/dist/locale/lt.mjs +1 -1
  130. package/dist/locale/lv.js +1 -1
  131. package/dist/locale/lv.min.js +1 -1
  132. package/dist/locale/lv.min.mjs +1 -1
  133. package/dist/locale/lv.mjs +1 -1
  134. package/dist/locale/mg.js +1 -1
  135. package/dist/locale/mg.min.js +1 -1
  136. package/dist/locale/mg.min.mjs +1 -1
  137. package/dist/locale/mg.mjs +1 -1
  138. package/dist/locale/mn.js +1 -1
  139. package/dist/locale/mn.min.js +1 -1
  140. package/dist/locale/mn.min.mjs +1 -1
  141. package/dist/locale/mn.mjs +1 -1
  142. package/dist/locale/nb-no.js +1 -1
  143. package/dist/locale/nb-no.min.js +1 -1
  144. package/dist/locale/nb-no.min.mjs +1 -1
  145. package/dist/locale/nb-no.mjs +1 -1
  146. package/dist/locale/nl.js +1 -1
  147. package/dist/locale/nl.min.js +1 -1
  148. package/dist/locale/nl.min.mjs +1 -1
  149. package/dist/locale/nl.mjs +1 -1
  150. package/dist/locale/pa.js +1 -1
  151. package/dist/locale/pa.min.js +1 -1
  152. package/dist/locale/pa.min.mjs +1 -1
  153. package/dist/locale/pa.mjs +1 -1
  154. package/dist/locale/pl.js +1 -1
  155. package/dist/locale/pl.min.js +1 -1
  156. package/dist/locale/pl.min.mjs +1 -1
  157. package/dist/locale/pl.mjs +1 -1
  158. package/dist/locale/pt-br.js +1 -1
  159. package/dist/locale/pt-br.min.js +1 -1
  160. package/dist/locale/pt-br.min.mjs +1 -1
  161. package/dist/locale/pt-br.mjs +1 -1
  162. package/dist/locale/pt.js +1 -1
  163. package/dist/locale/pt.min.js +1 -1
  164. package/dist/locale/pt.min.mjs +1 -1
  165. package/dist/locale/pt.mjs +1 -1
  166. package/dist/locale/ro.js +1 -1
  167. package/dist/locale/ro.min.js +1 -1
  168. package/dist/locale/ro.min.mjs +1 -1
  169. package/dist/locale/ro.mjs +1 -1
  170. package/dist/locale/ru.js +1 -1
  171. package/dist/locale/ru.min.js +1 -1
  172. package/dist/locale/ru.min.mjs +1 -1
  173. package/dist/locale/ru.mjs +1 -1
  174. package/dist/locale/sk.js +1 -1
  175. package/dist/locale/sk.min.js +1 -1
  176. package/dist/locale/sk.min.mjs +1 -1
  177. package/dist/locale/sk.mjs +1 -1
  178. package/dist/locale/sl.js +1 -1
  179. package/dist/locale/sl.min.js +1 -1
  180. package/dist/locale/sl.min.mjs +1 -1
  181. package/dist/locale/sl.mjs +1 -1
  182. package/dist/locale/sr.js +1 -1
  183. package/dist/locale/sr.min.js +1 -1
  184. package/dist/locale/sr.min.mjs +1 -1
  185. package/dist/locale/sr.mjs +1 -1
  186. package/dist/locale/sv.js +1 -1
  187. package/dist/locale/sv.min.js +1 -1
  188. package/dist/locale/sv.min.mjs +1 -1
  189. package/dist/locale/sv.mjs +1 -1
  190. package/dist/locale/ta.js +1 -1
  191. package/dist/locale/ta.min.js +1 -1
  192. package/dist/locale/ta.min.mjs +1 -1
  193. package/dist/locale/ta.mjs +1 -1
  194. package/dist/locale/th.js +1 -1
  195. package/dist/locale/th.min.js +1 -1
  196. package/dist/locale/th.min.mjs +1 -1
  197. package/dist/locale/th.mjs +1 -1
  198. package/dist/locale/tk.js +1 -1
  199. package/dist/locale/tk.min.js +1 -1
  200. package/dist/locale/tk.min.mjs +1 -1
  201. package/dist/locale/tk.mjs +1 -1
  202. package/dist/locale/tr.js +1 -1
  203. package/dist/locale/tr.min.js +1 -1
  204. package/dist/locale/tr.min.mjs +1 -1
  205. package/dist/locale/tr.mjs +1 -1
  206. package/dist/locale/ug-cn.js +1 -1
  207. package/dist/locale/ug-cn.min.js +1 -1
  208. package/dist/locale/ug-cn.min.mjs +1 -1
  209. package/dist/locale/ug-cn.mjs +1 -1
  210. package/dist/locale/uk.js +1 -1
  211. package/dist/locale/uk.min.js +1 -1
  212. package/dist/locale/uk.min.mjs +1 -1
  213. package/dist/locale/uk.mjs +1 -1
  214. package/dist/locale/uz-uz.js +1 -1
  215. package/dist/locale/uz-uz.min.js +1 -1
  216. package/dist/locale/uz-uz.min.mjs +1 -1
  217. package/dist/locale/uz-uz.mjs +1 -1
  218. package/dist/locale/vi.js +1 -1
  219. package/dist/locale/vi.min.js +1 -1
  220. package/dist/locale/vi.min.mjs +1 -1
  221. package/dist/locale/vi.mjs +1 -1
  222. package/dist/locale/zh-cn.js +1 -1
  223. package/dist/locale/zh-cn.min.js +1 -1
  224. package/dist/locale/zh-cn.min.mjs +1 -1
  225. package/dist/locale/zh-cn.mjs +1 -1
  226. package/dist/locale/zh-tw.js +1 -1
  227. package/dist/locale/zh-tw.min.js +1 -1
  228. package/dist/locale/zh-tw.min.mjs +1 -1
  229. package/dist/locale/zh-tw.mjs +1 -1
  230. package/es/components/autocomplete/index.d.ts +4 -4
  231. package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
  232. package/es/components/button/index.d.ts +1 -1
  233. package/es/components/button/src/button.vue.d.ts +1 -1
  234. package/es/components/cascader/index.d.ts +18 -18
  235. package/es/components/cascader/src/index.mjs +5 -4
  236. package/es/components/cascader/src/index.mjs.map +1 -1
  237. package/es/components/cascader/src/index.vue.d.ts +9 -9
  238. package/es/components/checkbox/src/checkbox-group.mjs +2 -1
  239. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  240. package/es/components/checkbox/src/useCheckbox.d.ts +4 -4
  241. package/es/components/checkbox/src/useCheckbox.mjs +6 -4
  242. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  243. package/es/components/color-picker/src/index.mjs +6 -5
  244. package/es/components/color-picker/src/index.mjs.map +1 -1
  245. package/es/components/dropdown/index.d.ts +3 -0
  246. package/es/components/dropdown/src/dropdown.d.ts +1 -0
  247. package/es/components/dropdown/src/dropdown.mjs +4 -0
  248. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  249. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -0
  250. package/es/components/dropdown/src/dropdown2.mjs +8 -5
  251. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  252. package/es/components/form/index.d.ts +285 -210
  253. package/es/components/form/index.mjs +8 -5
  254. package/es/components/form/index.mjs.map +1 -1
  255. package/es/components/form/src/form-item.d.ts +21 -0
  256. package/es/components/form/src/form-item.mjs +41 -301
  257. package/es/components/form/src/form-item.mjs.map +1 -1
  258. package/es/components/form/src/form-item.vue.d.ts +104 -73
  259. package/es/components/form/src/form-item2.mjs +249 -0
  260. package/es/components/form/src/form-item2.mjs.map +1 -0
  261. package/es/components/form/src/form-label-wrap.d.ts +11 -0
  262. package/es/components/form/src/form-label-wrap.mjs +96 -0
  263. package/es/components/form/src/form-label-wrap.mjs.map +1 -0
  264. package/es/components/form/src/form.d.ts +25 -0
  265. package/es/components/form/src/form.mjs +43 -208
  266. package/es/components/form/src/form.mjs.map +1 -1
  267. package/es/components/form/src/form.vue.d.ts +86 -76
  268. package/es/components/form/src/form2.mjs +130 -0
  269. package/es/components/form/src/form2.mjs.map +1 -0
  270. package/es/components/form/src/types.d.ts +9 -0
  271. package/es/components/form/src/types.mjs +2 -0
  272. package/es/components/form/src/types.mjs.map +1 -0
  273. package/es/components/form/src/utils.d.ts +9 -0
  274. package/es/components/form/src/utils.mjs +48 -0
  275. package/es/components/form/src/utils.mjs.map +1 -0
  276. package/es/components/index.mjs +6 -0
  277. package/es/components/index.mjs.map +1 -1
  278. package/es/components/input/index.d.ts +1 -1
  279. package/es/components/input/src/input.vue.d.ts +1 -1
  280. package/es/components/input/src/input2.mjs +3 -2
  281. package/es/components/input/src/input2.mjs.map +1 -1
  282. package/es/components/input-number/index.d.ts +2 -2
  283. package/es/components/input-number/src/input-number.vue.d.ts +2 -2
  284. package/es/components/input-number/src/input-number2.mjs +2 -2
  285. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  286. package/es/components/message-box/index.mjs +1 -0
  287. package/es/components/message-box/index.mjs.map +1 -1
  288. package/es/components/message-box/src/index.vue.d.ts +2 -2
  289. package/es/components/message-box/src/message-box.type.d.ts +4 -3
  290. package/es/components/message-box/src/messageBox.mjs +39 -56
  291. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  292. package/es/components/popover/index.d.ts +2 -0
  293. package/es/components/popover/src/index.mjs +6 -1
  294. package/es/components/popover/src/index.mjs.map +1 -1
  295. package/es/components/popover/src/index.vue.d.ts +1 -0
  296. package/es/components/radio/index.d.ts +1 -1
  297. package/es/components/radio/src/radio-group.vue.d.ts +10 -10
  298. package/es/components/radio/src/radio-group2.mjs +3 -1
  299. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  300. package/es/components/radio/src/radio.vue.d.ts +1 -1
  301. package/es/components/rate/index.d.ts +1 -1
  302. package/es/components/rate/src/rate.vue.d.ts +1 -1
  303. package/es/components/rate/src/rate2.mjs +2 -2
  304. package/es/components/rate/src/rate2.mjs.map +1 -1
  305. package/es/components/scrollbar/index.d.ts +3 -3
  306. package/es/components/scrollbar/src/scrollbar.d.ts +1 -1
  307. package/es/components/scrollbar/src/scrollbar.mjs +1 -1
  308. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  309. package/es/components/scrollbar/src/scrollbar.vue.d.ts +3 -3
  310. package/es/components/select/index.d.ts +9 -0
  311. package/es/components/select/src/select.mjs +6 -2
  312. package/es/components/select/src/select.mjs.map +1 -1
  313. package/es/components/select/src/select.vue.d.ts +9 -0
  314. package/es/components/select/src/useSelect.mjs +7 -6
  315. package/es/components/select/src/useSelect.mjs.map +1 -1
  316. package/es/components/select-v2/index.d.ts +24 -6
  317. package/es/components/select-v2/src/defaults.d.ts +5 -1
  318. package/es/components/select-v2/src/defaults.mjs +4 -0
  319. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  320. package/es/components/select-v2/src/select.mjs +3 -3
  321. package/es/components/select-v2/src/select.mjs.map +1 -1
  322. package/es/components/select-v2/src/select.vue.d.ts +12 -3
  323. package/es/components/select-v2/src/useSelect.mjs +2 -1
  324. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  325. package/es/components/slider/index.d.ts +2 -2
  326. package/es/components/slider/src/index.mjs +3 -3
  327. package/es/components/slider/src/index.mjs.map +1 -1
  328. package/es/components/slider/src/index.vue.d.ts +1 -1
  329. package/es/components/slider/src/useSlide.d.ts +2 -2
  330. package/es/components/slider/src/useSlide.mjs +3 -3
  331. package/es/components/slider/src/useSlide.mjs.map +1 -1
  332. package/es/components/switch/src/switch2.mjs +2 -2
  333. package/es/components/switch/src/switch2.mjs.map +1 -1
  334. package/es/components/table/index.d.ts +4 -0
  335. package/es/components/table/src/config.mjs +2 -2
  336. package/es/components/table/src/config.mjs.map +1 -1
  337. package/es/components/table/src/table/style-helper.d.ts +4 -0
  338. package/es/components/table/src/table/style-helper.mjs +6 -1
  339. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  340. package/es/components/table/src/table-column/index.mjs +11 -4
  341. package/es/components/table/src/table-column/index.mjs.map +1 -1
  342. package/es/components/table/src/table.mjs +7 -4
  343. package/es/components/table/src/table.mjs.map +1 -1
  344. package/es/components/table/src/table.vue.d.ts +4 -0
  345. package/es/components/time-picker/src/common/picker.mjs +6 -5
  346. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  347. package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
  348. package/es/components/transfer/src/index.mjs +6 -4
  349. package/es/components/transfer/src/index.mjs.map +1 -1
  350. package/es/components/upload/index.d.ts +807 -727
  351. package/es/components/upload/index.mjs +9 -7
  352. package/es/components/upload/index.mjs.map +1 -1
  353. package/es/components/upload/src/ajax.d.ts +8 -2
  354. package/es/components/upload/src/ajax.mjs +39 -34
  355. package/es/components/upload/src/ajax.mjs.map +1 -1
  356. package/es/components/upload/src/upload-content.d.ts +32 -0
  357. package/es/components/upload/src/upload-content.mjs +39 -0
  358. package/es/components/upload/src/upload-content.mjs.map +1 -0
  359. package/es/components/upload/src/upload-content.vue.d.ts +165 -0
  360. package/es/components/upload/src/upload-content2.mjs +172 -0
  361. package/es/components/upload/src/upload-content2.mjs.map +1 -0
  362. package/es/components/upload/src/upload-dragger.d.ts +11 -0
  363. package/es/components/upload/src/upload-dragger.mjs +11 -67
  364. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  365. package/es/components/upload/src/upload-dragger.vue.d.ts +15 -11
  366. package/es/components/upload/src/upload-dragger2.mjs +73 -0
  367. package/es/components/upload/src/upload-dragger2.mjs.map +1 -0
  368. package/es/components/upload/src/upload-list.d.ts +15 -0
  369. package/es/components/upload/src/upload-list.mjs +23 -207
  370. package/es/components/upload/src/upload-list.mjs.map +1 -1
  371. package/es/components/upload/src/upload-list.vue.d.ts +148 -44
  372. package/es/components/upload/src/upload-list2.mjs +173 -0
  373. package/es/components/upload/src/upload-list2.mjs.map +1 -0
  374. package/es/components/upload/src/upload.d.ts +97 -0
  375. package/es/components/upload/src/upload.mjs +103 -266
  376. package/es/components/upload/src/upload.mjs.map +1 -1
  377. package/es/components/upload/src/upload.vue.d.ts +830 -292
  378. package/es/components/upload/src/upload2.mjs +122 -0
  379. package/es/components/upload/src/upload2.mjs.map +1 -0
  380. package/es/components/upload/src/{useHandlers.d.ts → use-handlers.d.ts} +10 -13
  381. package/es/components/upload/src/use-handlers.mjs +142 -0
  382. package/es/components/upload/src/use-handlers.mjs.map +1 -0
  383. package/es/hooks/use-common-props/index.mjs +4 -4
  384. package/es/hooks/use-common-props/index.mjs.map +1 -1
  385. package/es/hooks/use-form-item/index.d.ts +2 -2
  386. package/es/hooks/use-form-item/index.mjs +3 -3
  387. package/es/hooks/use-form-item/index.mjs.map +1 -1
  388. package/es/index.mjs +8 -1
  389. package/es/index.mjs.map +1 -1
  390. package/es/tokens/form.d.ts +17 -37
  391. package/es/tokens/form.mjs +3 -3
  392. package/es/tokens/form.mjs.map +1 -1
  393. package/es/tokens/index.d.ts +1 -0
  394. package/es/tokens/index.mjs +2 -1
  395. package/es/tokens/index.mjs.map +1 -1
  396. package/es/tokens/upload.d.ts +5 -0
  397. package/es/tokens/upload.mjs +4 -0
  398. package/es/tokens/upload.mjs.map +1 -0
  399. package/es/utils/error.d.ts +1 -0
  400. package/es/utils/error.mjs +5 -1
  401. package/es/utils/error.mjs.map +1 -1
  402. package/es/utils/index.mjs +1 -1
  403. package/es/utils/objects.d.ts +3 -5
  404. package/es/utils/objects.mjs +10 -35
  405. package/es/utils/objects.mjs.map +1 -1
  406. package/es/utils/typescript.d.ts +1 -0
  407. package/es/utils/typescript.mjs.map +1 -1
  408. package/es/version.d.ts +1 -1
  409. package/es/version.mjs +1 -1
  410. package/es/version.mjs.map +1 -1
  411. package/lib/components/autocomplete/index.d.ts +4 -4
  412. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
  413. package/lib/components/button/index.d.ts +1 -1
  414. package/lib/components/button/src/button.vue.d.ts +1 -1
  415. package/lib/components/cascader/index.d.ts +18 -18
  416. package/lib/components/cascader/src/index.js +4 -3
  417. package/lib/components/cascader/src/index.js.map +1 -1
  418. package/lib/components/cascader/src/index.vue.d.ts +9 -9
  419. package/lib/components/checkbox/src/checkbox-group.js +2 -1
  420. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  421. package/lib/components/checkbox/src/useCheckbox.d.ts +4 -4
  422. package/lib/components/checkbox/src/useCheckbox.js +5 -3
  423. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  424. package/lib/components/color-picker/src/index.js +5 -4
  425. package/lib/components/color-picker/src/index.js.map +1 -1
  426. package/lib/components/dropdown/index.d.ts +3 -0
  427. package/lib/components/dropdown/src/dropdown.d.ts +1 -0
  428. package/lib/components/dropdown/src/dropdown.js +4 -0
  429. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  430. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -0
  431. package/lib/components/dropdown/src/dropdown2.js +8 -5
  432. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  433. package/lib/components/form/index.d.ts +285 -210
  434. package/lib/components/form/index.js +10 -3
  435. package/lib/components/form/index.js.map +1 -1
  436. package/lib/components/form/src/form-item.d.ts +21 -0
  437. package/lib/components/form/src/form-item.js +42 -305
  438. package/lib/components/form/src/form-item.js.map +1 -1
  439. package/lib/components/form/src/form-item.vue.d.ts +104 -73
  440. package/lib/components/form/src/form-item2.js +257 -0
  441. package/lib/components/form/src/form-item2.js.map +1 -0
  442. package/lib/components/form/src/form-label-wrap.d.ts +11 -0
  443. package/lib/components/form/src/form-label-wrap.js +100 -0
  444. package/lib/components/form/src/form-label-wrap.js.map +1 -0
  445. package/lib/components/form/src/form.d.ts +25 -0
  446. package/lib/components/form/src/form.js +44 -208
  447. package/lib/components/form/src/form.js.map +1 -1
  448. package/lib/components/form/src/form.vue.d.ts +86 -76
  449. package/lib/components/form/src/form2.js +134 -0
  450. package/lib/components/form/src/form2.js.map +1 -0
  451. package/lib/components/form/src/types.d.ts +9 -0
  452. package/lib/components/form/src/types.js +3 -0
  453. package/lib/components/form/src/types.js.map +1 -0
  454. package/lib/components/form/src/utils.d.ts +9 -0
  455. package/lib/components/form/src/utils.js +53 -0
  456. package/lib/components/form/src/utils.js.map +1 -0
  457. package/lib/components/index.js +19 -0
  458. package/lib/components/index.js.map +1 -1
  459. package/lib/components/input/index.d.ts +1 -1
  460. package/lib/components/input/src/input.vue.d.ts +1 -1
  461. package/lib/components/input/src/input2.js +3 -2
  462. package/lib/components/input/src/input2.js.map +1 -1
  463. package/lib/components/input-number/index.d.ts +2 -2
  464. package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
  465. package/lib/components/input-number/src/input-number2.js +2 -2
  466. package/lib/components/input-number/src/input-number2.js.map +1 -1
  467. package/lib/components/message-box/index.js +1 -0
  468. package/lib/components/message-box/index.js.map +1 -1
  469. package/lib/components/message-box/src/index.vue.d.ts +2 -2
  470. package/lib/components/message-box/src/message-box.type.d.ts +4 -3
  471. package/lib/components/message-box/src/messageBox.js +38 -55
  472. package/lib/components/message-box/src/messageBox.js.map +1 -1
  473. package/lib/components/popover/index.d.ts +2 -0
  474. package/lib/components/popover/src/index.js +6 -1
  475. package/lib/components/popover/src/index.js.map +1 -1
  476. package/lib/components/popover/src/index.vue.d.ts +1 -0
  477. package/lib/components/radio/index.d.ts +1 -1
  478. package/lib/components/radio/src/radio-group.vue.d.ts +10 -10
  479. package/lib/components/radio/src/radio-group2.js +3 -1
  480. package/lib/components/radio/src/radio-group2.js.map +1 -1
  481. package/lib/components/radio/src/radio.vue.d.ts +1 -1
  482. package/lib/components/rate/index.d.ts +1 -1
  483. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  484. package/lib/components/rate/src/rate2.js +1 -1
  485. package/lib/components/rate/src/rate2.js.map +1 -1
  486. package/lib/components/scrollbar/index.d.ts +3 -3
  487. package/lib/components/scrollbar/src/scrollbar.d.ts +1 -1
  488. package/lib/components/scrollbar/src/scrollbar.js +1 -1
  489. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  490. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +3 -3
  491. package/lib/components/select/index.d.ts +9 -0
  492. package/lib/components/select/src/select.js +6 -2
  493. package/lib/components/select/src/select.js.map +1 -1
  494. package/lib/components/select/src/select.vue.d.ts +9 -0
  495. package/lib/components/select/src/useSelect.js +6 -5
  496. package/lib/components/select/src/useSelect.js.map +1 -1
  497. package/lib/components/select-v2/index.d.ts +24 -6
  498. package/lib/components/select-v2/src/defaults.d.ts +5 -1
  499. package/lib/components/select-v2/src/defaults.js +4 -0
  500. package/lib/components/select-v2/src/defaults.js.map +1 -1
  501. package/lib/components/select-v2/src/select.js +3 -3
  502. package/lib/components/select-v2/src/select.js.map +1 -1
  503. package/lib/components/select-v2/src/select.vue.d.ts +12 -3
  504. package/lib/components/select-v2/src/useSelect.js +2 -1
  505. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  506. package/lib/components/slider/index.d.ts +2 -2
  507. package/lib/components/slider/src/index.js +2 -2
  508. package/lib/components/slider/src/index.js.map +1 -1
  509. package/lib/components/slider/src/index.vue.d.ts +1 -1
  510. package/lib/components/slider/src/useSlide.d.ts +2 -2
  511. package/lib/components/slider/src/useSlide.js +2 -2
  512. package/lib/components/slider/src/useSlide.js.map +1 -1
  513. package/lib/components/switch/src/switch2.js +2 -2
  514. package/lib/components/switch/src/switch2.js.map +1 -1
  515. package/lib/components/table/index.d.ts +4 -0
  516. package/lib/components/table/src/config.js +1 -1
  517. package/lib/components/table/src/config.js.map +1 -1
  518. package/lib/components/table/src/table/style-helper.d.ts +4 -0
  519. package/lib/components/table/src/table/style-helper.js +6 -1
  520. package/lib/components/table/src/table/style-helper.js.map +1 -1
  521. package/lib/components/table/src/table-column/index.js +11 -4
  522. package/lib/components/table/src/table-column/index.js.map +1 -1
  523. package/lib/components/table/src/table.js +7 -4
  524. package/lib/components/table/src/table.js.map +1 -1
  525. package/lib/components/table/src/table.vue.d.ts +4 -0
  526. package/lib/components/time-picker/src/common/picker.js +5 -4
  527. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  528. package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
  529. package/lib/components/transfer/src/index.js +5 -3
  530. package/lib/components/transfer/src/index.js.map +1 -1
  531. package/lib/components/upload/index.d.ts +807 -727
  532. package/lib/components/upload/index.js +18 -7
  533. package/lib/components/upload/index.js.map +1 -1
  534. package/lib/components/upload/src/ajax.d.ts +8 -2
  535. package/lib/components/upload/src/ajax.js +40 -34
  536. package/lib/components/upload/src/ajax.js.map +1 -1
  537. package/lib/components/upload/src/upload-content.d.ts +32 -0
  538. package/lib/components/upload/src/upload-content.js +43 -0
  539. package/lib/components/upload/src/upload-content.js.map +1 -0
  540. package/lib/components/upload/src/upload-content.vue.d.ts +165 -0
  541. package/lib/components/upload/src/upload-content2.js +176 -0
  542. package/lib/components/upload/src/upload-content2.js.map +1 -0
  543. package/lib/components/upload/src/upload-dragger.d.ts +11 -0
  544. package/lib/components/upload/src/upload-dragger.js +12 -67
  545. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  546. package/lib/components/upload/src/upload-dragger.vue.d.ts +15 -11
  547. package/lib/components/upload/src/upload-dragger2.js +77 -0
  548. package/lib/components/upload/src/upload-dragger2.js.map +1 -0
  549. package/lib/components/upload/src/upload-list.d.ts +15 -0
  550. package/lib/components/upload/src/upload-list.js +24 -207
  551. package/lib/components/upload/src/upload-list.js.map +1 -1
  552. package/lib/components/upload/src/upload-list.vue.d.ts +148 -44
  553. package/lib/components/upload/src/upload-list2.js +177 -0
  554. package/lib/components/upload/src/upload-list2.js.map +1 -0
  555. package/lib/components/upload/src/upload.d.ts +97 -0
  556. package/lib/components/upload/src/upload.js +104 -264
  557. package/lib/components/upload/src/upload.js.map +1 -1
  558. package/lib/components/upload/src/upload.vue.d.ts +830 -292
  559. package/lib/components/upload/src/upload2.js +126 -0
  560. package/lib/components/upload/src/upload2.js.map +1 -0
  561. package/lib/components/upload/src/{useHandlers.d.ts → use-handlers.d.ts} +10 -13
  562. package/lib/components/upload/src/use-handlers.js +146 -0
  563. package/lib/components/upload/src/use-handlers.js.map +1 -0
  564. package/lib/hooks/use-common-props/index.js +3 -3
  565. package/lib/hooks/use-common-props/index.js.map +1 -1
  566. package/lib/hooks/use-form-item/index.d.ts +2 -2
  567. package/lib/hooks/use-form-item/index.js +2 -2
  568. package/lib/hooks/use-form-item/index.js.map +1 -1
  569. package/lib/index.js +24 -3
  570. package/lib/index.js.map +1 -1
  571. package/lib/tokens/form.d.ts +17 -37
  572. package/lib/tokens/form.js +4 -4
  573. package/lib/tokens/form.js.map +1 -1
  574. package/lib/tokens/index.d.ts +1 -0
  575. package/lib/tokens/index.js +4 -2
  576. package/lib/tokens/index.js.map +1 -1
  577. package/lib/tokens/upload.d.ts +5 -0
  578. package/lib/tokens/upload.js +8 -0
  579. package/lib/tokens/upload.js.map +1 -0
  580. package/lib/utils/error.d.ts +1 -0
  581. package/lib/utils/error.js +5 -1
  582. package/lib/utils/error.js.map +1 -1
  583. package/lib/utils/index.js +1 -1
  584. package/lib/utils/objects.d.ts +3 -5
  585. package/lib/utils/objects.js +10 -34
  586. package/lib/utils/objects.js.map +1 -1
  587. package/lib/utils/typescript.d.ts +1 -0
  588. package/lib/utils/typescript.js.map +1 -1
  589. package/lib/version.d.ts +1 -1
  590. package/lib/version.js +1 -1
  591. package/lib/version.js.map +1 -1
  592. package/package.json +2 -2
  593. package/tags.json +1 -1
  594. package/theme-chalk/el-cascader.css +1 -1
  595. package/theme-chalk/el-dialog.css +1 -1
  596. package/theme-chalk/el-dropdown.css +1 -1
  597. package/theme-chalk/el-input.css +1 -1
  598. package/theme-chalk/el-select-v2.css +1 -1
  599. package/theme-chalk/el-select.css +1 -1
  600. package/theme-chalk/el-table.css +1 -1
  601. package/theme-chalk/index.css +1 -1
  602. package/theme-chalk/src/cascader-panel.scss +1 -1
  603. package/theme-chalk/src/cascader.scss +1 -1
  604. package/theme-chalk/src/common/transition.scss +2 -2
  605. package/theme-chalk/src/common/var.scss +1 -0
  606. package/theme-chalk/src/date-picker/date-table.scss +4 -4
  607. package/theme-chalk/src/dialog.scss +1 -1
  608. package/theme-chalk/src/dropdown.scss +5 -0
  609. package/theme-chalk/src/input.scss +12 -4
  610. package/theme-chalk/src/menu.scss +1 -1
  611. package/theme-chalk/src/option-item.scss +2 -2
  612. package/theme-chalk/src/page-header.scss +1 -1
  613. package/theme-chalk/src/pagination.scss +2 -2
  614. package/theme-chalk/src/select-v2.scss +8 -0
  615. package/theme-chalk/src/select.scss +0 -4
  616. package/theme-chalk/src/table.scss +2 -1
  617. package/web-types.json +1 -1
  618. package/es/components/form/src/form.type.d.ts +0 -5
  619. package/es/components/form/src/form.type.mjs +0 -2
  620. package/es/components/form/src/form.type.mjs.map +0 -1
  621. package/es/components/form/src/label-wrap.d.ts +0 -13
  622. package/es/components/form/src/label-wrap.mjs +0 -83
  623. package/es/components/form/src/label-wrap.mjs.map +0 -1
  624. package/es/components/upload/src/index.mjs +0 -220
  625. package/es/components/upload/src/index.mjs.map +0 -1
  626. package/es/components/upload/src/index.vue.d.ts +0 -282
  627. package/es/components/upload/src/upload.type.d.ts +0 -72
  628. package/es/components/upload/src/upload.type.mjs +0 -2
  629. package/es/components/upload/src/upload.type.mjs.map +0 -1
  630. package/es/components/upload/src/useHandlers.mjs +0 -143
  631. package/es/components/upload/src/useHandlers.mjs.map +0 -1
  632. package/lib/components/form/src/form.type.d.ts +0 -5
  633. package/lib/components/form/src/form.type.js +0 -3
  634. package/lib/components/form/src/form.type.js.map +0 -1
  635. package/lib/components/form/src/label-wrap.d.ts +0 -13
  636. package/lib/components/form/src/label-wrap.js +0 -87
  637. package/lib/components/form/src/label-wrap.js.map +0 -1
  638. package/lib/components/upload/src/index.js +0 -224
  639. package/lib/components/upload/src/index.js.map +0 -1
  640. package/lib/components/upload/src/index.vue.d.ts +0 -282
  641. package/lib/components/upload/src/upload.type.d.ts +0 -72
  642. package/lib/components/upload/src/upload.type.js +0 -3
  643. package/lib/components/upload/src/upload.type.js.map +0 -1
  644. package/lib/components/upload/src/useHandlers.js +0 -147
  645. package/lib/components/upload/src/useHandlers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formKls\">\n <slot></slot>\n </form>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { elFormKey } from '@element-plus/tokens'\nimport { debugWarn } from '@element-plus/utils'\nimport { useSize } from '@element-plus/hooks'\nimport type { ValidateFieldsError } from 'async-validator'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { FormRulesMap } from './form.type'\nimport type {\n ElFormItemContext as FormItemCtx,\n ValidateFieldCallback,\n} from '@element-plus/tokens'\n\nfunction useFormLabelWidth() {\n const potentialLabelWidthArr = ref([])\n const autoLabelWidth = computed(() => {\n if (!potentialLabelWidthArr.value.length) return '0'\n const max = Math.max(...potentialLabelWidthArr.value)\n return max ? `${max}px` : ''\n })\n\n function getLabelWidthIndex(width: number) {\n const index = potentialLabelWidthArr.value.indexOf(width)\n if (index === -1) {\n debugWarn('Form', `unexpected width ${width}`)\n }\n return index\n }\n\n function registerLabelWidth(val: number, oldVal: number) {\n if (val && oldVal) {\n const index = getLabelWidthIndex(oldVal)\n potentialLabelWidthArr.value.splice(index, 1, val)\n } else if (val) {\n potentialLabelWidthArr.value.push(val)\n }\n }\n\n function deregisterLabelWidth(val: number) {\n const index = getLabelWidthIndex(val)\n index > -1 && potentialLabelWidthArr.value.splice(index, 1)\n }\n\n return {\n autoLabelWidth,\n registerLabelWidth,\n deregisterLabelWidth,\n }\n}\n\nexport interface Callback {\n (isValid?: boolean, invalidFields?: ValidateFieldsError): void\n}\n\nexport default defineComponent({\n name: 'ElForm',\n props: {\n model: Object,\n rules: Object as PropType<FormRulesMap>,\n labelPosition: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n labelSuffix: {\n type: String,\n default: '',\n },\n inline: Boolean,\n inlineMessage: Boolean,\n statusIcon: Boolean,\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: String as PropType<ComponentSize>,\n disabled: Boolean,\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n scrollToError: Boolean,\n },\n emits: ['validate'],\n setup(props, { emit }) {\n const fields: FormItemCtx[] = []\n\n watch(\n () => props.rules,\n () => {\n fields.forEach((field) => {\n field.evaluateValidationEnabled()\n })\n\n if (props.validateOnRuleChange) {\n validate(() => ({}))\n }\n }\n )\n\n const formSize = useSize()\n const prefix = 'el-form'\n const formKls = computed(() => {\n const { labelPosition, inline } = props\n return [\n prefix,\n `${prefix}--${formSize.value}`,\n labelPosition ? `${prefix}--label-${labelPosition}` : '',\n inline ? `${prefix}--inline` : '',\n ]\n })\n\n const addField = (field: FormItemCtx) => {\n if (field) {\n fields.push(field)\n }\n }\n\n const removeField = (field: FormItemCtx) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n }\n\n const resetFields = () => {\n if (!props.model) {\n debugWarn('Form', 'model is required for resetFields to work.')\n return\n }\n fields.forEach((field) => {\n field.resetField()\n })\n }\n\n const clearValidate = (props: string | string[] = []) => {\n const fds = props.length\n ? typeof props === 'string'\n ? fields.filter((field) => props === field.prop)\n : fields.filter((field) => props.indexOf(field.prop) > -1)\n : fields\n fds.forEach((field) => {\n field.clearValidate()\n })\n }\n\n const validate = (callback?: Callback) => {\n if (!props.model) {\n debugWarn('Form', 'model is required for validate to work!')\n return\n }\n\n let promise: Promise<boolean> | undefined\n // if no callback, return promise\n if (typeof callback !== 'function') {\n promise = new Promise((resolve, reject) => {\n callback = function (valid, invalidFields) {\n if (valid) {\n resolve(true)\n } else {\n reject(invalidFields)\n }\n }\n })\n }\n\n if (fields.length === 0) {\n callback(true)\n }\n let valid = true\n let count = 0\n let invalidFields = {}\n let firstInvalidFields\n for (const field of fields) {\n field.validate('', (message, field) => {\n if (message) {\n valid = false\n firstInvalidFields || (firstInvalidFields = field)\n }\n invalidFields = { ...invalidFields, ...field }\n if (++count === fields.length) {\n callback(valid, invalidFields)\n }\n })\n }\n if (!valid && props.scrollToError) {\n scrollToField(Object.keys(firstInvalidFields)[0])\n }\n return promise\n }\n\n const validateField = (\n props: string | string[],\n cb: ValidateFieldCallback\n ) => {\n props = [].concat(props)\n const fds = fields.filter((field) => props.indexOf(field.prop) !== -1)\n if (!fields.length) {\n debugWarn('Form', 'please pass correct props!')\n return\n }\n\n fds.forEach((field) => {\n field.validate('', cb)\n })\n }\n\n const scrollToField = (prop: string) => {\n fields.forEach((item) => {\n if (item.prop === prop) {\n item.$el.scrollIntoView?.()\n }\n })\n }\n\n const elForm = reactive({\n ...toRefs(props),\n resetFields,\n clearValidate,\n validateField,\n emit,\n addField,\n removeField,\n ...useFormLabelWidth(),\n })\n\n provide(elFormKey, elForm)\n\n return {\n formKls,\n validate, // export\n resetFields,\n clearValidate,\n validateField,\n scrollToField,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AA6BA,6BAA6B;AAC3B,QAAM,yBAAyB,IAAI;AACnC,QAAM,iBAAiB,SAAS,MAAM;AACpC,QAAI,CAAC,uBAAuB,MAAM;AAAQ,aAAO;AACjD,UAAM,MAAM,KAAK,IAAI,GAAG,uBAAuB;AAC/C,WAAO,MAAM,GAAG,UAAU;AAAA;AAG5B,8BAA4B,OAAe;AACzC,UAAM,QAAQ,uBAAuB,MAAM,QAAQ;AACnD,QAAI,UAAU,IAAI;AAChB,gBAAU,QAAQ,oBAAoB;AAAA;AAExC,WAAO;AAAA;AAGT,8BAA4B,KAAa,QAAgB;AACvD,QAAI,OAAO,QAAQ;AACjB,YAAM,QAAQ,mBAAmB;AACjC,6BAAuB,MAAM,OAAO,OAAO,GAAG;AAAA,eACrC,KAAK;AACd,6BAAuB,MAAM,KAAK;AAAA;AAAA;AAItC,gCAA8B,KAAa;AACzC,UAAM,QAAQ,mBAAmB;AACjC,YAAQ,MAAM,uBAAuB,MAAM,OAAO,OAAO;AAAA;AAG3D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAQJ,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,IACf,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,IACN,UAAU;AAAA,IACV,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA;AAAA,EAEjB,OAAO,CAAC;AAAA,EACR,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,SAAwB;AAE9B,UACE,MAAM,MAAM,OACZ,MAAM;AACJ,aAAO,QAAQ,CAAC,UAAU;AACxB,cAAM;AAAA;AAGR,UAAI,MAAM,sBAAsB;AAC9B,iBAAS;AAAO;AAAA;AAKtB,UAAM,WAAW;AACjB,UAAM,SAAS;AACf,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,eAAe,WAAW;AAClC,aAAO;AAAA,QACL;AAAA,QACA,GAAG,WAAW,SAAS;AAAA,QACvB,gBAAgB,GAAG,iBAAiB,kBAAkB;AAAA,QACtD,SAAS,GAAG,mBAAmB;AAAA;AAAA;AAInC,UAAM,WAAW,CAAC,UAAuB;AACvC,UAAI,OAAO;AACT,eAAO,KAAK;AAAA;AAAA;AAIhB,UAAM,cAAc,CAAC,UAAuB;AAC1C,UAAI,MAAM,MAAM;AACd,eAAO,OAAO,OAAO,QAAQ,QAAQ;AAAA;AAAA;AAIzC,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,MAAM,OAAO;AAChB,kBAAU,QAAQ;AAClB;AAAA;AAEF,aAAO,QAAQ,CAAC,UAAU;AACxB,cAAM;AAAA;AAAA;AAIV,UAAM,gBAAgB,CAAC,SAA2B,OAAO;AACvD,YAAM,MAAM,OAAM,SACd,OAAO,WAAU,WACf,OAAO,OAAO,CAAC,UAAU,WAAU,MAAM,QACzC,OAAO,OAAO,CAAC,UAAU,OAAM,QAAQ,MAAM,QAAQ,MACvD;AACJ,UAAI,QAAQ,CAAC,UAAU;AACrB,cAAM;AAAA;AAAA;AAIV,UAAM,WAAW,CAAC,aAAwB;AACxC,UAAI,CAAC,MAAM,OAAO;AAChB,kBAAU,QAAQ;AAClB;AAAA;AAGF,UAAI;AAEJ,UAAI,OAAO,aAAa,YAAY;AAClC,kBAAU,IAAI,QAAQ,CAAC,SAAS,WAAW;AACzC,qBAAW,SAAU,QAAO,gBAAe;AACzC,gBAAI,QAAO;AACT,sBAAQ;AAAA,mBACH;AACL,qBAAO;AAAA;AAAA;AAAA;AAAA;AAMf,UAAI,OAAO,WAAW,GAAG;AACvB,iBAAS;AAAA;AAEX,UAAI,QAAQ;AACZ,UAAI,QAAQ;AACZ,UAAI,gBAAgB;AACpB,UAAI;AACJ,iBAAW,SAAS,QAAQ;AAC1B,cAAM,SAAS,IAAI,CAAC,SAAS,WAAU;AACrC,cAAI,SAAS;AACX,oBAAQ;AACR,wDAA4C;AAAA;AAE9C,0BAAgB,KAAK,kBAAkB;AACvC,cAAI,EAAE,UAAU,OAAO,QAAQ;AAC7B,qBAAS,OAAO;AAAA;AAAA;AAAA;AAItB,UAAI,CAAC,SAAS,MAAM,eAAe;AACjC,sBAAc,OAAO,KAAK,oBAAoB;AAAA;AAEhD,aAAO;AAAA;AAGT,UAAM,gBAAgB,CACpB,QACA,OACG;AACH,eAAQ,GAAG,OAAO;AAClB,YAAM,MAAM,OAAO,OAAO,CAAC,UAAU,OAAM,QAAQ,MAAM,UAAU;AACnE,UAAI,CAAC,OAAO,QAAQ;AAClB,kBAAU,QAAQ;AAClB;AAAA;AAGF,UAAI,QAAQ,CAAC,UAAU;AACrB,cAAM,SAAS,IAAI;AAAA;AAAA;AAIvB,UAAM,gBAAgB,CAAC,SAAiB;AACtC,aAAO,QAAQ,CAAC,SAAS;AACvB,YAAI;AACF;AAAS;AAAA;AAAA;AAKf;AAAwB,gBACZ;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACG;AAGL;AAEA,WAAO;AAAA;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;2CA1PG;AAAA;AAFO;;AACC;;;;;;;"}
1
+ {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isString,\n isBoolean,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProps } from './form-item'\nimport type { FormRules } from './types'\nimport type Form from './form.vue'\n\nexport const formProps = buildProps({\n model: Object,\n rules: {\n type: definePropType<FormRules>(Object),\n },\n labelPosition: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n labelSuffix: {\n type: String,\n default: '',\n },\n inline: Boolean,\n inlineMessage: Boolean,\n statusIcon: Boolean,\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n disabled: Boolean,\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n scrollToError: Boolean,\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProps['prop'], isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n\nexport type FormInstance = InstanceType<typeof Form>\n"],"names":[],"mappings":";;;;;;;AAQY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;AACpH;;;;"}
@@ -1,88 +1,98 @@
1
- import type { ValidateFieldsError } from 'async-validator';
2
- import type { PropType } from 'vue';
3
- import type { ValidateFieldCallback } from 'element-plus/es/tokens';
4
- export interface Callback {
5
- (isValid?: boolean, invalidFields?: ValidateFieldsError): void;
6
- }
1
+ import type { FormItemContext } from 'element-plus/es/tokens';
2
+ import type { FormValidateCallback } from './types';
7
3
  declare const _default: import("vue").DefineComponent<{
8
- model: ObjectConstructor;
9
- rules: PropType<Partial<Record<string, import("./form.type").FormItemRule | import("./form.type").FormItemRule[]>>>;
10
- labelPosition: StringConstructor;
11
- labelWidth: {
12
- type: (StringConstructor | NumberConstructor)[];
13
- default: string;
14
- };
15
- labelSuffix: {
16
- type: StringConstructor;
17
- default: string;
18
- };
19
- inline: BooleanConstructor;
20
- inlineMessage: BooleanConstructor;
21
- statusIcon: BooleanConstructor;
22
- showMessage: {
23
- type: BooleanConstructor;
24
- default: boolean;
25
- };
26
- size: PropType<"default" | "small" | "large">;
27
- disabled: BooleanConstructor;
28
- validateOnRuleChange: {
29
- type: BooleanConstructor;
30
- default: boolean;
31
- };
32
- hideRequiredAsterisk: {
33
- type: BooleanConstructor;
34
- default: boolean;
35
- };
36
- scrollToError: BooleanConstructor;
4
+ readonly model: ObjectConstructor;
5
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("./types").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
6
+ readonly labelPosition: StringConstructor;
7
+ readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
8
+ readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
9
+ readonly inline: BooleanConstructor;
10
+ readonly inlineMessage: BooleanConstructor;
11
+ readonly statusIcon: BooleanConstructor;
12
+ readonly showMessage: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
13
+ readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
14
+ readonly disabled: BooleanConstructor;
15
+ readonly validateOnRuleChange: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
16
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
17
+ readonly scrollToError: BooleanConstructor;
37
18
  }, {
38
- formKls: import("vue").ComputedRef<string[]>;
39
- validate: (callback?: Callback | undefined) => Promise<boolean> | undefined;
40
- resetFields: () => void;
41
- clearValidate: (props?: string | string[]) => void;
42
- validateField: (props: string | string[], cb: ValidateFieldCallback) => void;
43
- scrollToField: (prop: string) => void;
44
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "validate"[], "validate", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
45
- model: ObjectConstructor;
46
- rules: PropType<Partial<Record<string, import("./form.type").FormItemRule | import("./form.type").FormItemRule[]>>>;
47
- labelPosition: StringConstructor;
48
- labelWidth: {
49
- type: (StringConstructor | NumberConstructor)[];
50
- default: string;
51
- };
52
- labelSuffix: {
53
- type: StringConstructor;
54
- default: string;
19
+ COMPONENT_NAME: string;
20
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
21
+ readonly model: ObjectConstructor;
22
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("./types").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
23
+ readonly labelPosition: StringConstructor;
24
+ readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
25
+ readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
26
+ readonly inline: BooleanConstructor;
27
+ readonly inlineMessage: BooleanConstructor;
28
+ readonly statusIcon: BooleanConstructor;
29
+ readonly showMessage: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
30
+ readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
31
+ readonly disabled: BooleanConstructor;
32
+ readonly validateOnRuleChange: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
33
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
34
+ readonly scrollToError: BooleanConstructor;
35
+ }>> & {
36
+ onValidate?: ((prop: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<string>>, unknown, unknown> | undefined, isValid: boolean, message: string) => any) | undefined;
37
+ }>>;
38
+ emit: (event: "validate", prop: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<string>>, unknown, unknown> | undefined, isValid: boolean, message: string) => void;
39
+ fields: FormItemContext[];
40
+ formSize: import("vue").ComputedRef<"default" | "small" | "large">;
41
+ ns: {
42
+ namespace: import("vue").ComputedRef<string>;
43
+ b: (blockSuffix?: string) => string;
44
+ e: (element?: string | undefined) => string;
45
+ m: (modifier?: string | undefined) => string;
46
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
47
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
48
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
49
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
50
+ is: {
51
+ (name: string, state: boolean | undefined): string;
52
+ (name: string): string;
53
+ };
55
54
  };
56
- inline: BooleanConstructor;
57
- inlineMessage: BooleanConstructor;
58
- statusIcon: BooleanConstructor;
59
- showMessage: {
60
- type: BooleanConstructor;
61
- default: boolean;
62
- };
63
- size: PropType<"default" | "small" | "large">;
64
- disabled: BooleanConstructor;
65
- validateOnRuleChange: {
66
- type: BooleanConstructor;
67
- default: boolean;
68
- };
69
- hideRequiredAsterisk: {
70
- type: BooleanConstructor;
71
- default: boolean;
72
- };
73
- scrollToError: BooleanConstructor;
55
+ formClasses: import("vue").ComputedRef<(string | {
56
+ [x: string]: string | boolean | undefined;
57
+ })[]>;
58
+ addField: (field: FormItemContext) => void;
59
+ removeField: (field: FormItemContext) => void;
60
+ resetFields: (props?: import("element-plus/es/utils").Arrayable<string> | undefined) => void;
61
+ clearValidate: (props?: import("element-plus/es/utils").Arrayable<string> | undefined) => void;
62
+ validate: (callback?: FormValidateCallback | undefined) => Promise<void>;
63
+ validateField: (props?: import("element-plus/es/utils").Arrayable<string> | undefined, callback?: FormValidateCallback | undefined) => Promise<void>;
64
+ scrollToField: (prop: string) => void;
65
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
66
+ validate: (prop: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<string>>, unknown, unknown> | undefined, isValid: boolean, message: string) => boolean;
67
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
68
+ readonly model: ObjectConstructor;
69
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("./types").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
70
+ readonly labelPosition: StringConstructor;
71
+ readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
72
+ readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
73
+ readonly inline: BooleanConstructor;
74
+ readonly inlineMessage: BooleanConstructor;
75
+ readonly statusIcon: BooleanConstructor;
76
+ readonly showMessage: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
77
+ readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
78
+ readonly disabled: BooleanConstructor;
79
+ readonly validateOnRuleChange: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
80
+ readonly hideRequiredAsterisk: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
81
+ readonly scrollToError: BooleanConstructor;
74
82
  }>> & {
75
- onValidate?: ((...args: any[]) => any) | undefined;
83
+ onValidate?: ((prop: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<string>>, unknown, unknown> | undefined, isValid: boolean, message: string) => any) | undefined;
76
84
  }, {
85
+ size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", unknown>;
77
86
  disabled: boolean;
78
- inline: boolean;
79
- labelWidth: string | number;
87
+ rules: Partial<Record<string, import("element-plus/es/utils").Arrayable<import("./types").FormItemRule>>>;
88
+ labelWidth: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
80
89
  labelSuffix: string;
90
+ showMessage: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
91
+ validateOnRuleChange: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
92
+ hideRequiredAsterisk: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
93
+ inline: boolean;
81
94
  inlineMessage: boolean;
82
95
  statusIcon: boolean;
83
- showMessage: boolean;
84
- validateOnRuleChange: boolean;
85
- hideRequiredAsterisk: boolean;
86
96
  scrollToError: boolean;
87
97
  }>;
88
98
  export default _default;
@@ -0,0 +1,130 @@
1
+ import { defineComponent, computed, watch, provide, reactive, toRefs, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
2
+ import '../../../utils/index.mjs';
3
+ import '../../../tokens/index.mjs';
4
+ import '../../../hooks/index.mjs';
5
+ import { formProps, formEmits } from './form.mjs';
6
+ import { filterFields, useFormLabelWidth } from './utils.mjs';
7
+ import { useSize } from '../../../hooks/use-common-props/index.mjs';
8
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { debugWarn } from '../../../utils/error.mjs';
10
+ import { formContextKey } from '../../../tokens/form.mjs';
11
+
12
+ const __default__ = {
13
+ name: "ElForm"
14
+ };
15
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16
+ ...__default__,
17
+ props: formProps,
18
+ emits: formEmits,
19
+ setup(__props, { expose, emit }) {
20
+ const props = __props;
21
+ const COMPONENT_NAME = "ElForm";
22
+ const fields = [];
23
+ const formSize = useSize();
24
+ const ns = useNamespace("form");
25
+ const formClasses = computed(() => {
26
+ const { labelPosition, inline } = props;
27
+ return [
28
+ ns.b(),
29
+ ns.m(formSize.value),
30
+ {
31
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
32
+ [ns.m("inline")]: inline
33
+ }
34
+ ];
35
+ });
36
+ const addField = (field) => {
37
+ fields.push(field);
38
+ };
39
+ const removeField = (field) => {
40
+ if (!field.prop) {
41
+ fields.splice(fields.indexOf(field), 1);
42
+ }
43
+ };
44
+ const resetFields = (properties = []) => {
45
+ if (!props.model) {
46
+ debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
47
+ return;
48
+ }
49
+ filterFields(fields, properties).forEach((field) => field.resetField());
50
+ };
51
+ const clearValidate = (props2 = []) => {
52
+ filterFields(fields, props2).forEach((field) => field.clearValidate());
53
+ };
54
+ const validate = async (callback) => validateField(void 0, callback);
55
+ const validateField = async (properties = [], callback) => {
56
+ if (callback) {
57
+ validate().then(() => callback(true)).catch((fields2) => callback(false, fields2));
58
+ return;
59
+ }
60
+ const { model, scrollToError } = props;
61
+ if (!model) {
62
+ debugWarn(COMPONENT_NAME, "model is required for form validation!");
63
+ return;
64
+ }
65
+ if (fields.length === 0) {
66
+ return;
67
+ }
68
+ const filteredFields = filterFields(fields, properties);
69
+ if (!filteredFields.length) {
70
+ debugWarn(COMPONENT_NAME, "please pass correct props!");
71
+ return;
72
+ }
73
+ let valid = true;
74
+ let invalidFields = {};
75
+ let firstInvalidFields;
76
+ for (const field of filteredFields) {
77
+ const fieldsError = await field.validate("").catch((fields2) => fields2);
78
+ if (fieldsError) {
79
+ valid = false;
80
+ if (!firstInvalidFields)
81
+ firstInvalidFields = fieldsError;
82
+ }
83
+ invalidFields = { ...invalidFields, ...fieldsError };
84
+ }
85
+ if (!valid) {
86
+ if (scrollToError)
87
+ scrollToField(Object.keys(firstInvalidFields)[0]);
88
+ return Promise.reject(invalidFields);
89
+ }
90
+ };
91
+ const scrollToField = (prop) => {
92
+ var _a;
93
+ const field = filterFields(fields, prop)[0];
94
+ if (field) {
95
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView();
96
+ }
97
+ };
98
+ watch(() => props.rules, () => {
99
+ if (props.validateOnRuleChange)
100
+ validate();
101
+ }, { deep: true });
102
+ provide(formContextKey, reactive({
103
+ ...toRefs(props),
104
+ emit,
105
+ resetFields,
106
+ clearValidate,
107
+ validateField,
108
+ addField,
109
+ removeField,
110
+ ...useFormLabelWidth()
111
+ }));
112
+ expose({
113
+ validate,
114
+ validateField,
115
+ resetFields,
116
+ clearValidate,
117
+ scrollToField
118
+ });
119
+ return (_ctx, _cache) => {
120
+ return openBlock(), createElementBlock("form", {
121
+ class: normalizeClass(unref(formClasses))
122
+ }, [
123
+ renderSlot(_ctx.$slots, "default")
124
+ ], 2);
125
+ };
126
+ }
127
+ });
128
+
129
+ export { _sfc_main as default };
130
+ //# sourceMappingURL=form2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { formContextKey } from '@element-plus/tokens'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { formProps, formEmits } from './form'\nimport { useFormLabelWidth, filterFields } from './utils'\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { FormItemContext, FormContext } from '@element-plus/tokens'\nimport type { FormValidateCallback } from './types'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: 'ElForm',\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n ns.m(formSize.value),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (!field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst validate = async (callback?: FormValidateCallback): Promise<void> =>\n validateField(undefined, callback)\n\nconst validateField: FormContext['validateField'] = async (\n properties = [],\n callback\n) => {\n if (callback) {\n validate()\n .then(() => callback(true))\n .catch((fields: ValidateFieldsError) => callback(false, fields))\n return\n }\n\n const { model, scrollToError } = props\n\n if (!model) {\n debugWarn(COMPONENT_NAME, 'model is required for form validation!')\n return\n }\n if (fields.length === 0) {\n return\n }\n\n const filteredFields = filterFields(fields, properties)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return\n }\n\n let valid = true\n let invalidFields: ValidateFieldsError = {}\n let firstInvalidFields: ValidateFieldsError | undefined\n\n for (const field of filteredFields) {\n const fieldsError = await field\n .validate('')\n .catch((fields: ValidateFieldsError) => fields)\n\n if (fieldsError) {\n valid = false\n if (!firstInvalidFields) firstInvalidFields = fieldsError\n }\n\n invalidFields = { ...invalidFields, ...fieldsError }\n }\n\n if (!valid) {\n if (scrollToError) scrollToField(Object.keys(firstInvalidFields!)[0])\n return Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: string) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView()\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) validate()\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /** @description validate form */\n validate,\n /** @description validate form field */\n validateField,\n /** @description reset fields */\n resetFields,\n /** @description clear validation status */\n clearValidate,\n /** @description scroll to field */\n scrollToField,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAiBA;AAOA;AAEA;AACA;AACA;;;;;;;;;;;AAYA;;;AAIA;;;;;AAMA;;;;;;;AAQA;;;AAIA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA;;;;;;AAOA;;;;AAQA;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ import type { RuleItem, ValidateFieldsError } from 'async-validator';
2
+ import type { Arrayable } from 'element-plus/es/utils';
3
+ import type { useFormLabelWidth } from './utils';
4
+ export interface FormItemRule extends RuleItem {
5
+ trigger?: Arrayable<string>;
6
+ }
7
+ export declare type FormRules = Partial<Record<string, Arrayable<FormItemRule>>>;
8
+ export declare type FormValidateCallback = (isValid: boolean, invalidFields?: ValidateFieldsError) => void;
9
+ export declare type FormLabelWidthContext = ReturnType<typeof useFormLabelWidth>;
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { Arrayable } from 'element-plus/es/utils';
2
+ import type { FormItemContext } from 'element-plus/es/tokens';
3
+ import type { FormItemProps } from './form-item';
4
+ export declare function useFormLabelWidth(): {
5
+ autoLabelWidth: import("vue").ComputedRef<string>;
6
+ registerLabelWidth: (val: number, oldVal: number) => void;
7
+ deregisterLabelWidth: (val: number) => void;
8
+ };
9
+ export declare const filterFields: (fields: FormItemContext[], props: Arrayable<FormItemProps['prop']>) => FormItemContext[];
@@ -0,0 +1,48 @@
1
+ import { ref, computed } from 'vue';
2
+ import '../../../utils/index.mjs';
3
+ import { debugWarn } from '../../../utils/error.mjs';
4
+ import { castArray } from 'lodash-unified';
5
+
6
+ const SCOPE = "ElForm";
7
+ function useFormLabelWidth() {
8
+ const potentialLabelWidthArr = ref([]);
9
+ const autoLabelWidth = computed(() => {
10
+ if (!potentialLabelWidthArr.value.length)
11
+ return "0";
12
+ const max = Math.max(...potentialLabelWidthArr.value);
13
+ return max ? `${max}px` : "";
14
+ });
15
+ function getLabelWidthIndex(width) {
16
+ const index = potentialLabelWidthArr.value.indexOf(width);
17
+ if (index === -1) {
18
+ debugWarn(SCOPE, `unexpected width ${width}`);
19
+ }
20
+ return index;
21
+ }
22
+ function registerLabelWidth(val, oldVal) {
23
+ if (val && oldVal) {
24
+ const index = getLabelWidthIndex(oldVal);
25
+ potentialLabelWidthArr.value.splice(index, 1, val);
26
+ } else if (val) {
27
+ potentialLabelWidthArr.value.push(val);
28
+ }
29
+ }
30
+ function deregisterLabelWidth(val) {
31
+ const index = getLabelWidthIndex(val);
32
+ if (index > -1) {
33
+ potentialLabelWidthArr.value.splice(index, 1);
34
+ }
35
+ }
36
+ return {
37
+ autoLabelWidth,
38
+ registerLabelWidth,
39
+ deregisterLabelWidth
40
+ };
41
+ }
42
+ const filterFields = (fields, props) => {
43
+ const normalized = castArray(props);
44
+ return normalized.length > 0 ? fields.filter((field) => field.prop && normalized.includes(field.prop)) : fields;
45
+ };
46
+
47
+ export { filterFields, useFormLabelWidth };
48
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/form/src/utils.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { debugWarn, ensureArray } from '@element-plus/utils'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemContext } from '@element-plus/tokens'\nimport type { FormItemProps } from './form-item'\n\nconst SCOPE = 'ElForm'\n\nexport function useFormLabelWidth() {\n const potentialLabelWidthArr = ref<number[]>([])\n\n const autoLabelWidth = computed(() => {\n if (!potentialLabelWidthArr.value.length) return '0'\n const max = Math.max(...potentialLabelWidthArr.value)\n return max ? `${max}px` : ''\n })\n\n function getLabelWidthIndex(width: number) {\n const index = potentialLabelWidthArr.value.indexOf(width)\n if (index === -1) {\n debugWarn(SCOPE, `unexpected width ${width}`)\n }\n return index\n }\n\n function registerLabelWidth(val: number, oldVal: number) {\n if (val && oldVal) {\n const index = getLabelWidthIndex(oldVal)\n potentialLabelWidthArr.value.splice(index, 1, val)\n } else if (val) {\n potentialLabelWidthArr.value.push(val)\n }\n }\n\n function deregisterLabelWidth(val: number) {\n const index = getLabelWidthIndex(val)\n if (index > -1) {\n potentialLabelWidthArr.value.splice(index, 1)\n }\n }\n\n return {\n autoLabelWidth,\n registerLabelWidth,\n deregisterLabelWidth,\n }\n}\n\nexport const filterFields = (\n fields: FormItemContext[],\n props: Arrayable<FormItemProps['prop']>\n) => {\n const normalized = ensureArray(props)\n return normalized.length > 0\n ? fields.filter((field) => field.prop && normalized.includes(field.prop))\n : fields\n}\n"],"names":["ensureArray"],"mappings":";;;;;AAEA,MAAM,KAAK,GAAG,QAAQ,CAAC;AAChB,SAAS,iBAAiB,GAAG;AACpC,EAAE,MAAM,sBAAsB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACzC,EAAE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM;AACxC,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM;AAC5C,MAAM,OAAO,GAAG,CAAC;AACjB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC1D,IAAI,OAAO,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACrC,IAAI,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACtB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,SAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE;AAC3C,IAAI,IAAI,GAAG,IAAI,MAAM,EAAE;AACvB,MAAM,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC/C,MAAM,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACzD,KAAK,MAAM,IAAI,GAAG,EAAE;AACpB,MAAM,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,KAAK;AACL,GAAG;AACH,EAAE,SAAS,oBAAoB,CAAC,GAAG,EAAE;AACrC,IAAI,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACpB,MAAM,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH,EAAE,OAAO;AACT,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,oBAAoB;AACxB,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK;AAC/C,EAAE,MAAM,UAAU,GAAGA,SAAW,CAAC,KAAK,CAAC,CAAC;AACxC,EAAE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;AAClH;;;;"}
@@ -95,6 +95,8 @@ export { drawerEmits, drawerProps } from './drawer/src/drawer.mjs';
95
95
  export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './dropdown/src/dropdown.mjs';
96
96
  export { DROPDOWN_INJECTION_KEY } from './dropdown/src/tokens.mjs';
97
97
  export { emptyProps } from './empty/src/empty.mjs';
98
+ export { formEmits, formProps } from './form/src/form.mjs';
99
+ export { formItemProps, formItemValidateStates } from './form/src/form-item.mjs';
98
100
  export { iconProps } from './icon/src/icon.mjs';
99
101
  export { imageEmits, imageProps } from './image/src/image.mjs';
100
102
  export { imageViewerEmits, imageViewerProps } from './image-viewer/src/image-viewer.mjs';
@@ -146,6 +148,10 @@ export { timelineItemProps } from './timeline/src/timeline-item.mjs';
146
148
  export { useTooltipContentProps, useTooltipProps, useTooltipTriggerProps } from './tooltip/src/tooltip.mjs';
147
149
  export { TOOLTIP_INJECTION_KEY } from './tooltip/src/tokens.mjs';
148
150
  export { CHANGE_EVENT } from '../constants/event.mjs';
151
+ export { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './upload/src/upload.mjs';
152
+ export { uploadContentProps } from './upload/src/upload-content.mjs';
153
+ export { uploadListEmits, uploadListProps } from './upload/src/upload-list.mjs';
154
+ export { uploadDraggerEmits, uploadDraggerProps } from './upload/src/upload-dragger.mjs';
149
155
  export { default as FixedSizeList } from './virtual-list/src/components/fixed-size-list.mjs';
150
156
  export { default as DynamicSizeList } from './virtual-list/src/components/dynamic-size-list.mjs';
151
157
  export { default as FixedSizeGrid } from './virtual-list/src/components/fixed-size-grid.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -138,8 +138,8 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
138
138
  type: string;
139
139
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
140
140
  disabled: boolean;
141
- modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
142
141
  label: string;
142
+ modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
143
143
  resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
144
144
  autosize: boolean | {
145
145
  minRows?: number | undefined;
@@ -139,8 +139,8 @@ declare const _default: import("vue").DefineComponent<{
139
139
  type: string;
140
140
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", never>;
141
141
  disabled: boolean;
142
- modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
143
142
  label: string;
143
+ modelValue: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number | null | undefined>, unknown, unknown>;
144
144
  resize: import("element-plus/es/utils").BuildPropType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>;
145
145
  autosize: boolean | {
146
146
  minRows?: number | undefined;
@@ -15,6 +15,7 @@ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
15
15
  import { ValidateComponentsMap } from '../../../utils/vue/icon.mjs';
16
16
  import { isObject } from '@vue/shared';
17
17
  import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
18
+ import { debugWarn } from '../../../utils/error.mjs';
18
19
  import { isKorean } from '../../../utils/i18n.mjs';
19
20
 
20
21
  const PENDANT_MAP = {
@@ -134,7 +135,7 @@ const _sfc_main = defineComponent({
134
135
  focused.value = false;
135
136
  emit("blur", event);
136
137
  if (props.validateEvent) {
137
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur");
138
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
138
139
  }
139
140
  };
140
141
  const select = () => {
@@ -174,7 +175,7 @@ const _sfc_main = defineComponent({
174
175
  var _a;
175
176
  nextTick(resizeTextarea);
176
177
  if (props.validateEvent) {
177
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change");
178
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
178
179
  }
179
180
  });
180
181
  watch(nativeInputValue, () => setNativeInputValue());