Un guide Pajamas pour les flux de travail techniques : véritables jetons sémantiques, typographie et espacement fluides, inspecteur de pipeline par étapes, affichage lisible des erreurs et simulation explicite d’une nouvelle tentative locale.
Guide OpenDesign8 chapitres43 entrées de référenceGuide de l’application d’origine
01
Aperçu de l’interface du système de design GitLab Pajamas
Filtrez les tâches par état, sélectionnez une tâche pour consulter sa sortie, simulez la réussite de la vérification du lien en échec, puis réinitialisez les données de test d’origine.
@gitlab/ui 138.0.0 natif CSS ; mise en page originale des étapes, HTML et logique d’état locale. Aucune activité CI réelle. · Référence de mise en œuvre
02
Référence de conception du système de design GitLab Pajamas
Export publié des jetons clairs de @gitlab/ui 138.0.0 et CSS natif. Les noms GL_* sont des exports JavaScript ; leurs équivalents en minuscules --gl-* figurent dans le CSS compilé. L’exemple utilise la feuille de style native avec HTML et la logique d’état d’origine, et non des composants Vue montés.
Architecture de l’information du pipeline du système de design GitLab Pajamas
Présentez le contexte de l’échec avant les options de reprise
L’en-tête indique un pipeline, une branche et un commit fictifs pour contextualiser le panneau d’inspection des tâches. Les regroupements Build, Test et Publish sont visibles, et la sélection d’une tâche ouvre sa sortie. Pour la vérification de lien en échec, indiquez le chemin et la condition de sortie qui expliquent l’échec avant de proposer une nouvelle tentative.
Préservez la lisibilité d’un graphe compact
Cet exemple utilise des colonnes par étape et des boutons, sans prétendre mettre en œuvre un graphe de dépendances complet. Sur un écran étroit, les étapes s’empilent dans l’ordre du document. Un pipeline de production peut nécessiter des tâches parallèles, des dépendances, ainsi que des états d’attente, manuels ou annulés ; ceux-ci doivent être modélisés explicitement plutôt que déduits des trois titres d’exemple.
Couleurs sémantiques et états du système de design GitLab Pajamas
Utilisez des rôles d’interface sémantiques pour la surface de travail
L’export clair propose des surfaces neutres chaudes, des niveaux de contraste distincts pour les textes et des bordures discrètes. L’exemple utilise la surface par défaut pour les cartes des tâches, une surface bleue pour la sélection et une zone de journal sombre. Le guide indique les valeurs exactes du package afin de reproduire ces relations sans prélever les couleurs d’une capture d’écran.
Donnez du sens aux libellés d’état
Les mots Réussie et Échec figurent dans chaque ligne de tâche et chaque badge. Une coche ou une croix complète ce texte ; des badges colorés seuls seraient ambigus. Le violet de la marque n’est pas utilisé comme indicateur générique de réussite. Les références d’état du tableau sont volontairement distinctes du bleu de sélection.
Échelle typographique et texte technique du système de design GitLab Pajamas
Conservez les expressions fluides lorsqu’elles s’appliquent
Le package expose des rôles de petite taille fixes et des rôles de plus grande taille basés sur clamp. Remplacer un clamp par sa valeur maximale modifie le comportement adaptatif. L’exemple d’origine utilise un titre de 24px à l’échelle de l’application et des rôles secondaires compacts de 12–14px ; ces choix sont présentés comme des décisions de mise en page, et non comme des jetons supplémentaires du package.
Utilisez une police à chasse fixe pour les identifiants et les sorties
La branche et le commit sont présentés en style code, tandis que les noms des tâches restent lisibles dans l’interface. La sortie apparaît dans un bloc à chasse fixe avec retour à la ligne et cible de focus clavier. Les chemins longs peuvent revenir à la ligne au lieu d’élargir toute la page au-delà de la largeur d’un téléphone. Lorsqu’une autre tâche est sélectionnée, le texte est remplacé plutôt que d’injecter du HTML brut.
Espacement et rythme des bordures du système de design GitLab Pajamas
Ne calculez pas les valeurs des jetons à partir de leur indice
GL_SPACING_SCALE_3 vaut 0.5rem et scale_5 vaut 1rem ; l’indice est une clé, pas un multiplicateur direct. Utilisez la valeur exportée lors de l’implémentation de l’échelle. Le tableau de référence conserve les unités exactes, y compris le pas de zéro pixel.
Utilisez les séparations pour clarifier les zones
Sélection et filtrage des tâches du système de design GitLab Pajamas
Dissociez l’identité de la tâche sélectionnée de sa position dans le filtre
Le script utilise des identifiants textuels stables comme links et accessibility. Le filtre détermine les tâches affichées et sélectionne une tâche correspondante, s’il y en a une. Un clic sur une tâche met à jour ensemble son état enfoncé, son étape, son badge d’état et son journal. Cela évite d’afficher le titre d’une tâche avec la sortie d’une autre.
Conservez le contexte de reprise lorsque le résultat disparaît
Une fois la tâche échouée simulée comme réussie, le filtre « Tâches échouées » ne renvoie aucun résultat. Le message d’état vide explique comment rétablir la liste, tandis que l’inspecteur conserve le résultat qui vient d’être obtenu. Ce choix délibéré permet à l’utilisateur de comprendre pourquoi la ligne a disparu, sans perdre la confirmation.
Système de design GitLab Pajamas : relancer et réinitialiser
Présentez clairement la simulation
L’action indique « Simuler une relance réussie », modifie uniquement les données locales de démonstration et remplace le journal par le résultat écrit d’une simulation. Elle ne met pas de tâche en file d’attente, ne crée pas de tâche et n’inspecte aucun dépôt. Le badge global du pipeline est recalculé à partir de l’état de toutes les tâches, au lieu de passer aveuglément à « Réussi » après un clic.
Rétablissez les données initiales complètes
La réinitialisation crée une nouvelle copie des données initiales des tâches, sélectionne la tâche de liaison en échec, rétablit le filtre « Toutes les tâches » et affiche à nouveau les deux panneaux. Elle efface le résultat simulé sans recharger la page. L’exemple peut ainsi être reproduit, et les personnes qui le consultent ensuite ne risquent pas de prendre une réussite simulée antérieure pour l’état initial.
Sélectionnez « Tâches échouées » et consultez la route en échec.
Simulez la réussite et consultez l’inspecteur qui conserve le résultat ainsi que la liste filtrée vide.
Réinitialisez l’exemple et vérifiez que l’échec et la sortie d’origine sont rétablis.
Système de design GitLab Pajamas : commandes de tâches accessibles
Utilisez des boutons pour la sélection locale
Chaque tâche est un véritable bouton doté de aria-pressed. Son état est indiqué à côté de sa durée, et l’indicateur de focus visible au clavier reste distinct de son apparence lorsqu’elle est sélectionnée. Le filtre possède une étiquette visible. Aucune navigation graphique personnalisée réservée au clavier n’est revendiquée pour ces commandes simples.
Annoncez le résultat sans déplacer le focus
Le résultat est annoncé dans une région d’état après une relance ou une réinitialisation. Le journal contient du texte sélectionnable et peut recevoir le focus clavier pour être lu, mais l’application ne lui transfère pas automatiquement le focus après chaque sélection. Les comparaisons répétées entre les tâches restent ainsi prévisibles.
Système de design GitLab Pajamas : CSS et limites de l’intégration Vue
Choisissez explicitement un niveau d’intégration
Ce code source importe la distribution publiée de CSS et fournit un comportement original en HTML/JavaScript. Il n’instancie ni GlButton, ni GlFormSelect, ni aucun autre export Vue. Une application Vue doit utiliser les composants natifs correspondants et leurs props/événements actuels, plutôt que de considérer cette implémentation DOM comme un exemple Vue.
Distribution de CSS : apparence native et variables sémantiques.
HTML d’origine : commandes accessibles et structure des régions.
JavaScript d’origine : données de démonstration, sélection, filtres et simulation.
Associez les jetons à la version importée
Système de design GitLab Pajamas : exemples de composants
index.html — espace de travail du pipeline
Mise en page sémantique et commandes complètes.
html
<!doctype html>
<html lang="en">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Pipeline specimen</title>
<body>
<main class="pipeline-example">
<header>
<p class="eyebrow">sample-team / documentation</p>
<div class="title-row">
<div>
<h1>Pipeline #1842</h1>
<p>
Preview build for <code>docs/update-navigation</code> ·
<code>7c31a82</code>
</p>
</div>
<span id="pipeline-state" class="state failed">Failed</span>
</div>
</header>
<div class="toolbar">
<label for="job-filter">Show jobs</label
><select id="job-filter" class="gl-form-select">
<option value="all">All jobs</option>
<option value="failed">Failed jobs</option>
<option value="passed">Passed jobs</option></select
><button id="reset" class="btn btn-default gl-button">
Reset specimen
</button>
</div>
<div class="pipeline-layout">
<section aria-label="Pipeline stages">
<div id="stages" class="stages"></div>
<p id="empty" hidden>
No jobs match this filter. Choose All jobs to restore the pipeline.
</p>
</section>
<section class="job-detail" aria-labelledby="job-title">
<div class="detail-heading">
<h2 id="job-title"></h2>
<span id="job-state" class="state"></span>
</div>
<dl>
<dt>Stage</dt>
<dd id="job-stage"></dd>
<dt>Runner</dt>
<dd>local-example-runner</dd>
<dt>Execution</dt>
<dd>Simulated in this page</dd>
</dl>
<h3>Job output</h3>
<pre id="job-log" tabindex="0" aria-label="Selected job output"></pre>
<button id="retry" class="btn btn-confirm gl-button">
Simulate successful retry
</button>
<p id="feedback" role="status"></p>
</section>
</div>
<footer>
Native @gitlab/ui 138.0.0 CSS with original HTML and state logic. Fictional
pipeline; no runner, repository or CI job is started.
</footer>
</main>
<script type="module" src="/src/main.js"></script>
</body></html>
Enregistrez sous src/pajamas.css. La police système de remplacement est explicitement définie ; aucune police de marque GitLab n’est fournie.
04
Système de design GitLab Pajamas : configuration de l’agent
Point de départ de l’implémentation
Cette intégration importe uniquement la distribution native de CSS. Si vous adoptez les composants Vue de GitLab UI, respectez séparément les exigences de dépendances homologues de GitLab UI.
sh
npm create vite@latest pajamas-pipeline -- --template vanilla
cd pajamas-pipeline
npm install
npm install @gitlab/[email protected]
# Replace index.html; add src/main.js and src/pajamas.css from the complete examples.
npm run dev
Un prompt pour votre projet
Prompt pour l’agent IA
Créez un inspecteur technique de tâches à l’aide des surfaces sémantiques de Pajamas, de références réelles d’espacement et de typographie, d’identifiants de tâche stables et d’une sélection accessible. Utilisez l’intégralité du code source des données de démonstration, conservez le contexte visible de l’échec, rendez les états vides après filtrage compréhensibles et indiquez clairement toute simulation locale. Ne laissez pas entendre que CSS ou l’exemple de relance crée une tâche GitLab CI.
05
Système de design GitLab Pajamas : sources et périmètre
Guide d’application OpenDesign pour GitLab Pajamas et @gitlab/ui 138.0.0. Le package natif CSS met en forme cet exemple original en HTML/JavaScript. Le pipeline est fictif et aucun API GitLab, environnement d’exécution Vue, exécuteur CI ou opération sur un dépôt n’est invoqué.