@base-ui-components/react
Version:
Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.
28 lines • 1.31 kB
TypeScript
import * as React from 'react';
import type { FieldRoot, FieldValidityData } from "./FieldRoot.js";
import type { Form } from "../../form/index.js";
import type { UseFieldValidationReturnValue } from "./useFieldValidation.js";
export interface FieldRootContext {
invalid: boolean | undefined;
name: string | undefined;
validityData: FieldValidityData;
setValidityData: React.Dispatch<React.SetStateAction<FieldValidityData>>;
disabled: boolean | undefined;
touched: boolean;
setTouched: React.Dispatch<React.SetStateAction<boolean>>;
dirty: boolean;
setDirty: React.Dispatch<React.SetStateAction<boolean>>;
filled: boolean;
setFilled: React.Dispatch<React.SetStateAction<boolean>>;
focused: boolean;
setFocused: React.Dispatch<React.SetStateAction<boolean>>;
validate: (value: unknown, formValues: Record<string, unknown>) => string | string[] | null | Promise<string | string[] | null>;
validationMode: Form.ValidationMode;
validationDebounceTime: number;
shouldValidateOnChange: () => boolean;
state: FieldRoot.State;
markedDirtyRef: React.MutableRefObject<boolean>;
validation: UseFieldValidationReturnValue;
}
export declare const FieldRootContext: React.Context<FieldRootContext>;
export declare function useFieldRootContext(optional?: boolean): FieldRootContext;