@appbuckets/react-ui
Version:
Just Another React UI Framework
30 lines (29 loc) • 1.08 kB
TypeScript
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>;