Voltar ao Hub
Parte 4 de 4 — Design System

UX/UI — Referência & Sistema

Contextual help, data export, bulk actions, permissions, clipboard, changelog, dashboard widgets, error pages, file upload, pricing, status page, iconografia, acessibilidade, responsividade e design tokens.

28
Seções
56–76, 81–82, 84, 97–100
Capítulos
Referência
Nível
Parte 1 Fundamentos Parte 2 Componentes ← Parte 3 Patterns
54 — Form Validation Patterns

Form Validation Patterns

Padroes de validacao de formularios com feedback visual claro e mensagens orientadas a acao. Validacao inline em tempo real com indicadores de sucesso e erro.

Cadastro de Produto
Luminaria LED 24W Slim
✓ Nome valido
-50
Insira um valor entre R$ 0,01 e R$ 999.999,99
LED-24W
SKU ja existe. Um sufixo sera adicionado automaticamente.
Descreva o produto em ate 500 caracteres...
0 / 500 caracteres
Corrija os erros acima para salvar
EstadoBordaBackgroundIconeTexto
Neutro#CBD5E1#FFFFFFNenhum#94A3B8 — helper text
Focus#3B82F6#FFFFFFNenhum
Valido#10B981#F0FDF4Check verde#10B981 — confirmacao
Erro#DC2626#FFF5F5X vermelho#DC2626 — como corrigir
Warning#F59E0B#FFFBEBAlert amarelo#F59E0B — aviso
SubmitDesabilitado enquanto houver erros. Mensagem abaixo: "Corrija os erros acima".
55 — Internationalization (i18n) Ready

Internationalization (i18n) Ready

Diretrizes para preparar componentes para internacionalizacao. Garante que layouts, textos e formatos se adaptem a diferentes idiomas e locales sem quebrar o design.

pt-BR
Moeda: R$ 1.234,56
Data: 07/03/2026
Numero: 1.234.567,89
Botao: Salvar produto
en-US
Currency: $1,234.56
Date: 03/07/2026
Number: 1,234,567.89
Button: Save product
es-ES
Moneda: 1.234,56 EUR
Fecha: 07/03/2026
Numero: 1.234.567,89
Boton: Guardar producto
Expansao de Texto
EN: "Save"
Save
DE: "Speichern" (+80%)
Speichern
JA: "Hozon" (+compacto)
保存
AspectoRegra
StringsNunca hardcoded. Usar chaves de traducao (t('key')). Arquivos JSON por locale.
FormatacaoSempre usar Intl API nativa: NumberFormat, DateTimeFormat, PluralRules.
ExpansaoProjetar layouts para ate 200% de expansao de texto (DE, FI). Usar min-width: max-content.
Truncamentotext-overflow: ellipsis em navs e headers estreitos. Tooltip com texto completo.
RTLUsar propriedades logicas CSS: margin-inline-start, padding-inline-end.
FontesIncluir Noto Sans para scripts CJK e Arabic no font stack.
PluraisUsar Intl.PluralRules. Nao concatenar strings com numeros.
Locale defaultpt-BR. Fallback: en-US.
56 — Contextual Help & Inline Documentation

Contextual Help & Inline Documentation

Padroes de ajuda contextual que orientam o usuario sem tirá-lo do fluxo. Icones de ajuda com popovers, banners informativos e links para documentacao detalhada.

Como funciona?
Margem calculada sobre o preco de venda. Ex: custo R$80, venda R$100 = margem 20%. Ver documentacao completa →
20%
Novo: Calculo automatico de ICMS
O sistema agora calcula ICMS automaticamente com base no estado de destino. Saiba mais
Guia: Cadastro de produtos
Aprenda a cadastrar produtos com fotos, variantes e estoque.
ComponenteEspecificacao
Help icon (?)16px, circulo #E2E8F0, icone #64748B. Popover no hover/click.
PopoverBackground #0F172A, texto #F8FAFC, border-radius 8px, seta 10px. Max-width 200px.
Info bannerBackground #EFF6FF, borda #BFDBFE. Dismissible com X. Icone info azul.
Doc link cardBackground #F1F5F9, icone livro, titulo + descricao. Link externo com icone.
Acessibilidaderole="tooltip" no popover. aria-label="Ajuda" no trigger. role="status" no banner.
57 — Data Export Patterns

Data Export Patterns

Padroes para exportacao de dados em diferentes formatos. Modal de configuracao com opcoes de formato, colunas, filtros e preview antes de exportar.

Exportar dados
Formato
CSV
Excel
PDF
Colunas
✓ Nome ✓ SKU ✓ Preco Estoque Categoria
Registros: 1.247
Tamanho estimado: ~340 KB
ElementoEspecificacao
FormatosCSV, Excel (.xlsx), PDF. Card selecionavel com borda azul quando ativo.
ColunasPills com checkbox. Selecionadas: #1E3A5F + borda #3B82F6.
Info barQuantidade de registros e tamanho estimado. Background #1E293B.
LimiteAte 10.000 registros por exportacao. Acima: agendar e enviar por email.
FeedbackProgress bar durante geracao. Toast de sucesso com link para download.
58 — Bulk Actions & Multi-select

Bulk Actions & Multi-select

Selecao multipla em tabelas e listas com barra de acoes flutuante. Permite executar operacoes em massa como excluir, mover, alterar status ou exportar itens selecionados.

3 selecionados
Luminaria LED 24W Slim
R$ 85,00
Painel Slim 18W Quadrado
R$ 60,00
Fita LED 5m RGB
R$ 75,00
Refletor LED 100W IP65
R$ 189,00
ElementoEspecificacao
Checkbox16px, border-radius 3px. Checked: #3B82F6. Indeterminate: dash icon.
Row selecionadaBackground #EFF6FF. Font-weight 500.
Bulk barSticky top, background #0F172A. Aparece com animacao slide-down.
AcoesBotoes com icone + texto. Destructive: vermelho com fundo rgba. Requer confirmacao.
Select allHeader checkbox: seleciona pagina atual. Link "Selecionar todos os 1.247" para full.
KeyboardShift+Click para range. Ctrl+A para selecionar todos. Esc para limpar selecao.
59 — Permission & Role Indicators

Permission & Role Indicators

Indicadores visuais de nivel de acesso e permissoes. Badges de role, estados disabled por falta de permissao, e tooltips explicativos para acoes restritas.

Badges de Role
Admin Gerente Vendedor Financeiro Visualizador
Acoes por permissao
Editar produto
Permitido
Excluir produto
Requer Admin
Alterar precos
Requer Gerente
ElementoEspecificacao
AdminGradient purple #7C3AED → #6D28D9. Unico badge com gradient (destaque maximo).
GerenteAzul #60A5FA com borda. Background #1E3A5F.
VendedorVerde #4ADE80 com borda. Background #1A2E1A.
Acao bloqueadaOpacity 0.6, cursor not-allowed. Icone cadeado + badge "Requer [Role]".
TooltipAo hover em acao bloqueada: "Voce precisa de permissao [Role] para [acao]".
60 — Copy to Clipboard Patterns

Copy to Clipboard Patterns

Botoes e interacoes de copiar com feedback visual instantaneo. Icone muda para check apos copiar, com toast opcional de confirmacao.

