Création de formulaires adaptatifs avec le système de design Baklava

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-input pour le texte simple et bl-textarea pour les contenus multi-lignes.
  • Composants de sélection : bl-select pour les listes déroulantes, bl-radio-group et bl-checkbox-group pour les choix multiples.
  • Modules temporels : bl-datepicker pour la sélection de dates et bl-calendar pour 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 :

  1. 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.
  2. Définissez des styles globaux via le fichier src/themes/default.css pour assurer la cohérence visuelle.
  3. 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 });
  4. 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.ts pour l'implémentation de formulaires localisés

Étiquettes: Baklava formulaires responsifs HTML CSS JavaScript

Publié le 29 juin à 23h52