{% extends 'base.html.twig' %} {% block title %}Step Indicator - Design System - Bubul{% endblock %} {% block body %}
{% verbatim %}{% include '_molecules/step-indicator/step-indicator.html.twig' with {
steps: [
{ id: 'upload', label: 'Document', icon: 'document' },
{ id: 'config', label: 'Configuration', icon: 'settings' },
{ id: 'generate', label: 'Generation', icon: 'rocket' }
],
currentStep: 2
} %}{% endverbatim %}
Fichier : templates/_molecules/step-indicator/step-indicator.html.twig
Ideal pour les wizards et processus en plusieurs etapes
Etape 1/5
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: 'upload', label: 'Document', icon: 'document' }, { id: 'config', label: 'Configuration', icon: 'settings' }, { id: 'generate', label: 'Generation', icon: 'rocket' }, { id: 'preview', label: 'Apercu', icon: 'eye' }, { id: 'deploy', label: 'Deploiement', icon: 'cloud' } ], currentStep: 1 } %}Etape 3/5
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: 'upload', label: 'Document', icon: 'document' }, { id: 'config', label: 'Configuration', icon: 'settings' }, { id: 'generate', label: 'Generation', icon: 'rocket' }, { id: 'preview', label: 'Apercu', icon: 'eye' }, { id: 'deploy', label: 'Deploiement', icon: 'cloud' } ], currentStep: 3 } %}Etape 5/5 (terminé)
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: 'upload', label: 'Document', icon: 'document' }, { id: 'config', label: 'Configuration', icon: 'settings' }, { id: 'generate', label: 'Generation', icon: 'rocket' }, { id: 'preview', label: 'Apercu', icon: 'eye' }, { id: 'deploy', label: 'Deploiement', icon: 'cloud' } ], currentStep: 5 } %}Parametre : variant: 'vertical'
Etape 2/4
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: 'info', label: 'Informations personnelles' }, { id: 'address', label: 'Adresse de livraison' }, { id: 'payment', label: 'Paiement' }, { id: 'confirm', label: 'Confirmation' } ], currentStep: 2, variant: 'vertical' } %}Avec icones
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: 'info', label: 'Informations', icon: 'user' }, { id: 'address', label: 'Adresse', icon: 'home' }, { id: 'payment', label: 'Paiement', icon: 'wallet' }, { id: 'confirm', label: 'Confirmation', icon: 'check-circle' } ], currentStep: 3, variant: 'vertical' } %}Parametre : size
Small (sm)
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: '1', label: 'Etape 1' }, { id: '2', label: 'Etape 2' }, { id: '3', label: 'Etape 3' } ], currentStep: 2, size: 'sm' } %}Medium (md) - default
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: '1', label: 'Etape 1' }, { id: '2', label: 'Etape 2' }, { id: '3', label: 'Etape 3' } ], currentStep: 2, size: 'md' } %}Large (lg)
{% include '_molecules/step-indicator/step-indicator.html.twig' with { steps: [ { id: '1', label: 'Etape 1' }, { id: '2', label: 'Etape 2' }, { id: '3', label: 'Etape 3' } ], currentStep: 2, size: 'lg' } %}Parametre : showLabels: false
| Parametre | Type | Defaut | Description |
|---|---|---|---|
steps | array | (requis) | Liste des etapes [{id, label, icon?}] |
currentStep | number | 1 | Numero de l'etape active (1-based) |
variant | string | horizontal | Layout : horizontal, vertical |
size | string | md | Taille : sm, md, lg |
showLabels | bool | true | Afficher les labels |
clickable | bool | false | Etapes completees cliquables |
class | string | '' | Classes additionnelles |
| Propriete | Type | Requis | Description |
|---|---|---|---|
id | string | oui | Identifiant unique de l'etape |
label | string | oui | Texte affiche sous/a cote du cercle |
icon | string | non | Icone affichee dans le cercle (sinon numero) |