@baseplate-dev/ui-components
Version:
Shared UI component library
13 lines • 1.26 kB
TypeScript
import type { Control, FieldPath, FieldValues } from 'react-hook-form';
import type { AddOptionRequiredFields, FormFieldProps, SelectOptionProps } from '#src/types/form.js';
export interface SelectFieldProps<OptionType> extends SelectOptionProps<OptionType>, FormFieldProps {
className?: string;
}
declare function SelectField<OptionType>({ label, description, error, value, placeholder, options, renderItemLabel, getOptionLabel, getOptionValue, className, onChange, ...props }: SelectFieldProps<OptionType> & AddOptionRequiredFields<OptionType>): React.ReactElement;
interface SelectFieldControllerProps<OptionType, TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> extends Omit<SelectFieldProps<OptionType>, 'value'> {
control: Control<TFieldValues>;
name: TFieldName;
}
declare function SelectFieldController<OptionType, TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ name, control, ...rest }: SelectFieldControllerProps<OptionType, TFieldValues, TFieldName> & AddOptionRequiredFields<OptionType>): React.ReactElement;
export { SelectField, SelectFieldController };
//# sourceMappingURL=select-field.d.ts.map