{"version":3,"file":"useForm-CR9XoNJ7.js","sources":["../../src/lightspeed/components/form/FormItem.vue","../../src/lightspeed/components/form/useFormField.ts","../../src/lightspeed/components/form/useForm.ts"],"sourcesContent":["\n\n\n\n\n","import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from \"vee-validate\";\nimport { inject } from \"vue\";\nimport { FORM_ITEM_INJECTION_KEY } from \"./FormItem.vue\";\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey);\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY);\n\n const fieldState = {\n valid: useIsFieldValid(),\n isDirty: useIsFieldDirty(),\n isTouched: useIsFieldTouched(),\n error: useFieldError(),\n };\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within \");\n }\n\n const { name } = fieldContext;\n const id = fieldItemContext;\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n}\n","import { useField, useForm as useVeeValidateForm } from \"vee-validate\";\nimport { useProvideFormContext } from \"./useFormContext\";\n\nexport const useForm: typeof useVeeValidateForm = options => {\n const form = useVeeValidateForm(options);\n useProvideFormContext();\n\n const serverError = useField(\"server\");\n // @ts-expect-error Error due to\n const handleSubmit: typeof form.handleSubmit = (cb, onValidationError) => {\n return form.handleSubmit(async (values, ctx) => {\n try {\n await cb(values, ctx);\n } catch (error) {\n if (error instanceof Error) {\n serverError.setErrors(error.message);\n }\n throw error;\n }\n }, onValidationError);\n };\n\n handleSubmit.withControlled = form.handleSubmit.withControlled;\n\n return {\n ...form,\n handleSubmit,\n };\n};\n"],"names":["FORM_ITEM_INJECTION_KEY","id","useId","provide","useFormField","fieldContext","inject","FieldContextKey","fieldItemContext","fieldState","useIsFieldValid","useIsFieldDirty","useIsFieldTouched","useFieldError","name","useForm","options","form","useVeeValidateForm","useProvideFormContext","serverError","useField","handleSubmit","cb","onValidationError","values","ctx","error"],"mappings":"icAGaA,EACT,OAAO,WAAW,kCAOtB,MAAMC,EAAKC,EAAM,EACjB,OAAAC,EAAQH,EAAyBC,CAAE,qDCR5B,SAASG,GAAe,CACvB,MAAAC,EAAeC,EAAOC,CAAe,EACrCC,EAAmBF,EAAON,CAAuB,EAEjDS,EAAa,CACjB,MAAOC,EAAgB,EACvB,QAASC,EAAgB,EACzB,UAAWC,EAAkB,EAC7B,MAAOC,EAAc,CACvB,EAEA,GAAI,CAACR,EACG,MAAA,IAAI,MAAM,gDAAgD,EAG5D,KAAA,CAAE,KAAAS,GAAST,EACXJ,EAAKO,EAEJ,MAAA,CACL,GAAAP,EACA,KAAAa,EACA,WAAY,GAAGb,CAAE,aACjB,kBAAmB,GAAGA,CAAE,yBACxB,cAAe,GAAGA,CAAE,qBACpB,GAAGQ,CACL,CACF,CC3BO,MAAMM,EAAgDC,GAAA,CACrD,MAAAC,EAAOC,EAAmBF,CAAO,EACjBG,EAAA,EAEhB,MAAAC,EAAcC,EAAS,QAAQ,EAE/BC,EAAyC,CAACC,EAAIC,IAC3CP,EAAK,aAAa,MAAOQ,EAAQC,IAAQ,CAC1C,GAAA,CACI,MAAAH,EAAGE,EAAQC,CAAG,QACbC,EAAO,CACd,MAAIA,aAAiB,OACPP,EAAA,UAAUO,EAAM,OAAO,EAE/BA,CAAA,GAEPH,CAAiB,EAGT,OAAAF,EAAA,eAAiBL,EAAK,aAAa,eAEzC,CACL,GAAGA,EACH,aAAAK,CACF,CACF"}