{% extends 'base.html.twig' %} {% block title %}FormCheckbox - Molécules - Design System - Bubul{% endblock %} {% block body %}
{# ===== HEADER ===== #}
Molécules /

FormCheckbox

Checkbox avec label et messages intégrés

{# ===== NAVIGATION RAPIDE ===== #} {# ===== USAGE ===== #}

Usage

Le composant FormCheckbox combine une checkbox stylisée avec son label et les messages d'erreur/aide. Idéal pour les formulaires : conditions, newsletters, préférences.

{% verbatim %}{% include '_molecules/form/form-checkbox.html.twig' with {
    name: 'terms',
    label: 'J\'accepte les conditions générales',
    required: true
} %}

{# Avec aide #}
{% include '_molecules/form/form-checkbox.html.twig' with {
    name: 'newsletter',
    label: 'Recevoir la newsletter',
    hint: 'Maximum une fois par semaine',
    checked: true
} %}{% endverbatim %}
Fichier : templates/_molecules/form/form-checkbox.html.twig
{# ===== EXEMPLES ===== #}

Exemples courants

{# Simple #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_simple', label: 'Se souvenir de moi' } %}
label: 'Se souvenir de moi'
{# Checked #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_checked', label: 'Activer les notifications', checked: true } %}
checked: true
{# With hint #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_hint', label: 'Recevoir la newsletter', hint: 'Une fois par semaine maximum, pas de spam', checked: true } %}
hint: 'Une fois par semaine...'
{# ===== VARIANTES ===== #}

Variantes

Paramètre : variant

{# Default #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_default', label: 'Style par défaut', variant: 'default' } %}
variant: 'default'
{# Card #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_card', label: 'Style carte', hint: 'Plus visible, idéal pour les options importantes', variant: 'card' } %}
variant: 'card'
{# Exemple groupe de cards #}

Groupe de sélection (cards)

{% include '_molecules/form/form-checkbox.html.twig' with { name: 'options[]', value: 'email', label: 'Notifications par email', hint: 'Recevez les alertes importantes', variant: 'card', checked: true } %} {% include '_molecules/form/form-checkbox.html.twig' with { name: 'options[]', value: 'sms', label: 'Notifications SMS', hint: 'Pour les urgences uniquement', variant: 'card' } %} {% include '_molecules/form/form-checkbox.html.twig' with { name: 'options[]', value: 'push', label: 'Notifications push', hint: 'Dans votre navigateur', variant: 'card', checked: true } %}
{# ===== TAILLES ===== #}

Tailles

Paramètre : size

{% include '_molecules/form/form-checkbox.html.twig' with { name: 'size_sm', label: 'Small', size: 'sm' } %} {% include '_molecules/form/form-checkbox.html.twig' with { name: 'size_md', label: 'Medium (défaut)', size: 'md' } %} {% include '_molecules/form/form-checkbox.html.twig' with { name: 'size_lg', label: 'Large', size: 'lg' } %}
{# ===== ÉTATS ===== #}

États

{# Disabled unchecked #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_disabled', label: 'Option désactivée', disabled: true } %}
disabled: true
{# Disabled checked #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_disabled_checked', label: 'Coché et désactivé', disabled: true, checked: true } %}
disabled: true, checked: true
{# With error #}
{% include '_molecules/form/form-checkbox.html.twig' with { name: 'demo_error', label: 'J\'accepte les conditions', error: 'Vous devez accepter les conditions pour continuer' } %}
error: 'Message d\'erreur'
{# ===== PARAMÈTRES ===== #}

Référence des paramètres

Paramètre Type Défaut Description
name string '' Nom du champ (requis)
label string '' Texte du label (requis)
checked bool false État coché initial
disabled bool false Désactiver le champ
error string null Message d'erreur
hint string null Texte d'aide sous le label
size string 'md' sm, md, lg
variant string 'default' default, card
value string '1' Valeur envoyée si coché
{% endblock %}