{% extends 'base.html.twig' %} {% block title %}Filter Tabs - Design System - Bubul{% endblock %} {% block body %}
Molécules /

Filter Tabs

Boutons filtres style Moodia avec compteurs

{# ===== USAGE ===== #}

Usage

{% verbatim %}{% include '_molecules/filter-tabs/filter-tabs.html.twig' with {
    filters: [
        { id: 'all', label: 'Tous', count: 40 },
        { id: 'course', label: 'Cours', count: 10 },
        { id: 'course_quiz', label: 'Cours + Quiz', count: 29 },
        { id: 'quiz_only', label: 'Quiz', count: 1 }
    ],
    active: 'all'
} %}{% endverbatim %}
{# ===== APERÇU ===== #}

Aperçu

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'course', label: 'Cours', count: 10 }, { id: 'course_quiz', label: 'Cours + Quiz', count: 29 }, { id: 'quiz_only', label: 'Quiz', count: 1 } ], active: 'all' } %}
{# ===== ÉTATS ===== #}

États actifs

Premier filtre actif

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'course', label: 'Cours', count: 10 }, { id: 'quiz', label: 'Quiz', count: 1 } ], active: 'all' } %}

Deuxième filtre actif

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'course', label: 'Cours', count: 10 }, { id: 'quiz', label: 'Quiz', count: 1 } ], active: 'course' } %}

Dernier filtre actif

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'course', label: 'Cours', count: 10 }, { id: 'quiz', label: 'Quiz', count: 1 } ], active: 'quiz' } %}
{# ===== TAILLES ===== #}

Tailles

Paramètre : size

sm

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'active', label: 'Actifs', count: 12 } ], active: 'all', size: 'sm' } %}

md (défaut)

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'active', label: 'Actifs', count: 12 } ], active: 'all', size: 'md' } %}

lg

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40 }, { id: 'active', label: 'Actifs', count: 12 } ], active: 'all', size: 'lg' } %}
{# ===== SANS COMPTEURS ===== #}

Sans compteurs

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous' }, { id: 'draft', label: 'Brouillons' }, { id: 'published', label: 'Publiés' }, { id: 'archived', label: 'Archivés' } ], active: 'all' } %}
{# ===== AVEC LIENS ===== #}

Avec liens (href)

Utilise des balises <a> au lieu de <button>

{% include '_molecules/filter-tabs/filter-tabs.html.twig' with { filters: [ { id: 'all', label: 'Tous', count: 40, href: '/moodia?type=all' }, { id: 'course', label: 'Cours', count: 10, href: '/moodia?type=course' }, { id: 'quiz', label: 'Quiz', count: 1, href: '/moodia?type=quiz' } ], active: 'all' } %}
{# ===== PARAMÈTRES ===== #}

Paramètres

Paramètre Type Défaut Description
filtersarray(requis)Liste des filtres [{id, label, count?, href?}]
activestringpremierID du filtre actif
sizestringmdsm, md, lg
namestring'filter'Nom pour le data-attribute
classstring''Classes CSS additionnelles
{% endblock %}