@formulier/react
Version:
Simple, performant form library for React
14 lines (13 loc) • 1.2 kB
TypeScript
import * as React from 'react';
import { Formulier } from '@formulier/core';
import type { FormulierOptions, Primitives, Values } from '@formulier/core';
import type { FormContext, FormProviderProps, Selector } from './types.js';
declare function FormProvider<V extends Values, P = Primitives>({ form, children }: FormProviderProps<V, P>): React.FunctionComponentElement<React.ProviderProps<FormContext<Values, Primitives> | undefined>>;
declare function useFormInstance<V extends Values, P = Primitives>(): Formulier<V, P>;
declare function useOptionalFormInstance<V extends Values, P = Primitives>(): Formulier<V, P> | null;
declare function useCreateForm<V extends Values, P = Primitives>(options: FormulierOptions<V, P>): Formulier<V, P>;
declare function useFormSelector<V extends Values, P, Result>(form: Formulier<V, P>, selector: Selector<V, P, Result>, equalityFn?: (a: Result, b: Result) => boolean): Result;
declare function useSubmitHandler<V extends Values, P>(form: Formulier<V, P>, onSubmit: (values: V) => void): (event: {
preventDefault?: () => void;
}) => void;
export { FormProvider, useFormInstance, useOptionalFormInstance, useCreateForm, useFormSelector, useSubmitHandler };