Codigo do pedido
PED-2026-00847
Chave API (copiado!)
sk_live_••••••••••••3f7a
Copiado para a area de transferencia!
Link de compartilhamento
https://app.sysled.com/share/inv-8a3f...
EstadoEspecificacao
DefaultIcone clipboard, background #334155, stroke #94A3B8.
HoverBackground #475569. Transition 150ms.
CopiadoIcone check, background #064E3B, stroke #10B981. Borda verde no container.
FeedbackTexto "Copiado!" em #10B981 abaixo do campo. Fade in 200ms. Some apos 2s.
Dados sensiveisMascarar com ••••. Botao "Revelar" antes de copiar. Copiar envia valor real.
61 — Responsive Images & Media

Responsive Images & Media

Padroes para imagens e midias responsivas. Aspect ratios consistentes, lazy loading, placeholders, e tratamento de falha no carregamento.

1:1 — Produto
16:9 — Banner
4:3 — Galeria
Skeleton
Sem imagem
Fallback
Blur placeholder
ContextoAspect RatioFormato
Produto (thumb)1:1WebP, 400x400 / 800x800
Banner16:9WebP, 1200x675 / 2400x1350
Galeria4:3WebP, 600x450 / 1200x900
Avatar1:1 (circle)WebP, 128x128 / 256x256
LoadingSkeleton shimmer ou blur-up placeholderBase64 thumbnail (< 1KB)
ErroFallback: icone + texto "Sem imagem"SVG inline
62 — Changelog & Version History

Changelog & Version History

Timeline de versoes e atualizacoes do sistema. Badges de status, diff visual de mudancas, e release notes com categorias de alteracao.

Novidades
v2.4.0 Atual 07 Mar 2026
NEW Dashboard de KPIs com graficos interativos
NEW Exportacao em PDF com logo da empresa
UPD Filtros de busca agora persistem entre sessoes
FIX Corrigido calculo de ICMS para SP
v2.3.2 28 Fev 2026
FIX Hotfix: timeout na importacao de NF-e
DEP API v1 de produtos (usar v2)
TagCorUso
NEWVerde #16A34A / #F0FDF4Funcionalidade totalmente nova
UPDAzul #2563EB / #EFF6FFMelhoria em funcionalidade existente
FIXVermelho #DC2626 / #FFF5F5Correcao de bug
DEPAmarelo #D97706 / #FEF3C7Funcionalidade descontinuada. Texto com line-through.
TimelineDot azul para versao atual, cinza para anteriores. Linha vertical #E2E8F0.
63 — Settings & Preferences UI

Settings & Preferences UI

Layout padrao para paginas de configuracao. Secoes agrupadas com toggle switches, selects e opcoes de salvamento automatico vs manual.

Geral
Notificacoes
Seguranca
Integracao
Aparencia
Geral
Configuracoes basicas da conta e do sistema.
Salvar automaticamente
Salvar alteracoes em rascunho a cada 30 segundos.
Modo compacto
Reduzir espacamento em tabelas e listas.
Idioma
Idioma da interface do sistema.
Portugues (BR)
ElementoEspecificacao
LayoutSidebar 180px + conteudo fluido. Em mobile: nav vira tabs horizontais.
Nav ativaBackground #EFF6FF, texto #3B82F6, border-right 2px #3B82F6.
Toggle ONBackground #3B82F6, thumb branco a direita. Transition 200ms.
Toggle OFFBackground #CBD5E1, thumb branco a esquerda.
Auto-saveMostrar "Salvo" em #10B981 apos alteracao. Sem botao salvar.
64 — Dashboard Widgets & KPI Cards

Dashboard Widgets & KPI Cards

Cards de metricas para dashboards com valores, tendencias, sparklines e comparacao com periodo anterior. Projetados para visualizacao rapida de KPIs.

Receita Mensal
R$ 284.750
+12,4% vs mes anterior
Ticket Medio
R$ 347
-3,2% vs mes anterior
Pedidos Hoje
48
0% mesmo que ontem
Meta Mensal
72%
R$ 216k / R$ 300k
Faltam R$ 84.000 em 24 dias
VariacaoCorIcone
Positivo (up)Verde #16A34A. Badge #F0FDF4.Arrow up. Sparkline ascendente verde.
Negativo (down)Vermelho #DC2626. Badge #FFF5F5.Arrow down. Sparkline descendente vermelha.
Neutro (flat)Cinza #64748B. Badge #F1F5F9.Activity icon. Sem sparkline.
Meta (goal)Azul #3B82F6. Progress bar.Percentual no header. Texto "Faltam X em Y dias".
SparklineSVG polyline com fill gradient 15% opacity. 32px height.
65 — Error Pages (404, 500, Maintenance)

Error Pages (404, 500, Maintenance)

Paginas de erro estilizadas com ilustracoes, mensagens amigaveis e acoes claras de recuperacao. Manter a identidade visual mesmo em situacoes de falha.

