@lstz/reusable-form
Version:
A reusable React component for creating simple, flexible forms.
34 lines • 1.89 kB
TypeScript
/**
* Composant FormInputs :
* - Gère l'affichage d'une liste de champs de formulaire
* - Transmet les éventuelles erreurs de validation à chaque champ
* - Transmet `register` de `react-hook-form` pour enregistrer les champs
* - Transmet `watch` de `react-hook-form` pour surveiller les valeurs des champs
* - Transmet `setValue` de `react-hook-form` pour mettre à jour les valeurs des champs
*
* @template T - Type générique représentant les valeurs du formulaire (ex: `RegisterCredentials`)
* @param {Object} props - Les propriétés du composant
* @param {string} props.formattedTitle - Titre du formulaire formaté pour les classNames CSS
* @param {FormField<T>[]} props.fields - Liste des champs de formulaire à afficher
* @param {FieldErrors<T>} props.errors - Erreurs de validation des champs de formulaire
* @param {UseFormRegister<T>} props.register - Fonction `register` de `react-hook-form`
* @param {UseFormWatch<T>} props.watch - Fonction `watch` de `react-hook-form`
* @param {UseFormSetValue<T>} props.setValue - Fonction `setValue` de `react-hook-form`
* @returns {JSX.Element} - Liste de composants FormInput
*/
import { FieldErrors, FieldValues, UseFormRegister, UseFormSetValue, UseFormWatch } from 'react-hook-form';
import { FieldDesactivation, FormField } from '../../../types';
interface FormInputsProps<T extends FieldValues> {
formattedTitle: string;
fields: FormField<T>[];
options?: {
fieldsDesactivation?: FieldDesactivation<T>[];
};
errors: FieldErrors<T>;
register: UseFormRegister<T>;
watch: UseFormWatch<T>;
setValue: UseFormSetValue<T>;
}
declare function FormInputs<T extends FieldValues>({ formattedTitle, fields, options, errors, register, watch, setValue, }: FormInputsProps<T>): import("react/jsx-runtime").JSX.Element;
export default FormInputs;
//# sourceMappingURL=FormInputs.d.ts.map