Le système de design Baklava, développé par Trendyol, offre une collection étendue de composants pour construire des interfaces utilisateur cohérentes. Ce guide pratique se concentre sur l'implémentation de formulaires responsifs à l'aide de ces composants, en détaillant les étapes clés et les bonnes pratiques.
Composants fondamentaux pour les formulaires
Baklava inclut plusieurs éléments spécifiques aux formulaires, répartis en différentes catégories :
- Éléments de saisie :
bl-inputpour le texte simple etbl-textareapour les contenus multi-lignes. - Composants de sélection :
bl-selectpour les listes déroulantes,bl-radio-groupetbl-checkbox-grouppour les choix multiples. - Modules temporels :
bl-datepickerpour la sélection de dates etbl-calendarpour l'affichage calendaire.
Processus de développement étape par étape
1. Configuration de l'environnement
Pour commencer, clonez le dépôt Baklava et installez les dépendances :
git clone https://gitcode.com/gh_mirrors/ba/baklava
cd baklava
npm install
Lancez ensuite le serveur de développement avec npm run serve. L'interface Playground accessible sur localhost:8000 permet de tester les composants en temps réel.
2. Structure de base du formulaire
Assemblez les composants pour créer une structure initiale :
<form id="formulaire-inscription">
<bl-champ-texte
etique="Nom complet"
placeholder="Saisir le nom"
obligatoire
></bl-champ-texte>
<bl-zone-texte
etique="Biographie"
placeholder="Décrire brièvement"
lignes="3"
></bl-zone-texte>
<bl-groupe-radio etique="Genre">
<bl-radio nom="genre" valeur="masculin">Homme</bl-radio>
<bl-radio nom="genre" valeur="feminin">Femme</bl-radio>
</bl-groupe-radio>
</form>
3. Personnalisation du style et réactivité
Utilisez les propriétés CSS personnalisées de Baklava pour adapter l'apparence :
:root {
--bl-couleur-fond: #eef2f7;
--bl-couleur-bordure: #cdd4de;
}
@media (max-width: 768px) {
#formulaire-inscription {
padding: 0 12px;
}
bl-champ-texte, bl-zone-texte {
width: 100%;
margin-bottom: 12px;
}
}
4. Validation et logique d'interaction
Les composants Baklava intègrent des validations natives via les attributs :
<bl-champ-texte
etique="Adresse électronique"
type="email"
obligatoire
message-erreur="Format d'email invalide"
></bl-champ-texte>
<bl-selecteur-date
etique="Date de naissance"
date-min="1900-01-01"
date-max="2005-12-31"
></bl-selecteur-date>
Techniques avancées et recommandations
Pour optimiser le développement :
- Combine des composants élémentaires pour créer des fonctionnalités complexes, comme l'intégration du calendrier pour la sélection de plages de dates.
- Définissez des styles globaux via le fichier
src/themes/default.csspour assurer la cohérence visuelle. - Gérez la soumission et les modifications de données avec le système d'événements de Baklava : ```
document.getElementById('formulaire-inscription').addEventListener('envoi', (evenement) => {
evenement.preventDefault();
// Logique de traitement des données
});
- Assurez l'accessibilité en ajoutant des attributs ARIA et des labels appropriés à tous les éléments interactifs.
Ressources complémentaires
Pour approfondir :
- Documentation officielle :
docs/welcome.stories.mdx - Exemples pratiques :
examples/input-mask/pour les masques de saisie - Support multilingue :
src/localization.tspour l'implémentation de formulaires localisés