Design System Óptago
Biblioteca completa de componentes em CSS puro e JavaScript vanilla, sem build.
Inclua ui-optago.css e ui-optago.js no seu projeto e use as classes
com prefixo op-. Em cada bloco abaixo, use Copiar para levar o
HTML direto pro seu projeto, ou Ver código para inspecionar.
Suporta tema claro e escuro automaticamente: detecta a preferência do navegador (prefers-color-scheme) e lembra sua escolha depois que você alternar no botão de lua/sol no topo da página.
Desenvolvendo com IA?
Use o llms.txt como referência: reúne classes, atributos data-op-* e as regras da biblioteca num formato direto, pra qualquer agente de IA gerar HTML correto de primeira. Também dá pra apontar pro README.md (documentação completa) ou pra este próprio index.html (showcase com exemplo de código de cada componente).
Usar via CDN
Sem baixar nada, adicione as duas linhas ao <head>:
<link rel="stylesheet" href="https://unpkg.com/ui-optago@1.2.3/ui-optago.css"> <script src="https://unpkg.com/ui-optago@1.2.3/ui-optago.js"></script>
Cores da Marca
Cores Semânticas
Tipografia
Heading 1 Chakra Petch
Heading 2 Seções
Heading 3 Cards e blocos
Heading 4 Subtítulos
Parágrafo padrão em Inter. Criamos e mantemos produtos próprios e sob medida, sempre com a mesma régua: proteger dados, reduzir atrito e manter tudo no ar.
Texto secundário / muted para descrições e apoio.
JetBrains Mono: dados técnicos, códigos e rótulos. optago.com.br
Atalho de teclado: Ctrl + K · código inline: --op-accent: #C0FF6B
Botões
Badges & Etiquetas
Alertas
Atualização disponível
A versão 3.4 do painel já pode ser instalada.
Deploy concluído
Todos os serviços estão no ar e saudáveis.
Espaço quase esgotado
Seu disco principal atingiu 90% de capacidade.
Falha na conexão
Não foi possível conectar ao banco de dados.
Formulários
Como aparece no documento.
Verifique o CPF informado.
Domínio disponível!
Tabelas
| Usuário | Função | Status | Uso | Ações |
|---|---|---|---|---|
|
AF
Aline Franco
usr_8921 |
Administradora | Ativo |
|
|
|
CE
Carlos Eduardo
usr_1174 |
DevOps | Ausente | ||
|
MR
Marina Reis
usr_3350 |
Suporte | Bloqueado |
Tabela avançada: Tabulator
Para tabelas com ordenação, paginação e filtros, use a variante com
Tabulator e tema Óptago.
A biblioteca é carregada sob demanda: OptagoUI.tabulator('#minhaTabela', opções)
clique nos cabeçalhos para ordenar.
Cards
Auditoria de Segurança
Execute uma varredura completa nos seus containers em busca de vulnerabilidades.
Iniciar scanCarlos Eduardo
Engenheiro DevOps
Avatares
Progresso, Spinners & Skeleton
Tabs
Visão geral do sistema: tudo operando normalmente.
Ajuste preferências, chaves de API e integrações.
[12:04:31] INFO serviço reiniciado com sucesso
Métricas das últimas 24 horas.
Métricas dos últimos 7 dias.
Métricas dos últimos 30 dias.
Perfil
Tabs verticais são ideais para páginas de configuração com muitas categorias.
Segurança
Autenticação em duas etapas, sessões ativas e histórico de acesso.
Cobrança
Plano atual, faturas e método de pagamento.
API Keys
Gere e revogue chaves de acesso à API.
Accordion
O que é a Óptago?
O site usa cookies?
Como funciona o suporte?
Dropdown
Tooltips
Timeline
-
Agora · 14:32
Deploy em produção em andamento
Publicando a versão 3.4.0 nos servidores sa-east-1.
-
Hoje · 13:58
Testes aprovados
128 testes executados, 0 falhas. Cobertura em 94%.
-
Hoje · 11:20
Alerta de uso de disco
Volume principal atingiu 85% limpeza automática agendada.
-
Ontem · 22:47
Incidente resolvido resolvido
Instabilidade na API de pagamentos durou 12 minutos.
-
02 Jul · 09:00
Projeto criado
Repositório inicializado e pipeline configurado.
Horizontal (op-timeline-horizontal)
-
Passo 1
Pedido criado
-
Passo 2
Pagamento aprovado
-
Passo 3
Em separação
-
Passo 4
Entregue
Efeitos: Glow verde-lima & ciano
Manchas desfocadas para dar profundidade ao fundo, esta própria página usa algumas
(topo e cantos). Posicione .op-glow dentro de um container com
position:relative; o conteúdo por cima deve ter z-index maior.
Variações: op-glow-sm, op-glow-lg, op-glow-strong,
op-glow-info, op-glow-cyan (cor secundária da marca, #6BE0FF).
Hero com glow de fundo
Segurança, privacidade e performance: a mesma régua em todos os produtos.
Toasts / Notificações
Notificações aparecem centralizadas no topo. API: OptagoUI.toast(mensagem, tipo)
Tela de carregamento
Overlay em tela cheia para usar ao submeter formulários ou aguardar uma ação. API: OptagoUI.showLoading(mensagem) / OptagoUI.hideLoading().
Modais
Layout: App Shell
Esta própria página usa o app shell
Header, footer e sidebar (direita) são fixos. Apenas o conteúdo central rola. A sidebar colapsa no desktop (só ícones + tooltip) e vira drawer no mobile.
<body class="op-app">
<div class="op-app-body">
<header class="op-header">...</header>
<main class="op-main">CONTEÚDO ROLÁVEL</main>
<footer class="op-footer">...</footer>
</div>
<aside class="op-sidebar">
<nav class="op-sidebar-nav">
<a class="op-nav-item" href="#secao">
<i class="ph ph-palette"></i>
<span class="op-nav-text">Título</span>
<span class="op-nav-tooltip">Título</span>
</a>
</nav>
</aside>
</body>
Customizando
Toda a aparência (cores, raio de borda, sombras, fontes, dimensões do app shell...) vive em
variáveis CSS (tokens) declaradas no :root de ui-optago.css. Não
precisa editar o arquivo da lib: sobrescreva só as variáveis que quiser, depois de carregá-la.
Via CSS
Fixo, definido no seu CSS. Ideal pra marca própria de um sistema inteiro.
<style>
:root {
--op-accent: #FF6B00;
--op-cyan: #00B8D9;
--op-radius: 6px;
}
</style>
Via JS (runtime)
OptagoUI.customize(): dinâmico, ex. cor por tenant/cliente vinda de uma API.
OptagoUI.customize({
accent: '#FF6B00', // vira --op-accent
cyan: '#00B8D9',
'--op-radius': '6px' // nome completo também funciona
});
Principais tokens
| Variável | Padrão (escuro) | O que muda |
|---|---|---|
--op-accent | #C0FF6B | Cor de marca: botão primário, foco, glow |
--op-cyan | #6BE0FF | Cor secundária: detalhes, badges cyan |
--op-info / -success / -warning / -danger | azul / verde / laranja / vermelho | Cores semânticas (badges, alerts, toasts) |
--op-bg / -panel / -panel-2 / -panel-3 | tons de preto | Superfícies: fundo da página, cards, sidebar |
--op-text / -strong / -muted | tons de cinza | Texto padrão, texto em destaque, texto apagado |
--op-radius-sm / -radius / -radius-lg | 8px / 12px / 16px | Arredondamento de botões, cards, inputs... |
--op-font-display / -sans / -mono | Chakra Petch / Inter / JetBrains Mono | Títulos, texto corrido, dados técnicos |
--op-header-h / -footer-h / -sidebar-w | 56px / 42px / 260px | Dimensões do app shell |
Lista completa: seção 1. TOKENS no topo de ui-optago.css. O tema
claro redefine boa parte desses tokens dentro de html.light { ... } — pra
customizar só o modo claro (ou só o escuro), sobrescreva dentro do seletor correspondente.
Tour Guiado
Integração com driver.js via
OptagoUI.tour(steps, options?). A biblioteca é carregada do CDN
sob demanda (só quando o tour for iniciado) e o popover já sai estilizado com o
tema Óptago — escuro e claro, sem nenhuma configuração extra.
Uso básico
OptagoUI.tour([
{
element: '#meu-elemento',
popover: {
title: 'Bem-vindo!',
description: 'Este é o ponto de partida.',
}
},
{
element: '#outro-elemento',
popover: {
title: 'Passo 2',
description: 'Continue por aqui.',
}
},
// step sem element = modal centralizado
{
popover: {
title: 'Pronto!',
description: 'Tour concluído com sucesso.',
}
}
]).then(function(d) {
// d = instância driver.js (opcional)
});
Opções
OptagoUI.tour(steps, {
// Padrões já configurados pelo OptagoUI:
animate: true,
smoothScroll: true,
showProgress: true,
progressText: '{{current}} de {{total}}',
nextBtnText: 'Próximo →',
prevBtnText: '← Anterior',
doneBtnText: 'Concluir',
// Qualquer opção nativa do driver.js:
allowClose: true, // fecha com ESC/clique no overlay
onDestroyed: function() {
console.log('tour encerrado');
}
});
Todas as opções nativas do driver.js são aceitas e passadas diretamente à instância.
Estrutura de um step
| Propriedade | Tipo | Descrição |
|---|---|---|
element | string | Seletor CSS do elemento a destacar (omita para um modal genérico centralizado) |
popover.title | string | Título do popover (aceita HTML) |
popover.description | string | Corpo do popover (aceita HTML) |
popover.side | string | Lado de abertura: top bottom left right (padrão: automático) |
popover.align | string | Alinhamento: start center end |
onHighlightStarted | function | Callback antes de destacar o elemento |
onHighlighted | function | Callback após destacar o elemento |
onDeselected | function | Callback ao sair do step |
Destaque avulso (sem tour)
Para destacar um único elemento sem navegar por steps, passe um array de um único step.
O driver.js também expõe highlight() nativamente se você precisar da instância.
OptagoUI.tour([
{
element: '#meu-campo',
popover: { title: 'Atenção', description: 'Preencha este campo.' }
}
]);
Selo "Desenvolvido por Óptago"
Bloco pronto para o rodapé de qualquer site feito pela Óptago, mesmo sites que não
usam o resto deste design system. São dois arquivos HTML autocontidos (<style> +
markup, sem depender de nada do site hospedeiro): optago-credit-dark.html (fundos
escuros ou neutros) e optago-credit-light.html (fundos claros). Escolha o que
combina com o fundo onde o selo vai ficar.
<!-- Via CDN, sem copiar nada: -->
<div id="optago-credit"></div>
<script>
fetch('https://unpkg.com/ui-optago@1.2.3/optago-credit-dark.html')
.then(r => r.text())
.then(html => document.getElementById('optago-credit').innerHTML = html);
</script>
<!-- Ou copie o arquivo pro seu projeto e inclua localmente
(ex.: include no PHP, import estático, etc.) -->
Sobre a Óptago
A Óptago cria e mantém produtos próprios e sob medida, sempre com a mesma régua: proteger dados, reduzir atrito e manter tudo no ar. Em vez de um produto só, mantemos uma família de sistemas internos (login centralizado, gestão de clientes e cobranças, controle de estoque e nota fiscal, ponto de venda, monitoramento) que compartilham a mesma identidade visual, o mesmo padrão de segurança e a mesma forma de trabalhar.
Este design system é parte direta dessa régua: em vez de cada sistema reinventar botão, formulário e tabela do zero, todos os produtos da Óptago falam a mesma língua visual, o que acelera quem constrói e deixa a experiência previsível pra quem usa.
Produtos próprios
Sistemas construídos e operados internamente, não projetos avulsos entregues e esquecidos.
Segurança como padrão
Login centralizado, controle de acesso por sistema e trilha de auditoria em toda a família de produtos.
Uma identidade só
Este design system, o octógono e o verde-lima da marca aparecem em todo produto da Óptago.