/* eslint-disable react/display-name */ import { createContext, Dispatch, PropsWithChildren, SetStateAction, } from 'react'; import { DataTypeSingle } from '../types/types'; export type FormContextType = { name: string; data: object; updateField?: (field: string, value: unknown) => void; getFieldValue: (field: string) => DataTypeSingle; getData: () => object; setData?: Dispatch>; }; export const FormContext = createContext({ name: '', data: {}, getFieldValue: () => undefined, getData: () => ({}), }); export interface Props extends PropsWithChildren { name: string; getData: () => DataType; getFieldValue: (field: string) => DataTypeSingle; updateField: (field: string, value: never) => void; data: Partial; setData: Dispatch>; } const Provider = ({ children, name, getData, updateField, getFieldValue, data, setData, }: Props) => { return ( {children} ); }; export default Provider;