dsfr_button

Génère un <button type="button"> au DSFR.

Documentation DSFR - Bouton

Usage basique

<%= f.dsfr_button "Action" %>

<button name="button" type="button" class="fr-btn">Action</button>

Options disponibles

OptionTypeDescription
class:StringClasses CSS additionnelles (variantes, icônes, tailles)
disabled:BooleanDésactive le bouton
data:HashAttributs data-*
type:StringType du bouton (défaut: "button")

Classes de variantes DSFR

ClasseDescription
fr-btn--secondaryStyle secondaire
fr-btn--tertiaryStyle tertiaire
fr-btn--tertiary-no-outlineTertiaire sans bordure
fr-btn--smPetite taille
fr-btn--lgGrande taille
fr-btn--icon-leftIcône à gauche
fr-btn--icon-rightIcône à droite

Bouton secondaire

<%= f.dsfr_button "Action secondaire", class: "fr-btn--secondary" %>

<button name="button" type="button" class="fr-btn fr-btn--secondary">Action secondaire</button>

Bouton tertiaire

<%= f.dsfr_button "Action tertiaire", class: "fr-btn--tertiary" %>

<button name="button" type="button" class="fr-btn fr-btn--tertiary">Action tertiaire</button>

Tailles

<%= f.dsfr_button "Petit", class: "fr-btn--sm" %>
<%= f.dsfr_button "Moyen (défaut)" %>
<%= f.dsfr_button "Grand", class: "fr-btn--lg" %>

<button name="button" type="button" class="fr-btn fr-btn--lg">Grand</button>

Avec icône

<%= f.dsfr_button "Télécharger", class: "fr-btn--icon-left fr-icon-download-line" %>

<button name="button" type="button" class="fr-btn fr-btn--icon-left fr-icon-download-line">Télécharger</button>

Icône seule

<%= f.dsfr_button "", class: "fr-btn--icon fr-icon-add-line", title: "Ajouter" %>

<button name="button" type="button" class="fr-btn fr-btn--icon fr-icon-add-line" title="Ajouter"></button>

Bouton désactivé

<%= f.dsfr_button "Désactivé", disabled: true %>

<button name="button" type="button" disabled="disabled" class="fr-btn">Désactivé</button>

Avec bloc (contenu personnalisé)

<%= f.dsfr_button(class: "fr-btn--icon-left fr-icon-arrow-right-line") { "Continuer" } %>

<button name="button" type="button" class="fr-btn fr-btn--icon-left fr-icon-arrow-right-line">Continuer</button>

Avec attributs data

<%= f.dsfr_button "Confirmer", data: { action: "click->modal#open", turbo: false } %>

<button name="button" type="button" data-action="click-&gt;modal#open" data-turbo="false" class="fr-btn">Confirmer</button>