element-plus 2.3.1 → 2.3.2

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 (330) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +52 -13
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +52 -13
  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.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/ckb.js +1 -1
  34. package/dist/locale/ckb.min.js +1 -1
  35. package/dist/locale/ckb.min.mjs +1 -1
  36. package/dist/locale/ckb.mjs +1 -1
  37. package/dist/locale/cs.js +1 -1
  38. package/dist/locale/cs.min.js +1 -1
  39. package/dist/locale/cs.min.mjs +1 -1
  40. package/dist/locale/cs.mjs +1 -1
  41. package/dist/locale/da.js +1 -1
  42. package/dist/locale/da.min.js +1 -1
  43. package/dist/locale/da.min.mjs +1 -1
  44. package/dist/locale/da.mjs +1 -1
  45. package/dist/locale/de.js +1 -1
  46. package/dist/locale/de.min.js +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +1 -1
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.mjs +1 -1
  52. package/dist/locale/el.mjs +1 -1
  53. package/dist/locale/en.js +1 -1
  54. package/dist/locale/en.min.js +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +1 -1
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.mjs +1 -1
  60. package/dist/locale/eo.mjs +1 -1
  61. package/dist/locale/es.js +1 -1
  62. package/dist/locale/es.min.js +1 -1
  63. package/dist/locale/es.min.mjs +1 -1
  64. package/dist/locale/es.mjs +1 -1
  65. package/dist/locale/et.js +1 -1
  66. package/dist/locale/et.min.js +1 -1
  67. package/dist/locale/et.min.mjs +1 -1
  68. package/dist/locale/et.mjs +1 -1
  69. package/dist/locale/eu.js +1 -1
  70. package/dist/locale/eu.min.js +1 -1
  71. package/dist/locale/eu.min.mjs +1 -1
  72. package/dist/locale/eu.mjs +1 -1
  73. package/dist/locale/fa.js +1 -1
  74. package/dist/locale/fa.min.js +1 -1
  75. package/dist/locale/fa.min.mjs +1 -1
  76. package/dist/locale/fa.mjs +1 -1
  77. package/dist/locale/fi.js +1 -1
  78. package/dist/locale/fi.min.js +1 -1
  79. package/dist/locale/fi.min.mjs +1 -1
  80. package/dist/locale/fi.mjs +1 -1
  81. package/dist/locale/fr.js +1 -1
  82. package/dist/locale/fr.min.js +1 -1
  83. package/dist/locale/fr.min.mjs +1 -1
  84. package/dist/locale/fr.mjs +1 -1
  85. package/dist/locale/he.js +1 -1
  86. package/dist/locale/he.min.js +1 -1
  87. package/dist/locale/he.min.mjs +1 -1
  88. package/dist/locale/he.mjs +1 -1
  89. package/dist/locale/hr.js +1 -1
  90. package/dist/locale/hr.min.js +1 -1
  91. package/dist/locale/hr.min.mjs +1 -1
  92. package/dist/locale/hr.mjs +1 -1
  93. package/dist/locale/hu.js +1 -1
  94. package/dist/locale/hu.min.js +1 -1
  95. package/dist/locale/hu.min.mjs +1 -1
  96. package/dist/locale/hu.mjs +1 -1
  97. package/dist/locale/hy-am.js +1 -1
  98. package/dist/locale/hy-am.min.js +1 -1
  99. package/dist/locale/hy-am.min.mjs +1 -1
  100. package/dist/locale/hy-am.mjs +1 -1
  101. package/dist/locale/id.js +1 -1
  102. package/dist/locale/id.min.js +1 -1
  103. package/dist/locale/id.min.mjs +1 -1
  104. package/dist/locale/id.mjs +1 -1
  105. package/dist/locale/it.js +1 -1
  106. package/dist/locale/it.min.js +1 -1
  107. package/dist/locale/it.min.mjs +1 -1
  108. package/dist/locale/it.mjs +1 -1
  109. package/dist/locale/ja.js +1 -1
  110. package/dist/locale/ja.min.js +1 -1
  111. package/dist/locale/ja.min.mjs +1 -1
  112. package/dist/locale/ja.mjs +1 -1
  113. package/dist/locale/kk.js +1 -1
  114. package/dist/locale/kk.min.js +1 -1
  115. package/dist/locale/kk.min.mjs +1 -1
  116. package/dist/locale/kk.mjs +1 -1
  117. package/dist/locale/km.js +1 -1
  118. package/dist/locale/km.min.js +1 -1
  119. package/dist/locale/km.min.mjs +1 -1
  120. package/dist/locale/km.mjs +1 -1
  121. package/dist/locale/ko.js +1 -1
  122. package/dist/locale/ko.min.js +1 -1
  123. package/dist/locale/ko.min.mjs +1 -1
  124. package/dist/locale/ko.mjs +1 -1
  125. package/dist/locale/ku.js +1 -1
  126. package/dist/locale/ku.min.js +1 -1
  127. package/dist/locale/ku.min.mjs +1 -1
  128. package/dist/locale/ku.mjs +1 -1
  129. package/dist/locale/ky.js +1 -1
  130. package/dist/locale/ky.min.js +1 -1
  131. package/dist/locale/ky.min.mjs +1 -1
  132. package/dist/locale/ky.mjs +1 -1
  133. package/dist/locale/lt.js +1 -1
  134. package/dist/locale/lt.min.js +1 -1
  135. package/dist/locale/lt.min.mjs +1 -1
  136. package/dist/locale/lt.mjs +1 -1
  137. package/dist/locale/lv.js +1 -1
  138. package/dist/locale/lv.min.js +1 -1
  139. package/dist/locale/lv.min.mjs +1 -1
  140. package/dist/locale/lv.mjs +1 -1
  141. package/dist/locale/mg.js +1 -1
  142. package/dist/locale/mg.min.js +1 -1
  143. package/dist/locale/mg.min.mjs +1 -1
  144. package/dist/locale/mg.mjs +1 -1
  145. package/dist/locale/mn.js +1 -1
  146. package/dist/locale/mn.min.js +1 -1
  147. package/dist/locale/mn.min.mjs +1 -1
  148. package/dist/locale/mn.mjs +1 -1
  149. package/dist/locale/nb-no.js +1 -1
  150. package/dist/locale/nb-no.min.js +1 -1
  151. package/dist/locale/nb-no.min.mjs +1 -1
  152. package/dist/locale/nb-no.mjs +1 -1
  153. package/dist/locale/nl.js +1 -1
  154. package/dist/locale/nl.min.js +1 -1
  155. package/dist/locale/nl.min.mjs +1 -1
  156. package/dist/locale/nl.mjs +1 -1
  157. package/dist/locale/pa.js +1 -1
  158. package/dist/locale/pa.min.js +1 -1
  159. package/dist/locale/pa.min.mjs +1 -1
  160. package/dist/locale/pa.mjs +1 -1
  161. package/dist/locale/pl.js +1 -1
  162. package/dist/locale/pl.min.js +1 -1
  163. package/dist/locale/pl.min.mjs +1 -1
  164. package/dist/locale/pl.mjs +1 -1
  165. package/dist/locale/pt-br.js +1 -1
  166. package/dist/locale/pt-br.min.js +1 -1
  167. package/dist/locale/pt-br.min.mjs +1 -1
  168. package/dist/locale/pt-br.mjs +1 -1
  169. package/dist/locale/pt.js +1 -1
  170. package/dist/locale/pt.min.js +1 -1
  171. package/dist/locale/pt.min.mjs +1 -1
  172. package/dist/locale/pt.mjs +1 -1
  173. package/dist/locale/ro.js +1 -1
  174. package/dist/locale/ro.min.js +1 -1
  175. package/dist/locale/ro.min.mjs +1 -1
  176. package/dist/locale/ro.mjs +1 -1
  177. package/dist/locale/ru.js +1 -1
  178. package/dist/locale/ru.min.js +1 -1
  179. package/dist/locale/ru.min.mjs +1 -1
  180. package/dist/locale/ru.mjs +1 -1
  181. package/dist/locale/sk.js +1 -1
  182. package/dist/locale/sk.min.js +1 -1
  183. package/dist/locale/sk.min.mjs +1 -1
  184. package/dist/locale/sk.mjs +1 -1
  185. package/dist/locale/sl.js +1 -1
  186. package/dist/locale/sl.min.js +1 -1
  187. package/dist/locale/sl.min.mjs +1 -1
  188. package/dist/locale/sl.mjs +1 -1
  189. package/dist/locale/sr.js +1 -1
  190. package/dist/locale/sr.min.js +1 -1
  191. package/dist/locale/sr.min.mjs +1 -1
  192. package/dist/locale/sr.mjs +1 -1
  193. package/dist/locale/sv.js +1 -1
  194. package/dist/locale/sv.min.js +1 -1
  195. package/dist/locale/sv.min.mjs +1 -1
  196. package/dist/locale/sv.mjs +1 -1
  197. package/dist/locale/ta.js +1 -1
  198. package/dist/locale/ta.min.js +1 -1
  199. package/dist/locale/ta.min.mjs +1 -1
  200. package/dist/locale/ta.mjs +1 -1
  201. package/dist/locale/th.js +1 -1
  202. package/dist/locale/th.min.js +1 -1
  203. package/dist/locale/th.min.mjs +1 -1
  204. package/dist/locale/th.mjs +1 -1
  205. package/dist/locale/tk.js +1 -1
  206. package/dist/locale/tk.min.js +1 -1
  207. package/dist/locale/tk.min.mjs +1 -1
  208. package/dist/locale/tk.mjs +1 -1
  209. package/dist/locale/tr.js +1 -1
  210. package/dist/locale/tr.min.js +1 -1
  211. package/dist/locale/tr.min.mjs +1 -1
  212. package/dist/locale/tr.mjs +1 -1
  213. package/dist/locale/ug-cn.js +1 -1
  214. package/dist/locale/ug-cn.min.js +1 -1
  215. package/dist/locale/ug-cn.min.mjs +1 -1
  216. package/dist/locale/ug-cn.mjs +1 -1
  217. package/dist/locale/uk.js +1 -1
  218. package/dist/locale/uk.min.js +1 -1
  219. package/dist/locale/uk.min.mjs +1 -1
  220. package/dist/locale/uk.mjs +1 -1
  221. package/dist/locale/uz-uz.js +1 -1
  222. package/dist/locale/uz-uz.min.js +1 -1
  223. package/dist/locale/uz-uz.min.mjs +1 -1
  224. package/dist/locale/uz-uz.mjs +1 -1
  225. package/dist/locale/vi.js +1 -1
  226. package/dist/locale/vi.min.js +1 -1
  227. package/dist/locale/vi.min.mjs +1 -1
  228. package/dist/locale/vi.mjs +1 -1
  229. package/dist/locale/zh-cn.js +1 -1
  230. package/dist/locale/zh-cn.min.js +1 -1
  231. package/dist/locale/zh-cn.min.mjs +1 -1
  232. package/dist/locale/zh-cn.mjs +1 -1
  233. package/dist/locale/zh-tw.js +1 -1
  234. package/dist/locale/zh-tw.min.js +1 -1
  235. package/dist/locale/zh-tw.min.mjs +1 -1
  236. package/dist/locale/zh-tw.mjs +1 -1
  237. package/es/components/autocomplete/index.d.ts +6 -0
  238. package/es/components/autocomplete/src/autocomplete.vue.d.ts +6 -0
  239. package/es/components/cascader/index.d.ts +12 -0
  240. package/es/components/cascader/src/cascader.vue.d.ts +6 -0
  241. package/es/components/color-picker/index.d.ts +2 -0
  242. package/es/components/color-picker/src/color-picker.vue.d.ts +2 -0
  243. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -0
  244. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -0
  245. package/es/components/date-picker/src/panel-utils.d.ts +4 -0
  246. package/es/components/form/index.d.ts +18 -0
  247. package/es/components/form/src/form.d.ts +6 -0
  248. package/es/components/form/src/form.mjs +4 -1
  249. package/es/components/form/src/form.mjs.map +1 -1
  250. package/es/components/form/src/form.vue.d.ts +18 -0
  251. package/es/components/form/src/form2.mjs +1 -1
  252. package/es/components/form/src/form2.mjs.map +1 -1
  253. package/es/components/input/index.d.ts +2 -0
  254. package/es/components/input/src/input.vue.d.ts +2 -0
  255. package/es/components/input/src/input2.mjs +22 -1
  256. package/es/components/input/src/input2.mjs.map +1 -1
  257. package/es/components/input-number/index.d.ts +6 -0
  258. package/es/components/input-number/src/input-number.vue.d.ts +6 -0
  259. package/es/components/pagination/src/components/jumper.vue.d.ts +4 -2
  260. package/es/components/pagination/src/components/jumper2.mjs +2 -2
  261. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  262. package/es/components/select/src/select.mjs +9 -2
  263. package/es/components/select/src/select.mjs.map +1 -1
  264. package/es/components/select-v2/src/useSelect.mjs +5 -0
  265. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  266. package/es/components/slider/index.d.ts +6 -0
  267. package/es/components/slider/src/slider.vue.d.ts +6 -0
  268. package/es/components/time-picker/src/common/picker.vue.d.ts +2 -0
  269. package/es/components/transfer/index.d.ts +10 -0
  270. package/es/components/transfer/src/transfer-panel.vue.d.ts +2 -0
  271. package/es/components/transfer/src/transfer.vue.d.ts +10 -0
  272. package/es/components/upload/index.d.ts +3 -3
  273. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  274. package/es/components/upload/src/upload-content2.mjs +9 -4
  275. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  276. package/es/components/upload/src/upload.vue.d.ts +3 -3
  277. package/es/version.d.ts +1 -1
  278. package/es/version.mjs +1 -1
  279. package/es/version.mjs.map +1 -1
  280. package/lib/components/autocomplete/index.d.ts +6 -0
  281. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +6 -0
  282. package/lib/components/cascader/index.d.ts +12 -0
  283. package/lib/components/cascader/src/cascader.vue.d.ts +6 -0
  284. package/lib/components/color-picker/index.d.ts +2 -0
  285. package/lib/components/color-picker/src/color-picker.vue.d.ts +2 -0
  286. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -0
  287. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -0
  288. package/lib/components/date-picker/src/panel-utils.d.ts +4 -0
  289. package/lib/components/form/index.d.ts +18 -0
  290. package/lib/components/form/src/form.d.ts +6 -0
  291. package/lib/components/form/src/form.js +4 -1
  292. package/lib/components/form/src/form.js.map +1 -1
  293. package/lib/components/form/src/form.vue.d.ts +18 -0
  294. package/lib/components/form/src/form2.js +1 -1
  295. package/lib/components/form/src/form2.js.map +1 -1
  296. package/lib/components/input/index.d.ts +2 -0
  297. package/lib/components/input/src/input.vue.d.ts +2 -0
  298. package/lib/components/input/src/input2.js +22 -1
  299. package/lib/components/input/src/input2.js.map +1 -1
  300. package/lib/components/input-number/index.d.ts +6 -0
  301. package/lib/components/input-number/src/input-number.vue.d.ts +6 -0
  302. package/lib/components/pagination/src/components/jumper.vue.d.ts +4 -2
  303. package/lib/components/pagination/src/components/jumper2.js +2 -2
  304. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  305. package/lib/components/select/src/select.js +9 -2
  306. package/lib/components/select/src/select.js.map +1 -1
  307. package/lib/components/select-v2/src/useSelect.js +5 -0
  308. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  309. package/lib/components/slider/index.d.ts +6 -0
  310. package/lib/components/slider/src/slider.vue.d.ts +6 -0
  311. package/lib/components/time-picker/src/common/picker.vue.d.ts +2 -0
  312. package/lib/components/transfer/index.d.ts +10 -0
  313. package/lib/components/transfer/src/transfer-panel.vue.d.ts +2 -0
  314. package/lib/components/transfer/src/transfer.vue.d.ts +10 -0
  315. package/lib/components/upload/index.d.ts +3 -3
  316. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  317. package/lib/components/upload/src/upload-content2.js +9 -4
  318. package/lib/components/upload/src/upload-content2.js.map +1 -1
  319. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  320. package/lib/version.d.ts +1 -1
  321. package/lib/version.js +1 -1
  322. package/lib/version.js.map +1 -1
  323. package/package.json +2 -2
  324. package/tags.json +1 -1
  325. package/theme-chalk/el-select.css +1 -1
  326. package/theme-chalk/el-tabs.css +1 -1
  327. package/theme-chalk/index.css +1 -1
  328. package/theme-chalk/src/select.scss +7 -0
  329. package/theme-chalk/src/tabs.scss +44 -12
  330. package/web-types.json +1 -1
