Tinta para agir
O índigo marca tudo que é clicável e também a assinatura aplicada. A ação e a marca que ela deixa têm a mesma cor.
Como instalar, como os tokens se organizam e quais regras mantêm o sistema coerente. Esta página é feita com os próprios componentes e classes do z-ui.
O z-ui é um projeto Next.js com Tailwind v4. Você pode rodar o styleguide ou importar o tema em outro projeto.
Clone o repositório e instale as dependências. O styleguide abre em /styleguide.
git clone [email protected]:zforgehq/z-ui.git
cd z-ui
pnpm install
pnpm devTrês materiais definem a identidade. Cada um tem um papel e não invade o do outro.
O índigo marca tudo que é clicável e também a assinatura aplicada. A ação e a marca que ela deixa têm a mesma cor.
Selos, certificados e verificações usam lacre. Assim ninguém confunde “certificado” com “clique aqui”.
A folha usa a ilha .theme-light. Troque o tema na barra lateral: a interface escurece e o documento continua claro.
CLÁUSULA 1ª · DO OBJETO. Prestação de serviços de assinatura eletrônica.
Toda classe de cor percorre o mesmo caminho. Você só escreve as duas primeiras camadas. A ponte é gerada por pnpm theme:sync.
--color-brand-700: oklch(0.475 0.166 268);--color-bg-primary: var(--color-brand-700);--color-bg-primary: var(--color-bg-primary);className="bg-bg-primary"Resultado: bg-bg-primary. No escuro, o semântico aponta para brand-300 e a amostra ao lado clareia sem mudar a classe.
Comece pela intenção, não pela cor.
| Quero | Classes | Resultado |
|---|---|---|
| Botão de ação principal | bg-bg-primary text-fg-on-primary | |
| Mostrar que algo foi certificado | bg-bg-accent text-fg-on-accent | Válido |
| Estado de um envelope | bg-status-*-subtle text-status-* | Em assinatura |
| Hash, CPF ou protocolo | text-data-sm text-doc-hash | 9f2c41ab…3c58 |
| Assinatura aplicada | text-signature-md text-doc-ink | M. Costa |
| Texto secundário | text-body-sm text-fg-muted | Enviado há 2 dias |
className="bg-bg-primary-subtle text-fg-primary"className="bg-brand-50 text-brand-700"A primitiva não muda no tema escuro. O semântico muda.
className="h-form-md text-body-md"className="h-[40px] text-[14px]"Se falta um token, ele é criado no tema e passa pelo teste de contraste.
<Seal state="valid" … /><button className="bg-bg-accent">Assinar</button>Lacre significa certificado. A ação usa a tinta.
signerClasses[signer].solid`bg-signer-${n}`O Tailwind não enxerga classe montada por string.
Marque os itens conforme confere. O status acompanha o andamento, com o mesmo componente que mostra o estado de um envelope.
Antes de criar, confira as cores existentes. Se nenhuma serve, monte a proposta: o diálogo gera o trecho de CSS para os dois temas.