Réglages

Apparence

Thème

Couleurs

Primary — tonique
Neutre — gris / slate

Typographie

Titres
Corps

Démarrer un projet

Quatre étapes. La seule décision réelle est à l'étape 2.

  1. Installer et builder

    npm install
    npm run build   # dist/tokens.css + dist/tokens.json + docs/
  2. Choisir l'identité du projet

    Éditer la table BRAND dans scripts/generate-theme.js, puis lancer npm run theme. C'est le seul endroit à toucher.

    const BRAND = {
      primary: 'violet',      // ← change ça, tout suit
      neutral: 'slateBlue',
      success: 'green', warning: 'orange', danger: 'red', info: 'blue',
    };

    Sélection actuelle : primary → violet · neutral → slateBlue · success → green · warning → orange · danger → red · info → blue

    N'importe quelle palette peut jouer n'importe quel rôle : elles exposent toutes les mêmes 11 crans sur la même courbe de luminosité. Un swap ne casse ni le build, ni les contrastes.
  3. Consommer les tokens

    @import '@fred/design-tokens/dist/tokens.css';
    
    /* tokens.css = le système. components.css = les tokens de composant. */
    @import '@fred/design-tokens/dist/components.css';
    
    /* Un bouton : variante · rôle · état, et une taille */
    .btn-filled {
      background: var(--color-button-filled-primary-default-background);
      color:      var(--color-button-filled-primary-default-text);
      height:     var(--size-button-md-height);
      padding:    0 var(--space-button-md-padding-x);
      border-radius: var(--radius-button-md);
      font-size:  var(--font-size-button-md);
    }
    /* Changer de couleur = changer le rôle. Aucun token nouveau. */
    .btn-filled[data-color="danger"] {
      background: var(--color-button-filled-danger-default-background);
    }
  4. Activer le thème sombre

    <html data-theme="dark">

    Rien d'autre à faire : seuls les rôles sémantiques sont redéfinis sous ce sélecteur, les composants suivent via var(). Le responsive est automatique (media query à 768px).

Les commandes

CommandeEffet
npm run buildGénère dist/ et docs/.
npm run themeRégénère brand + rôles + composants depuis les tables de mapping, puis build.
npm run rampsAperçu des rampes de couleur (n'écrit rien).
npm run ramps:writeRégénère tokens/primitives/color.json.
npm run watchRebuild à chaque modification.