Una guía de Pajamas para flujos de trabajo técnicos: tokens semánticos reales, tipografía y espaciado fluidos, un inspector de canalización por etapas, mensajes de error fáciles de leer y una simulación de reintento explícitamente local.
Guía de OpenDesign8 capítulos43 entradas de referenciaGuía de aplicación original
01
Vista previa de la interfaz del sistema de diseño GitLab Pajamas
Filtra los trabajos por estado, selecciona uno para consultar su salida, simula que la comprobación del enlace fallido se completa correctamente y restablece los datos de prueba originales.
CSS nativo de @gitlab/ui 138.0.0; diseño por etapas original, HTML y lógica de estado local. No hay actividad real de CI. · Referencia de implementación
02
Referencia de diseño del sistema de diseño GitLab Pajamas
@gitlab/ui 138.0.0 publica una exportación de tokens del tema claro y CSS nativo. Los nombres GL_* son exportaciones de JavaScript; sus equivalentes en minúsculas --gl-* aparecen en el CSS compilado. El ejemplo usa la hoja de estilos nativa con la lógica original de HTML y de estado, no componentes Vue montados.
Arquitectura de información del pipeline del sistema de diseño GitLab Pajamas
Presenta el contexto del fallo antes de la recuperación
El encabezado identifica un pipeline ficticio, una rama y un commit para dar contexto al inspector de trabajos. Build, Test y Publish aparecen como grupos visibles, y al seleccionar un trabajo se muestra su propia salida. La comprobación fallida del enlace incluye la ruta y la condición de salida que explican el fallo antes de mostrar la acción de reintento.
Mantén legible un gráfico compacto
Este ejemplo usa columnas por etapa y botones, en lugar de fingir que implementa un grafo completo de dependencias. En pantallas estrechas, las etapas se apilan en el orden del documento. Un pipeline de producción puede necesitar trabajos paralelos, dependencias y estados en espera, manuales y cancelados; estos deben modelarse de forma explícita, no deducirse de los tres encabezados de ejemplo.
Colores semánticos y estados del sistema de diseño GitLab Pajamas
Usa roles semánticos de la interfaz para la superficie de trabajo
La exportación del tema claro ofrece superficies neutras cálidas, distintos niveles de intensidad para el texto y bordes sutiles. El ejemplo usa la superficie predeterminada para las tarjetas de trabajo, una superficie azul para el elemento seleccionado y una región oscura para los registros. La guía enumera los valores exactos del paquete para que se pueda reproducir esta relación sin tomar muestras de píxeles de una captura de pantalla.
Haz que las etiquetas de estado comuniquen su significado
En cada fila y distintivo de trabajo se indica Passed o Failed. Un símbolo de verificación o una cruz complementa el texto; los distintivos de color por sí solos serían ambiguos. El morado de marca no se usa como indicador genérico de éxito. Las referencias de estado de la tabla están separadas intencionadamente del azul de selección.
Escala tipográfica y texto técnico del sistema de diseño GitLab Pajamas
Conserva las expresiones fluidas cuando corresponda
El paquete ofrece roles fijos para tamaños pequeños y roles de mayor tamaño basados en clamp. Sustituir un clamp por su valor máximo altera el comportamiento adaptable. El ejemplo original usa un título de 24px del tamaño habitual en aplicaciones y roles de apoyo compactos de 12–14px; estas decisiones se identifican como decisiones de diseño, no como tokens adicionales del paquete.
Usa una fuente monoespaciada para los identificadores y la salida
La rama y el commit se muestran con estilo de código, mientras que los nombres de los trabajos siguen siendo texto de interfaz legible. La salida aparece en un bloque monoespaciado con ajuste de línea y un destino de foco de teclado. Las rutas largas pueden ajustarse en varias líneas en lugar de hacer que toda la página sea más ancha que un teléfono; al cambiar la selección, se reemplaza el texto en vez de insertar HTML sin procesar.
Espaciado y ritmo de bordes del sistema de diseño GitLab Pajamas
No calcules los valores de los tokens a partir de sus números
GL_SPACING_SCALE_3 equivale a 0.5rem y scale_5 a 1rem; el índice es una clave, no un multiplicador directo. Usa el valor exportado al implementar la escala. La tabla de referencia conserva las unidades exactas, incluido el paso de cero píxeles.
Usa límites para delimitar las regiones
Selección y filtrado de trabajos en el sistema de diseño GitLab Pajamas
Mantén la identidad de la selección independiente de la posición en el filtro
El script usa identificadores de cadena estables, como links y accessibility. El filtro cambia los trabajos que aparecen en la lista y selecciona uno coincidente si lo hay. Al hacer clic en un trabajo, se actualizan a la vez su estado de pulsación, su etapa, su distintivo de estado y su registro. Así se evita mostrar el título de un trabajo junto con la salida de otro.
Conserva el contexto de recuperación cuando desaparecen los resultados
Después de simular que el trabajo fallido se completa correctamente, el filtro Failed jobs no devuelve resultados. El mensaje de estado vacío explica cómo restaurar la lista, mientras que el inspector conserva el resultado que acaba de completarse. Esta decisión intencionada permite entender por qué desapareció la fila sin perder la confirmación.
Reintento y restablecimiento del sistema de diseño GitLab Pajamas
Describe la simulación con honestidad
La acción se llama Simulate successful retry, solo modifica los datos de prueba locales y reemplaza el registro por un resultado de simulación escrito. No pone en cola ningún ejecutor, no crea ningún trabajo ni inspecciona ningún repositorio. El distintivo general del pipeline se vuelve a calcular a partir de los estados de todos los trabajos, en lugar de marcarlo como correcto a ciegas después de cualquier clic.
Restablece todos los datos de prueba iniciales
Al restablecer, se crea una copia nueva de los datos iniciales del trabajo, se selecciona el trabajo con enlace fallido, se restauran Todos los trabajos y se vuelven a renderizar ambos paneles. Se borra el resultado simulado sin recargar la página. Así, la muestra se puede repetir y se evita que un segundo visitante confunda un éxito simulado anterior con el estado inicial.
Selecciona Trabajos fallidos y revisa la ruta fallida.
Simula el éxito y consulta el inspector, que conserva los datos, y la lista filtrada vacía.
Restablece la muestra y comprueba que vuelvan a aparecer el fallo y el resultado original.
GitLab Pajamas Controles accesibles del sistema de diseño
Usa botones para la selección local
Cada trabajo es un botón real con aria-pressed. El estado se muestra junto a la duración, y el foco visible del teclado se distingue de la apariencia seleccionada. El filtro tiene una etiqueta visible. No se atribuye navegación personalizada por el gráfico mediante teclado a estos controles sencillos.
Anuncia el resultado sin mover el foco de lectura
El resultado se escribe en una región de estado después de reintentar o restablecer. El registro es texto seleccionable y puede recibir el foco del teclado para su lectura, pero la aplicación no desplaza automáticamente el foco hacia él tras cada selección. Así, se pueden comparar trabajos repetidamente de forma predecible.
Sistema de diseño GitLab Pajamas CSS y límites de integración con Vue
Elige explícitamente un nivel de integración
Este código fuente importa la distribución publicada de CSS y proporciona un comportamiento original de HTML/JavaScript. No instancia GlButton, GlFormSelect ni otras exportaciones de Vue. Una aplicación de Vue debería usar los componentes nativos correspondientes y sus props/eventos actuales, en lugar de tratar esta implementación DOM como un ejemplo de Vue.
Distribución de CSS: apariencia nativa y variables semánticas.
HTML original: controles accesibles y estructura de regiones.
JavaScript original: datos de muestra, selección, filtros y simulación.
Mantén los tokens vinculados a la versión importada
Ejemplos de componentes del sistema de diseño GitLab Pajamas
index.html — espacio de trabajo de la canalización
Diseño semántico y controles completos.
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>
Guárdalo como src/pajamas.css. Se especifica explícitamente una fuente alternativa del sistema; no se incluye ninguna fuente de marca de GitLab.
04
Configuración de agentes del sistema de diseño GitLab Pajamas
Punto de partida para la implementación
Esta integración importa únicamente la distribución nativa de CSS. Si adoptas sus componentes Vue, consulta por separado los requisitos de dependencias peer 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
Una instrucción para tu proyecto
Instrucción para el agente
Crea un inspector técnico de trabajos con superficies semánticas de Pajamas, referencias reales de espaciado y tipografía, ID de trabajo estables y selección accesible. Usa el código fuente completo de los datos de muestra, conserva visible el contexto del fallo, haz comprensibles los estados vacíos de los filtros y etiqueta todas las simulaciones locales. No des a entender que CSS ni el reintento del ejemplo crean un trabajo de GitLab CI.
05
Fuentes y alcance del sistema de diseño GitLab Pajamas
OpenDesign guía de aplicación de GitLab Pajamas y @gitlab/ui 138.0.0. Los estilos del paquete nativo CSS dan formato a esta muestra original de HTML/JavaScript. La canalización es ficticia y no se invoca ningún API de GitLab, entorno de ejecución de Vue, ejecutor de CI ni acción de repositorio.