Um guia Pajamas para fluxos de trabalho técnicos: tokens semânticos reais, tipografia e espaçamento fluidos, um inspetor de pipeline em etapas, saída de falhas legível e uma simulação de nova tentativa explicitamente local.
Guia OpenDesign8 capítulos43 entradas de referênciaGuia de aplicação original
01
Prévia da interface do sistema de design GitLab Pajamas
Filtre as tarefas por estado, selecione uma tarefa para ler sua saída, simule o êxito da verificação de links com falha e restaure os dados originais de exemplo.
@gitlab/ui 138.0.0 nativo CSS; layout original organizado por etapas, HTML e lógica de estado local. Nenhuma atividade real de CI. · Referência de implementação
02
Referência de design do sistema de design GitLab Pajamas
Exportação publicada de tokens do tema claro do @gitlab/ui 138.0.0 e CSS nativo. Os nomes GL_* são exportações de JavaScript; os equivalentes em minúsculas --gl-* aparecem no CSS compilado. O exemplo usa a folha de estilos nativa com HTML original e lógica de estado, sem montar componentes Vue.
Arquitetura da informação do pipeline no sistema de design GitLab Pajamas
Apresente o contexto da falha antes da recuperação
O cabeçalho identifica um pipeline fictício, uma ramificação e um commit, dando contexto ao inspetor de tarefas. Compilação, Teste e Publicação aparecem agrupados, e cada tarefa selecionada abre sua própria saída. A verificação de links com falha inclui a rota e a condição de saída que explicam o problema antes de apresentar a ação para tentar novamente.
Mantenha um gráfico compacto e legível
Este exemplo usa colunas por etapa e botões, sem pretender implementar um grafo completo de dependências. Em telas estreitas, as etapas são empilhadas na ordem do documento. Um pipeline de produção pode precisar de tarefas paralelas, dependências e estados de aguardando, manual e cancelado; eles devem ser modelados explicitamente, em vez de inferidos a partir dos três títulos de exemplo.
Cores semânticas e estados no sistema de design GitLab Pajamas
Use funções semânticas da interface para a área de trabalho
A exportação do tema claro oferece superfícies neutras quentes, diferentes intensidades de texto e bordas sutis. O exemplo usa a superfície padrão nos cartões de tarefa, uma superfície azul para a seleção e uma região escura para os registros. O guia lista os valores exatos do pacote para que seja possível reproduzir essas relações sem extrair cores de uma captura de tela.
Faça com que os rótulos de estado expressem o significado
Aprovado e Falhou aparecem por extenso em cada linha e selo de tarefa. Um sinal de verificação ou de cruz complementa o texto; selos coloridos, por si só, seriam ambíguos. O roxo da marca não é usado como indicador genérico de sucesso. As referências de estado na tabela são intencionalmente distintas do azul de seleção.
Escala tipográfica e texto técnico no sistema de design GitLab Pajamas
Preserve as expressões fluidas quando aplicáveis
O pacote oferece funções pequenas com valores fixos e funções maiores baseadas em clamp. Substituir um clamp pelo valor máximo altera o comportamento responsivo. O exemplo original usa um título de 24px, dimensionado para a aplicação, e funções auxiliares compactas de 12–14px; essas escolhas são identificadas como decisões de layout, não como tokens adicionais do pacote.
Use fonte monoespaçada para identificadores e saídas
A ramificação e o commit usam estilo de código, enquanto os nomes das tarefas permanecem como texto de interface legível. A saída aparece em um bloco monoespaçado com foco pelo teclado. Caminhos longos podem quebrar linha, evitando que toda a página fique mais larga que a tela de um celular; ao selecionar outra tarefa, o texto é substituído, em vez de inserir HTML bruto.
Espaçamento e ritmo das bordas no sistema de design GitLab Pajamas
Não calcule os valores dos tokens a partir de seus números
GL_SPACING_SCALE_3 equivale a 0.5rem e scale_5 a 1rem; o índice é uma chave, não um multiplicador direto. Use o valor exportado ao implementar a escala. A tabela de referência mantém a unidade exata, inclusive o valor de zero pixels.
Use limites para esclarecer as regiões
Seleção e filtragem de tarefas no sistema de design GitLab Pajamas
Mantenha a identidade selecionada independente da posição no filtro
O script usa IDs de texto estáveis, como links e accessibility. O filtro altera as tarefas exibidas e seleciona uma correspondente quando houver. Clicar em uma tarefa atualiza em conjunto seu estado pressionado, etapa, selo de estado e registro. Assim, o título de uma tarefa não aparece junto à saída de outra.
Mantenha o contexto da recuperação quando o resultado desaparecer
Depois que a tarefa com falha é simulada como aprovada, o filtro de tarefas com falha não retorna resultados. A mensagem de lista vazia explica como restaurar a lista, enquanto o inspetor mantém o resultado recém-concluído. Essa escolha deliberada ajuda a pessoa a entender por que a linha desapareceu, sem perder a confirmação.
Comportamento de nova tentativa e redefinição no sistema de design GitLab Pajamas
Identifique a simulação com clareza
A ação se chama Simular nova tentativa bem-sucedida, altera apenas os dados locais de exemplo e substitui o registro por um resultado que descreve a simulação. Ela não aciona um executor, cria uma tarefa nem inspeciona um repositório. O selo geral do pipeline é recalculado com base no estado de todas as tarefas, em vez de definir sucesso automaticamente após qualquer clique.
Restaure todos os dados iniciais de exemplo
A redefinição cria uma cópia nova dos dados iniciais do job, seleciona o job de link com falha, restaura Todos os jobs e renderiza novamente os dois painéis. Ela limpa o resultado simulado sem recarregar a página. Assim, o exemplo pode ser repetido e evita que outra pessoa confunda um sucesso simulado anteriormente com a condição inicial.
Selecione Jobs com falha e confira a rota com falha.
Simule o sucesso e leia o inspetor mantido na tela e a lista filtrada vazia.
Redefina o exemplo e confira se a falha e a saída original foram restauradas.
Controles acessíveis para jobs do sistema de design GitLab Pajamas
Use botões para a seleção local
Cada job é um botão real com aria-pressed. O estado aparece ao lado da duração, e o foco visível do teclado permanece distinto da aparência de seleção. O filtro tem um rótulo visível. Não há navegação personalizada por teclado em um gráfico, pois esses controles simples não exigem esse recurso.
Anuncie o resultado sem mover o foco de leitura
O resultado é exibido em uma região de status após uma nova tentativa ou redefinição. O log é um texto selecionável e pode receber foco do teclado para leitura, mas o aplicativo não move o foco para ele automaticamente após cada seleção. Isso torna previsíveis as comparações repetidas entre jobs.
Limites de integração entre Vue e CSS do sistema de design GitLab Pajamas
Defina explicitamente o nível de integração
Este código importa a distribuição publicada CSS e implementa o comportamento original de HTML/JavaScript. Ele não instancia GlButton, GlFormSelect nem outras exportações do Vue. Um aplicativo Vue deve usar os componentes nativos correspondentes e suas props/eventos atuais, em vez de tratar esta implementação DOM como um exemplo de Vue.
Distribuição CSS: aparência nativa e variáveis semânticas.
HTML original: controles acessíveis e estrutura das regiões.
JavaScript original: dados de fixture, seleção, filtros e simulação.
Mantenha os tokens vinculados à versão importada
Exemplos de componentes do sistema de design GitLab Pajamas
index.html — área de trabalho do pipeline
Layout semântico completo e controles.
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>
Salve como src/pajamas.css. O fallback de fontes do sistema é explícito; nenhuma fonte com a marca GitLab está incluída.
04
Configuração de agente do sistema de design GitLab Pajamas
Ponto de partida para implementação
Esta integração importa apenas a distribuição nativa de CSS. Se você adotar os componentes Vue, siga separadamente os requisitos de dependência peer do 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
Um prompt para seu projeto
Prompt para agente de IA
Crie um inspetor técnico de jobs com superfícies semânticas do Pajamas, referências reais de espaçamento e tipografia, IDs estáveis de jobs e seleção acessível. Use a fonte completa da fixture, preserve o contexto visível da falha, torne compreensíveis os estados vazios dos filtros e identifique toda simulação local. Não dê a entender que CSS ou a nova tentativa de exemplo cria um job de GitLab CI.
05
Fontes e escopo do sistema de design GitLab Pajamas
Guia do aplicativo OpenDesign para GitLab Pajamas e @gitlab/ui 138.0.0. O pacote nativo CSS estiliza este exemplo original de HTML/JavaScript. O pipeline é fictício; nenhuma API API do GitLab, ambiente de execução Vue, executor de CI ou ação de repositório é acionado.