UNPKG

@tutim/headless

Version:

form infrastructure for web applications

42 lines (41 loc) 1.56 kB
import React from 'react'; import { FieldComponents, TutimProviderProps, TutimOptionsProviderValue } from '@tutim/types'; export declare const FieldComponentsContext: React.Context<FieldComponents>; export declare const useFieldComponents: () => FieldComponents; export declare const TutimOptionsContext: React.Context<TutimOptionsProviderValue>; export declare const useTutimOptions: () => TutimOptionsProviderValue; /** * a context provider to manage form infrastructure. * * @remarks * [API](https://docs.tutim.io/) • [Builder](https://tutim.io/) * * @param props - all tutim form configurations and components. * * @example * ```tsx * import { TutimProvider } from '@tutim/headless'; * import { defaultFields } from '@tutim/fields'; * import { FieldComponents } from '@tutim/types'; * import { SimpleForm } from './SimpleForm'; * import { CustomField } from './CustomField'; * * const fieldComponents: FieldComponents = { * ...defaultFields, // optional built in input fields based on MUI * text: ({ inputProps }) => <input {...inputProps} />, * 'custom-field': (fieldProps) => <CustomField {...fieldProps} />, * // add any type of input and reference it by 'type' * }; * * export const App = (): JSX.Element => { * return ( * <div className="App"> * <TutimProvider fieldComponents={fieldComponents}> * <SimpleForm /> * </TutimProvider> * </div> * ); * }; * ``` */ export declare const TutimProvider: ({ fieldComponents, options, children, }: TutimProviderProps) => JSX.Element;