{"version":3,"file":"FormProvider.cjs","sources":["../../src/FormProvider/FormProvider.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { _TransformValues, UseForm, UseFormReturnType } from '../types';\nimport { useForm } from '../use-form';\n\nexport interface FormProviderProps<Form> {\n  form: Form;\n  children: React.ReactNode;\n}\n\nexport function createFormContext<\n  Values,\n  TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>() {\n  type Form = UseFormReturnType<Values, TransformValues>;\n\n  const FormContext = createContext<Form | null>(null);\n\n  function FormProvider({ form, children }: FormProviderProps<Form>) {\n    return <FormContext.Provider value={form}>{children}</FormContext.Provider>;\n  }\n\n  function useFormContext() {\n    const ctx = useContext(FormContext);\n    if (!ctx) {\n      throw new Error('useFormContext was called outside of FormProvider context');\n    }\n\n    return ctx;\n  }\n\n  return [FormProvider, useFormContext, useForm] as [\n    React.FC<FormProviderProps<Form>>,\n    () => Form,\n    UseForm<Values, TransformValues>,\n  ];\n}\n"],"names":["createContext","useContext","useForm"],"mappings":";;;;;;;AASO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAGZ,CAAA,CAAA,CAAA,CAAA;AAGF,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcA,oBAA2B,IAAI,CAAA,CAAA;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,YAAa,CAAA,CAAA,CAAE,IAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAqC,CAAA,CAAA,CAAA;AACjE,CAAA,CAAA,CAAA,CAAA,sCAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAZ,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAiB,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,iBAAW,WAAW,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,MAAM,2DAA2D,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAG7E,CAAA,CAAA,CAAA,CAAO,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGT,CAAA,CAAO,OAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgBC,eAAO,CAAA,CAAA;AAK/C,CAAA;;"}