{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/submit/src/index.ts"],"sourcesContent":["import { defineComponent, SetupContext } from \"vue\";\nimport { h, useParentForm } from \"@formily/vue\";\nimport { observer } from \"@formily/reactive-vue\";\n\nimport { ElButton, buttonProps } from \"element-plus\";\nimport { buildProps } from \"element-plus/es/utils/index\";\n\nexport const submitProps = buildProps({\n  onClick: {\n    type: Function\n  },\n  onSubmit: {\n    type: Function\n  },\n  onSubmitSuccess: {\n    type: Function\n  },\n  onSubmitFailed: {\n    type: Function\n  }\n});\n\nexport const Submit = observer(\n  defineComponent({\n    name: \"FSubmit\",\n    props: { ...buttonProps, ...submitProps },\n    setup(props, { slots }: SetupContext) {\n      const formRef = useParentForm();\n\n      return () => {\n        const {\n          onClick = props?.onClick,\n          onSubmit = props?.onSubmit,\n          onSubmitSuccess = props?.onSubmitSuccess,\n          onSubmitFailed = props?.onSubmitFailed,\n          type,\n          nativeType,\n          loading,\n          ...reset\n        } = props;\n\n        const form = formRef?.value;\n\n        return h(\n          ElButton,\n          {\n            ...reset,\n            nativeType: nativeType || \"submit\",\n            type: type || \"primary\",\n            loading: loading || form?.submitting,\n            onClick: (e: any) => {\n              if (onClick) {\n                if (onClick(e) === false) return;\n              }\n              if (onSubmit) {\n                form\n                  ?.submit(onSubmit as (e: any) => void)\n                  .then(onSubmitSuccess as (e: any) => void)\n                  .catch(onSubmitFailed as (e: any) => void);\n              }\n            }\n          },\n          slots\n        );\n      };\n    }\n  })\n);\n\nexport default Submit;\n"],"names":[],"mappings":";;;;;;AAOO,MAAM,cAAc,UAAW,CAAA;AAAA,EACpC,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,GACR;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,QAAA;AAAA,GACR;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,QAAA;AAAA,GACR;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAM,EAAA,QAAA;AAAA,GACR;AACF,CAAC,EAAA;AAEM,MAAM,MAAS,GAAA,QAAA;AAAA,EACpB,eAAgB,CAAA;AAAA,IACd,IAAM,EAAA,SAAA;AAAA,IACN,KAAO,EAAA,EAAE,GAAG,WAAA,EAAa,GAAG,WAAY,EAAA;AAAA,IACxC,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAuB,EAAA;AACpC,MAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAE9B,MAAA,OAAO,MAAM;AACX,QAAM,MAAA;AAAA,UACJ,UAAU,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,OAAA;AAAA,UACjB,WAAW,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,QAAA;AAAA,UAClB,kBAAkB,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,eAAA;AAAA,UACzB,iBAAiB,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,cAAA;AAAA,UACxB,IAAA;AAAA,UACA,UAAA;AAAA,UACA,OAAA;AAAA,UACA,GAAG,KAAA;AAAA,SACD,GAAA,KAAA,CAAA;AAEJ,QAAA,MAAM,OAAO,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA;AAEtB,QAAO,OAAA,CAAA;AAAA,UACL,QAAA;AAAA,UACA;AAAA,YACE,GAAG,KAAA;AAAA,YACH,YAAY,UAAc,IAAA,QAAA;AAAA,YAC1B,MAAM,IAAQ,IAAA,SAAA;AAAA,YACd,OAAA,EAAS,YAAW,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,UAAA,CAAA;AAAA,YAC1B,OAAA,EAAS,CAAC,CAAW,KAAA;AACnB,cAAA,IAAI,OAAS,EAAA;AACX,gBAAI,IAAA,OAAA,CAAQ,CAAC,CAAM,KAAA,KAAA;AAAO,kBAAA,OAAA;AAAA,eAC5B;AACA,cAAA,IAAI,QAAU,EAAA;AACZ,gBAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CACI,MAAO,CAAA,QAAA,CAAA,CACR,IAAK,CAAA,eAAA,CAAA,CACL,KAAM,CAAA,cAAA,CAAA,CAAA;AAAA,eACX;AAAA,aACF;AAAA,WACF;AAAA,UACA,KAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACD,CAAA;AACH;;;;"}