UNPKG

@modular-forms/solid

Version:

The modular and type-safe form library for SolidJS

31 lines (30 loc) 1.41 kB
import { type JSX } from 'solid-js'; import type { FieldArrayPath, FieldValues, FormStore, Maybe, MaybeArray, ResponseData, ValidateFieldArray, ValidationMode } from '../types'; /** * Value type ot the field store. */ export type FieldArrayStore<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues>> = { get name(): TFieldArrayName; get items(): number[]; get error(): string; get active(): boolean; get touched(): boolean; get dirty(): boolean; }; /** * Value type of the field array props. */ export type FieldArrayProps<TFieldValues extends FieldValues, TResponseData extends ResponseData, TFieldArrayName extends FieldArrayPath<TFieldValues>> = { of: FormStore<TFieldValues, TResponseData>; name: TFieldArrayName; children: (store: FieldArrayStore<TFieldValues, TFieldArrayName>) => JSX.Element; validate?: Maybe<MaybeArray<ValidateFieldArray<number[]>>>; validateOn?: Maybe<ValidationMode>; revalidateOn?: Maybe<ValidationMode>; keepActive?: Maybe<boolean>; keepState?: Maybe<boolean>; }; /** * Headless field array that provides reactive properties and state. */ export declare function FieldArray<TFieldValues extends FieldValues, TResponseData extends ResponseData, TFieldArrayName extends FieldArrayPath<TFieldValues>>(props: FieldArrayProps<TFieldValues, TResponseData, TFieldArrayName>): JSX.Element;