404
Pagina nao encontrada
O link pode estar quebrado ou a pagina foi removida.
500
Erro interno
Algo deu errado do nosso lado. Ja fomos notificados.
Manutencao programada
Estamos atualizando o sistema. Previsao de retorno: 14:30h
00
horas
:
42
min
:
15
seg
PaginaIconeAcoes
404Search com minus (#334155)"Voltar ao inicio" (botao primario)
500Alert triangle (#334155)"Tentar novamente" + "Suporte"
403Lock (#334155)"Solicitar acesso" + "Voltar"
MaintenanceSettings gear (#F59E0B)Countdown timer. Previsao de retorno em destaque.
CodigoFont-size 6rem, color #1E293B (quase invisivel, decorativo).
66 — File Upload & Drag-Drop Zone

File Upload & Drag-Drop Zone

Zona de upload com drag-and-drop, progress bar individual por arquivo, preview de imagem/PDF, limites de tamanho e estados de erro e sucesso.

Arraste arquivos aqui
ou clique para selecionar
PNG, JPG, PDF ate 10MB. Maximo 5 arquivos.
nota-fiscal-8847.pdf
1.2 MB — Concluido
foto-produto-led24w.jpg
3.4 MB — 65%
catalogo-completo.pdf
Arquivo excede o limite de 10MB (14.8 MB)
EstadoVisual
Drop zone idleBorda dashed #CBD5E1, background #F8FAFC.
Drop zone activeBorda dashed #3B82F6, background #EFF6FF. Transition 200ms.
UploadingProgress bar 4px #3B82F6. Percentual + tamanho.
SucessoIcone check verde. Texto "Concluido".
ErroBackground #FFF5F5, borda #FCA5A5. Mensagem de erro + "Tentar novamente".
LimitesMax 10MB por arquivo. Max 5 arquivos. Formatos: PNG, JPG, PDF, XLSX.
67 — Inline Editing (Edit-in-Place)

Inline Editing (Edit-in-Place)

Edicao direta em tabelas e cards sem abrir modal. Click-to-edit transforma texto em input, com Save/Cancel inline e feedback visual de alteracao.

Produto
Preco
Estoque
Luminaria LED 24W
R$ 85,00
150
Painel Slim 18W
R$ 62,00
320
Fita LED 5m RGB
R$ 79,00
85
Salvo
EstadoVisual
View (hover)Icone pencil aparece com opacity 0→1 (150ms). Cursor pointer.
EditingRow background #FFFBEB. Input com borda #3B82F6 + focus ring. Save (check azul) + Cancel (X).
SavedRow background #F0FDF4 por 2s. Valor em #16A34A bold. "Salvo" fade out.
KeyboardEnter = salvar. Esc = cancelar. Tab = proximo campo editavel.
UndoToast com "Desfazer" por 5s apos salvar. Ctrl+Z tambem funciona.
68 — Comparison Tables & Pricing

Comparison Tables & Pricing

Tabelas de comparacao de planos ou produtos com destaque visual para a opcao recomendada. Badges, check/cross icons e CTA por coluna.

Starter
R$ 97
/mes
500 produtos
2 usuarios
API access
Relatorios
MAIS POPULAR
Pro
R$ 197
/mes
5.000 produtos
10 usuarios
API access
Relatorios
Enterprise
Custom
sob consulta
Ilimitado
Ilimitado
API access
Relatorios
ElementoEspecificacao
Card destacadoBackground #0F172A, borda #3B82F6 2px, scale 1.05, shadow azul.
Badge "Popular"Background #3B82F6, texto branco, border-radius 10px, position absolute top -10px.
Check (incluido)SVG check #16A34A, texto #334155.
X (excluido)SVG X #CBD5E1, texto #94A3B8.
CTA destacadoBackground #3B82F6 no plano popular. Secondary nos demais.
69 — Keyboard Shortcut Cheatsheet

Keyboard Shortcut Cheatsheet

Modal com todos os atalhos de teclado do sistema, agrupados por categoria. Acionado por ? ou pelo menu. Pesquisavel em tempo real.

Atalhos de teclado
Buscar atalho...
Navegacao
Abrir Command Palette
Cmd K
Ir para Dashboard G D
Ir para Produtos G P
Acoes
Novo produto
Cmd N
Salvar
Cmd S
Buscar /
Pressione ? para abrir Esc para fechar
ElementoEspecificacao
ModalBackground #0F172A, max-width 460px, max-height 80vh com scroll.
TriggerTecla ? (quando nenhum input esta focado) ou menu Ajuda.
Kbd tagBackground #334155, borda #475569, border-radius 4px, font mono.
CategoriasNavegacao, Acoes, Edicao, Tabelas, Sistema. Uppercase, #94A3B8.
BuscaFiltro em tempo real. Ocultar categorias sem resultados.
70 — Status Page & System Health

Status Page & System Health

Dashboard de status dos servicos do sistema com indicadores de uptime, historico de incidentes e badges de estado operacional.

Todos os sistemas operacionais
API Principal
99.98% Operacional
Servico de Email
98.50% Degradado
Banco de Dados
99.99% Operacional
Webhook Processor
95.20% Fora do ar
Uptime ultimos 30 dias 99.84%
30 dias atras Hoje
EstadoDotBadgeBanner
Operacional#16A34AVerde / #F0FDF4Verde / borda #BBF7D0
Degradado#F59E0BAmarelo / #FFFBEBAmarelo / borda #FDE68A
Fora do ar#DC2626 + pulseVermelho / #FFF5F5Vermelho / borda #FCA5A5
Manutencao#3B82F6Azul / #EFF6FFAzul / borda #BFDBFE
Uptime chartBarras verticais por dia, 30 dias. Cor = pior estado do dia. Tooltip com %.
71 — Iconografia

Iconografia

A Sysled utiliza ícones no estilo outline (contorno) com espessura de 1.5px a 2px, alinhados ao estilo clean e moderno da marca. A biblioteca recomendada é a Lucide Icons ou Heroicons, ambas open-source e com estilo consistente.

Estoque
Logística
Dashboard
Monitoramento
Configuração
Produção
Segurança
Usuários

Diretrizes de Ícones

Propriedade Valor
Estilo Outline (contorno)
Stroke Width 1.5px — 2px
Tamanho padrão 24px x 24px
Tamanho pequeno 16px x 16px
Tamanho grande 32px x 32px
Cor padrão currentColor (herda do texto)
Biblioteca recomendada Lucide Icons / Heroicons
72 — Acessibilidade

Acessibilidade

A plataforma Sysled deve atender ao nível WCAG 2.1 AA como padrão mínimo de acessibilidade. Isso garante que a interface seja utilizável por pessoas com diferentes capacidades, incluindo deficiências visuais, motoras e cognitivas.

Diretriz Requisito Implementação
Contraste de Texto Mínimo 4.5:1 para texto normal, 3:1 para texto grande Verificar com ferramentas como WebAIM Contrast Checker
Navegação por Teclado Todos os elementos interativos acessíveis via Tab Focus rings visíveis, ordem lógica de tabulação
Textos Alternativos Todas as imagens com atributo alt descritivo Alt text significativo, imagens decorativas com alt=""
ARIA Labels Elementos interativos com labels acessíveis aria-label, aria-describedby, roles semânticos
Tamanho de Toque Mínimo 44px x 44px para elementos clicáveis Botões, links e inputs com área de toque adequada
Hierarquia de Headings Sequência lógica de h1 a h6 Não pular níveis, um h1 por página

Contraste das Cores Primárias

Combinação Ratio Status
#1A1A2E sobre #FFFFFF 16.2:1 AAA
#2C3E50 sobre #FFFFFF 10.7:1 AAA
#2B6CB0 sobre #FFFFFF 5.2:1 AA
#FFFFFF sobre #2B6CB0 5.2:1 AA
#FFFFFF sobre #1A1A2E 16.2:1 AAA
73 — Responsividade

Responsividade

Todas as interfaces da Sysled devem ser responsivas, adaptando-se fluidamente a diferentes tamanhos de tela. A abordagem recomendada é mobile-first, construindo a experiência base para telas menores e progressivamente aprimorando para telas maiores.

Dispositivo Breakpoint Comportamento
Mobile 360px+ Layout em coluna única, menu hamburger, cards empilhados, tipografia reduzida
Tablet 768px+ Grid de 2 colunas, sidebar colapsável, tabelas com scroll horizontal
Desktop 1024px+ Layout completo com sidebar fixa, grid de 3-4 colunas, dashboards expandidos
Large Desktop 1440px+ Container centralizado (max 1200px), espaçamento ampliado, painéis laterais

Diretrizes de Adaptação

Imagens e gráficos devem utilizar srcset para servir resoluções adequadas a cada dispositivo. Tabelas de dados devem implementar scroll horizontal em telas pequenas ou reorganizar-se em formato de cards. Menus de navegação devem colapsar em formato hamburger abaixo de 1024px. Modais devem ocupar tela cheia em mobile.

74 — Design Tokens

Design Tokens

Design tokens são as variáveis fundamentais do sistema de design da Sysled. Eles centralizam todas as decisões visuais — cores, tipografia, espaçamento, sombras, bordas e z-index — em um único ponto de verdade.

Cores

--color-blue-primary
#2B6CB0
--color-blue-medium
#3A8FD6
--color-blue-light
#5BB8F5
--color-cyan
#48C9B0
--color-dark-primary
#0F172A
--color-dark-secondary
#1E293B
--color-success
#059669
--color-error
#DC2626
--color-warning
#D97706
--color-info
#3A8FD6

Tipografia

TokenValorUso
--font-heading'Montserrat', sans-serifTítulos, labels, badges
--font-body'Inter', sans-serifCorpo, inputs, botões
--font-mono'JetBrains Mono', monospaceCódigo, dados técnicos
--text-xs0.75rem (12px)Captions, hints
--text-sm0.875rem (14px)Corpo secundário, labels
--text-base1rem (16px)Corpo principal
--text-lg1.25rem (20px)Subtítulos
--text-xl1.5rem (24px)Títulos de seção
--text-2xl2rem (32px)Títulos de página

Espaçamento

Sistema baseado em múltiplos de 4px, garantindo ritmo vertical e horizontal consistente.

4px
--space-1
8px
--space-2
12px
--space-3
16px
--space-4
24px
--space-6
32px
--space-8
48px
--space-12
64px
--space-16

Sombras

--shadow-xs
0 1px 2px rgba(0,0,0,0.05)
--shadow-sm
0 1px 3px rgba(0,0,0,0.08)
--shadow-md
0 4px 12px rgba(0,0,0,0.1)
--shadow-lg
0 12px 40px rgba(0,0,0,0.15)

Border Radius

--radius-sm
4px
--radius-md
8px
--radius-lg
12px
--radius-xl
16px
--radius-full
9999px

Z-Index

--z-base 1 — Conteudo
--z-dropdown 100 — Dropdowns, popovers
--z-tooltip 200 — Tooltips
--z-sticky 300 — Headers fixos
--z-overlay 500 — Overlay
--z-modal 1000 — Modais
--z-toast 9999 — Toasts

Transições

TokenValorUso
--transition-fast0.12s easeHover de botões, ícones
--transition-base0.18s easeTransições gerais, foco
--transition-slow0.3s cubic-bezier(0.4,0,0.2,1)Modais, sidebars, expansão
--transition-spring0.5s cubic-bezier(0.34,1.56,0.64,1)Animações com bounce

Exemplo de Implementação

/* Design Tokens — Sysled */
:root {
  /* Colors */
  --color-blue-primary: #2B6CB0;
  --color-blue-medium: #3A8FD6;
  --color-cyan: #48C9B0;
  --color-dark-primary: #0F172A;

  /* Typography */
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;

  /* Spacing (base: 4px) */
  --space-1: 4px;
  --space-4: 16px;
  --space-8: 32px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.12);

  /* Radius */
  --radius-md: 8px;
  --radius-lg: 12px;

  /* Transitions */
  --transition-base: 0.18s ease;
}
75 — Badges, Tags & Chips

Badges, Tags & Chips

Componentes compactos para comunicar status, categorias, contagens e filtros ativos. Essenciais para dashboards industriais, listas de pedidos e monitoramento de equipamentos na plataforma SYSLED.

Status Badges

Indicadores visuais para representar o estado atual de um item. Usam cores semanticas com dot animado para estados ativos.

Online Offline Em Produção Manutenção Erro Crítico Pausado

Notification Badges (Contadores)

Indicam quantidade de itens pendentes. Usados em icones de navegacao, tabs e botoes.

3
12
99+

Tags & Labels

Para categorizar itens em listas, tabelas e cards. Suportam icone e acao de remover.

Estoque Aprovado Pendente Rejeitado Lote #2847 Urgente Setor A

Chips com Acao (Removiveis)

Usados em filtros ativos, seletores multi-valor e campos de busca. O usuario pode remover clicando no X.

Linha de Producao A Turno: Manhã Status: Ativo Qualidade: OK

Badges em Contexto — Exemplo Tabela

Como badges e tags aparecem dentro de componentes reais da plataforma.

EquipamentoStatusPrioridadeSetor
CNC Torno #04 Online Normal Setor A
Prensa Hidr. #12 Erro Critica Setor B
Extrusora #07 Manutenção Alta Setor A

Variantes de Tamanho

XS Badge
xs
SM Badge
sm
MD Badge
md (padrão)
LG Badge
lg

Especificacoes

PropriedadeStatus BadgeTag/LabelChip (Removivel)Contador
Border-radius100px (pill)4-6px (rounded)100px (pill)100px (pill)
Padding5px 12px4px 10px5px 12px (left) 8px (right)0 4px
Font size0.75rem0.7rem0.72rem0.6rem
Font weight600600500700
Dot size7px (com animacao)
Min-width (contador)18px
Close buttonNaoOpcionalSim (18px circle)Nao
Max chars~20~25~30 (truncar com ...)"99+" se >99

Paleta de Cores Semanticas

SignificadoBackgroundBorderTextDot
Sucesso / Online#ECFDF5#A7F3D0#065F46#10B981
Info / Em Producao#EFF6FF#BFDBFE#1E40AF#3B82F6
Warning / Manutencao#FFFBEB#FDE68A#92400E#F59E0B
Erro / Critico#FEF2F2#FECACA#991B1B#EF4444
Neutro / Offlinevar(--gray-100)var(--gray-200)var(--gray-600)#94A3B8
Purple / Pausado#F5F3FF#DDD6FE#5B21B6#8B5CF6
Pink / Urgente#FFF1F2#FECDD3#9F1239#F43F5E
Teal / Setor#F0FDFA#99F6E4#134E4A#14B8A6

Do's & Don'ts

DO
Usar cores semanticas consistentes — verde sempre = sucesso, vermelho sempre = erro.
DON'T
Usar mais de 3 badges/tags em uma unica celula de tabela — fica visualmente poluido.
DO
Animar o dot de status apenas para estados ativos (Online, Em Producao, Erro Critico).
DON'T
Misturar badges pill (arredondados) com badges quadrados no mesmo contexto.
76 — Avatar & User Presence

Avatar & User Presence

Sistema de representacao visual de usuarios na plataforma. Inclui avatares individuais, grupos empilhados, indicadores de presenca online/offline e user cards compactos.

Avatar Individual — Tamanhos

Avatares usam imagem, iniciais como fallback, ou icone generico. Sempre circulares.

DF
xs
24px
DF
sm
32px
DF
md
40px
DF
lg
48px
DF
xl
64px
DF
2xl
80px

Fallback — Variantes de Cor

Quando nao ha foto, usar iniciais do nome com cores geradas a partir do hash do user ID. Paleta fixa de 8 cores:

AB
CD
EF
GH
IJ
KL
MN

Indicador de Presenca (Online Status)

Dot posicionado no canto inferior-direito do avatar. Usa borda branca para separar do fundo.

DF
Online
RS
Ausente
MC
Ocupado
JL
Offline

Avatar Group (Stack)

Avatares empilhados com sobreposicao de -8px. Usado para mostrar membros de equipe, responsaveis por tarefa, etc.

DF
RS
MC
JL
+5
DF
RS
+3
5 membros nesta equipe

User Card — Mini Profile

Card compacto para hover/popover com informacoes basicas do usuario. Usado em mentions, assignees e comentarios.

DF
Demetrio Freitas
Gerente de Producao
Admin Online
RS
Rafael Silva
Tecnico de Manutencao
Tecnico Ausente

Avatar em Contexto — Comentario

DF
Demetrio Freitas há 15 min

Verificar pressao da prensa hidraulica #12 — sensor reportou variacao acima do threshold. @rafael.silva pode checar no proximo turno?

Responder Reagir

Especificacoes

PropriedadeXS (24)SM (32)MD (40)LG (48)XL (64)2XL (80)
Diametro24px32px40px48px64px80px
Font size (iniciais)0.45rem0.55rem0.7rem0.85rem1.1rem1.4rem
Presence dot8px10px12px14px16px18px
Border (dot)1.5px2px2px2.5px3px3px
Stack offset-6px-8px-10px-12px-14px-16px
Border (stack)1.5px2px2.5px2.5px3px3px
Uso tipicoInline textTabelasCards, listsProfilesHeadersProfile page

Cores de Presenca

StatusCorHexSignificado
Online#10B981Usuario ativo na plataforma
Ausente#F59E0BInativo ha mais de 5 min
Ocupado#EF4444Nao perturbe / em reuniao
Offline#94A3B8Desconectado

Regras de Fallback

PrioridadeFonteExemplo
1aFoto do perfil (URL)Imagem redonda com object-fit: cover
2aIniciais (nome + sobrenome)"DF" para Demetrio Freitas
3aIcone generico (user)SVG user icon em fundo cinza

Do's & Don'ts

DO
Usar gradient consistente por usuario — a mesma cor deve aparecer sempre para o mesmo usuario (hash do ID).
DON'T
Exibir mais de 5 avatares no stack visivel. Apos 4-5, usar counter "+N".
DO
Sempre incluir borda branca no dot de presenca para garantir contraste contra qualquer fundo de avatar.
DON'T
Usar avatares quadrados. A marca SYSLED define avatares sempre circulares.
81 — Theming & White-Label System

Theming & White-Label System

Arquitetura de tokens semânticos e temas dinâmicos para suportar múltiplas marcas (white-label) no ecossistema SYSLED — de clientes OEM a unidades regionais com identidade visual própria.

Arquitetura de Tokens — 3 Camadas
Camada 1
Primitivos
Valores brutos, sem contexto
--blue-600: #0066CC
--orange-500: #FF6600
--gray-900: #1A1A2E
--radius-md: 10px
Camada 2
Semânticos
Significado + contexto
--color-brand-primary
--color-brand-accent
--color-bg-primary
--radius-component
Componentes referenciam ESTA camada
Camada 3
Componente
Tokens específicos por componente
--btn-bg: var(--color-brand-primary) --btn-radius: var(--radius-component) --card-border: var(--color-border) --nav-bg: var(--color-bg-surface)
Temas — Preview Comparativo
SYSLED
Tema Padrão
Botão Primário
INDTECH PRO
Cliente OEM A
Botão Primário
AGRO SMART
Cliente OEM B
Botão Primário
Arquivo de Configuração do Tema
// theme.config.json
{
  "name": "sysled-default",
  "displayName": "SYSLED Industrial",
  "colors": {
    "brand-primary": "#0066CC",
    "brand-accent": "#FF6600",
    "bg-primary": "#FFFFFF",
    "bg-surface": "#F0F4F8",
    "bg-elevated": "#FFFFFF",
    "text-primary": "#1A1A2E",
    "text-secondary": "#64748B",
    "border": "#E2E8F0",
    "success": "#10B981",
    "warning": "#F59E0B",
    "error": "#EF4444"
  },
  "typography": {
    "heading": "Montserrat",
    "body": "Inter",
    "mono": "JetBrains Mono"
  },
  "radius": {
    "sm": "6px",
    "md": "10px",
    "lg": "16px",
    "full": "100px"
  },
  "logo": {
    "light": "/assets/logo-light.svg",
    "dark": "/assets/logo-dark.svg",
    "icon": "/assets/logo-icon.svg"
  }
}
Mapeamento Light ↔ Dark
Light Mode
bg-primary
#FFFFFF
bg-surface
#F0F4F8
text-primary
#1A1A2E
border
#E2E8F0
Dark Mode
bg-primary
#1A1A2E
bg-surface
#2D2D44
text-primary
#E2E8F0
border
#2D2D44
Checklist White-Label
Visual
Logo (light, dark, icon, favicon)
Paleta de cores (primary, accent, semantic)
Tipografia (heading + body)
Border radius (sm, md, lg)
Funcional
Domínio customizado
E-mail templates com branding
Login page personalizada
PDF reports com marca do cliente
TokenTipoDescrição
--color-brand-primarySemânticoCor principal da marca — botões, links, foco
--color-brand-accentSemânticoCor de destaque — badges, CTAs secundários
--color-bg-primarySemânticoFundo principal da aplicação
--color-bg-surfaceSemânticoFundo de cards e painéis elevados
--color-bg-elevatedSemânticoFundo de modais, dropdowns, popovers
--color-text-primarySemânticoTexto principal — headings, body
--color-text-secondarySemânticoTexto secundário — labels, captions
--color-borderSemânticoBordas de inputs, cards, dividers
--radius-componentEstruturalRadius padrão de componentes (botões, inputs)
--font-headingTipografiaFamília da fonte para headings
DO
  • Usar tokens semânticos nos componentes
  • Testar contraste WCAG em cada tema
  • Gerar CSS custom properties em runtime
  • Manter cores semânticas fixas (success, error)
  • Validar logo em light E dark mode
DON'T
  • Hardcodar hex nos componentes
  • Permitir primary = vermelho (conflita com error)
  • Esquecer de remapear hover/active states
  • Usar nomes de cor nos tokens (--blue → --primary)
  • Ignorar modo escuro no white-label
82 — Notification Preferences UI

Notification Preferences UI

Interface de configuração de notificações — canais (push, e-mail, SMS, in-app), frequência, agrupamento por categoria e controle granular por tipo de evento industrial.

Painel de Preferências
Notificações
Gerencie como e quando você recebe alertas
Pausar tudo
Categoria
Push
E-mail
SMS
In-App
Alertas Críticos
Falhas, paradas de emergência, segurança
Obrigatório — não pode desativar
Produção
OEE, metas, setup, troca de turno
Manutenção
Preventiva, corretiva, peças, ordens
Qualidade
Inspeções, não-conformidades, auditorias
Sistema
Updates, backup, sessão, segurança
Frequência & Horário Silencioso
Digest por E-mail
Horário Silencioso
Notificações push e SMS pausadas neste período. Alertas críticos continuam ativos.
Início
22:00
Fim
07:00
Dias ativos
D
S
T
Q
Q
S
S
Preview — Tipos de Notificação
Push
S
SYSLED agora
Alerta de Parada
CNC Torno #04 — parada não programada detectada. OEE caiu para 45%.
In-App
Manutenção preventiva 5 min
Ordem #MP-2847 criada para Prensa PH-200. Prazo: 15/03/2026.
Ver ordem
Dispensar
E-mail Digest
SYSLED
Resumo diário — 08 Mar 2026
2 alertas críticos
5 ordens de manutenção
OEE médio: 87.3%
SMS
[SYSLED] ALERTA: Prensa PH-200 parada emergencial. Sensor temp. 142°C (limite: 120°C). Verifique imediatamente.
08:42 AM
ComponenteSpecNota
Toggle Switch36×20px, thumb 16px, radius 100pxON = primary, OFF = gray-300
Category RowPadding 16px 24px, icon 28×28Ícone contextual com cor da categoria
Radio Button18px, dot 10px, border 2pxSelected = primary fill + border
Day Selector28×28px, radius 6pxActive = primary bg + white text
Time InputHeight 40px, radius 8pxClock icon + valor em bold
Push PreviewDark bg #1A1A2E, radius 16pxApp icon 32×32, radius 8px
In-App ToastWhite bg, unread dot 8px primaryAction buttons dentro do card
Obrigatório BadgeError color, shield icon 10pxImpede desativar a categoria
DO
  • Agrupar notificações por categoria funcional
  • Marcar canais obrigatórios (segurança/crítico)
  • Oferecer horário silencioso configurável
  • Preview visual de cada canal no settings
  • Permitir digest como alternativa ao tempo real
DON'T
  • Toggle global sem explicar o que pausa
  • Desativar alertas críticos de segurança
  • Listar eventos individuais (agrupar por tipo)
  • Enviar SMS para eventos não-urgentes
  • Ignorar fuso horário do usuário
84 — Design System Governance & Changelog

Design System Governance & Changelog

Processos, papéis e documentação para manter o Design System SYSLED vivo, consistente e evolutivo — do pedido de novo componente ao versionamento semântico e changelog público.

Modelo de Governança — RACI
Atividade
DS Team
Dev Squad
UX Lead
Product
Criar novo componente
R
C
A
I
Modificar token existente
R
I
A
C
Deprecar componente
R
C
A
C
Publicar release
R
I
A
I
R Responsável
A Aprova
C Consultado
I Informado
Ciclo de Vida do Componente
Draft
Proposta
Alpha
Experimental
Beta
Em validação
Stable
Produção
Deprecated
Migração
Versionamento Semântico
3
Major
.
2
Minor
.
1
Patch
Major (Breaking)
  • Remoção de componente
  • Mudança de API (props)
  • Renomear tokens
  • Quebra de layout
Minor (Feature)
  • Novo componente
  • Nova variante/prop
  • Novo token
  • Nova seção no brandbook
Patch (Fix)
  • Bug fix visual
  • Ajuste de spacing
  • Correção de typo
  • Fix de acessibilidade
Changelog — Exemplo
v3.2.1 Patch 08 Mar 2026 Latest
FIX Corrigido contraste insuficiente no badge warning em dark mode
FIX Ajustado spacing do Toggle Switch de 3px para 2px
v3.2.0 Minor 05 Mar 2026
NEW Adicionado componente KanbanBoard com drag & drop
NEW Adicionado seção de Notification Preferences UI ao brandbook
ENH Avatar agora suporta indicador de presença em 4 estados
v3.1.0 Minor 28 Fev 2026
NEW Adicionado suporte a Theming & White-Label
DEP Deprecado LegacyTable — usar DataTableV2
Fluxo de Contribuição — RFC
1
RFC
Abrir issue descrevendo necessidade, use cases e proposta visual
2
Design Review
UX Lead revisa proposta, sugere ajustes, valida com DS Team
3
Implementação
Dev implementa com tokens, testes, storybook e documentação
4
Release
Merge, bump de versão, changelog atualizado, notificação aos squads
ItemRegraNota
Versão FormatMAJOR.MINOR.PATCHSemver estrito
Changelog BadgeNEW azul, ENH amarelo, FIX verde, DEP vermelhoTags de 4px radius
Deprecation NoticeMínimo 2 releases antes de remoçãoCom migration guide
RFC IssueTemplate obrigatório: Problema, Proposta, Use CasesLabel ds-rfc
Review CycleMáx 5 dias úteis para feedbackEscalation se expirar
Status BadgeDraft, Alpha, Beta, Stable, DeprecatedNa doc do componente
Breaking ChangeRequer migration guide + codemod quando possívelNotificação via e-mail
Release NotesPublicadas no changelog + Slack #ds-updatesLink para diff no Git
DO
  • Documentar cada componente com status badge
  • Seguir semver estrito para releases
  • Deprecar antes de remover (2 releases min.)
  • Manter changelog público e acessível
  • Nomear ownership claro (RACI) por entrega
DON'T
  • Publicar componente sem revisão de UX
  • Fazer breaking change em patch release
  • Remover componente sem migration guide
  • Ter dois componentes que fazem a mesma coisa
  • Ignorar feedback de squads consumidores
98 — Performance Budget & Metrics

Performance Budget & Metrics

Orçamentos de performance e métricas-alvo para garantir que a plataforma SYSLED carregue rapidamente em ambientes industriais — redes corporativas com latência variável, tablets em chão de fábrica e conexões 4G instáveis. Define limites para Core Web Vitals, bundle sizes, tempos de resposta de API e rendering budget por componente.

Core Web Vitals — Metas

Métricas do Google que impactam diretamente a experiência do operador. Cada métrica tem threshold verde (bom), amarelo (precisa melhorar) e vermelho (ruim).

Core Web Vitals — SYSLED Targets
1.8s
LCP
Largest Contentful Paint
≤ 2.5s Meta: 1.8s
85ms
INP
Interaction to Next Paint
≤ 200ms Meta: 85ms
0.03
CLS
Cumulative Layout Shift
≤ 0.1 Meta: 0.03
420ms
TTFB
Time to First Byte
≤ 800ms Meta: 300ms

Bundle Size Budget

Limites de tamanho por chunk e por rota para manter o carregamento rápido. Monitorado via CI/CD — builds que excedem o budget são bloqueados.

Bundle Budget — Por Chunk
Total Bundle (gzipped)
187 KB / 250 KB max
vendor.js React + Router + Zustand
68 KB
Budget: 100 KB
app.js Layout + Auth + Core
42 KB
Budget: 75 KB
dashboard.js Charts + KPIs + Widgets
53 KB
⚠ 88% do budget (60 KB)
work-orders.js CRUD + Filters + Table
24 KB
Budget: 50 KB

API Response Times

Tempos máximos de resposta por tipo de endpoint. Endpoints que excedem o P95 acionam alertas de monitoramento.

API Latency — P50 / P95 / P99
Endpoint P50 P95 P99 Budget
GET /work-orders Listagem paginada (50 items)
45ms 120ms 380ms ≤ 500ms
POST /work-orders Criar nova OS
80ms 200ms 450ms ≤ 500ms
GET /dashboard/kpis KPIs agregados da planta
130ms 650ms 1.2s ≤ 1s
GET /sensors/:id/readings Leituras 24h (1440 pontos)
90ms 250ms 480ms ≤ 500ms
POST /reports/generate Gerar PDF relatório mensal
2.1s 8.5s 15s ≤ 10s*
* Async job — retorna 202 Accepted, notifica via WebSocket ao concluir.

Component Render Budget

Tempo máximo de renderização por componente para manter 60fps. Componentes que excedem 16ms por frame causam jank visível para o operador.

Render Budget — Timeline (16ms Frame)
Frame Budget: 16.67ms (60fps) 0ms → 16.67ms
JS 3ms
Style 2ms
Layout 3ms
Paint 4ms
Comp 2ms
Idle 2.67ms
Dentro do Budget
<KPICard /> 1.2ms
<AlertRow /> 0.8ms
<StatusBadge /> 0.3ms
<SensorGauge /> 2.1ms
Atenção — Otimizar
<DataTable /> 500 rows 8.4ms
<TimelineChart /> 1440pts 6.2ms
<KanbanBoard /> 4 cols 5.7ms
<FloorplanMap /> 12.3ms

CI/CD — Performance Gate

Pipeline de CI que valida budgets automaticamente a cada PR. Builds que violam limites são bloqueados com relatório detalhado de regressão.

CI Performance Report — PR #847
feat: dashboard sparkline charts
#847 · branch: feature/dashboard-sparklines
⚠ Warning
Bundle Size 187 KB / 250 KB (+2.3 KB)
PASS
Lighthouse Score Performance: 94 · Accessibility: 98
PASS
LCP Regression Dashboard: 1.8s → 2.1s (+300ms) · Threshold: 2.5s
WARN
CLS Check 0.03 (no regression)
PASS
Ran in 42s · Lighthouse CI + bundlesize 3 pass · 1 warn · 0 fail

Especificações

MétricaBudgetObservação
LCP≤ 2.5s (meta: 1.8s)Medido no Dashboard (rota mais pesada)
INP≤ 200ms (meta: 85ms)Interações críticas: filtro de OS, drag kanban
CLS≤ 0.1 (meta: 0.03)Reservar espaço para imagens e skeletons
TTFB≤ 800ms (meta: 300ms)CDN edge + server-side cache
Total bundle (gzip)≤ 250 KBInitial load; lazy-load rotas secundárias
Route chunk max≤ 60 KB por rotaCode-splitting obrigatório por rota
API P95 (read)≤ 500msListagens, detalhes, leituras de sensor
API P95 (write)≤ 500msCRUD de OS, checklists, anotações
API P95 (heavy)≤ 10s (async)Relatórios PDF, exports, aggregações
Component render≤ 8ms por componenteFrame budget 16ms → 8ms para JS/render
Lighthouse Performance≥ 90Medido em throttled 4G slow (Moto G4)
CI gate actionWarn em 80%, Block em 100%PRs bloqueados se budget estourado em 100%

Do's & Don'ts

Do
  • Medir performance em dispositivos reais (tablet industrial, rede 4G)
  • Usar code-splitting por rota — lazy-load módulos pesados
  • Virtualizar listas e tabelas com mais de 100 items
  • Implementar skeleton loading para manter CLS baixo
  • Monitorar regressões via CI — bloquear PRs que excedem budgets
  • Cache agressivo de assets estáticos (1 ano) com hash no filename
Don't
  • Não importar bibliotecas inteiras — usar tree-shaking e imports seletivos
  • Não renderizar componentes fora da viewport — usar Intersection Observer
  • Não bloquear a main thread com cálculos pesados — usar Web Workers
  • Não carregar fontes de forma síncrona — usar font-display: swap
  • Não ignorar warnings de bundle size — investigar e resolver antes de mergear
  • Não testar só em localhost — simular throttling e latência real
99 — Error Codes & System Messages

Error Codes & System Messages

Catálogo padronizado de códigos de erro, mensagens de sistema, alertas operacionais e feedback textual da plataforma SYSLED. Cada mensagem segue um formato consistente com código rastreável, tom de voz adequado ao contexto industrial, ação sugerida e nível de severidade.

Anatomia — Mensagem de Erro

Estrutura padrão para todas as mensagens de erro no SYSLED. Inclui ícone de severidade, código rastreável, título objetivo, descrição com contexto e ação sugerida.

Anatomia — Componente de Erro
SYS-4031 Sessão expirada

Sua sessão expirou após 30 minutos de inatividade. Dados não salvos foram preservados no rascunho local.

1
Severity Icon
2
Error Code
3
Título
4
Descrição
5
Action CTA

Níveis de Severidade

4 níveis de severidade com cores, ícones e comportamentos distintos. Cada nível define persistência, som e prioridade visual.

Severity Levels — Referência Visual
Critical
Prefixo: SYS-5xxx
Persistência: Sticky até resolução
Som: Alerta sonoro
Exemplo: Falha de servidor, perda total de dados
Error
Prefixo: SYS-4xxx
Persistência: Até dismiss manual
Som: Nenhum
Exemplo: Validação, timeout, permissão negada
Warning
Prefixo: SYS-3xxx
Persistência: Auto-dismiss 10s
Som: Nenhum
Exemplo: Conexão instável, dados desatualizados
Info
Prefixo: SYS-1xxx
Persistência: Auto-dismiss 5s
Som: Nenhum
Exemplo: Sync concluído, atualização disponível

Catálogo de Códigos

Referência completa dos códigos de erro do SYSLED, organizados por categoria. Formato: SYS-XYYY onde X = severidade (1-5) e YYY = código sequencial.

Error Code Catalog — Principais
Autenticação & Sessão
SYS-4031 Sessão expirada Redirecionar para login · Preservar rascunho local
SYS-4032 Permissão insuficiente Exibir permissões necessárias · Link para solicitar acesso
SYS-3010 Sessão prestes a expirar Toast com countdown · Botão "Continuar sessão"
Dados & Validação
SYS-4220 Campos obrigatórios Highlight campos em erro · Scroll para primeiro campo
SYS-4091 Conflito de versão Exibir diff lado a lado · Opções: Manter / Descartar / Mesclar
SYS-4040 Recurso não encontrado Página 404 com sugestões · Link para dashboard
Rede & Conectividade
SYS-5030 Servidor indisponível Retry automático (exp. backoff) · Ativar modo offline
SYS-3080 Conexão instável Status bar amarela · Enfileirar ações localmente
SYS-4080 Timeout de requisição Retry com botão manual · Exibir tempo decorrido
Equipamentos & Sensores
SYS-5100 Sensor offline Alerta urgente · Verificar conexão física · Notificar técnico
SYS-3100 Leitura fora do limiar Card de alerta · Exibir valor atual vs limiar · Sugerir OS
SYS-1100 Calibração agendada Info toast · Lembrete com data · Link para agenda

Mensagens de Sistema — Exemplos

Exemplos reais de mensagens do SYSLED, demonstrando tom de voz, formatação e ações sugeridas por contexto.

Mensagens — Por Contexto
OS-3847 salva com sucesso

A ordem de serviço foi atualizada e o técnico Rafael Souza foi notificado.

Cancelar OS-3847?

Esta ação não pode ser desfeita. O histórico será mantido, mas a OS será marcada como cancelada e o técnico será removido.

SYS-3100 Vibração acima do limiar

Sensor VSN-104 (Torno CNC #04): 4.7 mm/s — limiar: 3.5 mm/s. Considere agendar manutenção preventiva.

Atualização disponível

SYSLED v4.3 está disponível com melhorias no dashboard de manutenção. Ver changelog →

Tom de Voz — Mensagens

Diretrizes de escrita para manter consistência em todas as mensagens do sistema.

Guia de Tom de Voz
Assim
"Sessão expirada."
Direto, sem jargão técnico
"Dados salvos no rascunho local."
Informa o que aconteceu com os dados
"Faça login novamente para continuar."
Ação clara e objetiva
Evitar
"Error 401: Unauthorized access token expired."
HTTP codes e jargão técnico
"Oops! Algo deu errado :("
Casual demais, sem informação útil
"Contate o administrador do sistema."
Não oferece ação imediata ao usuário

Especificações

PropriedadeValorObservação
Formato do códigoSYS-XYYYX = severidade (1-5), YYY = sequencial por categoria
SeveridadesInfo (1), Warning (3), Error (4), Critical (5)2 reservado para Debug (não exibido em UI)
Título max chars40 caracteresResumo objetivo, sem pontuação final
Descrição max chars120 caracteresContexto + consequência, 1-2 frases
CTA obrigatórioSim para Error e CriticalWarning e Info: CTA opcional
Auto-dismissInfo: 5s · Warning: 10s · Error/Critical: manualTimer pausado no hover
Max toasts simultâneos3Mais antigos são empilhados com "+N"
PosiçãoTop-right para toasts; Inline para formsCritical: banner full-width no topo
Border-left width4pxCor = cor da severidade
Ícone tamanho36×36px container, 18px íconeBorder-radius: 10px
Tom de vozProfissional, direto, sem jargãoNunca culpar o usuário · Sempre sugerir ação
Acessibilidaderole="alert", aria-live="assertive"Critical: aria-live="assertive"; Info: polite

Do's & Don'ts

Do
  • Usar linguagem clara e acessível — o técnico precisa entender em segundos
  • Incluir código rastreável (SYS-XXXX) para suporte rápido
  • Sempre sugerir uma ação concreta — nunca só "erro ocorreu"
  • Preservar dados do usuário quando possível (rascunho local)
  • Usar cor e ícone de severidade consistentes em toda a plataforma
  • Distinguir erros do usuário (validação) de erros do sistema (servidor)
Don't
  • Não exibir stack traces ou HTTP codes na interface do usuário
  • Não usar tom casual, humor ou emojis em mensagens de erro
  • Não culpar o usuário — usar voz passiva ou impessoal quando apropriado
  • Não mostrar erros genéricos ("algo deu errado") — sempre contextualizar
  • Não empilhar mais de 3 toasts — agrupar notificações similares
  • Não usar apenas cor para comunicar severidade — combinar com ícone e texto
100 — Design System Glossary & Index

Design System Glossary & Index

Referência unificada de termos, conceitos e componentes do SYSLED Design System. Inclui glossário técnico com definições objetivas, índice completo das 100 seções organizadas por arquivo, mapa de tokens e quick-reference cards para consulta rápida durante o desenvolvimento.

Glossário de Termos

Definições padronizadas dos termos usados ao longo do brandbook e no dia a dia do desenvolvimento SYSLED.

Glossário — A–Z
Token Design Token

Variável CSS que armazena decisões de design (cores, espaçamento, tipografia). Permite temas e white-label sem alterar componentes.

Component Component

Bloco reutilizável de UI com API definida (props). Pode ser atômico (Button) ou composto (DataTable).

Pattern Pattern

Solução recorrente para um problema de UX composta por múltiplos componentes (ex: Search & Filter, Onboarding).

IndTech OS (Ordem de Serviço)

Registro de manutenção (preventiva ou corretiva) de um equipamento. Entidade central do SYSLED.

Metric MTBF

Mean Time Between Failures — tempo médio entre falhas de um equipamento. KPI crítico no dashboard SYSLED.

UI Skeleton

Placeholder visual que imita a forma do conteúdo enquanto os dados carregam. Reduz CLS e percepção de lentidão.

Layout Breakpoint

Ponto de transição do layout responsivo. SYSLED usa: Mobile (≤640px), Tablet (641-1024px), Desktop (≥1025px).

A11y Focus Trap

Técnica que confina navegação por Tab dentro de um modal/dialog, impedindo foco em elementos atrás do overlay.

Índice Completo — 100 Seções

Mapa de todas as seções do brandbook, organizadas por arquivo/parte. Cada entrada é um link navegável.

1
Parte 1 — Fundamentos
uxui-fundamentos-v2.html · 14 seções
01 Filosofia de Design 02 Paleta de Cores 03 Tipografia 04 Iconografia Base 05 Espaçamento & Grid 06 Elevação & Sombras 07 Border Radius 08 Dark Mode 09 Motion & Transitions 10 Tokens & Variables 85 Grid System & Layout Columns 86 Motion & Animation Tokens 87 Accessibility Guidelines 88 Internationalization Patterns
2
Parte 2 — Componentes
uxui-componentes-v2.html · 25 seções
11 Loading & Skeleton 12 Buttons 13 Breadcrumbs 14 Stepper 15 Inputs & Forms 16 Select & Dropdown 17 Checkbox & Radio 18 Toggle & Switch 19 Cards 20 Tables 21 Pagination 22 Modals & Dialogs 23 Toast & Notification 24 Tabs 25 Accordion 26 Progress & Meters 27 Date & Time Pickers 28 Charts & Graphs 29 Navigation 30 Empty States 77 Data Table Virtualization 89 File Upload & Attachment 90 Breadcrumbs & Page Header 91 Tooltip & Popover 92 Stepper & Multi-Step Wizard
3
Parte 3 — Patterns Avançados
uxui-patterns-v2.html · 33 seções
31 Command Palette 32 Drag & Drop 33 Multi-Step Forms 34 Inline Editing 35 Timeline & Activity Feed 36 Rating & Review 37 Color Picker 38 Slider & Range 39 Tree View 40 Infinite Scroll 41 Context Menu 42 Error Handling 43 Progress Tracking 44 Responsive Navigation 45 Skeleton Loading Avançado 46 Real-time Data 47 Multi-Select 48 Shadow & Elevation 49 Focus States 50 Responsive Typography 51 Print Styles 52 Rich Text Editor 53 Map & Geolocation 54 Data Table Virtualization 55 Notification Center 78 Shadow & Elevation Tokens 79 Focus & Keyboard Nav 80 Responsive Typography 83 Kanban Board & Workflow 93 Dashboard Layout 94 Search & Filtering 95 Onboarding & Feature Tour 96 Offline Mode & Sync UI
4
Parte 4 — Referência
uxui-referencia-v2.html · 28 seções
56 Form Validation 57 Contextual Help 58 Bulk Actions 59 Copy & Clipboard 60 Changelog 61 Dashboard Widgets 62 Error Pages 63 File Upload Patterns 64 Comparison Tables 65 Status Page 66 Iconografia Avançada 67 Responsividade 68 Badges, Tags & Chips 69 Avatar & User Presence 70 Theming & White Label 71 Notification Preferences
72–76 Seções 72-76
81 Responsive Patterns 82 Advanced Theming 84 DS Governance & Changelog 97 Print & PDF Export 98 Performance Budget 99 Error Codes & Messages
100 Glossary & Index ← Você está aqui

Quick Reference — Design Tokens

Cartões de referência rápida com os tokens mais usados no dia a dia do desenvolvimento.

Quick Reference Cards
Cores
--blue-primary #0066CC
--dark-primary #0F172A
--success #10B981
--error #EF4444
--warning #F59E0B
Tipografia
Heading: Montserrat
Body: Inter
Mono: JetBrains Mono
Weights: 300–900 · Line-height: 1.5 body
Espaçamento
4px xs
8px sm
16px md
24px lg
32px xl

Brandbook em Números

SYSLED Design System
Brandbook Completo — v1.0
100
Seções
4
Partes
50+
Componentes
200+
Design Tokens
100%
IndTech Focus

Especificações do Design System

PropriedadeValorObservação
Arquivos do brandbook4 HTMLs estáticosFundamentos, Componentes, Patterns, Referência
Framework recomendadoReact + TypeScriptVite como build tool; Zustand para state
CSS ArchitectureDesign Tokens (CSS Custom Properties)Temas via [data-theme] attribute
Font stackMontserrat · Inter · JetBrains MonoGoogle Fonts com font-display: swap
Icon systemLucide Icons (outline, 1.5-2px stroke)24×24 default; 16×16 compact; 32×32 hero
Color systemBlue primary + Semantic (success/error/warning)Dark mode via CSS custom properties override
Breakpoints640px · 768px · 1024px · 1280pxMobile-first; tablet industrial como target primário
Border radius scale4px · 6px · 8px · 12px · 16px · 100px100px para pills/badges
Spacing base4px (increment de 4)4 · 8 · 12 · 16 · 20 · 24 · 32 · 48 · 64
Accessibility targetWCAG 2.1 AAAAA para contraste de texto principal
Performance budgetLCP ≤ 2.5s · Bundle ≤ 250KBMedido em tablet industrial + 4G
VersioningSemVer (Major.Minor.Patch)Changelog em seção 84

Do's & Don'ts — Design System

Do
  • Consultar o brandbook antes de criar novos componentes — pode já existir
  • Usar design tokens em vez de valores hardcoded
  • Manter consistência visual entre todas as telas e módulos
  • Testar em dark mode e em dispositivos industriais reais
  • Contribuir com novos padrões via PR + documentação
  • Contextualizar componentes para o domínio SYSLED (OS, sensores, equipamentos)
Don't
  • Não criar componentes "one-off" — generalizar e adicionar ao sistema
  • Não usar cores fora da paleta sem aprovação do design lead
  • Não ignorar acessibilidade — WCAG AA é requisito mínimo
  • Não pular testes de performance — cada PR deve passar pelo gate
  • Não duplicar componentes existentes — estender via props/variants
  • Não fazer breaking changes sem bump de versão major e migration guide
Parte 3 — Patterns