element-pe 2.2.71 → 2.2.72

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 (528) hide show
  1. package/dist/index.full.js +11 -0
  2. package/dist/index.full.min.js +3 -3
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +1 -1
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +11 -0
  7. package/es/components/affix/index.mjs +2 -2
  8. package/es/components/affix/src/affix.mjs +119 -26
  9. package/es/components/affix/src/affix.mjs.map +1 -1
  10. package/es/components/affix/src/affix2.mjs +26 -119
  11. package/es/components/affix/src/affix2.mjs.map +1 -1
  12. package/es/components/autocomplete/src/autocomplete2.mjs +1 -1
  13. package/es/components/avatar/index.mjs +2 -2
  14. package/es/components/avatar/src/avatar.mjs +76 -35
  15. package/es/components/avatar/src/avatar.mjs.map +1 -1
  16. package/es/components/avatar/src/avatar2.mjs +35 -76
  17. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  18. package/es/components/backtop/index.mjs +2 -2
  19. package/es/components/backtop/src/backtop.mjs +61 -23
  20. package/es/components/backtop/src/backtop.mjs.map +1 -1
  21. package/es/components/backtop/src/backtop2.mjs +23 -61
  22. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  23. package/es/components/badge/index.mjs +2 -2
  24. package/es/components/badge/src/badge.mjs +59 -17
  25. package/es/components/badge/src/badge.mjs.map +1 -1
  26. package/es/components/badge/src/badge2.mjs +17 -59
  27. package/es/components/badge/src/badge2.mjs.map +1 -1
  28. package/es/components/breadcrumb/index.mjs +2 -2
  29. package/es/components/breadcrumb/src/breadcrumb.mjs +36 -11
  30. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  31. package/es/components/breadcrumb/src/breadcrumb2.mjs +11 -36
  32. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  33. package/es/components/button/index.mjs +3 -3
  34. package/es/components/button/src/button-group.mjs +30 -6
  35. package/es/components/button/src/button-group.mjs.map +1 -1
  36. package/es/components/button/src/button-group2.mjs +6 -30
  37. package/es/components/button/src/button-group2.mjs.map +1 -1
  38. package/es/components/button/src/button.mjs +57 -76
  39. package/es/components/button/src/button.mjs.map +1 -1
  40. package/es/components/button/src/button2.mjs +76 -57
  41. package/es/components/button/src/button2.mjs.map +1 -1
  42. package/es/components/carousel/index.mjs +2 -2
  43. package/es/components/carousel/src/carousel.mjs +169 -56
  44. package/es/components/carousel/src/carousel.mjs.map +1 -1
  45. package/es/components/carousel/src/carousel2.mjs +56 -169
  46. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  47. package/es/components/cascader/index.mjs +2 -2
  48. package/es/components/cascader/src/cascader.mjs +82 -638
  49. package/es/components/cascader/src/cascader.mjs.map +1 -1
  50. package/es/components/cascader/src/cascader2.mjs +638 -82
  51. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  52. package/es/components/checkbox/index.d.ts +18 -18
  53. package/es/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  54. package/es/components/checkbox/src/checkbox.d.ts +2 -2
  55. package/es/components/checkbox/src/checkbox.vue.d.ts +6 -6
  56. package/es/components/collapse/index.mjs +2 -2
  57. package/es/components/collapse/src/collapse-item.mjs +99 -14
  58. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  59. package/es/components/collapse/src/collapse-item2.mjs +14 -99
  60. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  61. package/es/components/collection/index.mjs +1 -1
  62. package/es/components/collection/src/collection.mjs +66 -10
  63. package/es/components/collection/src/collection.mjs.map +1 -1
  64. package/es/components/collection/src/collection2.mjs +10 -66
  65. package/es/components/collection/src/collection2.mjs.map +1 -1
  66. package/es/components/color-picker/index.mjs +2 -2
  67. package/es/components/color-picker/src/color-picker.mjs +51 -335
  68. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  69. package/es/components/color-picker/src/color-picker2.mjs +335 -51
  70. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  71. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  72. package/es/components/dialog/index.d.ts +1 -1
  73. package/es/components/dialog/src/dialog-content.mjs +94 -39
  74. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  75. package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
  76. package/es/components/dialog/src/dialog-content2.mjs +39 -94
  77. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  78. package/es/components/dialog/src/dialog.mjs +1 -1
  79. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  80. package/es/components/dialog/src/dialog2.mjs +1 -1
  81. package/es/components/divider/index.mjs +2 -2
  82. package/es/components/divider/src/divider.mjs +35 -17
  83. package/es/components/divider/src/divider.mjs.map +1 -1
  84. package/es/components/divider/src/divider2.mjs +17 -35
  85. package/es/components/divider/src/divider2.mjs.map +1 -1
  86. package/es/components/drawer/index.mjs +2 -2
  87. package/es/components/drawer/src/drawer.mjs +25 -186
  88. package/es/components/drawer/src/drawer.mjs.map +1 -1
  89. package/es/components/drawer/src/drawer2.mjs +186 -25
  90. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  91. package/es/components/dropdown/index.d.ts +2 -2
  92. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  93. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  94. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  95. package/es/components/dropdown/src/dropdown.mjs +3 -3
  96. package/es/components/form/index.mjs +2 -2
  97. package/es/components/form/src/form.mjs +61 -150
  98. package/es/components/form/src/form.mjs.map +1 -1
  99. package/es/components/form/src/form2.mjs +150 -61
  100. package/es/components/form/src/form2.mjs.map +1 -1
  101. package/es/components/index.mjs +34 -34
  102. package/es/components/menu/index.mjs +2 -2
  103. package/es/components/menu/src/menu-item.mjs +97 -14
  104. package/es/components/menu/src/menu-item.mjs.map +1 -1
  105. package/es/components/menu/src/menu-item2.mjs +14 -97
  106. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  107. package/es/components/notification/index.mjs +1 -1
  108. package/es/components/notification/src/notification.mjs +151 -67
  109. package/es/components/notification/src/notification.mjs.map +1 -1
  110. package/es/components/notification/src/notification2.mjs +67 -151
  111. package/es/components/notification/src/notification2.mjs.map +1 -1
  112. package/es/components/notification/src/notify.mjs +2 -2
  113. package/es/components/pagination/src/components/jumper.mjs +9 -60
  114. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  115. package/es/components/pagination/src/components/jumper2.mjs +60 -9
  116. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  117. package/es/components/pagination/src/components/pager.mjs +218 -17
  118. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  119. package/es/components/pagination/src/components/pager2.mjs +17 -218
  120. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  121. package/es/components/pagination/src/components/prev.mjs +18 -38
  122. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  123. package/es/components/pagination/src/components/prev2.mjs +38 -18
  124. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  125. package/es/components/pagination/src/components/sizes.vue.d.ts +6 -6
  126. package/es/components/pagination/src/pagination.mjs +3 -3
  127. package/es/components/popconfirm/index.mjs +2 -2
  128. package/es/components/popconfirm/src/popconfirm.mjs +110 -47
  129. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  130. package/es/components/popconfirm/src/popconfirm2.mjs +47 -110
  131. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  132. package/es/components/popover/src/popover.mjs +2 -2
  133. package/es/components/popper/index.mjs +4 -4
  134. package/es/components/popper/src/content.mjs +94 -139
  135. package/es/components/popper/src/content.mjs.map +1 -1
  136. package/es/components/popper/src/content2.mjs +139 -94
  137. package/es/components/popper/src/content2.mjs.map +1 -1
  138. package/es/components/popper/src/popper.mjs +25 -32
  139. package/es/components/popper/src/popper.mjs.map +1 -1
  140. package/es/components/popper/src/popper2.mjs +32 -25
  141. package/es/components/popper/src/popper2.mjs.map +1 -1
  142. package/es/components/radio/index.d.ts +12 -12
  143. package/es/components/radio/index.mjs +2 -2
  144. package/es/components/radio/src/radio-button.d.ts +1 -1
  145. package/es/components/radio/src/radio-button.vue.d.ts +4 -4
  146. package/es/components/radio/src/radio-group.mjs +42 -70
  147. package/es/components/radio/src/radio-group.mjs.map +1 -1
  148. package/es/components/radio/src/radio-group2.mjs +70 -42
  149. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  150. package/es/components/radio/src/radio.d.ts +2 -2
  151. package/es/components/radio/src/radio.vue.d.ts +4 -4
  152. package/es/components/resizable-columns/index.mjs +2 -2
  153. package/es/components/resizable-columns/src/resizable-column.mjs +114 -7
  154. package/es/components/resizable-columns/src/resizable-column.mjs.map +1 -1
  155. package/es/components/resizable-columns/src/resizable-column2.mjs +7 -114
  156. package/es/components/resizable-columns/src/resizable-column2.mjs.map +1 -1
  157. package/es/components/result/index.mjs +2 -2
  158. package/es/components/result/src/result.mjs +63 -29
  159. package/es/components/result/src/result.mjs.map +1 -1
  160. package/es/components/result/src/result2.mjs +29 -63
  161. package/es/components/result/src/result2.mjs.map +1 -1
  162. package/es/components/roving-focus-group/src/roving-focus-group.mjs +1 -1
  163. package/es/components/scrollbar/index.mjs +3 -3
  164. package/es/components/scrollbar/src/bar.mjs +17 -42
  165. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  166. package/es/components/scrollbar/src/bar2.mjs +42 -17
  167. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  168. package/es/components/scrollbar/src/scrollbar.mjs +176 -46
  169. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  170. package/es/components/scrollbar/src/scrollbar2.mjs +46 -176
  171. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  172. package/es/components/scrollbar/src/thumb.mjs +134 -11
  173. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  174. package/es/components/scrollbar/src/thumb2.mjs +11 -134
  175. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  176. package/es/components/select/index.d.ts +6 -6
  177. package/es/components/select/src/option.vue.d.ts +2 -2
  178. package/es/components/select/src/select.mjs +1 -1
  179. package/es/components/select/src/select.vue.d.ts +2 -2
  180. package/es/components/select-v2/src/defaults.mjs +1 -1
  181. package/es/components/skeleton/index.mjs +2 -2
  182. package/es/components/skeleton/src/skeleton.mjs +49 -22
  183. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  184. package/es/components/skeleton/src/skeleton2.mjs +22 -49
  185. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  186. package/es/components/slider/src/button.mjs +21 -94
  187. package/es/components/slider/src/button.mjs.map +1 -1
  188. package/es/components/slider/src/button2.mjs +94 -21
  189. package/es/components/slider/src/button2.mjs.map +1 -1
  190. package/es/components/slider/src/slider2.mjs +1 -1
  191. package/es/components/statistic/index.mjs +2 -2
  192. package/es/components/statistic/src/statistic.mjs +70 -25
  193. package/es/components/statistic/src/statistic.mjs.map +1 -1
  194. package/es/components/statistic/src/statistic2.mjs +25 -70
  195. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  196. package/es/components/steps/index.mjs +4 -4
  197. package/es/components/steps/src/item.mjs +193 -19
  198. package/es/components/steps/src/item.mjs.map +1 -1
  199. package/es/components/steps/src/item2.mjs +19 -193
  200. package/es/components/steps/src/item2.mjs.map +1 -1
  201. package/es/components/steps/src/steps.mjs +39 -36
  202. package/es/components/steps/src/steps.mjs.map +1 -1
  203. package/es/components/steps/src/steps2.mjs +36 -39
  204. package/es/components/steps/src/steps2.mjs.map +1 -1
  205. package/es/components/tabs/index.mjs +2 -2
  206. package/es/components/tabs/src/tab-pane.mjs +14 -76
  207. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  208. package/es/components/tabs/src/tab-pane2.mjs +76 -14
  209. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  210. package/es/components/text/index.mjs +2 -2
  211. package/es/components/text/src/text.mjs +22 -35
  212. package/es/components/text/src/text.mjs.map +1 -1
  213. package/es/components/text/src/text2.mjs +35 -22
  214. package/es/components/text/src/text2.mjs.map +1 -1
  215. package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
  216. package/es/components/time-select/index.d.ts +20 -20
  217. package/es/components/time-select/index.mjs +1 -1
  218. package/es/components/time-select/src/time-select.mjs +55 -132
  219. package/es/components/time-select/src/time-select.mjs.map +1 -1
  220. package/es/components/time-select/src/time-select.vue.d.ts +10 -10
  221. package/es/components/time-select/src/time-select2.mjs +132 -55
  222. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  223. package/es/components/timeline/index.mjs +2 -2
  224. package/es/components/timeline/src/timeline-item.mjs +42 -72
  225. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  226. package/es/components/timeline/src/timeline-item2.mjs +72 -42
  227. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  228. package/es/components/tooltip/index.mjs +2 -2
  229. package/es/components/tooltip/src/content.mjs +31 -179
  230. package/es/components/tooltip/src/content.mjs.map +1 -1
  231. package/es/components/tooltip/src/content2.mjs +179 -31
  232. package/es/components/tooltip/src/content2.mjs.map +1 -1
  233. package/es/components/tooltip/src/tooltip.mjs +3 -3
  234. package/es/components/tooltip/src/tooltip2.mjs +2 -2
  235. package/es/components/tooltip/src/trigger.mjs +16 -73
  236. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  237. package/es/components/tooltip/src/trigger2.mjs +73 -16
  238. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  239. package/es/components/tooltip-v2/index.mjs +2 -2
  240. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  241. package/es/components/tooltip-v2/src/tooltip.mjs +77 -20
  242. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  243. package/es/components/tooltip-v2/src/tooltip2.mjs +20 -77
  244. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  245. package/es/components/transfer/index.d.ts +60 -60
  246. package/es/components/transfer/index.mjs +2 -2
  247. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  248. package/es/components/transfer/src/transfer-panel.mjs +1 -1
  249. package/es/components/transfer/src/transfer-panel.vue.d.ts +12 -12
  250. package/es/components/transfer/src/transfer.mjs +69 -162
  251. package/es/components/transfer/src/transfer.mjs.map +1 -1
  252. package/es/components/transfer/src/transfer.vue.d.ts +60 -60
  253. package/es/components/transfer/src/transfer2.mjs +162 -69
  254. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  255. package/es/components/tree/src/model/tree-store.mjs +13 -0
  256. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  257. package/es/components/tree-select/src/tree-select-option.d.ts +8 -8
  258. package/es/components/tree-v2/index.d.ts +12 -12
  259. package/es/components/tree-v2/src/tree-node.vue.d.ts +12 -12
  260. package/es/components/tree-v2/src/tree.vue.d.ts +12 -12
  261. package/es/components/visual-hidden/index.mjs +3 -3
  262. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -7
  263. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  264. package/es/components/visual-hidden/src/visual-hidden2.mjs +7 -35
  265. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  266. package/es/index.mjs +34 -34
  267. package/lib/components/affix/index.js +2 -2
  268. package/lib/components/affix/src/affix.js +119 -27
  269. package/lib/components/affix/src/affix.js.map +1 -1
  270. package/lib/components/affix/src/affix2.js +27 -119
  271. package/lib/components/affix/src/affix2.js.map +1 -1
  272. package/lib/components/autocomplete/src/autocomplete2.js +1 -1
  273. package/lib/components/avatar/index.js +2 -2
  274. package/lib/components/avatar/src/avatar.js +75 -35
  275. package/lib/components/avatar/src/avatar.js.map +1 -1
  276. package/lib/components/avatar/src/avatar2.js +35 -75
  277. package/lib/components/avatar/src/avatar2.js.map +1 -1
  278. package/lib/components/backtop/index.js +2 -2
  279. package/lib/components/backtop/src/backtop.js +61 -24
  280. package/lib/components/backtop/src/backtop.js.map +1 -1
  281. package/lib/components/backtop/src/backtop2.js +24 -61
  282. package/lib/components/backtop/src/backtop2.js.map +1 -1
  283. package/lib/components/badge/index.js +2 -2
  284. package/lib/components/badge/src/badge.js +59 -17
  285. package/lib/components/badge/src/badge.js.map +1 -1
  286. package/lib/components/badge/src/badge2.js +17 -59
  287. package/lib/components/badge/src/badge2.js.map +1 -1
  288. package/lib/components/breadcrumb/index.js +2 -2
  289. package/lib/components/breadcrumb/src/breadcrumb.js +36 -11
  290. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  291. package/lib/components/breadcrumb/src/breadcrumb2.js +11 -36
  292. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  293. package/lib/components/button/index.js +3 -3
  294. package/lib/components/button/src/button-group.js +30 -6
  295. package/lib/components/button/src/button-group.js.map +1 -1
  296. package/lib/components/button/src/button-group2.js +6 -30
  297. package/lib/components/button/src/button-group2.js.map +1 -1
  298. package/lib/components/button/src/button.js +60 -76
  299. package/lib/components/button/src/button.js.map +1 -1
  300. package/lib/components/button/src/button2.js +76 -60
  301. package/lib/components/button/src/button2.js.map +1 -1
  302. package/lib/components/carousel/index.js +2 -2
  303. package/lib/components/carousel/src/carousel.js +169 -57
  304. package/lib/components/carousel/src/carousel.js.map +1 -1
  305. package/lib/components/carousel/src/carousel2.js +57 -169
  306. package/lib/components/carousel/src/carousel2.js.map +1 -1
  307. package/lib/components/cascader/index.js +2 -2
  308. package/lib/components/cascader/src/cascader.js +83 -638
  309. package/lib/components/cascader/src/cascader.js.map +1 -1
  310. package/lib/components/cascader/src/cascader2.js +638 -83
  311. package/lib/components/cascader/src/cascader2.js.map +1 -1
  312. package/lib/components/checkbox/index.d.ts +18 -18
  313. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  314. package/lib/components/checkbox/src/checkbox.d.ts +2 -2
  315. package/lib/components/checkbox/src/checkbox.vue.d.ts +6 -6
  316. package/lib/components/collapse/index.js +2 -2
  317. package/lib/components/collapse/src/collapse-item.js +99 -14
  318. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  319. package/lib/components/collapse/src/collapse-item2.js +14 -99
  320. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  321. package/lib/components/collection/index.js +1 -1
  322. package/lib/components/collection/src/collection.js +66 -9
  323. package/lib/components/collection/src/collection.js.map +1 -1
  324. package/lib/components/collection/src/collection2.js +9 -66
  325. package/lib/components/collection/src/collection2.js.map +1 -1
  326. package/lib/components/color-picker/index.js +2 -2
  327. package/lib/components/color-picker/src/color-picker.js +51 -333
  328. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  329. package/lib/components/color-picker/src/color-picker2.js +333 -51
  330. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  331. package/lib/components/color-picker/src/components/predefine.js +1 -1
  332. package/lib/components/dialog/index.d.ts +1 -1
  333. package/lib/components/dialog/src/dialog-content.js +93 -39
  334. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  335. package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
  336. package/lib/components/dialog/src/dialog-content2.js +39 -93
  337. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  338. package/lib/components/dialog/src/dialog.js +1 -1
  339. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  340. package/lib/components/dialog/src/dialog2.js +1 -1
  341. package/lib/components/divider/index.js +2 -2
  342. package/lib/components/divider/src/divider.js +35 -17
  343. package/lib/components/divider/src/divider.js.map +1 -1
  344. package/lib/components/divider/src/divider2.js +17 -35
  345. package/lib/components/divider/src/divider2.js.map +1 -1
  346. package/lib/components/drawer/index.js +2 -2
  347. package/lib/components/drawer/src/drawer.js +26 -186
  348. package/lib/components/drawer/src/drawer.js.map +1 -1
  349. package/lib/components/drawer/src/drawer2.js +186 -26
  350. package/lib/components/drawer/src/drawer2.js.map +1 -1
  351. package/lib/components/dropdown/index.d.ts +2 -2
  352. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  353. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  354. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  355. package/lib/components/dropdown/src/dropdown.js +3 -3
  356. package/lib/components/form/index.js +2 -2
  357. package/lib/components/form/src/form.js +61 -149
  358. package/lib/components/form/src/form.js.map +1 -1
  359. package/lib/components/form/src/form2.js +149 -61
  360. package/lib/components/form/src/form2.js.map +1 -1
  361. package/lib/components/index.js +34 -34
  362. package/lib/components/menu/index.js +2 -2
  363. package/lib/components/menu/src/menu-item.js +97 -15
  364. package/lib/components/menu/src/menu-item.js.map +1 -1
  365. package/lib/components/menu/src/menu-item2.js +15 -97
  366. package/lib/components/menu/src/menu-item2.js.map +1 -1
  367. package/lib/components/notification/index.js +1 -1
  368. package/lib/components/notification/src/notification.js +150 -68
  369. package/lib/components/notification/src/notification.js.map +1 -1
  370. package/lib/components/notification/src/notification2.js +68 -150
  371. package/lib/components/notification/src/notification2.js.map +1 -1
  372. package/lib/components/notification/src/notify.js +2 -2
  373. package/lib/components/pagination/src/components/jumper.js +9 -60
  374. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  375. package/lib/components/pagination/src/components/jumper2.js +60 -9
  376. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  377. package/lib/components/pagination/src/components/pager.js +218 -17
  378. package/lib/components/pagination/src/components/pager.js.map +1 -1
  379. package/lib/components/pagination/src/components/pager2.js +17 -218
  380. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  381. package/lib/components/pagination/src/components/prev.js +19 -38
  382. package/lib/components/pagination/src/components/prev.js.map +1 -1
  383. package/lib/components/pagination/src/components/prev2.js +38 -19
  384. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  385. package/lib/components/pagination/src/components/sizes.vue.d.ts +6 -6
  386. package/lib/components/pagination/src/pagination.js +3 -3
  387. package/lib/components/popconfirm/index.js +2 -2
  388. package/lib/components/popconfirm/src/popconfirm.js +110 -48
  389. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  390. package/lib/components/popconfirm/src/popconfirm2.js +48 -110
  391. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  392. package/lib/components/popover/src/popover.js +2 -2
  393. package/lib/components/popper/index.js +4 -4
  394. package/lib/components/popper/src/content.js +99 -139
  395. package/lib/components/popper/src/content.js.map +1 -1
  396. package/lib/components/popper/src/content2.js +139 -99
  397. package/lib/components/popper/src/content2.js.map +1 -1
  398. package/lib/components/popper/src/popper.js +28 -32
  399. package/lib/components/popper/src/popper.js.map +1 -1
  400. package/lib/components/popper/src/popper2.js +32 -28
  401. package/lib/components/popper/src/popper2.js.map +1 -1
  402. package/lib/components/radio/index.d.ts +12 -12
  403. package/lib/components/radio/index.js +2 -2
  404. package/lib/components/radio/src/radio-button.d.ts +1 -1
  405. package/lib/components/radio/src/radio-button.vue.d.ts +4 -4
  406. package/lib/components/radio/src/radio-group.js +43 -70
  407. package/lib/components/radio/src/radio-group.js.map +1 -1
  408. package/lib/components/radio/src/radio-group2.js +70 -43
  409. package/lib/components/radio/src/radio-group2.js.map +1 -1
  410. package/lib/components/radio/src/radio.d.ts +2 -2
  411. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  412. package/lib/components/resizable-columns/index.js +2 -2
  413. package/lib/components/resizable-columns/src/resizable-column.js +114 -7
  414. package/lib/components/resizable-columns/src/resizable-column.js.map +1 -1
  415. package/lib/components/resizable-columns/src/resizable-column2.js +7 -114
  416. package/lib/components/resizable-columns/src/resizable-column2.js.map +1 -1
  417. package/lib/components/result/index.js +2 -2
  418. package/lib/components/result/src/result.js +63 -31
  419. package/lib/components/result/src/result.js.map +1 -1
  420. package/lib/components/result/src/result2.js +31 -63
  421. package/lib/components/result/src/result2.js.map +1 -1
  422. package/lib/components/roving-focus-group/src/roving-focus-group.js +1 -1
  423. package/lib/components/scrollbar/index.js +3 -3
  424. package/lib/components/scrollbar/src/bar.js +17 -42
  425. package/lib/components/scrollbar/src/bar.js.map +1 -1
  426. package/lib/components/scrollbar/src/bar2.js +42 -17
  427. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  428. package/lib/components/scrollbar/src/scrollbar.js +176 -47
  429. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  430. package/lib/components/scrollbar/src/scrollbar2.js +47 -176
  431. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  432. package/lib/components/scrollbar/src/thumb.js +134 -11
  433. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  434. package/lib/components/scrollbar/src/thumb2.js +11 -134
  435. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  436. package/lib/components/select/index.d.ts +6 -6
  437. package/lib/components/select/src/option.vue.d.ts +2 -2
  438. package/lib/components/select/src/select.js +1 -1
  439. package/lib/components/select/src/select.vue.d.ts +2 -2
  440. package/lib/components/select-v2/src/defaults.js +1 -1
  441. package/lib/components/skeleton/index.js +2 -2
  442. package/lib/components/skeleton/src/skeleton.js +49 -22
  443. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  444. package/lib/components/skeleton/src/skeleton2.js +22 -49
  445. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  446. package/lib/components/slider/src/button.js +22 -94
  447. package/lib/components/slider/src/button.js.map +1 -1
  448. package/lib/components/slider/src/button2.js +94 -22
  449. package/lib/components/slider/src/button2.js.map +1 -1
  450. package/lib/components/slider/src/slider2.js +1 -1
  451. package/lib/components/statistic/index.js +2 -2
  452. package/lib/components/statistic/src/statistic.js +70 -25
  453. package/lib/components/statistic/src/statistic.js.map +1 -1
  454. package/lib/components/statistic/src/statistic2.js +25 -70
  455. package/lib/components/statistic/src/statistic2.js.map +1 -1
  456. package/lib/components/steps/index.js +4 -4
  457. package/lib/components/steps/src/item.js +193 -19
  458. package/lib/components/steps/src/item.js.map +1 -1
  459. package/lib/components/steps/src/item2.js +19 -193
  460. package/lib/components/steps/src/item2.js.map +1 -1
  461. package/lib/components/steps/src/steps.js +39 -37
  462. package/lib/components/steps/src/steps.js.map +1 -1
  463. package/lib/components/steps/src/steps2.js +37 -39
  464. package/lib/components/steps/src/steps2.js.map +1 -1
  465. package/lib/components/tabs/index.js +2 -2
  466. package/lib/components/tabs/src/tab-pane.js +14 -76
  467. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  468. package/lib/components/tabs/src/tab-pane2.js +76 -14
  469. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  470. package/lib/components/text/index.js +2 -2
  471. package/lib/components/text/src/text.js +22 -35
  472. package/lib/components/text/src/text.js.map +1 -1
  473. package/lib/components/text/src/text2.js +35 -22
  474. package/lib/components/text/src/text2.js.map +1 -1
  475. package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
  476. package/lib/components/time-select/index.d.ts +20 -20
  477. package/lib/components/time-select/index.js +1 -1
  478. package/lib/components/time-select/src/time-select.js +55 -137
  479. package/lib/components/time-select/src/time-select.js.map +1 -1
  480. package/lib/components/time-select/src/time-select.vue.d.ts +10 -10
  481. package/lib/components/time-select/src/time-select2.js +137 -55
  482. package/lib/components/time-select/src/time-select2.js.map +1 -1
  483. package/lib/components/timeline/index.js +2 -2
  484. package/lib/components/timeline/src/timeline-item.js +42 -72
  485. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  486. package/lib/components/timeline/src/timeline-item2.js +72 -42
  487. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  488. package/lib/components/tooltip/index.js +2 -2
  489. package/lib/components/tooltip/src/content.js +31 -179
  490. package/lib/components/tooltip/src/content.js.map +1 -1
  491. package/lib/components/tooltip/src/content2.js +179 -31
  492. package/lib/components/tooltip/src/content2.js.map +1 -1
  493. package/lib/components/tooltip/src/tooltip.js +3 -3
  494. package/lib/components/tooltip/src/tooltip2.js +2 -2
  495. package/lib/components/tooltip/src/trigger.js +16 -73
  496. package/lib/components/tooltip/src/trigger.js.map +1 -1
  497. package/lib/components/tooltip/src/trigger2.js +73 -16
  498. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  499. package/lib/components/tooltip-v2/index.js +2 -2
  500. package/lib/components/tooltip-v2/src/content2.js +1 -1
  501. package/lib/components/tooltip-v2/src/tooltip.js +77 -20
  502. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  503. package/lib/components/tooltip-v2/src/tooltip2.js +20 -77
  504. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  505. package/lib/components/transfer/index.d.ts +60 -60
  506. package/lib/components/transfer/index.js +2 -2
  507. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  508. package/lib/components/transfer/src/transfer-panel.js +1 -1
  509. package/lib/components/transfer/src/transfer-panel.vue.d.ts +12 -12
  510. package/lib/components/transfer/src/transfer.js +73 -162
  511. package/lib/components/transfer/src/transfer.js.map +1 -1
  512. package/lib/components/transfer/src/transfer.vue.d.ts +60 -60
  513. package/lib/components/transfer/src/transfer2.js +162 -73
  514. package/lib/components/transfer/src/transfer2.js.map +1 -1
  515. package/lib/components/tree/src/model/tree-store.js +13 -0
  516. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  517. package/lib/components/tree-select/src/tree-select-option.d.ts +8 -8
  518. package/lib/components/tree-v2/index.d.ts +12 -12
  519. package/lib/components/tree-v2/src/tree-node.vue.d.ts +12 -12
  520. package/lib/components/tree-v2/src/tree.vue.d.ts +12 -12
  521. package/lib/components/visual-hidden/index.js +2 -2
  522. package/lib/components/visual-hidden/src/visual-hidden.js +35 -7
  523. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  524. package/lib/components/visual-hidden/src/visual-hidden2.js +7 -35
  525. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  526. package/lib/index.js +34 -34
  527. package/package.json +1 -1
  528. package/web-types.json +1 -1
