@easy-shadcn/react
Version:
Use shadcn/ui easy&enhance like component library
29 lines (23 loc) • 2.07 kB
text/typescript
import * as react_hook_form from 'react-hook-form';
import { FieldValues, FormProviderProps, FieldPath, ControllerProps } from 'react-hook-form';
import * as React from 'react';
import React__default, { ComponentProps, ReactNode } from 'react';
import * as LabelPrimitive from '@radix-ui/react-label';
type FormProps<TFieldValues extends FieldValues, TContext = unknown, TTransformedValues extends FieldValues | undefined = undefined> = {
form: Omit<FormProviderProps<TFieldValues, TContext, TTransformedValues>, 'children'>;
} & React__default.DetailedHTMLProps<React__default.FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>;
type FormFC = <TFieldValues extends FieldValues, TContext = unknown, TTransformedValues extends FieldValues | undefined = undefined>(props: FormProps<TFieldValues, TContext, TTransformedValues>) => React__default.JSX.Element;
declare const FormItem$1: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const FormLabel: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
type FormItemProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = ControllerProps<TFieldValues, TName> & {
itemProps?: ComponentProps<typeof FormItem$1>;
label?: ReactNode;
labelProps?: ComponentProps<typeof FormLabel>;
description?: ReactNode;
descriptionProps?: ComponentProps<typeof FormDescription>;
};
type FormItemFC = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: FormItemProps<TFieldValues, TName>) => JSX.Element;
declare const FormItem: FormItemFC;
declare const Form: FormFC & typeof react_hook_form;
export { Form, FormItem, type FormItemProps, type FormProps };