{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/form/src/index.ts"],"sourcesContent":["import { Component, VNode, defineComponent } from \"vue\";\nimport type { PropType, SetupContext } from \"vue\";\nimport { Form as FormType, IFormFeedback } from \"@formily/core\";\nimport { FormProvider as _FormProvider, useForm, h } from \"@formily/vue\";\nimport { buildProps } from \"element-plus/es/utils/vue/props/runtime\";\n\nimport { PreviewText } from \"../../preview-text\";\nimport { FormLayout, formLayoutProps } from \"../../form-layout\";\n\nconst FormProvider = _FormProvider as unknown as Component;\n\nexport const formProps = {\n  ...formLayoutProps,\n  ...buildProps({\n    form: {\n      type: Object as PropType<FormType>\n    },\n    component: {\n      type: Object as PropType<Component>\n    },\n    previewTextPlaceholder: {\n      type: [String, Function] as PropType<string | (() => VNode)>\n    },\n    onAutoSubmit: {\n      type: Function as PropType<(values: any) => any>\n    },\n    onAutoSubmitFailed: {\n      type: Function as PropType<(feedbacks: IFormFeedback[]) => void>\n    }\n  })\n};\n\nexport const Form = defineComponent({\n  name: \"FForm\",\n  inheritAttrs: false,\n  props: formProps,\n  setup(props, { slots }: SetupContext) {\n    const top = useForm();\n\n    return () => {\n      const {\n        form,\n        component = \"form\",\n        onAutoSubmit,\n        onAutoSubmitFailed,\n        previewTextPlaceholder = slots?.previewTextPlaceholder,\n        ...other\n      } = props;\n      const renderContent = (form: FormType) => {\n        return h(\n          PreviewText.Placeholder,\n          {\n            value: previewTextPlaceholder\n          },\n          {\n            default: () => [\n              h(FormLayout, other, {\n                default: () => [\n                  h(\n                    component,\n                    {\n                      onSubmit: (e: Event) => {\n                        e?.stopPropagation?.();\n                        e?.preventDefault?.();\n                        if (onAutoSubmit) {\n                          form\n                            .submit(onAutoSubmit as (e: any) => void)\n                            .catch(onAutoSubmitFailed as (e: any) => void);\n                        }\n                      }\n                    },\n                    slots\n                  )\n                ]\n              })\n            ]\n          }\n        );\n      };\n\n      if (form) {\n        return h(\n          FormProvider,\n          { form },\n          {\n            default: () => renderContent(form)\n          }\n        );\n      }\n\n      if (!top.value) throw new Error(\"must pass form instance by createForm\");\n\n      return renderContent(top.value);\n    };\n  }\n});\n\nexport default Form;\n"],"names":["_FormProvider","form"],"mappings":"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"}