@@ -2,160 +2,72 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- require('../../config-provider/index.js');
5
+ require('../../../constants/index.js');
7
6
  require('../../../utils/index.js');
8
- require('../../../hooks/index.js');
9
- require('./hooks/index.js');
10
- var constants = require('./constants.js');
11
- var form = require('./form2.js');
12
- var utils = require('./utils.js');
13
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
- var useFormCommonProps = require('./hooks/use-form-common-props.js');
15
- var index = require('../../../hooks/use-namespace/index.js');
16
- var error = require('../../../utils/error.js');
7
+ var runtime = require('../../../utils/vue/props/runtime.js');
8
+ var size = require('../../../constants/size.js');
17
9
  var shared = require('@vue/shared');
18
- var forEditor = require('../../config-provider/src/for-editor.js');
10
+ var types = require('../../../utils/types.js');
19
11
 
20
- const COMPONENT_NAME = "ElForm";
21
- const __default__ = vue.defineComponent({
22
- name: COMPONENT_NAME
12
+ const formMetaProps = runtime.buildProps({
13
+ size: {
14
+ type: String,
15
+ values: size.componentSizes
16
+ },
17
+ disabled: Boolean,
18
+ viewMode: {
19
+ type: String,
20
+ values: size.viewModes
21
+ }
23
22
  });
24
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
25
- ...__default__,
26
- props: form.formProps,
27
- emits: form.formEmits,
28
- setup(__props, { expose, emit }) {
29
- const props = __props;
30
- const fields = [];
31
- const formSize = useFormCommonProps.useFormSize();
32
- const ns = index.useNamespace("form");
33
- const formClasses = vue.computed(() => {
34
- const { labelPosition, inline } = props;
35
- return [
36
- ns.b(),
37
- ns.m(formSize.value || "default"),
38
- {
39
- [ns.m(`label-${labelPosition}`)]: labelPosition,
40
- [ns.m("inline")]: inline
41
- }
42
- ];
43
- });
44
- const addField = (field) => {
45
- fields.push(field);
46
- };
47
- const removeField = (field) => {
48
- if (field.prop) {
49
- fields.splice(fields.indexOf(field), 1);
50
- }
51
- };
52
- const resetFields = (properties = []) => {
53
- if (!props.model) {
54
- error.debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
55
- return;
56
- }
57
- utils.filterFields(fields, properties).forEach((field) => field.resetField());
58
- };
59
- const clearValidate = (props2 = []) => {
60
- utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
61
- };
62
- const isValidatable = vue.computed(() => {
63
- const hasModel = !!props.model;
64
- if (!hasModel) {
65
- error.debugWarn(COMPONENT_NAME, "model is required for validate to work.");
66
- }
67
- return hasModel;
68
- });
69
- const obtainValidateFields = (props2) => {
70
- if (fields.length === 0)
71
- return [];
72
- const filteredFields = utils.filterFields(fields, props2);
73
- if (!filteredFields.length) {
74
- error.debugWarn(COMPONENT_NAME, "please pass correct props!");
75
- return [];
76
- }
77
- return filteredFields;
78
- };
79
- const validate = async (callback) => validateField(void 0, callback);
80
- const doValidateField = async (props2 = []) => {
81
- if (!isValidatable.value)
82
- return false;
83
- const fields2 = obtainValidateFields(props2);
84
- if (fields2.length === 0)
85
- return true;
86
- let validationErrors = {};
87
- for (const field of fields2) {
88
- try {
89
- await field.validate("");
90
- } catch (fields3) {
91
- validationErrors = {
92
- ...validationErrors,
93
- ...fields3
94
- };
95
- }
96
- }
97
- if (Object.keys(validationErrors).length === 0)
98
- return true;
99
- return Promise.reject(validationErrors);
100
- };
101
- const validateField = async (modelProps = [], callback) => {
102
- const shouldThrow = !shared.isFunction(callback);
103
- try {
104
- const result = await doValidateField(modelProps);
105
- if (result === true) {
106
- callback == null ? void 0 : callback(result);
107
- }
108
- return result;
109
- } catch (e) {
110
- if (e instanceof Error)
111
- throw e;
112
- const invalidFields = e;
113
- if (props.scrollToError) {
114
- scrollToField(Object.keys(invalidFields)[0]);
115
- }
116
- callback == null ? void 0 : callback(false, invalidFields);
117
- return shouldThrow && Promise.reject(invalidFields);
118
- }
119
- };
120
- const scrollToField = (prop) => {
121
- var _a;
122
- const field = utils.filterFields(fields, prop)[0];
123
- if (field) {
124
- (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
125
- }
126
- };
127
- forEditor.watch(() => props.rules, () => {
128
- if (props.validateOnRuleChange) {
129
- validate().catch((err) => error.debugWarn(err));
130
- }
131
- }, { deep: true });
132
- vue.provide(constants.formContextKey, vue.reactive({
133
- ...vue.toRefs(props),
134
- emit,
135
- resetFields,
136
- clearValidate,
137
- validateField,
138
- addField,
139
- removeField,
140
- ...utils.useFormLabelWidth()
141
- }));
142
- expose({
143
- validate,
144
- validateField,
145
- resetFields,
146
- clearValidate,
147
- scrollToField
148
- });
149
- return (_ctx, _cache) => {
150
- return vue.openBlock(), vue.createElementBlock("form", {
151
- class: vue.normalizeClass(vue.unref(formClasses))
152
- }, [
153
- vue.renderSlot(_ctx.$slots, "default")
154
- ], 2);
155
- };
23
+ const formProps = runtime.buildProps({
24
+ ...formMetaProps,
25
+ model: Object,
26
+ rules: {
27
+ type: runtime.definePropType(Object)
28
+ },
29
+ labelPosition: {
30
+ type: String,
31
+ values: ["left", "right", "top"],
32
+ default: "right"
33
+ },
34
+ requireAsteriskPosition: {
35
+ type: String,
36
+ values: ["left", "right"],
37
+ default: "left"
38
+ },
39
+ labelWidth: {
40
+ type: [String, Number],
41
+ default: ""
42
+ },
43
+ labelSuffix: {
44
+ type: String,
45
+ default: ""
46
+ },
47
+ inline: Boolean,
48
+ inlineMessage: Boolean,
49
+ statusIcon: Boolean,
50
+ showMessage: {
51
+ type: Boolean,
52
+ default: true
53
+ },
54
+ validateOnRuleChange: {
55
+ type: Boolean,
56
+ default: true
57
+ },
58
+ hideRequiredAsterisk: {
59
+ type: Boolean,
60
+ default: false
61
+ },
62
+ scrollToError: Boolean,
63
+ scrollIntoViewOptions: {
64
+ type: [Object, Boolean]
156
65
  }
157
66
  });
158
- var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "D:\\workspace\\element-pe\\packages\\components\\form\\src\\form.vue"]]);
67
+ const formEmits = {
68
+ validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
69
+ };
159
70
 
160
- exports["default"] = Form;
71
+ exports.formEmits = formEmits;
72
+ exports.formProps = formProps;
161
73
  //# sourceMappingURL=form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.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 } from 'vue'\nimport { watch } from '../../config-provider'\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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"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes, viewModes } 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 /**\n * @description 浏览模式\n */\n viewMode: {\n type: String,\n values: viewModes\n },\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","viewModes","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,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,cAAS;AACrB,GAAG;AACH,CAAC,CAAC,CAAC;AACS,MAAC,SAAS,GAAGF,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEG,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,eAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;"}
@@ -2,72 +2,160 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../constants/index.js');
5
+ var vue = require('vue');
6
+ require('../../config-provider/index.js');
6
7
  require('../../../utils/index.js');
7
- var runtime = require('../../../utils/vue/props/runtime.js');
8
- var size = require('../../../constants/size.js');
8
+ require('../../../hooks/index.js');
9
+ require('./hooks/index.js');
10
+ var constants = require('./constants.js');
11
+ var form = require('./form.js');
12
+ var utils = require('./utils.js');
13
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
+ var useFormCommonProps = require('./hooks/use-form-common-props.js');
15
+ var index = require('../../../hooks/use-namespace/index.js');
16
+ var error = require('../../../utils/error.js');
9
17
  var shared = require('@vue/shared');
10
- var types = require('../../../utils/types.js');
18
+ var forEditor = require('../../config-provider/src/for-editor.js');
11
19
 
12
- const formMetaProps = runtime.buildProps({
13
- size: {
14
- type: String,
15
- values: size.componentSizes
16
- },
17
- disabled: Boolean,
18
- viewMode: {
19
- type: String,
20
- values: size.viewModes
21
- }
20
+ const COMPONENT_NAME = "ElForm";
21
+ const __default__ = vue.defineComponent({
22
+ name: COMPONENT_NAME
22
23
  });
23
- const formProps = runtime.buildProps({
24
- ...formMetaProps,
25
- model: Object,
26
- rules: {
27
- type: runtime.definePropType(Object)
28
- },
29
- labelPosition: {
30
- type: String,
31
- values: ["left", "right", "top"],
32
- default: "right"
33
- },
34
- requireAsteriskPosition: {
35
- type: String,
36
- values: ["left", "right"],
37
- default: "left"
38
- },
39
- labelWidth: {
40
- type: [String, Number],
41
- default: ""
42
- },
43
- labelSuffix: {
44
- type: String,
45
- default: ""
46
- },
47
- inline: Boolean,
48
- inlineMessage: Boolean,
49
- statusIcon: Boolean,
50
- showMessage: {
51
- type: Boolean,
52
- default: true
53
- },
54
- validateOnRuleChange: {
55
- type: Boolean,
56
- default: true
57
- },
58
- hideRequiredAsterisk: {
59
- type: Boolean,
60
- default: false
61
- },
62
- scrollToError: Boolean,
63
- scrollIntoViewOptions: {
64
- type: [Object, Boolean]
24
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
25
+ ...__default__,
26
+ props: form.formProps,
27
+ emits: form.formEmits,
28
+ setup(__props, { expose, emit }) {
29
+ const props = __props;
30
+ const fields = [];
31
+ const formSize = useFormCommonProps.useFormSize();
32
+ const ns = index.useNamespace("form");
33
+ const formClasses = vue.computed(() => {
34
+ const { labelPosition, inline } = props;
35
+ return [
36
+ ns.b(),
37
+ ns.m(formSize.value || "default"),
38
+ {
39
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
40
+ [ns.m("inline")]: inline
41
+ }
42
+ ];
43
+ });
44
+ const addField = (field) => {
45
+ fields.push(field);
46
+ };
47
+ const removeField = (field) => {
48
+ if (field.prop) {
49
+ fields.splice(fields.indexOf(field), 1);
50
+ }
51
+ };
52
+ const resetFields = (properties = []) => {
53
+ if (!props.model) {
54
+ error.debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
55
+ return;
56
+ }
57
+ utils.filterFields(fields, properties).forEach((field) => field.resetField());
58
+ };
59
+ const clearValidate = (props2 = []) => {
60
+ utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
61
+ };
62
+ const isValidatable = vue.computed(() => {
63
+ const hasModel = !!props.model;
64
+ if (!hasModel) {
65
+ error.debugWarn(COMPONENT_NAME, "model is required for validate to work.");
66
+ }
67
+ return hasModel;
68
+ });
69
+ const obtainValidateFields = (props2) => {
70
+ if (fields.length === 0)
71
+ return [];
72
+ const filteredFields = utils.filterFields(fields, props2);
73
+ if (!filteredFields.length) {
74
+ error.debugWarn(COMPONENT_NAME, "please pass correct props!");
75
+ return [];
76
+ }
77
+ return filteredFields;
78
+ };
79
+ const validate = async (callback) => validateField(void 0, callback);
80
+ const doValidateField = async (props2 = []) => {
81
+ if (!isValidatable.value)
82
+ return false;
83
+ const fields2 = obtainValidateFields(props2);
84
+ if (fields2.length === 0)
85
+ return true;
86
+ let validationErrors = {};
87
+ for (const field of fields2) {
88
+ try {
89
+ await field.validate("");
90
+ } catch (fields3) {
91
+ validationErrors = {
92
+ ...validationErrors,
93
+ ...fields3
94
+ };
95
+ }
96
+ }
97
+ if (Object.keys(validationErrors).length === 0)
98
+ return true;
99
+ return Promise.reject(validationErrors);
100
+ };
101
+ const validateField = async (modelProps = [], callback) => {
102
+ const shouldThrow = !shared.isFunction(callback);
103
+ try {
104
+ const result = await doValidateField(modelProps);
105
+ if (result === true) {
106
+ callback == null ? void 0 : callback(result);
107
+ }
108
+ return result;
109
+ } catch (e) {
110
+ if (e instanceof Error)
111
+ throw e;
112
+ const invalidFields = e;
113
+ if (props.scrollToError) {
114
+ scrollToField(Object.keys(invalidFields)[0]);
115
+ }
116
+ callback == null ? void 0 : callback(false, invalidFields);
117
+ return shouldThrow && Promise.reject(invalidFields);
118
+ }
119
+ };
120
+ const scrollToField = (prop) => {
121
+ var _a;
122
+ const field = utils.filterFields(fields, prop)[0];
123
+ if (field) {
124
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
125
+ }
126
+ };
127
+ forEditor.watch(() => props.rules, () => {
128
+ if (props.validateOnRuleChange) {
129
+ validate().catch((err) => error.debugWarn(err));
130
+ }
131
+ }, { deep: true });
132
+ vue.provide(constants.formContextKey, vue.reactive({
133
+ ...vue.toRefs(props),
134
+ emit,
135
+ resetFields,
136
+ clearValidate,
137
+ validateField,
138
+ addField,
139
+ removeField,
140
+ ...utils.useFormLabelWidth()
141
+ }));
142
+ expose({
143
+ validate,
144
+ validateField,
145
+ resetFields,
146
+ clearValidate,
147
+ scrollToField
148
+ });
149
+ return (_ctx, _cache) => {
150
+ return vue.openBlock(), vue.createElementBlock("form", {
151
+ class: vue.normalizeClass(vue.unref(formClasses))
152
+ }, [
153
+ vue.renderSlot(_ctx.$slots, "default")
154
+ ], 2);
155
+ };
65
156
  }
66
157
  });
67
- const formEmits = {
68
- validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
69
- };
158
+ var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "D:\\workspace\\element-pe\\packages\\components\\form\\src\\form.vue"]]);
70
159
 
71
- exports.formEmits = formEmits;
72
- exports.formProps = formProps;
160
+ exports["default"] = Form;
73
161
  //# sourceMappingURL=form2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form2.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes, viewModes } 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 /**\n * @description 浏览模式\n */\n viewMode: {\n type: String,\n values: viewModes\n },\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","viewModes","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,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,cAAS;AACrB,GAAG;AACH,CAAC,CAAC,CAAC;AACS,MAAC,SAAS,GAAGF,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEG,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,eAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;"}
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 } from 'vue'\nimport { watch } from '../../config-provider'\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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"}