UNPKG

@appbuckets/react-ui

Version:
30 lines (29 loc) 1.08 kB
import * as React from 'react'; import type { StrictFieldProps } from '../Field'; import { Subtract } from '../generic'; export interface UseFieldReturn<Props> { /** Add a set of classes to the field */ addClassesToField: (...classesToAdd: string[]) => void; /** Field ref to pass */ fieldRef: React.RefObject<HTMLDivElement>; /** Props used to render the field */ fieldProps: StrictFieldProps; /** Remove classes from Field */ removeClassesFromField: (...classesToRemove: string[]) => void; /** All other element props */ rest: Subtract<Props, StrictFieldProps>; /** Set the inner field as blurred */ setFieldBlurred: () => void; /** Set the inner field as changed */ setFieldChanged: () => void; /** Set the inner field as clicked */ setFieldClicked: () => void; /** Set the inner field as focused */ setFieldFocused: () => void; /** Reset inner field classes */ resetField: () => void; } export declare function useField<Props extends StrictFieldProps>( props: Props, innerRef?: React.RefObject<HTMLElement> ): UseFieldReturn<Props>;