element-plus 2.1.3 → 2.1.4

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 (290) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +32 -13
  3. package/dist/index.full.min.js +7 -7
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +7 -7
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +32 -13
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/bg.js +1 -1
  17. package/dist/locale/bg.min.js +1 -1
  18. package/dist/locale/bg.min.mjs +1 -1
  19. package/dist/locale/bg.mjs +1 -1
  20. package/dist/locale/bn.js +1 -1
  21. package/dist/locale/bn.min.js +1 -1
  22. package/dist/locale/bn.min.mjs +1 -1
  23. package/dist/locale/bn.mjs +1 -1
  24. package/dist/locale/ca.js +1 -1
  25. package/dist/locale/ca.min.js +1 -1
  26. package/dist/locale/ca.min.mjs +1 -1
  27. package/dist/locale/ca.mjs +1 -1
  28. package/dist/locale/cs.js +1 -1
  29. package/dist/locale/cs.min.js +1 -1
  30. package/dist/locale/cs.min.mjs +1 -1
  31. package/dist/locale/cs.mjs +1 -1
  32. package/dist/locale/da.js +1 -1
  33. package/dist/locale/da.min.js +1 -1
  34. package/dist/locale/da.min.mjs +1 -1
  35. package/dist/locale/da.mjs +1 -1
  36. package/dist/locale/de.js +1 -1
  37. package/dist/locale/de.min.js +1 -1
  38. package/dist/locale/de.min.mjs +1 -1
  39. package/dist/locale/de.mjs +1 -1
  40. package/dist/locale/el.js +1 -1
  41. package/dist/locale/el.min.js +1 -1
  42. package/dist/locale/el.min.mjs +1 -1
  43. package/dist/locale/el.mjs +1 -1
  44. package/dist/locale/en.js +1 -1
  45. package/dist/locale/en.min.js +1 -1
  46. package/dist/locale/en.min.mjs +1 -1
  47. package/dist/locale/en.mjs +1 -1
  48. package/dist/locale/eo.js +1 -1
  49. package/dist/locale/eo.min.js +1 -1
  50. package/dist/locale/eo.min.mjs +1 -1
  51. package/dist/locale/eo.mjs +1 -1
  52. package/dist/locale/es.js +1 -1
  53. package/dist/locale/es.min.js +1 -1
  54. package/dist/locale/es.min.mjs +1 -1
  55. package/dist/locale/es.mjs +1 -1
  56. package/dist/locale/et.js +1 -1
  57. package/dist/locale/et.min.js +1 -1
  58. package/dist/locale/et.min.mjs +1 -1
  59. package/dist/locale/et.mjs +1 -1
  60. package/dist/locale/eu.js +1 -1
  61. package/dist/locale/eu.min.js +1 -1
  62. package/dist/locale/eu.min.mjs +1 -1
  63. package/dist/locale/eu.mjs +1 -1
  64. package/dist/locale/fa.js +1 -1
  65. package/dist/locale/fa.min.js +1 -1
  66. package/dist/locale/fa.min.mjs +1 -1
  67. package/dist/locale/fa.mjs +1 -1
  68. package/dist/locale/fi.js +1 -1
  69. package/dist/locale/fi.min.js +1 -1
  70. package/dist/locale/fi.min.mjs +1 -1
  71. package/dist/locale/fi.mjs +1 -1
  72. package/dist/locale/fr.js +1 -1
  73. package/dist/locale/fr.min.js +1 -1
  74. package/dist/locale/fr.min.mjs +1 -1
  75. package/dist/locale/fr.mjs +1 -1
  76. package/dist/locale/he.js +1 -1
  77. package/dist/locale/he.min.js +1 -1
  78. package/dist/locale/he.min.mjs +1 -1
  79. package/dist/locale/he.mjs +1 -1
  80. package/dist/locale/hr.js +1 -1
  81. package/dist/locale/hr.min.js +1 -1
  82. package/dist/locale/hr.min.mjs +1 -1
  83. package/dist/locale/hr.mjs +1 -1
  84. package/dist/locale/hu.js +1 -1
  85. package/dist/locale/hu.min.js +1 -1
  86. package/dist/locale/hu.min.mjs +1 -1
  87. package/dist/locale/hu.mjs +1 -1
  88. package/dist/locale/hy-am.js +1 -1
  89. package/dist/locale/hy-am.min.js +1 -1
  90. package/dist/locale/hy-am.min.mjs +1 -1
  91. package/dist/locale/hy-am.mjs +1 -1
  92. package/dist/locale/id.js +1 -1
  93. package/dist/locale/id.min.js +1 -1
  94. package/dist/locale/id.min.mjs +1 -1
  95. package/dist/locale/id.mjs +1 -1
  96. package/dist/locale/it.js +1 -1
  97. package/dist/locale/it.min.js +1 -1
  98. package/dist/locale/it.min.mjs +1 -1
  99. package/dist/locale/it.mjs +1 -1
  100. package/dist/locale/ja.js +1 -1
  101. package/dist/locale/ja.min.js +1 -1
  102. package/dist/locale/ja.min.mjs +1 -1
  103. package/dist/locale/ja.mjs +1 -1
  104. package/dist/locale/kk.js +1 -1
  105. package/dist/locale/kk.min.js +1 -1
  106. package/dist/locale/kk.min.mjs +1 -1
  107. package/dist/locale/kk.mjs +1 -1
  108. package/dist/locale/km.js +1 -1
  109. package/dist/locale/km.min.js +1 -1
  110. package/dist/locale/km.min.mjs +1 -1
  111. package/dist/locale/km.mjs +1 -1
  112. package/dist/locale/ko.js +1 -1
  113. package/dist/locale/ko.min.js +1 -1
  114. package/dist/locale/ko.min.mjs +1 -1
  115. package/dist/locale/ko.mjs +1 -1
  116. package/dist/locale/ku.js +1 -1
  117. package/dist/locale/ku.min.js +1 -1
  118. package/dist/locale/ku.min.mjs +1 -1
  119. package/dist/locale/ku.mjs +1 -1
  120. package/dist/locale/ky.js +1 -1
  121. package/dist/locale/ky.min.js +1 -1
  122. package/dist/locale/ky.min.mjs +1 -1
  123. package/dist/locale/ky.mjs +1 -1
  124. package/dist/locale/lt.js +1 -1
  125. package/dist/locale/lt.min.js +1 -1
  126. package/dist/locale/lt.min.mjs +1 -1
  127. package/dist/locale/lt.mjs +1 -1
  128. package/dist/locale/lv.js +1 -1
  129. package/dist/locale/lv.min.js +1 -1
  130. package/dist/locale/lv.min.mjs +1 -1
  131. package/dist/locale/lv.mjs +1 -1
  132. package/dist/locale/mg.js +1 -1
  133. package/dist/locale/mg.min.js +1 -1
  134. package/dist/locale/mg.min.mjs +1 -1
  135. package/dist/locale/mg.mjs +1 -1
  136. package/dist/locale/mn.js +1 -1
  137. package/dist/locale/mn.min.js +1 -1
  138. package/dist/locale/mn.min.mjs +1 -1
  139. package/dist/locale/mn.mjs +1 -1
  140. package/dist/locale/nb-no.js +1 -1
  141. package/dist/locale/nb-no.min.js +1 -1
  142. package/dist/locale/nb-no.min.mjs +1 -1
  143. package/dist/locale/nb-no.mjs +1 -1
  144. package/dist/locale/nl.js +1 -1
  145. package/dist/locale/nl.min.js +1 -1
  146. package/dist/locale/nl.min.mjs +1 -1
  147. package/dist/locale/nl.mjs +1 -1
  148. package/dist/locale/pa.js +1 -1
  149. package/dist/locale/pa.min.js +1 -1
  150. package/dist/locale/pa.min.mjs +1 -1
  151. package/dist/locale/pa.mjs +1 -1
  152. package/dist/locale/pl.js +1 -1
  153. package/dist/locale/pl.min.js +1 -1
  154. package/dist/locale/pl.min.mjs +1 -1
  155. package/dist/locale/pl.mjs +1 -1
  156. package/dist/locale/pt-br.js +1 -1
  157. package/dist/locale/pt-br.min.js +1 -1
  158. package/dist/locale/pt-br.min.mjs +1 -1
  159. package/dist/locale/pt-br.mjs +1 -1
  160. package/dist/locale/pt.js +1 -1
  161. package/dist/locale/pt.min.js +1 -1
  162. package/dist/locale/pt.min.mjs +1 -1
  163. package/dist/locale/pt.mjs +1 -1
  164. package/dist/locale/ro.js +1 -1
  165. package/dist/locale/ro.min.js +1 -1
  166. package/dist/locale/ro.min.mjs +1 -1
  167. package/dist/locale/ro.mjs +1 -1
  168. package/dist/locale/ru.js +1 -1
  169. package/dist/locale/ru.min.js +1 -1
  170. package/dist/locale/ru.min.mjs +1 -1
  171. package/dist/locale/ru.mjs +1 -1
  172. package/dist/locale/sk.js +1 -1
  173. package/dist/locale/sk.min.js +1 -1
  174. package/dist/locale/sk.min.mjs +1 -1
  175. package/dist/locale/sk.mjs +1 -1
  176. package/dist/locale/sl.js +1 -1
  177. package/dist/locale/sl.min.js +1 -1
  178. package/dist/locale/sl.min.mjs +1 -1
  179. package/dist/locale/sl.mjs +1 -1
  180. package/dist/locale/sr.js +1 -1
  181. package/dist/locale/sr.min.js +1 -1
  182. package/dist/locale/sr.min.mjs +1 -1
  183. package/dist/locale/sr.mjs +1 -1
  184. package/dist/locale/sv.js +1 -1
  185. package/dist/locale/sv.min.js +1 -1
  186. package/dist/locale/sv.min.mjs +1 -1
  187. package/dist/locale/sv.mjs +1 -1
  188. package/dist/locale/ta.js +1 -1
  189. package/dist/locale/ta.min.js +1 -1
  190. package/dist/locale/ta.min.mjs +1 -1
  191. package/dist/locale/ta.mjs +1 -1
  192. package/dist/locale/th.js +1 -1
  193. package/dist/locale/th.min.js +1 -1
  194. package/dist/locale/th.min.mjs +1 -1
  195. package/dist/locale/th.mjs +1 -1
  196. package/dist/locale/tk.js +1 -1
  197. package/dist/locale/tk.min.js +1 -1
  198. package/dist/locale/tk.min.mjs +1 -1
  199. package/dist/locale/tk.mjs +1 -1
  200. package/dist/locale/tr.js +1 -1
  201. package/dist/locale/tr.min.js +1 -1
  202. package/dist/locale/tr.min.mjs +1 -1
  203. package/dist/locale/tr.mjs +1 -1
  204. package/dist/locale/ug-cn.js +1 -1
  205. package/dist/locale/ug-cn.min.js +1 -1
  206. package/dist/locale/ug-cn.min.mjs +1 -1
  207. package/dist/locale/ug-cn.mjs +1 -1
  208. package/dist/locale/uk.js +1 -1
  209. package/dist/locale/uk.min.js +1 -1
  210. package/dist/locale/uk.min.mjs +1 -1
  211. package/dist/locale/uk.mjs +1 -1
  212. package/dist/locale/uz-uz.js +1 -1
  213. package/dist/locale/uz-uz.min.js +1 -1
  214. package/dist/locale/uz-uz.min.mjs +1 -1
  215. package/dist/locale/uz-uz.mjs +1 -1
  216. package/dist/locale/vi.js +1 -1
  217. package/dist/locale/vi.min.js +1 -1
  218. package/dist/locale/vi.min.mjs +1 -1
  219. package/dist/locale/vi.mjs +1 -1
  220. package/dist/locale/zh-cn.js +1 -1
  221. package/dist/locale/zh-cn.min.js +1 -1
  222. package/dist/locale/zh-cn.min.mjs +1 -1
  223. package/dist/locale/zh-cn.mjs +1 -1
  224. package/dist/locale/zh-tw.js +1 -1
  225. package/dist/locale/zh-tw.min.js +1 -1
  226. package/dist/locale/zh-tw.min.mjs +1 -1
  227. package/dist/locale/zh-tw.mjs +1 -1
  228. package/es/components/dialog/src/dialog.d.ts +1 -1
  229. package/es/components/dialog/src/dialog.mjs.map +1 -1
  230. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  231. package/es/components/form/index.d.ts +18 -12
  232. package/es/components/form/index.mjs.map +1 -1
  233. package/es/components/form/src/form-item.d.ts +2 -3
  234. package/es/components/form/src/form-item.mjs.map +1 -1
  235. package/es/components/form/src/form-item.vue.d.ts +6 -4
  236. package/es/components/form/src/form-item2.mjs +15 -6
  237. package/es/components/form/src/form-item2.mjs.map +1 -1
  238. package/es/components/form/src/form.d.ts +1 -3
  239. package/es/components/form/src/form.mjs.map +1 -1
  240. package/es/components/form/src/form.vue.d.ts +5 -5
  241. package/es/components/form/src/form2.mjs +3 -1
  242. package/es/components/form/src/form2.mjs.map +1 -1
  243. package/es/components/input-number/src/input-number2.mjs +5 -0
  244. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  245. package/es/components/menu/src/menu.mjs +1 -1
  246. package/es/components/menu/src/menu.mjs.map +1 -1
  247. package/es/components/table/index.d.ts +1 -1
  248. package/es/components/table/src/table/style-helper.d.ts +1 -1
  249. package/es/components/table/src/table/style-helper.mjs +3 -3
  250. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  251. package/es/components/table/src/table.vue.d.ts +1 -1
  252. package/es/utils/types.mjs +5 -1
  253. package/es/utils/types.mjs.map +1 -1
  254. package/es/version.d.ts +1 -1
  255. package/es/version.mjs +1 -1
  256. package/es/version.mjs.map +1 -1
  257. package/lib/components/dialog/src/dialog.d.ts +1 -1
  258. package/lib/components/dialog/src/dialog.js.map +1 -1
  259. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  260. package/lib/components/form/index.d.ts +18 -12
  261. package/lib/components/form/index.js.map +1 -1
  262. package/lib/components/form/src/form-item.d.ts +2 -3
  263. package/lib/components/form/src/form-item.js.map +1 -1
  264. package/lib/components/form/src/form-item.vue.d.ts +6 -4
  265. package/lib/components/form/src/form-item2.js +14 -5
  266. package/lib/components/form/src/form-item2.js.map +1 -1
  267. package/lib/components/form/src/form.d.ts +1 -3
  268. package/lib/components/form/src/form.js.map +1 -1
  269. package/lib/components/form/src/form.vue.d.ts +5 -5
  270. package/lib/components/form/src/form2.js +3 -1
  271. package/lib/components/form/src/form2.js.map +1 -1
  272. package/lib/components/input-number/src/input-number2.js +5 -0
  273. package/lib/components/input-number/src/input-number2.js.map +1 -1
  274. package/lib/components/menu/src/menu.js +1 -1
  275. package/lib/components/menu/src/menu.js.map +1 -1
  276. package/lib/components/table/index.d.ts +1 -1
  277. package/lib/components/table/src/table/style-helper.d.ts +1 -1
  278. package/lib/components/table/src/table/style-helper.js +3 -3
  279. package/lib/components/table/src/table/style-helper.js.map +1 -1
  280. package/lib/components/table/src/table.vue.d.ts +1 -1
  281. package/lib/utils/types.js +5 -1
  282. package/lib/utils/types.js.map +1 -1
  283. package/lib/version.d.ts +1 -1
  284. package/lib/version.js +1 -1
  285. package/lib/version.js.map +1 -1
  286. package/package.json +2 -2
  287. package/theme-chalk/el-table.css +1 -1
  288. package/theme-chalk/index.css +1 -1
  289. package/theme-chalk/src/table.scss +2 -0
  290. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-dialog.mjs","sources":["../../../../../../packages/components/dialog/src/use-dialog.ts"],"sourcesContent":["import {\n computed,\n ref,\n watch,\n nextTick,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport { useTimeoutFn, isClient } from '@vueuse/core'\n\nimport {\n useLockscreen,\n useRestoreActive,\n useModal,\n useZIndex,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isNumber } from '@element-plus/utils'\n\nimport type { CSSProperties, Ref, SetupContext } from 'vue'\nimport type { DialogEmits, DialogProps } from './dialog'\n\nexport const useDialog = (\n props: DialogProps,\n targetRef: Ref<HTMLElement | undefined>\n) => {\n const instance = getCurrentInstance()!\n const emit = instance.emit as SetupContext<DialogEmits>['emit']\n const { nextZIndex } = useZIndex()\n\n let lastPosition = ''\n const visible = ref(false)\n const closed = ref(false)\n const rendered = ref(false) // when desctroyOnClose is true, we initialize it as false vise versa\n const zIndex = ref(props.zIndex || nextZIndex())\n\n let openTimer: (() => void) | undefined = undefined\n let closeTimer: (() => void) | undefined = undefined\n\n const normalizeWidth = computed(() =>\n isNumber(props.width) ? `${props.width}px` : props.width\n )\n\n const style = computed<CSSProperties>(() => {\n const style: CSSProperties = {}\n const varPrefix = `--el-dialog`\n if (!props.fullscreen) {\n if (props.top) {\n style[`${varPrefix}-margin-top`] = props.top\n }\n if (props.width) {\n style[`${varPrefix}-width`] = normalizeWidth.value\n }\n }\n return style\n })\n\n function afterEnter() {\n emit('opened')\n }\n\n function afterLeave() {\n emit('closed')\n emit(UPDATE_MODEL_EVENT, false)\n if (props.destroyOnClose) {\n rendered.value = false\n }\n }\n\n function beforeLeave() {\n emit('close')\n }\n\n function open() {\n closeTimer?.()\n openTimer?.()\n\n if (props.openDelay && props.openDelay > 0) {\n ;({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay))\n } else {\n doOpen()\n }\n }\n\n function close() {\n openTimer?.()\n closeTimer?.()\n\n if (props.closeDelay && props.closeDelay > 0) {\n ;({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay))\n } else {\n doClose()\n }\n }\n\n function handleClose() {\n function hide(shouldCancel: boolean) {\n if (shouldCancel) return\n closed.value = true\n visible.value = false\n }\n\n if (props.beforeClose) {\n props.beforeClose(hide)\n } else {\n close()\n }\n }\n\n function onModalClick() {\n if (props.closeOnClickModal) {\n handleClose()\n }\n }\n\n function doOpen() {\n if (!isClient) return\n visible.value = true\n }\n\n function doClose() {\n visible.value = false\n }\n\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n if (props.closeOnPressEscape) {\n useModal(\n {\n handleClose,\n },\n visible\n )\n }\n\n useRestoreActive(visible)\n\n watch(\n () => props.modelValue,\n (val) => {\n if (val) {\n closed.value = false\n open()\n rendered.value = true // enables lazy rendering\n emit('open')\n zIndex.value = props.zIndex ? zIndex.value++ : nextZIndex()\n // this.$el.addEventListener('scroll', this.updatePopper)\n nextTick(() => {\n if (targetRef.value) {\n targetRef.value.scrollTop = 0\n }\n })\n } else {\n // this.$el.removeEventListener('scroll', this.updatePopper\n if (visible.value) {\n close()\n }\n }\n }\n )\n\n watch(\n () => props.fullscreen,\n (val) => {\n if (!targetRef.value) return\n if (val) {\n lastPosition = targetRef.value.style.transform\n targetRef.value.style.transform = ''\n } else {\n targetRef.value.style.transform = lastPosition\n }\n }\n )\n\n onMounted(() => {\n if (props.modelValue) {\n visible.value = true\n rendered.value = true // enables lazy rendering\n open()\n }\n })\n\n return {\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n close,\n doClose,\n closed,\n style,\n rendered,\n visible,\n zIndex,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-dialog.mjs","sources":["../../../../../../packages/components/dialog/src/use-dialog.ts"],"sourcesContent":["import {\n computed,\n ref,\n watch,\n nextTick,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport { useTimeoutFn, isClient } from '@vueuse/core'\n\nimport {\n useLockscreen,\n useRestoreActive,\n useModal,\n useZIndex,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isNumber } from '@element-plus/utils'\n\nimport type { CSSProperties, Ref, SetupContext } from 'vue'\nimport type { DialogEmits, DialogProps } from './dialog'\n\nexport const useDialog = (\n props: DialogProps,\n targetRef: Ref<HTMLElement | undefined>\n) => {\n const instance = getCurrentInstance()!\n const emit = instance.emit as SetupContext<DialogEmits>['emit']\n const { nextZIndex } = useZIndex()\n\n let lastPosition = ''\n const visible = ref(false)\n const closed = ref(false)\n const rendered = ref(false) // when desctroyOnClose is true, we initialize it as false vise versa\n const zIndex = ref(props.zIndex || nextZIndex())\n\n let openTimer: (() => void) | undefined = undefined\n let closeTimer: (() => void) | undefined = undefined\n\n const normalizeWidth = computed(() =>\n isNumber(props.width) ? `${props.width}px` : props.width\n )\n\n const style = computed<CSSProperties>(() => {\n const style: CSSProperties = {}\n const varPrefix = `--el-dialog`\n if (!props.fullscreen) {\n if (props.top) {\n style[`${varPrefix}-margin-top`] = props.top\n }\n if (props.width) {\n style[`${varPrefix}-width`] = normalizeWidth.value\n }\n }\n return style\n })\n\n function afterEnter() {\n emit('opened')\n }\n\n function afterLeave() {\n emit('closed')\n emit(UPDATE_MODEL_EVENT, false)\n if (props.destroyOnClose) {\n rendered.value = false\n }\n }\n\n function beforeLeave() {\n emit('close')\n }\n\n function open() {\n closeTimer?.()\n openTimer?.()\n\n if (props.openDelay && props.openDelay > 0) {\n ;({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay))\n } else {\n doOpen()\n }\n }\n\n function close() {\n openTimer?.()\n closeTimer?.()\n\n if (props.closeDelay && props.closeDelay > 0) {\n ;({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay))\n } else {\n doClose()\n }\n }\n\n function handleClose() {\n function hide(shouldCancel?: boolean) {\n if (shouldCancel) return\n closed.value = true\n visible.value = false\n }\n\n if (props.beforeClose) {\n props.beforeClose(hide)\n } else {\n close()\n }\n }\n\n function onModalClick() {\n if (props.closeOnClickModal) {\n handleClose()\n }\n }\n\n function doOpen() {\n if (!isClient) return\n visible.value = true\n }\n\n function doClose() {\n visible.value = false\n }\n\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n if (props.closeOnPressEscape) {\n useModal(\n {\n handleClose,\n },\n visible\n )\n }\n\n useRestoreActive(visible)\n\n watch(\n () => props.modelValue,\n (val) => {\n if (val) {\n closed.value = false\n open()\n rendered.value = true // enables lazy rendering\n emit('open')\n zIndex.value = props.zIndex ? zIndex.value++ : nextZIndex()\n // this.$el.addEventListener('scroll', this.updatePopper)\n nextTick(() => {\n if (targetRef.value) {\n targetRef.value.scrollTop = 0\n }\n })\n } else {\n // this.$el.removeEventListener('scroll', this.updatePopper\n if (visible.value) {\n close()\n }\n }\n }\n )\n\n watch(\n () => props.fullscreen,\n (val) => {\n if (!targetRef.value) return\n if (val) {\n lastPosition = targetRef.value.style.transform\n targetRef.value.style.transform = ''\n } else {\n targetRef.value.style.transform = lastPosition\n }\n }\n )\n\n onMounted(() => {\n if (props.modelValue) {\n visible.value = true\n rendered.value = true // enables lazy rendering\n open()\n }\n })\n\n return {\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n close,\n doClose,\n closed,\n style,\n rendered,\n visible,\n zIndex,\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import Form from './src/form.vue';
2
+ import FormItem from './src/form-item.vue';
1
3
  export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
4
  readonly model: ObjectConstructor;
3
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
5
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
4
6
  readonly labelPosition: StringConstructor;
5
7
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
6
8
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -17,7 +19,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
17
19
  COMPONENT_NAME: string;
18
20
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
19
21
  readonly model: ObjectConstructor;
20
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
22
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
21
23
  readonly labelPosition: StringConstructor;
22
24
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
23
25
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -67,7 +69,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
67
69
  validate: (prop: import("./src/form-item").FormItemProp, isValid: boolean, message: string) => boolean;
68
70
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
69
71
  readonly model: ObjectConstructor;
70
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
72
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
71
73
  readonly labelPosition: StringConstructor;
72
74
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
73
75
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -85,7 +87,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
85
87
  }, {
86
88
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", unknown>;
87
89
  disabled: boolean;
88
- rules: any;
90
+ rules: Partial<Record<string, import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>>;
89
91
  labelWidth: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
90
92
  labelSuffix: string;
91
93
  showMessage: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -101,7 +103,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
101
103
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
102
104
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./src/form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
103
105
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
104
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
106
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown, unknown, unknown>;
105
107
  readonly error: StringConstructor;
106
108
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
107
109
  readonly for: StringConstructor;
@@ -115,7 +117,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
115
117
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
116
118
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./src/form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
117
119
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
118
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
120
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown, unknown, unknown>;
119
121
  readonly error: StringConstructor;
120
122
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
121
123
  readonly for: StringConstructor;
@@ -170,6 +172,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
170
172
  currentLabel: import("vue").ComputedRef<string>;
171
173
  setValidationState: (state: "" | "success" | "error" | "validating") => void;
172
174
  onValidationFailed: (error: import("../..").FormValidateFailure) => void;
175
+ onValidationSucceeded: () => void;
173
176
  doValidate: (rules: import("async-validator").RuleItem[]) => Promise<true>;
174
177
  validate: (trigger: string, callback?: import("../..").FormValidateCallback | undefined) => import("../..").FormValidationResult;
175
178
  clearValidate: () => void;
@@ -190,7 +193,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
190
193
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
191
194
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./src/form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
192
195
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
193
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
196
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown, unknown, unknown>;
194
197
  readonly error: StringConstructor;
195
198
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
196
199
  readonly for: StringConstructor;
@@ -200,7 +203,7 @@ export declare const ElForm: import("element-plus/es/utils").SFCWithInstall<impo
200
203
  }>>, {
201
204
  required: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
202
205
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", unknown>;
203
- rules: any;
206
+ rules: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown>;
204
207
  labelWidth: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
205
208
  showMessage: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
206
209
  inlineMessage: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
@@ -214,7 +217,7 @@ export declare const ElFormItem: import("element-plus/es/utils").SFCWithInstall<
214
217
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
215
218
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./src/form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
216
219
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
217
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
220
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown, unknown, unknown>;
218
221
  readonly error: StringConstructor;
219
222
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
220
223
  readonly for: StringConstructor;
@@ -228,7 +231,7 @@ export declare const ElFormItem: import("element-plus/es/utils").SFCWithInstall<
228
231
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
229
232
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./src/form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
230
233
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
231
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
234
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown, unknown, unknown>;
232
235
  readonly error: StringConstructor;
233
236
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
234
237
  readonly for: StringConstructor;
@@ -283,6 +286,7 @@ export declare const ElFormItem: import("element-plus/es/utils").SFCWithInstall<
283
286
  currentLabel: import("vue").ComputedRef<string>;
284
287
  setValidationState: (state: "" | "success" | "error" | "validating") => void;
285
288
  onValidationFailed: (error: import("../..").FormValidateFailure) => void;
289
+ onValidationSucceeded: () => void;
286
290
  doValidate: (rules: import("async-validator").RuleItem[]) => Promise<true>;
287
291
  validate: (trigger: string, callback?: import("../..").FormValidateCallback | undefined) => import("../..").FormValidationResult;
288
292
  clearValidate: () => void;
@@ -303,7 +307,7 @@ export declare const ElFormItem: import("element-plus/es/utils").SFCWithInstall<
303
307
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
304
308
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./src/form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
305
309
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
306
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
310
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown, unknown, unknown>;
307
311
  readonly error: StringConstructor;
308
312
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
309
313
  readonly for: StringConstructor;
@@ -313,7 +317,7 @@ export declare const ElFormItem: import("element-plus/es/utils").SFCWithInstall<
313
317
  }>>, {
314
318
  required: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
315
319
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", unknown>;
316
- rules: any;
320
+ rules: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").Arrayable<import("../..").FormItemRule>>, unknown, unknown>;
317
321
  labelWidth: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
318
322
  showMessage: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
319
323
  inlineMessage: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
@@ -323,3 +327,5 @@ export declare const ElFormItem: import("element-plus/es/utils").SFCWithInstall<
323
327
  export * from './src/form';
324
328
  export * from './src/form-item';
325
329
  export * from './src/types';
330
+ export declare type FormInstance = InstanceType<typeof Form>;
331
+ export declare type FormItemInstance = InstanceType<typeof FormItem>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Form from './src/form.vue'\nimport FormItem from './src/form-item.vue'\n\nexport const ElForm = withInstall(Form, {\n FormItem,\n})\nexport default ElForm\nexport const ElFormItem = withNoopInstall(FormItem)\n\nexport * from './src/form'\nexport * from './src/form-item'\nexport * from './src/types'\n"],"names":["Form","FormItem"],"mappings":";;;;;;;;AAGY,MAAC,MAAM,GAAG,WAAW,CAACA,SAAI,EAAE;AACxC,YAAEC,WAAQ;AACV,CAAC,EAAE;AAES,MAAC,UAAU,GAAG,eAAe,CAACA,WAAQ;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Form from './src/form.vue'\nimport FormItem from './src/form-item.vue'\n\nexport const ElForm = withInstall(Form, {\n FormItem,\n})\nexport default ElForm\nexport const ElFormItem = withNoopInstall(FormItem)\n\nexport * from './src/form'\nexport * from './src/form-item'\nexport * from './src/types'\n\nexport type FormInstance = InstanceType<typeof Form>\nexport type FormItemInstance = InstanceType<typeof FormItem>\n"],"names":["Form","FormItem"],"mappings":";;;;;;;;AAGY,MAAC,MAAM,GAAG,WAAW,CAACA,SAAI,EAAE;AACxC,YAAEC,WAAQ;AACV,CAAC,EAAE;AAES,MAAC,UAAU,GAAG,eAAe,CAACA,WAAQ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import type { ExtractPropTypes } from 'vue';
2
2
  import type { Arrayable } from 'element-plus/es/utils';
3
- import type FormItem from './form-item.vue';
3
+ import type { FormItemRule } from 'element-plus/es/tokens';
4
4
  export declare const formItemValidateStates: readonly ["", "error", "validating", "success"];
5
5
  export declare type FormItemValidateState = typeof formItemValidateStates[number];
6
6
  export declare type FormItemProp = Arrayable<string>;
@@ -9,7 +9,7 @@ export declare const formItemProps: {
9
9
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
10
10
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormItemProp>, unknown, unknown, unknown, unknown>;
11
11
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
12
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
12
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Arrayable<FormItemRule>>, unknown, unknown, unknown, unknown>;
13
13
  readonly error: StringConstructor;
14
14
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
15
15
  readonly for: StringConstructor;
@@ -18,4 +18,3 @@ export declare const formItemProps: {
18
18
  readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "default" | "small" | "large", unknown>;
19
19
  };
20
20
  export declare type FormItemProps = ExtractPropTypes<typeof formItemProps>;
21
- export declare type FormItemInstance = InstanceType<typeof FormItem>;
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type FormItem from './form-item.vue'\nimport type { FormItemRule } from './types'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n error: String,\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n\nexport type FormItemInstance = InstanceType<typeof FormItem>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemRule } from '@element-plus/tokens'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n error: String,\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,CAAC;;;;"}
@@ -1,13 +1,14 @@
1
1
  import type { CSSProperties } from 'vue';
2
2
  import type { RuleItem } from 'async-validator';
3
3
  import type { FormItemContext, FormItemRule, FormValidateFailure } from 'element-plus/es/tokens';
4
+ import type { Arrayable } from 'element-plus/es/utils';
4
5
  import type { FormItemValidateState } from './form-item';
5
6
  declare const _default: import("vue").DefineComponent<{
6
7
  readonly label: StringConstructor;
7
8
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
8
9
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
9
10
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
10
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
11
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Arrayable<FormItemRule>>, unknown, unknown, unknown, unknown>;
11
12
  readonly error: StringConstructor;
12
13
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
13
14
  readonly for: StringConstructor;
@@ -21,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{
21
22
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
22
23
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
23
24
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
24
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
25
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Arrayable<FormItemRule>>, unknown, unknown, unknown, unknown>;
25
26
  readonly error: StringConstructor;
26
27
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
27
28
  readonly for: StringConstructor;
@@ -76,6 +77,7 @@ declare const _default: import("vue").DefineComponent<{
76
77
  currentLabel: import("vue").ComputedRef<string>;
77
78
  setValidationState: (state: FormItemValidateState) => void;
78
79
  onValidationFailed: (error: FormValidateFailure) => void;
80
+ onValidationSucceeded: () => void;
79
81
  doValidate: (rules: RuleItem[]) => Promise<true>;
80
82
  validate: (trigger: string, callback?: import("element-plus/es/tokens").FormValidateCallback | undefined) => import("element-plus/es/tokens").FormValidationResult;
81
83
  clearValidate: () => void;
@@ -96,7 +98,7 @@ declare const _default: import("vue").DefineComponent<{
96
98
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
97
99
  readonly prop: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./form-item").FormItemProp>, unknown, unknown, unknown, unknown>;
98
100
  readonly required: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, undefined, unknown, unknown, unknown>;
99
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, unknown, unknown, unknown>;
101
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Arrayable<FormItemRule>>, unknown, unknown, unknown, unknown>;
100
102
  readonly error: StringConstructor;
101
103
  readonly validateStatus: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, "" | "success" | "error" | "validating", unknown>;
102
104
  readonly for: StringConstructor;
@@ -106,7 +108,7 @@ declare const _default: import("vue").DefineComponent<{
106
108
  }>>, {
107
109
  required: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
108
110
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", unknown>;
109
- rules: any;
111
+ rules: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<Arrayable<FormItemRule>>, unknown, unknown>;
110
112
  labelWidth: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
111
113
  showMessage: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
112
114
  inlineMessage: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
@@ -12,7 +12,7 @@ import { useSize } from '../../../hooks/use-common-props/index.mjs';
12
12
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
13
  import { addUnit } from '../../../utils/vue/style.mjs';
14
14
  import { isBoolean } from '@vueuse/core';
15
- import { isString } from '@vue/shared';
15
+ import { isString, isFunction } from '@vue/shared';
16
16
  import { getProp } from '../../../utils/objects.mjs';
17
17
 
18
18
  const _hoisted_1 = ["for"];
@@ -128,7 +128,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
128
128
  }
129
129
  setValidationState("error");
130
130
  validateMessage.value = errors ? (_b = (_a = errors == null ? void 0 : errors[0]) == null ? void 0 : _a.message) != null ? _b : `${props.prop} is required` : "";
131
- formContext.emit("validate", props.prop, !errors, validateMessage.value);
131
+ formContext.emit("validate", props.prop, false, validateMessage.value);
132
+ };
133
+ const onValidationSucceeded = () => {
134
+ setValidationState("success");
135
+ formContext.emit("validate", props.prop, true, "");
132
136
  };
133
137
  const doValidate = async (rules) => {
134
138
  const modelName = propString.value;
@@ -136,7 +140,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
136
140
  [modelName]: rules
137
141
  });
138
142
  return validator.validate({ [modelName]: fieldValue.value }, { firstFields: true }).then(() => {
139
- setValidationState("success");
143
+ onValidationSucceeded();
140
144
  return true;
141
145
  }).catch((err) => {
142
146
  onValidationFailed(err);
@@ -144,11 +148,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
144
148
  });
145
149
  };
146
150
  const validate = async (trigger, callback) => {
147
- if (!validateEnabled.value)
151
+ const hasCallback = isFunction(callback);
152
+ if (!validateEnabled.value) {
153
+ callback == null ? void 0 : callback(false);
148
154
  return false;
155
+ }
149
156
  const rules = getFilteredRule(trigger);
150
- if (rules.length === 0)
157
+ if (rules.length === 0) {
158
+ callback == null ? void 0 : callback(true);
151
159
  return true;
160
+ }
152
161
  setValidationState("validating");
153
162
  return doValidate(rules).then(() => {
154
163
  callback == null ? void 0 : callback(true);
@@ -156,7 +165,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
156
165
  }).catch((err) => {
157
166
  const { fields } = err;
158
167
  callback == null ? void 0 : callback(false, fields);
159
- return Promise.reject(fields);
168
+ return hasCallback ? false : Promise.reject(fields);
160
169
  });
161
170
  };
162
171
  const clearValidate = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"form-item2.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" :class=\"formItemClasses\">\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n useSlots,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { clone } from 'lodash-unified'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isString,\n isBoolean,\n throwError,\n} from '@element-plus/utils'\nimport { formItemContextKey, formContextKey } from '@element-plus/tokens'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport { formItemProps } from './form-item'\nimport FormLabelWrap from './form-label-wrap'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from '@element-plus/tokens'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemValidateState } from './form-item'\n\nconst COMPONENT_NAME = 'ElFormItem'\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = defineProps(formItemProps)\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey)\nif (!formContext)\n throwError(COMPONENT_NAME, 'usage: <el-form><el-form-item /></el-form>')\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\nlet initialValue: any = undefined\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (formContext.labelPosition === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth || formContext.labelWidth || '')\n if (labelWidth) return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (formContext.labelPosition === 'top' || formContext.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth || formContext.labelWidth || '')\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext.hideRequiredAsterisk),\n { [ns.m('feedback')]: formContext.statusIcon },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isString(props.prop) ? props.prop : props.prop.join('.')\n})\n\nconst labelFor = computed(() => props.for || propString.value)\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst _rules = computed(() => {\n const rules: FormItemRule[] = props.rules ? ensureArray(props.rules) : []\n\n const formRules = formContext.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (props.required !== undefined) {\n rules.push({ required: !!props.required })\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => _rules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = _rules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n _rules.value.some((rule) => rule.required === true)\n)\n\nconst shouldShowError = computed(\n () =>\n validateState.value === 'error' &&\n props.showMessage &&\n formContext.showMessage\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? errors?.[0]?.message ?? `${props.prop} is required`\n : ''\n\n formContext.emit('validate', props.prop!, !errors, validateMessage.value)\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n setValidationState('success')\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err as FormValidateFailure)\n return Promise.reject(err)\n })\n}\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n if (!validateEnabled.value) return false\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) return true\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n}\n\nconst resetField: FormItemContext['resetField'] = () => {\n const model = formContext.model\n if (!model || !props.prop) return\n\n getProp(model, props.prop).value = initialValue\n nextTick(() => clearValidate())\n}\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateState,\n resetField,\n clearValidate,\n validate,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n formContext.addField(context)\n initialValue = clone(fieldValue.value)\n }\n})\n\nonBeforeUnmount(() => {\n formContext.removeField(context)\n})\n\ndefineExpose({\n /** @description form item size */\n size: _size,\n /** @description validation message */\n validateMessage,\n /** @description validate form item */\n validate,\n /** @description clear validation status */\n clearValidate,\n /** @description reset field value */\n resetField,\n})\n</script>\n"],"names":["ensureArray"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,IAAA,MAAA,cAAA,GAAA,YAAA,CAAA;AAKA,IAAA,MAAA,KAAA,GAAA,QAAA,EAAA,CAAA;AAEA,IAAA,MAAA,cAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA;AACA,MAAA,UAAA,CAAA,cAAA,EAAA,4CAAA,CAAA,CAAA;AACA,IAAA,MAAA,qBAAA,GAAA,OAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA,KAAA,CAAA,EAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,YAAA,CAAA,WAAA,CAAA,CAAA;AAEA,IAAA,MAAA,gBAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,GAAA,EAAA,CAAA;AACA,IAAA,IAAA,YAAA,GAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,WAAA,CAAA,kBAAA,KAAA,EAAA;AACA,QAAA,OAAA,EAAA,CAAA;AAAA,OAAA;AAGA,MAAA,MAAA,UAAA,GAAA,OAAA,CAAA,KAAA,CAAA,UAAA,IAAA,YAAA,UAAA,IAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,UAAA;AAAA,QAAA,OAAA,EAAA,KAAA,EAAA,UAAA,EAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,WAAA,CAAA,aAAA,KAAA,KAAA,IAAA,WAAA,CAAA,MAAA,EAAA;AACA,QAAA,OAAA,EAAA,CAAA;AAAA,OAAA;AAEA,MAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,cAAA,QAAA,EAAA;AACA,QAAA,OAAA,EAAA,CAAA;AAAA,OAAA;AAEA,MAAA,MAAA,UAAA,GAAA,OAAA,CAAA,KAAA,CAAA,UAAA,IAAA,YAAA,UAAA,IAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,MAAA,KAAA,EAAA;AACA,QAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,CAAA;AAAA,OAAA;AAEA,MAAA,OAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AAAA,MACA,EAAA,CAAA,CAAA,EAAA;AAAA,MACA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,KAAA,KAAA,OAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,aAAA,CAAA,KAAA,KAAA,YAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,aAAA,CAAA,KAAA,KAAA,SAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,SAAA,KAAA,CAAA,QAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,aAAA,EAAA,WAAA,CAAA,oBAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,UAAA,CAAA,GAAA,WAAA,CAAA,UAAA,EAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,cAAA,GAAA,SAAA,MACA,SAAA,CAAA,MAAA,aACA,CAAA,GAAA,KAAA,CAAA,aACA,GAAA,WAAA,CAAA,aAAA,IAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AAAA,MACA,GAAA,CAAA,CAAA,OAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,cAAA,CAAA,KAAA,EAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,IAAA;AAAA,QAAA,OAAA,EAAA,CAAA;AACA,MAAA,OAAA,SAAA,KAAA,CAAA,IAAA,CAAA,GAAA,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,QAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,OAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,CAAA,CAAA,qBAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,QAAA,WAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,IAAA,EAAA;AACA,QAAA,OAAA;AAAA,OAAA;AAEA,MAAA,OAAA,OAAA,CAAA,KAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,MAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,KAAA,GAAA,KAAA,CAAA,KAAA,GAAAA,SAAA,CAAA,MAAA,KAAA,CAAA,GAAA,EAAA,CAAA;AAEA,MAAA,MAAA,YAAA,WAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,SAAA,IAAA,MAAA,IAAA,EAAA;AACA,QAAA,MAAA,OAAA,GAAA,OAAA,CACA,SACA,EAAA,KAAA,CAAA,IACA,CAAA,CAAA,KAAA,CAAA;AACA,QAAA,IAAA,OAAA,EAAA;AACA,UAAA,KAAA,CAAA,IAAA,CAAA,GAAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAIA,MAAA,IAAA,KAAA,CAAA,aAAA,KAAA,CAAA,EAAA;AACA,QAAA,KAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,KAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAA,OAAA;AAGA,MAAA,OAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,QAAA,CAAA,MAAA,MAAA,CAAA,MAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,eAAA,GAAA,CAAA,OAAA,KAAA;AACA,MAAA,MAAA,QAAA,MAAA,CAAA,KAAA,CAAA;AACA,MACA,OAAA,KAAA,CACA,MAAA,CAAA,CAAA,IAAA,KAAA;AACA,QAAA,IAAA,CAAA,IAAA,CAAA,OAAA,IAAA,CAAA,OAAA;AAAA,UAAA,OAAA,IAAA,CAAA;AACA,QAAA,IAAA,KAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,CAAA,EAAA;AACA,UAAA,OAAA,IAAA,CAAA,QAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,OAAA,KAAA,OAAA,KAAA,OAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAKA,GAAA,CAAA,CAAA,EAAA,OAAA,EAAA,QAAA,EAAA,GAAA,IAAA,EAAA,KAAA,IAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAIA,IAAA,MAAA,UAAA,GAAA,SAAA,MACA,MAAA,CAAA,MAAA,IAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,QAAA,KAAA,IAAA,CAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,SACA,MACA,aAAA,CAAA,UAAA,OACA,IAAA,KAAA,CAAA,eACA,WAAA,CAAA,WAAA,CAAA,CAAA;AAGA,IAAA,MAAA,YAAA,GAAA,SACA,MAAA,CAAA,EAAA,MAAA,KAAA,IAAA,EAAA,CAAA,EAAA,YAAA,WAAA,IAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAGA,IAAA,MAAA,kBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,kBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,EAAA;AACA,MAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,IAAA,CAAA,MAAA,EAAA;AAAA,QAAA,OAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAGA,OAAA;AACA,MAAA,0BACA,CAAA,CAAA;AAGA,MAAA,qBAAA,GAAA,MAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAA,IAAA,GAAA,EAAA,GAAA,CAAA,EAAA,KAAA,CAAA,IAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA;AAAA,MAAA,WAAA,CAAA,IAAA,CAAA,UAAA,EAAA,KAAA,CAAA,IAAA,EAAA,CAAA,MAAA,EAAA,eAAA,CAAA,KAAA,CAAA,CAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,oBAAA,KAAA,KAAA;AACA,MAAA,MAAA,SAAA,GAAA,UAAA,CAAA,KAAA,CAAA;AAAA,MAAA,MACA,SAAA,GAAA,IAAA,cAAA,CAAA;AAAA,QAAA,CAAA,SAAA,GAAA,KAAA;AAEA,OAAA,CAAA,CAAA;AAGA,MAAA,OAAA,SAAA,CAAA,QAAA,CAAA,EAAA,CAAA,SAAA,GAAA,UAAA,CAAA,KAAA,EAAA,EAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AACA,QAAA,kBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,QAEA,OAAA,IAAA,CAAA;AACA,OAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA;AACA,QAAA,kBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,QAAA,OAAA,OAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,OAAA,OAAA,EAAA,QAAA,KAAA;AAAA,MAAA,IAAA,CAAA,eAAA,CAAA,KAAA;AAEA,QAAA,YAAA,CAAA;AACA,MAAA,WAAA,GAAA,eAAA,CAAA,OAAA,CAAA,CAAA;AAAA,MAAA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA;AAEA,QAAA,OAAA,IAAA,CAAA;AAEA,MAAA,kBAAA,CACA,YAAA,CAAA,CAAA;AACA,MAAA,OAAA,UAAA,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AACA,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAAA,QAEA,OAAA,IAAA,CAAA;AACA,OAAA,CAAA,CAAA,KAAA,EAAA,GAAA,KAAA;AACA,QAAA,MAAA,EAAA,MAAA,EAAA,GAAA,GAAA,CAAA;AACA,QAAA,gBAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QAAA,OAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,MAAA;AACA,MAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;AAAA,MAAA,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,MAAA;AACA,MAAA,MAAA,KAAA,GAAA,WAAA,CAAA,KAAA,CAAA;AAAA,MAAA,IAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,IAAA;AAEA,QAAA,OAAA;AACA,MAAA,OAAA,CAAA,KAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,GAAA,YAAA,CAAA;AAAA,MAAA,QAAA,CAAA,MAAA,aAAA,EAAA,CAAA,CAAA;AAGA,KAAA,CAAA;AAGA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,QAAA,GAAA,KAAA;AACA,MAAA,eAAA,CAAA,WAAA,IAAA,EAAA,CAAA;AAAA,MAAA,kBAEA,CAAA,GAAA,GAAA,OAAA,GAAA,EAAA,CAAA,CAAA;AAGA,KAAA,EAAA,EAAA,SACA,EAAA,IAAA,EAAA,CAAA,CAAA;AAIA,IAAA,KAAA,CAAA,WAAA,CAAA,cAAA,EAAA,CAAA,GAAA,KAAA,kBAAA,CAAA,GAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAAA,IAAA,MACA,OAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,MAAA,CAAA,KAAA,CAAA;AAAA,MACA,GAAA,EAAA,WAAA;AAAA,MACA,IAAA,EAAA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MAAA,QAAA;AAGA,KAAA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,kBAAA,EAAA,OAAA,CAAA,CAAA;AACA,IAAA,gBAAA;AACA,MAAA,IAAA,KAAA,CAAA,IAAA,EAAA;AACA,QAAA,WAAA,CAAA,SAAA,OAAA,CAAA,CAAA;AAAA,QAAA,YAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OAAA;AAIA,KAAA,CAAA,CAAA;AACA,IAAA,eAAA,CAAA,MAAA;AAAA,MAAA,WAAA,CAAA,WAAA,CAAA,OAAA,CAAA,CAAA;AAGA,KAAA,CAAA,CAAA;AAAA,IAAA,MAEA,CAAA;AAAA,MAEA,IAAA,EAAA,KAAA;AAAA,MAEA,eAAA;AAAA,MAEA,QAAA;AAAA,MAEA,aAAA;AAAA,MAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"form-item2.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" :class=\"formItemClasses\">\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n nextTick,\n useSlots,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { clone } from 'lodash-unified'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isString,\n isBoolean,\n isFunction,\n throwError,\n} from '@element-plus/utils'\nimport { formItemContextKey, formContextKey } from '@element-plus/tokens'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport { formItemProps } from './form-item'\nimport FormLabelWrap from './form-label-wrap'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from '@element-plus/tokens'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemValidateState } from './form-item'\n\nconst COMPONENT_NAME = 'ElFormItem'\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = defineProps(formItemProps)\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey)\nif (!formContext)\n throwError(COMPONENT_NAME, 'usage: <el-form><el-form-item /></el-form>')\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\nlet initialValue: any = undefined\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (formContext.labelPosition === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth || formContext.labelWidth || '')\n if (labelWidth) return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (formContext.labelPosition === 'top' || formContext.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth || formContext.labelWidth || '')\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext.hideRequiredAsterisk),\n { [ns.m('feedback')]: formContext.statusIcon },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isString(props.prop) ? props.prop : props.prop.join('.')\n})\n\nconst labelFor = computed(() => props.for || propString.value)\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst _rules = computed(() => {\n const rules: FormItemRule[] = props.rules ? ensureArray(props.rules) : []\n\n const formRules = formContext.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (props.required !== undefined) {\n rules.push({ required: !!props.required })\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => _rules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = _rules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n _rules.value.some((rule) => rule.required === true)\n)\n\nconst shouldShowError = computed(\n () =>\n validateState.value === 'error' &&\n props.showMessage &&\n formContext.showMessage\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? errors?.[0]?.message ?? `${props.prop} is required`\n : ''\n\n formContext.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err as FormValidateFailure)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n}\n\nconst resetField: FormItemContext['resetField'] = () => {\n const model = formContext.model\n if (!model || !props.prop) return\n\n getProp(model, props.prop).value = initialValue\n nextTick(() => clearValidate())\n}\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateState,\n resetField,\n clearValidate,\n validate,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n formContext.addField(context)\n initialValue = clone(fieldValue.value)\n }\n})\n\nonBeforeUnmount(() => {\n formContext.removeField(context)\n})\n\ndefineExpose({\n /** @description form item size */\n size: _size,\n /** @description validation message */\n validateMessage,\n /** @description validate form item */\n validate,\n /** @description clear validation status */\n clearValidate,\n /** @description reset field value */\n resetField,\n})\n</script>\n"],"names":["ensureArray"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,IAAA,MAAA,cAAA,GAAA,YAAA,CAAA;AAKA,IAAA,MAAA,KAAA,GAAA,QAAA,EAAA,CAAA;AAEA,IAAA,MAAA,cAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA;AACA,MAAA,UAAA,CAAA,cAAA,EAAA,4CAAA,CAAA,CAAA;AACA,IAAA,MAAA,qBAAA,GAAA,OAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA,KAAA,CAAA,EAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,YAAA,CAAA,WAAA,CAAA,CAAA;AAEA,IAAA,MAAA,gBAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,GAAA,EAAA,CAAA;AACA,IAAA,IAAA,YAAA,GAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,WAAA,CAAA,kBAAA,KAAA,EAAA;AACA,QAAA,OAAA,EAAA,CAAA;AAAA,OAAA;AAGA,MAAA,MAAA,UAAA,GAAA,OAAA,CAAA,KAAA,CAAA,UAAA,IAAA,YAAA,UAAA,IAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,UAAA;AAAA,QAAA,OAAA,EAAA,KAAA,EAAA,UAAA,EAAA,CAAA;AACA,MAAA,OAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,YAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,WAAA,CAAA,aAAA,KAAA,KAAA,IAAA,WAAA,CAAA,MAAA,EAAA;AACA,QAAA,OAAA,EAAA,CAAA;AAAA,OAAA;AAEA,MAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,cAAA,QAAA,EAAA;AACA,QAAA,OAAA,EAAA,CAAA;AAAA,OAAA;AAEA,MAAA,MAAA,UAAA,GAAA,OAAA,CAAA,KAAA,CAAA,UAAA,IAAA,YAAA,UAAA,IAAA,EAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,MAAA,KAAA,EAAA;AACA,QAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,CAAA;AAAA,OAAA;AAEA,MAAA,OAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AAAA,MACA,EAAA,CAAA,CAAA,EAAA;AAAA,MACA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,KAAA,KAAA,OAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,aAAA,CAAA,KAAA,KAAA,YAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,aAAA,CAAA,KAAA,KAAA,SAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,SAAA,KAAA,CAAA,QAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,aAAA,EAAA,WAAA,CAAA,oBAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,UAAA,CAAA,GAAA,WAAA,CAAA,UAAA,EAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,cAAA,GAAA,SAAA,MACA,SAAA,CAAA,MAAA,aACA,CAAA,GAAA,KAAA,CAAA,aACA,GAAA,WAAA,CAAA,aAAA,IAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,SAAA,MAAA;AAAA,MACA,GAAA,CAAA,CAAA,OAAA,CAAA;AAAA,MACA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,cAAA,CAAA,KAAA,EAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,IAAA;AAAA,QAAA,OAAA,EAAA,CAAA;AACA,MAAA,OAAA,SAAA,KAAA,CAAA,IAAA,CAAA,GAAA,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,QAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,OAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,CAAA,CAAA,qBAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,QAAA,WAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,IAAA,EAAA;AACA,QAAA,OAAA;AAAA,OAAA;AAEA,MAAA,OAAA,OAAA,CAAA,KAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,MAAA,GAAA,SAAA,MAAA;AACA,MAAA,MAAA,KAAA,GAAA,KAAA,CAAA,KAAA,GAAAA,SAAA,CAAA,MAAA,KAAA,CAAA,GAAA,EAAA,CAAA;AAEA,MAAA,MAAA,YAAA,WAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,SAAA,IAAA,MAAA,IAAA,EAAA;AACA,QAAA,MAAA,OAAA,GAAA,OAAA,CACA,SACA,EAAA,KAAA,CAAA,IACA,CAAA,CAAA,KAAA,CAAA;AACA,QAAA,IAAA,OAAA,EAAA;AACA,UAAA,KAAA,CAAA,IAAA,CAAA,GAAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAIA,MAAA,IAAA,KAAA,CAAA,aAAA,KAAA,CAAA,EAAA;AACA,QAAA,KAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,KAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAA,OAAA;AAGA,MAAA,OAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,QAAA,CAAA,MAAA,MAAA,CAAA,MAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,eAAA,GAAA,CAAA,OAAA,KAAA;AACA,MAAA,MAAA,QAAA,MAAA,CAAA,KAAA,CAAA;AACA,MACA,OAAA,KAAA,CACA,MAAA,CAAA,CAAA,IAAA,KAAA;AACA,QAAA,IAAA,CAAA,IAAA,CAAA,OAAA,IAAA,CAAA,OAAA;AAAA,UAAA,OAAA,IAAA,CAAA;AACA,QAAA,IAAA,KAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,CAAA,EAAA;AACA,UAAA,OAAA,IAAA,CAAA,QAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,OAAA,KAAA,OAAA,KAAA,OAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAKA,GAAA,CAAA,CAAA,EAAA,OAAA,EAAA,QAAA,EAAA,GAAA,IAAA,EAAA,KAAA,IAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAIA,IAAA,MAAA,UAAA,GAAA,SAAA,MACA,MAAA,CAAA,MAAA,IAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,QAAA,KAAA,IAAA,CAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,GAAA,SACA,MACA,aAAA,CAAA,UAAA,OACA,IAAA,KAAA,CAAA,eACA,WAAA,CAAA,WAAA,CAAA,CAAA;AAGA,IAAA,MAAA,YAAA,GAAA,SACA,MAAA,CAAA,EAAA,MAAA,KAAA,IAAA,EAAA,CAAA,EAAA,YAAA,WAAA,IAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAGA,IAAA,MAAA,kBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,aAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,KAAA,CAAA;AAGA,IAAA,MAAA,kBAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,EAAA,EAAA;AACA,MAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,IAAA,CAAA,MAAA,EAAA;AAAA,QAAA,OAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAGA,OAAA;AACA,MAAA,0BACA,CAAA,CAAA;AAGA,MAAA,eAAA,CAAA,KAAA,GAAA,MAAA,GAAA,CAAA,EAAA,GAAA,CAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAA,IAAA,GAAA,EAAA,GAAA,CAAA,EAAA,KAAA,CAAA,IAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA;AAAA,MAAA,WAAA,CAAA,IAAA,CAAA,UAAA,EAAA,KAAA,CAAA,IAAA,EAAA,KAAA,EAAA,eAAA,CAAA,KAAA,CAAA,CAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,qBAAA,GAAA,MAAA;AACA,MAAA,kBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,MAAA,WAAA,CAAA,IAAA,CAAA,UAAA,EAAA,KAAA,CAAA,IAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,oBAAA,KAAA,KAAA;AACA,MAAA,MAAA,SAAA,GAAA,UAAA,CAAA,KAAA,CAAA;AAAA,MAAA,MACA,SAAA,GAAA,IAAA,cAAA,CAAA;AAAA,QAAA,CAAA,SAAA,GAAA,KAAA;AAEA,OAAA,CAAA,CAAA;AAGA,MAAA,OAAA,SAAA,CAAA,QAAA,CAAA,EAAA,CAAA,SAAA,GAAA,UAAA,CAAA,KAAA,EAAA,EAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AACA,QAAA,qBAAA,EAAA,CAAA;AAAA,QAEA,OAAA,IAAA,CAAA;AACA,OAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA;AACA,QAAA,kBAAA,CAAA,GAAA,CAAA,CAAA;AAAA,QAAA,OAAA,OAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AACA,IAAA,MAAA,kBAAA,OAAA,EAAA,QAAA,KAAA;AACA,MAAA,8BAAA,CAAA,QAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,eAAA,CAAA,KAAA,EAAA;AACA,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,QAAA,OAAA,KAAA,CAAA;AAGA,OAAA;AACA,MAAA,MAAA,uBAAA,CAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACA,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAAA,QAAA,OAAA,IAAA,CAAA;AAGA,OAAA;AAEA,MAAA,kBAAA,CACA,YAAA,CAAA,CAAA;AACA,MAAA,OAAA,UAAA,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,MAAA;AACA,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAAA,QAEA,OAAA,IAAA,CAAA;AACA,OAAA,CAAA,CAAA,KAAA,EAAA,GAAA,KAAA;AACA,QAAA,MAAA,EAAA,MAAA,EAAA,GAAA,GAAA,CAAA;AACA,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QAAA,OAAA,WAAA,GAAA,KAAA,GAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAIA,KAAA,CAAA;AACA,IAAA,MAAA,aAAA,GAAA,MAAA;AACA,MAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;AAAA,MAAA,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA;AAGA,KAAA,CAAA;AACA,IAAA,MAAA,UAAA,GAAA,MAAA;AACA,MAAA,MAAA,KAAA,GAAA,WAAA,CAAA,KAAA,CAAA;AAAA,MAAA,IAAA,CAAA,KAAA,IAAA,CAAA,KAAA,CAAA,IAAA;AAEA,QAAA,OAAA;AACA,MAAA,OAAA,CAAA,KAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,GAAA,YAAA,CAAA;AAAA,MAAA,QAAA,CAAA,MAAA,aAAA,EAAA,CAAA,CAAA;AAGA,KAAA,CAAA;AAGA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,QAAA,GAAA,KAAA;AACA,MAAA,eAAA,CAAA,WAAA,IAAA,EAAA,CAAA;AAAA,MAAA,kBAEA,CAAA,GAAA,GAAA,OAAA,GAAA,EAAA,CAAA,CAAA;AAGA,KAAA,EAAA,EAAA,SACA,EAAA,IAAA,EAAA,CAAA,CAAA;AAIA,IAAA,KAAA,CAAA,WAAA,CAAA,cAAA,EAAA,CAAA,GAAA,KAAA,kBAAA,CAAA,GAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAAA,IAAA,MACA,OAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,MAAA,CAAA,KAAA,CAAA;AAAA,MACA,GAAA,EAAA,WAAA;AAAA,MACA,IAAA,EAAA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MAAA,QAAA;AAGA,KAAA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,kBAAA,EAAA,OAAA,CAAA,CAAA;AACA,IAAA,gBAAA;AACA,MAAA,IAAA,KAAA,CAAA,IAAA,EAAA;AACA,QAAA,WAAA,CAAA,SAAA,OAAA,CAAA,CAAA;AAAA,QAAA,YAAA,GAAA,KAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OAAA;AAIA,KAAA,CAAA,CAAA;AACA,IAAA,eAAA,CAAA,MAAA;AAAA,MAAA,WAAA,CAAA,WAAA,CAAA,OAAA,CAAA,CAAA;AAGA,KAAA,CAAA,CAAA;AAAA,IAAA,MAEA,CAAA;AAAA,MAEA,IAAA,EAAA,KAAA;AAAA,MAEA,eAAA;AAAA,MAEA,QAAA;AAAA,MAEA,aAAA;AAAA,MAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,8 @@
1
1
  import type { ExtractPropTypes } from 'vue';
2
2
  import type { FormItemProp } from './form-item';
3
- import type Form from './form.vue';
4
3
  export declare const formProps: {
5
4
  readonly model: ObjectConstructor;
6
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
5
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus/es/tokens").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
7
6
  readonly labelPosition: StringConstructor;
8
7
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
9
8
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -22,4 +21,3 @@ export declare const formEmits: {
22
21
  validate: (prop: FormItemProp, isValid: boolean, message: string) => boolean;
23
22
  };
24
23
  export declare type FormEmits = typeof formEmits;
25
- export declare type FormInstance = InstanceType<typeof Form>;
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isString,\n isBoolean,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\nimport type Form from './form.vue'\n\nexport const formProps = buildProps({\n model: Object,\n rules: {\n type: definePropType<FormRules>(Object),\n },\n labelPosition: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n labelSuffix: {\n type: String,\n default: '',\n },\n inline: Boolean,\n inlineMessage: Boolean,\n statusIcon: Boolean,\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n disabled: Boolean,\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n scrollToError: Boolean,\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n\nexport type FormInstance = InstanceType<typeof Form>\n"],"names":[],"mappings":";;;;;;;AAQY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;AACpH;;;;"}
1
+ {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isString,\n isBoolean,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from '@element-plus/tokens'\n\nexport const formProps = buildProps({\n model: Object,\n rules: {\n type: definePropType<FormRules>(Object),\n },\n labelPosition: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n labelSuffix: {\n type: String,\n default: '',\n },\n inline: Boolean,\n inlineMessage: Boolean,\n statusIcon: Boolean,\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n disabled: Boolean,\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n hideRequiredAsterisk: {\n type: Boolean,\n default: false,\n },\n scrollToError: Boolean,\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":[],"mappings":";;;;;;;AAQY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;AACpH;;;;"}
@@ -1,9 +1,9 @@
1
- import { type Arrayable } from 'element-plus/es/utils';
1
+ import type { Arrayable } from 'element-plus/es/utils';
2
2
  import type { FormItemContext, FormValidateCallback, FormValidationResult } from 'element-plus/es/tokens';
3
3
  import type { FormItemProp } from './form-item';
4
4
  declare const _default: import("vue").DefineComponent<{
5
5
  readonly model: ObjectConstructor;
6
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
6
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, Arrayable<import("element-plus/es/tokens").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
7
7
  readonly labelPosition: StringConstructor;
8
8
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
9
9
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -20,7 +20,7 @@ declare const _default: import("vue").DefineComponent<{
20
20
  COMPONENT_NAME: string;
21
21
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
22
22
  readonly model: ObjectConstructor;
23
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
23
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, Arrayable<import("element-plus/es/tokens").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
24
24
  readonly labelPosition: StringConstructor;
25
25
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
26
26
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -70,7 +70,7 @@ declare const _default: import("vue").DefineComponent<{
70
70
  validate: (prop: FormItemProp, isValid: boolean, message: string) => boolean;
71
71
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
72
72
  readonly model: ObjectConstructor;
73
- readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<FormRules>, unknown, unknown, unknown, unknown>;
73
+ readonly rules: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Record<string, Arrayable<import("element-plus/es/tokens").FormItemRule>>>>, unknown, unknown, unknown, unknown>;
74
74
  readonly labelPosition: StringConstructor;
75
75
  readonly labelWidth: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
76
76
  readonly labelSuffix: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
@@ -88,7 +88,7 @@ declare const _default: import("vue").DefineComponent<{
88
88
  }, {
89
89
  size: import("element-plus/es/utils").BuildPropType<StringConstructor, "default" | "small" | "large", unknown>;
90
90
  disabled: boolean;
91
- rules: any;
91
+ rules: Partial<Record<string, Arrayable<import("element-plus/es/tokens").FormItemRule>>>;
92
92
  labelWidth: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
93
93
  labelSuffix: string;
94
94
  showMessage: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -7,6 +7,7 @@ import { filterFields, useFormLabelWidth } from './utils.mjs';
7
7
  import { useSize } from '../../../hooks/use-common-props/index.mjs';
8
8
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
9
  import { debugWarn } from '../../../utils/error.mjs';
10
+ import { isFunction } from '@vue/shared';
10
11
  import { formContextKey } from '../../../tokens/form.mjs';
11
12
 
12
13
  const __default__ = {
@@ -91,6 +92,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
92
  return Promise.reject(validationErrors);
92
93
  };
93
94
  const validateField = async (modelProps = [], callback) => {
95
+ const shouldThrow = !isFunction(callback);
94
96
  try {
95
97
  const result = await doValidateField(modelProps);
96
98
  if (result === true) {
@@ -103,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
103
105
  scrollToField(Object.keys(invalidFields)[0]);
104
106
  }
105
107
  callback == null ? void 0 : callback(false, invalidFields);
106
- return Promise.reject(invalidFields);
108
+ return shouldThrow && Promise.reject(invalidFields);
107
109
  }
108
110
  };
109
111
  const scrollToField = (prop) => {
@@ -1 +1 @@
1
- {"version":3,"file":"form2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, type Arrayable } from '@element-plus/utils'\nimport { formContextKey } from '@element-plus/tokens'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { formProps, formEmits } from './form'\nimport { useFormLabelWidth, filterFields } from './utils'\nimport type { ValidateFieldsError } from 'async-validator'\nimport type {\n FormItemContext,\n FormContext,\n FormValidateCallback,\n FormValidationResult,\n} from '@element-plus/tokens'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: 'ElForm',\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n ns.m(formSize.value),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst 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 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 const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n callback?.(false, invalidFields)\n return 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) validate()\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /** @description validate form */\n validate,\n /** @description validate form field */\n validateField,\n /** @description reset fields */\n resetFields,\n /** @description clear validation status */\n clearValidate,\n /** @description scroll to field */\n scrollToField,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { formContextKey } from '@element-plus/tokens'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { formProps, formEmits } from './form'\nimport { useFormLabelWidth, filterFields } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormContext,\n FormValidateCallback,\n FormValidationResult,\n} from '@element-plus/tokens'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: 'ElForm',\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n ns.m(formSize.value),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst 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 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) validate()\n },\n { deep: true }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /** @description validate form */\n validate,\n /** @description validate form field */\n validateField,\n /** @description reset fields */\n resetFields,\n /** @description clear validation status */\n clearValidate,\n /** @description scroll to field */\n scrollToField,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -116,6 +116,11 @@ const _sfc_main = defineComponent({
116
116
  const setCurrentValue = (newVal) => {
117
117
  var _a;
118
118
  const oldVal = data.currentValue;
119
+ if (props.stepStrictly) {
120
+ const stepPrecision = getPrecision(props.step);
121
+ const precisionFactor = 10 ** stepPrecision;
122
+ newVal = Math.round(newVal / props.step) * precisionFactor * props.step / precisionFactor;
123
+ }
119
124
  if (typeof newVal === "number" && props.precision !== void 0) {
120
125
  newVal = toPrecision(newVal, props.precision);
121
126
  }