{% extends 'base.html.twig' %} {% block title %}Avatar - Design System - Bubul{% endblock %} {% block body %}
{# ===== HEADER ===== #}
Atomes /

Avatar

Représentation visuelle d'un utilisateur

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

Usage

{% verbatim %}{# Avec image #}
{% include '_atoms/avatar/avatar.html.twig' with {
    src: user.avatar,
    alt: user.name,
    size: 'lg'
} %}

{# Avec initiales #}
{% include '_atoms/avatar/avatar.html.twig' with {
    name: 'Jean Dupont',
    variant: 'primary',
    status: 'online'
} %}{% endverbatim %}

Fichier : templates/_atoms/avatar/avatar.html.twig

{# ===== AVEC IMAGE ===== #}

Avec image

{% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=1', alt: 'User 1', size: 'md' } %} {% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=2', alt: 'User 2', size: 'lg' } %} {% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=3', alt: 'User 3', size: 'xl' } %}
{# ===== AVEC INITIALES ===== #}

Avec initiales (fallback)

Génère automatiquement les initiales depuis le paramètre name

{% include '_atoms/avatar/avatar.html.twig' with { name: 'Jean Dupont', size: 'lg' } %} {% include '_atoms/avatar/avatar.html.twig' with { name: 'Marie Martin', size: 'lg', variant: 'primary' } %} {% include '_atoms/avatar/avatar.html.twig' with { name: 'Pierre', size: 'lg', variant: 'success' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'AB', size: 'lg', variant: 'warning' } %}
{# ===== TAILLES ===== #}

Tailles

Paramètre : size

{% include '_atoms/avatar/avatar.html.twig' with { name: 'XS', size: 'xs' } %} xs
{% include '_atoms/avatar/avatar.html.twig' with { name: 'SM', size: 'sm' } %} sm
{% include '_atoms/avatar/avatar.html.twig' with { name: 'MD', size: 'md' } %} md
{% include '_atoms/avatar/avatar.html.twig' with { name: 'LG', size: 'lg' } %} lg
{% include '_atoms/avatar/avatar.html.twig' with { name: 'XL', size: 'xl' } %} xl
{% include '_atoms/avatar/avatar.html.twig' with { name: '2X', size: '2xl' } %} 2xl
{# ===== VARIANTES DE COULEUR ===== #}

Variantes de couleur (pour initiales)

Paramètre : variant

{% include '_atoms/avatar/avatar.html.twig' with { initials: 'GR', size: 'lg', variant: 'gray' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'PR', size: 'lg', variant: 'primary' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'SU', size: 'lg', variant: 'success' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'WA', size: 'lg', variant: 'warning' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'ER', size: 'lg', variant: 'error' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'IN', size: 'lg', variant: 'info' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'CO', size: 'lg', variant: 'cohorts' } %}
{# ===== FORMES ===== #}

Formes

Paramètre : rounded

{% include '_atoms/avatar/avatar.html.twig' with { initials: 'MD', size: 'xl', rounded: 'md', variant: 'primary' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'LG', size: 'xl', rounded: 'lg', variant: 'primary' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'XL', size: 'xl', rounded: 'xl', variant: 'primary' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: 'FU', size: 'xl', rounded: 'full', variant: 'primary' } %}
{# ===== INDICATEURS DE STATUT ===== #}

Indicateurs de statut

Paramètre : status

{% include '_atoms/avatar/avatar.html.twig' with { name: 'Online User', size: 'lg', status: 'online' } %} online
{% include '_atoms/avatar/avatar.html.twig' with { name: 'Offline User', size: 'lg', status: 'offline' } %} offline
{% include '_atoms/avatar/avatar.html.twig' with { name: 'Busy User', size: 'lg', status: 'busy' } %} busy
{% include '_atoms/avatar/avatar.html.twig' with { name: 'Away User', size: 'lg', status: 'away' } %} away
{# ===== EXEMPLE : LISTE D'UTILISATEURS ===== #}

Exemple : Liste d'utilisateurs

{% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=5', status: 'online' } %}
Sophie Martin
En ligne
{% include '_atoms/avatar/avatar.html.twig' with { name: 'Pierre Durand', variant: 'primary', status: 'busy' } %}
Pierre Durand
Occupé
{% include '_atoms/avatar/avatar.html.twig' with { name: 'Marie Leroy', variant: 'success', status: 'away' } %}
Marie Leroy
Absent
{# ===== GROUPE D'AVATARS ===== #}

Exemple : Groupe d'avatars

{% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=1', class: 'ring-2 ring-white' } %} {% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=2', class: 'ring-2 ring-white' } %} {% include '_atoms/avatar/avatar.html.twig' with { src: 'https://i.pravatar.cc/150?img=3', class: 'ring-2 ring-white' } %} {% include '_atoms/avatar/avatar.html.twig' with { initials: '+5', variant: 'gray', class: 'ring-2 ring-white' } %}
{# ===== PARAMÈTRES ===== #}

Paramètres

Paramètre Type Défaut Description
srcstringnullURL de l'image
altstring''Texte alternatif
namestringnullNom pour générer les initiales
initialsstringnullInitiales (priorité sur name)
sizestringmdxs, sm, md, lg, xl, 2xl
roundedstringfullmd, lg, xl, full
variantstringgraygray, primary, success, warning, error, info, cohorts
statusstringnullonline, offline, busy, away
classstring''Classes additionnelles
{% endblock %}