@@ -1044,6 +1044,8 @@ declare const _default: import("vue").DefineComponent<{
1044
1044
  recordCursor: () => void;
1045
1045
  setCursor: () => void;
1046
1046
  resizeTextarea: () => void;
1047
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
1048
+ onceInitSizeTextarea: () => void;
1047
1049
  setNativeInputValue: () => void;
1048
1050
  handleInput: (event: Event) => Promise<void>;
1049
1051
  handleChange: (event: Event) => void;
@@ -2149,6 +2151,8 @@ declare const _default: import("vue").DefineComponent<{
2149
2151
  recordCursor: () => void;
2150
2152
  setCursor: () => void;
2151
2153
  resizeTextarea: () => void;
2154
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
2155
+ onceInitSizeTextarea: () => void;
2152
2156
  setNativeInputValue: () => void;
2153
2157
  handleInput: (event: Event) => Promise<void>;
2154
2158
  handleChange: (event: Event) => void;
@@ -3280,6 +3284,8 @@ declare const _default: import("vue").DefineComponent<{
3280
3284
  recordCursor: () => void;
3281
3285
  setCursor: () => void;
3282
3286
  resizeTextarea: () => void;
3287
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
3288
+ onceInitSizeTextarea: () => void;
3283
3289
  setNativeInputValue: () => void;
3284
3290
  handleInput: (event: Event) => Promise<void>;
3285
3291
  handleChange: (event: Event) => void;
@@ -4385,6 +4391,8 @@ declare const _default: import("vue").DefineComponent<{
4385
4391
  recordCursor: () => void;
4386
4392
  setCursor: () => void;
4387
4393
  resizeTextarea: () => void;
4394
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
4395
+ onceInitSizeTextarea: () => void;
4388
4396
  setNativeInputValue: () => void;
4389
4397
  handleInput: (event: Event) => Promise<void>;
4390
4398
  handleChange: (event: Event) => void;
@@ -5785,6 +5793,8 @@ declare const _default: import("vue").DefineComponent<{
5785
5793
  recordCursor: () => void;
5786
5794
  setCursor: () => void;
5787
5795
  resizeTextarea: () => void;
5796
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
5797
+ onceInitSizeTextarea: () => void;
5788
5798
  setNativeInputValue: () => void;
5789
5799
  handleInput: (event: Event) => Promise<void>;
5790
5800
  handleChange: (event: Event) => void;
@@ -573,7 +573,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
573
573
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
574
574
  uploadFiles: (files: File[]) => void;
575
575
  upload: (rawFile: import("./src/upload").UploadRawFile) => Promise<void>;
576
- doUpload: (rawFile: import("./src/upload").UploadRawFile) => void;
576
+ doUpload: (rawFile: import("./src/upload").UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
577
577
  handleChange: (e: Event) => void;
578
578
  handleClick: () => void;
579
579
  handleKeydown: () => void;
@@ -873,7 +873,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
873
873
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
874
874
  uploadFiles: (files: File[]) => void;
875
875
  upload: (rawFile: import("./src/upload").UploadRawFile) => Promise<void>;
876
- doUpload: (rawFile: import("./src/upload").UploadRawFile) => void;
876
+ doUpload: (rawFile: import("./src/upload").UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
877
877
  handleChange: (e: Event) => void;
878
878
  handleClick: () => void;
879
879
  handleKeydown: () => void;
@@ -1505,7 +1505,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
1505
1505
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
1506
1506
  uploadFiles: (files: File[]) => void;
1507
1507
  upload: (rawFile: import("./src/upload").UploadRawFile) => Promise<void>;
1508
- doUpload: (rawFile: import("./src/upload").UploadRawFile) => void;
1508
+ doUpload: (rawFile: import("./src/upload").UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
1509
1509
  handleChange: (e: Event) => void;
1510
1510
  handleClick: () => void;
1511
1511
  handleKeydown: () => void;
@@ -214,7 +214,7 @@ declare const _default: import("vue").DefineComponent<{
214
214
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
215
215
  uploadFiles: (files: File[]) => void;
216
216
  upload: (rawFile: UploadRawFile) => Promise<void>;
217
- doUpload: (rawFile: UploadRawFile) => void;
217
+ doUpload: (rawFile: UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
218
218
  handleChange: (e: Event) => void;
219
219
  handleClick: () => void;
220
220
  handleKeydown: () => void;
@@ -1,4 +1,6 @@
1
1
  import { defineComponent, shallowRef, openBlock, createElementBlock, normalizeClass, unref, withKeys, withModifiers, createBlock, withCtx, renderSlot, createElementVNode } from 'vue';
2
+ import { isObject } from '@vue/shared';
3
+ import { cloneDeep } from 'lodash-unified';
2
4
  import '../../../hooks/index.mjs';
3
5
  import '../../../utils/index.mjs';
4
6
  import '../../form/index.mjs';
@@ -50,8 +52,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
52
  return doUpload(rawFile);
51
53
  }
52
54
  let hookResult;
55
+ let beforeData = {};
53
56
  try {
54
- hookResult = await props.beforeUpload(rawFile);
57
+ const beforeUploadPromise = props.beforeUpload(rawFile);
58
+ beforeData = isObject(props.data) ? cloneDeep(props.data) : props.data;
59
+ hookResult = await beforeUploadPromise;
55
60
  } catch (e) {
56
61
  hookResult = false;
57
62
  }
@@ -71,9 +76,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
71
76
  }
72
77
  doUpload(Object.assign(file, {
73
78
  uid: rawFile.uid
74
- }));
79
+ }), beforeData);
75
80
  };
76
- const doUpload = (rawFile) => {
81
+ const doUpload = (rawFile, beforeData) => {
77
82
  const {
78
83
  headers,
79
84
  data,
@@ -91,7 +96,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
96
  headers: headers || {},
92
97
  withCredentials,
93
98
  file: rawFile,
94
- data,
99
+ data: beforeData != null ? beforeData : data,
95
100
  method,
96
101
  filename,
97
102
  action,
@@ -1 +1 @@
1
- {"version":3,"file":"upload-content2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), ns.m(listType), ns.is('drag', drag)]\"\n tabindex=\"0\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { entriesOf } from '@element-plus/utils'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport UploadDragger from './upload-dragger.vue'\nimport { uploadContentProps } from './upload-content'\nimport { genFileId } from './upload'\n\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(uploadContentProps)\nconst ns = useNamespace('upload')\nconst disabled = useFormDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile) => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n try {\n hookResult = await props.beforeUpload(rawFile)\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n })\n )\n}\n\nconst doUpload = (rawFile: UploadRawFile) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-content2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), ns.m(listType), ns.is('drag', drag)]\"\n tabindex=\"0\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { isObject } from '@vue/shared'\nimport { cloneDeep } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { entriesOf } from '@element-plus/utils'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport UploadDragger from './upload-dragger.vue'\nimport { uploadContentProps } from './upload-content'\nimport { genFileId } from './upload'\nimport type { UploadContentProps } from './upload-content'\n\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(uploadContentProps)\nconst ns = useNamespace('upload')\nconst disabled = useFormDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile) => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n let beforeData: UploadContentProps['data'] = {}\n\n try {\n const beforeUploadPromise = props.beforeUpload(rawFile)\n beforeData = isObject(props.data) ? cloneDeep(props.data) : props.data\n hookResult = await beforeUploadPromise\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n }),\n beforeData\n )\n}\n\nconst doUpload = (\n rawFile: UploadRawFile,\n beforeData?: UploadContentProps['data']\n) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data: beforeData ?? data,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -574,7 +574,7 @@ declare const _default: import("vue").DefineComponent<{
574
574
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
575
575
  uploadFiles: (files: File[]) => void;
576
576
  upload: (rawFile: import("./upload").UploadRawFile) => Promise<void>;
577
- doUpload: (rawFile: import("./upload").UploadRawFile) => void;
577
+ doUpload: (rawFile: import("./upload").UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
578
578
  handleChange: (e: Event) => void;
579
579
  handleClick: () => void;
580
580
  handleKeydown: () => void;
@@ -874,7 +874,7 @@ declare const _default: import("vue").DefineComponent<{
874
874
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
875
875
  uploadFiles: (files: File[]) => void;
876
876
  upload: (rawFile: import("./upload").UploadRawFile) => Promise<void>;
877
- doUpload: (rawFile: import("./upload").UploadRawFile) => void;
877
+ doUpload: (rawFile: import("./upload").UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
878
878
  handleChange: (e: Event) => void;
879
879
  handleClick: () => void;
880
880
  handleKeydown: () => void;
@@ -1506,7 +1506,7 @@ declare const _default: import("vue").DefineComponent<{
1506
1506
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
1507
1507
  uploadFiles: (files: File[]) => void;
1508
1508
  upload: (rawFile: import("./upload").UploadRawFile) => Promise<void>;
1509
- doUpload: (rawFile: import("./upload").UploadRawFile) => void;
1509
+ doUpload: (rawFile: import("./upload").UploadRawFile, beforeData?: Record<string, any> | undefined) => void;
1510
1510
  handleChange: (e: Event) => void;
1511
1511
  handleClick: () => void;
1512
1512
  handleKeydown: () => void;
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "2.3.1";
1
+ export declare const version = "2.3.2";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "2.3.1";
1
+ const version = "2.3.2";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '2.3.1'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '2.3.2'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -420,6 +420,8 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
420
420
  recordCursor: () => void;
421
421
  setCursor: () => void;
422
422
  resizeTextarea: () => void;
423
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
424
+ onceInitSizeTextarea: () => void;
423
425
  setNativeInputValue: () => void;
424
426
  handleInput: (event: Event) => Promise<void>;
425
427
  handleChange: (event: Event) => void;
@@ -783,6 +785,8 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
783
785
  recordCursor: () => void;
784
786
  setCursor: () => void;
785
787
  resizeTextarea: () => void;
788
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
789
+ onceInitSizeTextarea: () => void;
786
790
  setNativeInputValue: () => void;
787
791
  handleInput: (event: Event) => Promise<void>;
788
792
  handleChange: (event: Event) => void;
@@ -7346,6 +7350,8 @@ export declare const ElAutocomplete: import("element-plus/es/utils").SFCWithInst
7346
7350
  recordCursor: () => void;
7347
7351
  setCursor: () => void;
7348
7352
  resizeTextarea: () => void;
7353
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
7354
+ onceInitSizeTextarea: () => void;
7349
7355
  setNativeInputValue: () => void;
7350
7356
  handleInput: (event: Event) => Promise<void>;
7351
7357
  handleChange: (event: Event) => void;
@@ -423,6 +423,8 @@ declare const _default: import("vue").DefineComponent<{
423
423
  recordCursor: () => void;
424
424
  setCursor: () => void;
425
425
  resizeTextarea: () => void;
426
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
427
+ onceInitSizeTextarea: () => void;
426
428
  setNativeInputValue: () => void;
427
429
  handleInput: (event: Event) => Promise<void>;
428
430
  handleChange: (event: Event) => void;
@@ -786,6 +788,8 @@ declare const _default: import("vue").DefineComponent<{
786
788
  recordCursor: () => void;
787
789
  setCursor: () => void;
788
790
  resizeTextarea: () => void;
791
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
792
+ onceInitSizeTextarea: () => void;
789
793
  setNativeInputValue: () => void;
790
794
  handleInput: (event: Event) => Promise<void>;
791
795
  handleChange: (event: Event) => void;
@@ -7349,6 +7353,8 @@ declare const _default: import("vue").DefineComponent<{
7349
7353
  recordCursor: () => void;
7350
7354
  setCursor: () => void;
7351
7355
  resizeTextarea: () => void;
7356
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
7357
+ onceInitSizeTextarea: () => void;
7352
7358
  setNativeInputValue: () => void;
7353
7359
  handleInput: (event: Event) => Promise<void>;
7354
7360
  handleChange: (event: Event) => void;
@@ -6731,6 +6731,8 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
6731
6731
  recordCursor: () => void;
6732
6732
  setCursor: () => void;
6733
6733
  resizeTextarea: () => void;
6734
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
6735
+ onceInitSizeTextarea: () => void;
6734
6736
  setNativeInputValue: () => void;
6735
6737
  handleInput: (event: Event) => Promise<void>;
6736
6738
  handleChange: (event: Event) => void;
@@ -7094,6 +7096,8 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
7094
7096
  recordCursor: () => void;
7095
7097
  setCursor: () => void;
7096
7098
  resizeTextarea: () => void;
7099
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
7100
+ onceInitSizeTextarea: () => void;
7097
7101
  setNativeInputValue: () => void;
7098
7102
  handleInput: (event: Event) => Promise<void>;
7099
7103
  handleChange: (event: Event) => void;
@@ -9099,6 +9103,8 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
9099
9103
  recordCursor: () => void;
9100
9104
  setCursor: () => void;
9101
9105
  resizeTextarea: () => void;
9106
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
9107
+ onceInitSizeTextarea: () => void;
9102
9108
  setNativeInputValue: () => void;
9103
9109
  handleInput: (event: Event) => Promise<void>;
9104
9110
  handleChange: (event: Event) => void;
@@ -20092,6 +20098,8 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
20092
20098
  recordCursor: () => void;
20093
20099
  setCursor: () => void;
20094
20100
  resizeTextarea: () => void;
20101
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
20102
+ onceInitSizeTextarea: () => void;
20095
20103
  setNativeInputValue: () => void;
20096
20104
  handleInput: (event: Event) => Promise<void>;
20097
20105
  handleChange: (event: Event) => void;
@@ -20455,6 +20463,8 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
20455
20463
  recordCursor: () => void;
20456
20464
  setCursor: () => void;
20457
20465
  resizeTextarea: () => void;
20466
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
20467
+ onceInitSizeTextarea: () => void;
20458
20468
  setNativeInputValue: () => void;
20459
20469
  handleInput: (event: Event) => Promise<void>;
20460
20470
  handleChange: (event: Event) => void;
@@ -22460,6 +22470,8 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
22460
22470
  recordCursor: () => void;
22461
22471
  setCursor: () => void;
22462
22472
  resizeTextarea: () => void;
22473
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
22474
+ onceInitSizeTextarea: () => void;
22463
22475
  setNativeInputValue: () => void;
22464
22476
  handleInput: (event: Event) => Promise<void>;
22465
22477
  handleChange: (event: Event) => void;
@@ -6734,6 +6734,8 @@ declare const _default: import("vue").DefineComponent<{
6734
6734
  recordCursor: () => void;
6735
6735
  setCursor: () => void;
6736
6736
  resizeTextarea: () => void;
6737
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
6738
+ onceInitSizeTextarea: () => void;
6737
6739
  setNativeInputValue: () => void;
6738
6740
  handleInput: (event: Event) => Promise<void>;
6739
6741
  handleChange: (event: Event) => void;
@@ -7097,6 +7099,8 @@ declare const _default: import("vue").DefineComponent<{
7097
7099
  recordCursor: () => void;
7098
7100
  setCursor: () => void;
7099
7101
  resizeTextarea: () => void;
7102
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
7103
+ onceInitSizeTextarea: () => void;
7100
7104
  setNativeInputValue: () => void;
7101
7105
  handleInput: (event: Event) => Promise<void>;
7102
7106
  handleChange: (event: Event) => void;
@@ -9102,6 +9106,8 @@ declare const _default: import("vue").DefineComponent<{
9102
9106
  recordCursor: () => void;
9103
9107
  setCursor: () => void;
9104
9108
  resizeTextarea: () => void;
9109
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
9110
+ onceInitSizeTextarea: () => void;
9105
9111
  setNativeInputValue: () => void;
9106
9112
  handleInput: (event: Event) => Promise<void>;
9107
9113
  handleChange: (event: Event) => void;
@@ -10450,6 +10450,8 @@ export declare const ElColorPicker: import("element-plus/es/utils").SFCWithInsta
10450
10450
  recordCursor: () => void;
10451
10451
  setCursor: () => void;
10452
10452
  resizeTextarea: () => void;
10453
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
10454
+ onceInitSizeTextarea: () => void;
10453
10455
  setNativeInputValue: () => void;
10454
10456
  handleInput: (event: Event) => Promise<void>;
10455
10457
  handleChange: (event: Event) => void;
@@ -10452,6 +10452,8 @@ declare const _default: import("vue").DefineComponent<{
10452
10452
  recordCursor: () => void;
10453
10453
  setCursor: () => void;
10454
10454
  resizeTextarea: () => void;
10455
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
10456
+ onceInitSizeTextarea: () => void;
10455
10457
  setNativeInputValue: () => void;
10456
10458
  handleInput: (event: Event) => Promise<void>;
10457
10459
  handleChange: (event: Event) => void;
@@ -701,6 +701,8 @@ declare const _default: import("vue").DefineComponent<{
701
701
  recordCursor: () => void;
702
702
  setCursor: () => void;
703
703
  resizeTextarea: () => void;
704
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
705
+ onceInitSizeTextarea: () => void;
704
706
  setNativeInputValue: () => void;
705
707
  handleInput: (event: Event) => Promise<void>;
706
708
  handleChange: (event: Event) => void;
@@ -828,6 +828,8 @@ declare const _default: import("vue").DefineComponent<{
828
828
  recordCursor: () => void;
829
829
  setCursor: () => void;
830
830
  resizeTextarea: () => void;
831
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
832
+ onceInitSizeTextarea: () => void;
831
833
  setNativeInputValue: () => void;
832
834
  handleInput: (event: Event) => Promise<void>;
833
835
  handleChange: (event: Event) => void;
@@ -826,6 +826,8 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
826
826
  recordCursor: () => void;
827
827
  setCursor: () => void;
828
828
  resizeTextarea: () => void;
829
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
830
+ onceInitSizeTextarea: () => void;
829
831
  setNativeInputValue: () => void;
830
832
  handleInput: (event: Event) => Promise<void>;
831
833
  handleChange: (event: Event) => void;
@@ -9439,6 +9441,8 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
9439
9441
  recordCursor: () => void;
9440
9442
  setCursor: () => void;
9441
9443
  resizeTextarea: () => void;
9444
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
9445
+ onceInitSizeTextarea: () => void;
9442
9446
  setNativeInputValue: () => void;
9443
9447
  handleInput: (event: Event) => Promise<void>;
9444
9448
  handleChange: (event: Event) => void;
@@ -19,6 +19,12 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
19
19
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
20
20
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
21
21
  readonly scrollToError: BooleanConstructor;
22
+ readonly scrollIntoViewOptions: {
23
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
22
28
  readonly size: {
23
29
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
24
30
  readonly required: false;
@@ -47,6 +53,12 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
47
53
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
48
54
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
49
55
  readonly scrollToError: BooleanConstructor;
56
+ readonly scrollIntoViewOptions: {
57
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
58
+ readonly required: false;
59
+ readonly validator: ((val: unknown) => boolean) | undefined;
60
+ __epPropKey: true;
61
+ };
50
62
  readonly size: {
51
63
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
52
64
  readonly required: false;
@@ -112,6 +124,12 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
112
124
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
113
125
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
114
126
  readonly scrollToError: BooleanConstructor;
127
+ readonly scrollIntoViewOptions: {
128
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
129
+ readonly required: false;
130
+ readonly validator: ((val: unknown) => boolean) | undefined;
131
+ __epPropKey: true;
132
+ };
115
133
  readonly size: {
116
134
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
117
135
  readonly required: false;
@@ -28,6 +28,12 @@ export declare const formProps: {
28
28
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
29
29
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
30
30
  readonly scrollToError: BooleanConstructor;
31
+ readonly scrollIntoViewOptions: {
32
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
33
+ readonly required: false;
34
+ readonly validator: ((val: unknown) => boolean) | undefined;
35
+ __epPropKey: true;
36
+ };
31
37
  readonly size: {
32
38
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
33
39
  readonly required: false;
@@ -55,7 +55,10 @@ const formProps = runtime.buildProps({
55
55
  type: Boolean,
56
56
  default: false
57
57
  },
58
- scrollToError: Boolean
58
+ scrollToError: Boolean,
59
+ scrollIntoViewOptions: {
60
+ type: [Object, Boolean]
61
+ }
59
62
  });
60
63
  const formEmits = {
61
64
  validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && core.isBoolean(isValid) && shared.isString(message)
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nconst formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;;;AAQA,MAAM,aAAa,GAAGA,kBAAU,CAAC;AACjC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CAAC;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;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,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,cAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nconst formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: [Object, Boolean],\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;;;AAQA,MAAM,aAAa,GAAGA,kBAAU,CAAC;AACjC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CAAC;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,cAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;"}
@@ -20,6 +20,12 @@ declare const _default: import("vue").DefineComponent<{
20
20
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
21
21
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
22
22
  readonly scrollToError: BooleanConstructor;
23
+ readonly scrollIntoViewOptions: {
24
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
25
+ readonly required: false;
26
+ readonly validator: ((val: unknown) => boolean) | undefined;
27
+ __epPropKey: true;
28
+ };
23
29
  readonly size: {
24
30
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
25
31
  readonly required: false;
@@ -48,6 +54,12 @@ declare const _default: import("vue").DefineComponent<{
48
54
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
49
55
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
50
56
  readonly scrollToError: BooleanConstructor;
57
+ readonly scrollIntoViewOptions: {
58
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
59
+ readonly required: false;
60
+ readonly validator: ((val: unknown) => boolean) | undefined;
61
+ __epPropKey: true;
62
+ };
51
63
  readonly size: {
52
64
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
53
65
  readonly required: false;
@@ -113,6 +125,12 @@ declare const _default: import("vue").DefineComponent<{
113
125
  readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
114
126
  readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
115
127
  readonly scrollToError: BooleanConstructor;
128
+ readonly scrollIntoViewOptions: {
129
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
130
+ readonly required: false;
131
+ readonly validator: ((val: unknown) => boolean) | undefined;
132
+ __epPropKey: true;
133
+ };
116
134
  readonly size: {
117
135
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
118
136
  readonly required: false;
@@ -119,7 +119,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
119
119
  var _a;
120
120
  const field = utils.filterFields(fields, prop)[0];
121
121
  if (field) {
122
- (_a = field.$el) == null ? void 0 : _a.scrollIntoView();
122
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
123
123
  }
124
124
  };
125
125
  vue.watch(() => props.rules, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView()\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\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 /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n})\n</script>\n"],"names":["useFormSize","useNamespace","computed","debugWarn","filterFields","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
1
+ {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true }\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 /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n})\n</script>\n"],"names":["useFormSize","useNamespace","computed","debugWarn","filterFields","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
@@ -219,6 +219,8 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
219
219
  recordCursor: () => void;
220
220
  setCursor: () => void;
221
221
  resizeTextarea: () => void;
222
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
223
+ onceInitSizeTextarea: () => void;
222
224
  setNativeInputValue: () => void;
223
225
  handleInput: (event: Event) => Promise<void>;
224
226
  handleChange: (event: Event) => void;
@@ -219,6 +219,8 @@ declare const _default: import("vue").DefineComponent<{
219
219
  recordCursor: () => void;
220
220
  setCursor: () => void;
221
221
  resizeTextarea: () => void;
222
+ createOnceInitResize: (resizeTextarea: () => void) => () => void;
223
+ onceInitSizeTextarea: () => void;
222
224
  setNativeInputValue: () => void;
223
225
  handleInput: (event: Event) => Promise<void>;
224
226
  handleChange: (event: Event) => void;