@gulibs/vgrove-ui
Version:
VGrove UI component library built with HeroUI and React
27 lines • 1.8 kB
TypeScript
import { type ChangeEvent, type FocusEvent } from "react";
import { type Control } from "react-hook-form";
import type { FieldPath, FieldValues, UseFormReturn, UseFormProps } from "react-hook-form";
import type { FormInstance } from "./Form";
type FormEvent<T = Element> = ChangeEvent<T> | FocusEvent<T>;
type EventHandler<T = Element> = (event: FormEvent<T>) => void;
export interface CustomUseFormProps<TFieldValues extends FieldValues = FieldValues> extends UseFormProps<TFieldValues> {
registerAsGlobal?: boolean;
globalKey?: string;
}
export declare function createFormInstance<TFieldValues extends FieldValues = FieldValues>(formReturn: UseFormReturn<TFieldValues>): FormInstance<TFieldValues>;
export declare function useForm<TFieldValues extends FieldValues = FieldValues>(options?: CustomUseFormProps<TFieldValues>): FormInstance<TFieldValues>;
export declare const useFieldUpdate: <T = Element>(name: string) => {
isInvalid: () => boolean;
handle: (handler: EventHandler<T>) => (event: FormEvent<T>) => void;
clear: () => void;
};
export declare function useWatch<TFieldValues extends FieldValues = FieldValues>(name: FieldPath<TFieldValues>, control?: Control<TFieldValues>): any;
export declare function useWatch<TFieldValues extends FieldValues = FieldValues>(name: FieldPath<TFieldValues>[], control?: Control<TFieldValues>): any[];
export declare function useFieldValue<TFieldValues extends FieldValues = FieldValues>(name: FieldPath<TFieldValues>, control?: Control<TFieldValues>): any;
export declare function useFieldsWatcher<TFieldValues extends FieldValues = FieldValues>(names: FieldPath<TFieldValues>[], control?: Control<TFieldValues>): {
values: any[];
allFilled: boolean;
anyFilled: boolean;
};
export {};
//# sourceMappingURL=hook.d.ts.map