UNPKG

@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.

32 lines 1.66 kB
import * as React from 'react'; import { FieldRoot } from "../root/FieldRoot.js"; import { BaseUIComponentProps } from "../../utils/types.js"; import { REASONS } from "../../utils/reasons.js"; import type { BaseUIChangeEventDetails } from "../../utils/createBaseUIEventDetails.js"; /** * The form control to label and validate. * Renders an `<input>` element. * * You can omit this part and use any Base UI input component instead. For example, * [Input](https://base-ui.com/react/components/input), [Checkbox](https://base-ui.com/react/components/checkbox), * or [Select](https://base-ui.com/react/components/select), among others, will work with Field out of the box. * * Documentation: [Base UI Field](https://base-ui.com/react/components/field) */ export declare const FieldControl: React.ForwardRefExoticComponent<FieldControlProps & React.RefAttributes<HTMLInputElement>>; export type FieldControlState = FieldRoot.State; export interface FieldControlProps extends BaseUIComponentProps<'input', FieldControl.State> { /** * Callback fired when the `value` changes. Use when controlled. */ onValueChange?: (value: string, eventDetails: FieldControl.ChangeEventDetails) => void; defaultValue?: React.ComponentProps<'input'>['defaultValue']; } export type FieldControlChangeEventReason = typeof REASONS.none; export type FieldControlChangeEventDetails = BaseUIChangeEventDetails<FieldControl.ChangeEventReason>; export declare namespace FieldControl { type State = FieldControlState; type Props = FieldControlProps; type ChangeEventReason = FieldControlChangeEventReason; type ChangeEventDetails = FieldControlChangeEventDetails; }