Mixin typographie - Pecunia-App/pecunia-front GitHub Wiki

Mixin typographique

@mixin text-style($size-key, $weight-key: regular, $mode: desktop) {
  $sizes: if($mode == desktop, $sizes-desktop, $sizes-mobile);

  font-family: $font-family-base;
  font-size: map.get($sizes, $size-key);
  line-height: map.get($sizes, $size-key);
  font-weight: map.get($font-weights, $weight-key);
}

Cette mixin permet d’appliquer une règle typographique complète (police, taille, interligne, poids) à partir de clés logiques comme heading-h2, text-sm, etc.

Le paramètre $mode permet de basculer dynamiquement entre mobile et desktop.

les clés sont dans typography.scss

✅ Exemple d'utilisation d'une font


@use '../../../styles/abstracts/typography' as typo;

h2 {
  @include typo.text-style(heading-h2, extrabold, mobile);
}

Cet exemple applique :

  • la police "Open Sans"
  • une taille adaptée à un titre de niveau 2
  • un poids fort (extrabold)
  • un interligne cohérent avec la maquette``

Documentation des paramètres typographiques

Paramètres

Paramètre Type Valeurs possibles Défaut Description
$size-key string Voir tableaux ci-dessous Clé de taille (définit font-size & line-height)
$weight-key string regular, semibold, bold, extrabold regular Poids de police
$mode string desktop, mobile desktop Mode d’affichage (pour responsive)

Tailles disponibles (en px)

Desktop

Clé font-size / line-height
display-h1 80px
display-h2 60px
display-h3 48px
display-h4 36px
display-h5 24px
display-h6 20px
heading-h1 30px
heading-h2 24px
heading-h3 20px
heading-h4 18px
heading-h5 16px
heading-h6 14px
text-lg 18px
text-md 16px
text-sm 14px
text-xs 12px
text-xxs 10px

Mobile

Clé font-size / line-height
display-h1 48px
display-h2 36px
display-h3 28px
display-h4 24px
display-h5 18px
display-h6 16px
heading-h1 24px
heading-h2 20px
heading-h3 18px
heading-h4 16px
heading-h5 14px
heading-h6 12px
text-lg 16px
text-md 14px
text-sm 12px
text-xs 10px
text-xxs 9px

Poids disponibles

Clé Valeur CSS
regular 400
semibold 600
bold 700
extrabold 800