UNPKG

react-form-krafter

Version:

A flexible form engine for React powered by Standard Schema

34 lines (33 loc) 881 B
import { ComponentType } from 'react'; import { BaseField } from './field.types'; import { FieldMethods } from './form.types'; export type RegisterField<T> = BaseField & { value: T; error: string | null; isTouched: boolean; isDirty: boolean; isFocused: boolean; isDefaultValue: boolean; isPristine: boolean; isBlurred: boolean; isDisabled: boolean; isErrorVisible: boolean; }; export type RegisterFieldRenderProps<T> = { field: RegisterField<T>; methods: FieldMethods; }; export type RegisterComponent<T> = { type: string; render: ComponentType<RegisterFieldRenderProps<T>>; }; export type RegisterSettings = Partial<{ updateDebounce: number; labels: Partial<{ required: string; }>; }>; export type RegisterContext<T> = { components: RegisterComponent<T>[]; settings?: RegisterSettings | null; };