@lstz/reusable-form
Version:
A reusable React component for creating simple, flexible forms.
24 lines • 1.4 kB
TypeScript
/**
* Composant ReusableForm : Formulaire dynamique basé sur une configuration et un schéma de validation.
* @template T - Type générique représentant les valeurs du formulaire (ex: `RegisterCredentials`)
* @param {Object} props - Les propriétés du composant
* @param {boolean} props.isLoading - État de chargement du formulaire
* @param {FormConfig<T>} props.formConfig - Configuration du formulaire (titre, champs, bouton, footer)
* @param {ZodSchema<T>} props.formSchema - Schéma de validation du formulaire
* @param {FooterMessageData} [props.footerMessage] - Message de pied de formulaire optionnel
* @param {(data: T) => void} props.action - Fonction à exécuter lors de la soumission du formulaire
* @returns {JSX.Element} - Le formulaire généré dynamiquement
*/
import { ZodSchema } from "zod";
import { FooterMessageData, FormConfig } from "../../types";
import { FieldValues } from "react-hook-form";
export interface ReusableFormProps<T extends FieldValues> {
isLoading: boolean;
formConfig: FormConfig<T>;
formSchema: ZodSchema<T>;
footerMessage?: FooterMessageData;
action: (data: T) => void;
}
declare function ReusableForm<T extends FieldValues>({ isLoading, formConfig, formSchema, footerMessage, action, }: ReusableFormProps<T>): import("react/jsx-runtime").JSX.Element;
export default ReusableForm;
//# sourceMappingURL=ReusableForm.d.ts.map