# Ficha — Painel — grade, lentes, frescor, edição direta e mapa (seed-componentes.md §48, v2.00)

> Gerada por `06-validacao/geradores/gen-vitrine.py` a partir do canon. Esta é a ficha INTEIRA: todas as linhas, com o texto completo de cada célula (a página mostra uma versão de uma tela, encurtada). Onde a seção não tem o item em subseção própria, a ficha diz "ver a seção" e não inventa. Seção completa: https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/ · fatia em Markdown: https://ds.seed.eng.br/10-publicacao/ia/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e.md

## Anatomia e partes

A seção não traz este item em subseção própria — ver a seção §48 (https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/).

## Propriedades e variantes

A seção não traz este item em subseção própria — ver a seção §48 (https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/).

## Estados

A seção não traz este item em subseção própria — ver a seção §48 (https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/). A regra geral dos estados de todo componente interativo é a do §0, item 2 (https://ds.seed.eng.br/canon/seed-componentes/00-fundamentos-de-componente-valem-para-todos-os/).

## Acessibilidade

A seção não traz este item em subseção própria — ver a seção §48 (https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/).

## Faça · não faça

As decisões do canon (faça) e a alternativa que cada uma descartou (não faça) — todas as 68, na ordem do canon.

| faça (decisão) | não faça (descartado) |
|---|---|
| PN1 — O painel é uma GRADE de 12 colunas, com blocos de largura declarada (4, 6, 8 ou 12). Layout fixo por tela, definido no projeto do SIGA | Painel arrastável · larguras livres em pixel (impede reflow previsível a 360px) |
| PN2 — Todo bloco do painel é `<section>` com cabeçalho próprio e nome acessível. Um bloco = uma pergunta respondida | Bloco sem título · dois assuntos no mesmo bloco |
| PN3 — COMUTADOR DE VISUALIZAÇÃO — OITO lentes (SUPERSEDE 2026-08-13; 1ª redação: cinco): `lista` · `tabela` · `kanban` · `gantt` · `tempo` (linha do tempo por responsável) · `calendario` · `carga` (carga de trabalho) · `mapa`. Os oito nomes entre acentos graves são os identificadores canônicos — o atributo `data-lente` do preview usa exatamente estes | Painel configurável · lente única por tela · adiar a alocação de pessoa (o template nasceria sem o lugar dela e obrigaria redesenho — a mesma razão da ordem lote 1 → lote 2) · tratar como lentes o que é tipo de conteúdo ou tela própria no ClickUp (formulário, documento, whiteboard, mapa mental, chat) ou integração de produto (incorporações) · o rótulo "quadro" como nome canônico (ver S2 em §48.8) |
| PN3b — A LENTE DESENHA A FORMA QUE O NOME PROMETE. Linha do tempo é barra posicionada e dimensionada por data, sobre escala de datas. Calendário é grade de mês — sete colunas iguais, primeiro dia da semana calculado, evento no seu dia. Kanban é coluna por estado. Nenhuma delas pode ser uma lista com outro rótulo | Lente que só troca o rótulo · lente "em breve" (é botão morto com outro nome) |
| PN3c — GANTT ≠ LINHA DO TEMPO — são perguntas diferentes sobre as mesmas tarefas. Gantt responde "o que trava o quê": uma faixa por TAREFA, barra posicionada e dimensionada por data, e as dependências DESENHADAS — conector do fim da predecessora ao início da dependente. Linha do tempo responde "quem está ocupado quando": uma faixa por RESPONSÁVEL, com as tarefas da pessoa empilhadas dentro da faixa dela (sub-linhas quando se sobrepõem). Gantt sem dependência desenhada não é gantt | Tratar como sinônimos (o defeito de origem) · gantt sem conector de dependência (é linha do tempo de tarefa com o nome errado) |
| PN4 — O DADO habilita a lente, não a tela. Pré-requisitos declarados: `lista` e `tabela` não exigem nada · `kanban` exige campo de estado com valores finitos em todos os itens · `gantt` exige ao menos uma ordem com início E fim · `tempo` exige ao menos uma agendada E alguém com responsável · `calendario` exige ao menos uma com data · `carga` exige responsável · `mapa` exige coordenada ou endereço geocodificável em todos. Lente sem pré-requisito não é oferecida — nunca oferecida-e-vazia; e o motivo da ausência é dito com o nome do campo que falta | Marcação manual por tela (vira lista viva de manutenção, e lista de exceções apodrece) · inferência mágica sem regra escrita (falha em silêncio) · oferecer a lente e mostrar vazio (o usuário conclui que não há dado, quando o que falta é campo) |
| PN5 — A lente NUNCA altera o conjunto. Filtro e ordenação viajam com a troca de lente; o que muda é a forma | Filtro embutido na lente · lente que esconde item sem pré-requisito (esconder é filtrar) |
| PN6 — A lente ativa é estado de navegação: `aria-current`, marca visual que sobrevive ao grayscale, e uma lente padrão declarada por tela | Só cor de fundo (morre em cinza) · última lente usada como padrão global (o mesmo usuário quer kanban numa tela e calendário noutra) |
| PN7 — GRAMÁTICA DO FRESCOR. Todo bloco com dado que se atualiza declara três coisas: momento da última leitura · estado atual (atualizado / atualizando / falhou) · idade do dado quando ela importa | Indicador global de "ao vivo" no topo do painel (não diz qual bloco está velho) · dado velho sem marca · esconder o valor enquanto atualiza (pisca e perde a referência) |
| PN8 — CONTROLE DE FREQUÊNCIA OBRIGATÓRIO em painel que se atualiza sozinho — intervalo escolhível, com opção manual | Atualização fixa e não interrompível · pausar sem retomar (o usuário fica com dado velho sem saber) |
| PN9 — Atualização automática NÃO move o foco, NÃO reordena o que está sendo lido e NÃO fala sozinha. Só o que o usuário pediu para acompanhar anuncia; o resto atualiza em silêncio, com o frescor do PN7 dando a evidência visual. O painel tem UMA live region (`role="status"`, `aria-live="polite"`), e todo anúncio — de edição, de filtro, de zoom, de fallback de mapa — sai por ela | Toda atualização em `aria-live` · reordenar a lista enquanto o usuário lê · rolar automaticamente ao chegar dado novo · uma live region por controle (duas regiões competindo produzem fala sobreposta) |
| PN10 — Variante EQUIPE × CLIENTE declarada, com UM contrato só. O painel do cliente vê apenas o que é dele; identificação de terceiros nunca aparece — inclusive dentro de agregados | Dois painéis (divergem em seis meses) · mesmo painel sem escopo declarado (vazamento por omissão) |
| PN11 — CONSUMO DO MOVIMENTO declarado por papel: registro produtivo para o que serve à tarefa (troca de lente, abrir e fechar bloco, hover) · registro expressivo só para momento significativo (entrada de bloco novo, confirmação de ação). Atualização de dado NÃO anima | Animar a troca de valor · registro expressivo em interação de tarefa (300–400ms numa troca de lente parece o sistema travando) |
| PN12 — Densidade: compacta por padrão no SIGA, confortável no painel do cliente | Densidade única para os dois públicos |
| PN13 — KPI — o número é o PROTAGONISTA. Valor em `fs-h2` peso 700 (era escrito 800 — SH-P9, 2026-09-14: a JetBrains Mono da casa só tem 400/500/700 e o 800 rendia 700) · rótulo em micro-caps mono · variação em badge-pílula suave (fundo `feedback--bg`, texto `feedback--text`). Vive fora de `<figure>`: é bloco autônomo do painel, não gráfico | Recriar a gramática aqui (deriva garantida) · KPI dentro de `<figure>` (obrigaria o fallback textual do DG1 para um número que já é texto) |
| PN14 — O KPI declara o PERÍODO e a BASE de comparação. "R$ 486k · +12% vs. mês anterior" — nunca "+12%" solto | Variação sem referência · seta colorida como único sinal · comparação implícita ("o usuário sabe qual é") |
| PN14b — A COR DA VARIAÇÃO VEM DO SENTIDO DO INDICADOR, NUNCA DO SINAL. Cada KPI declara a polaridade — maior é melhor (geração, usinas em operação) ou menor é melhor (chamados abertos, tempo de resposta, perdas) —, e a pílula é positiva quando a variação melhora o indicador. A seta carrega o sinal; a cor carrega o juízo | Pintar pelo sinal da variação (o defeito) · omitir a seta e deixar só a cor (morre em escala de cinza) |
| PN15 — RANKING — lista ordenada com barra embutida: índice em mono · rótulo · barra fina em pílula completa (`rx` = metade da altura) · valor numérico à direita. A barra é proporcional ao MAIOR VALOR DA LISTA, e a base é declarada | Barra proporcional a um teto arbitrário ou a 100% (achata o ranking inteiro quando os valores são próximos) · ranking sem o valor numérico (a barra sozinha não se lê, e a lista vira decoração) |
| PN16 — O ranking mostra quem está bem E quem não está, no MESMO bloco: contador de exceção no cabeçalho, sempre com prescrição | Ranking só dos melhores (esconde justamente o que o gestor precisa ver) · exceção sem prescrição (produz ansiedade sem ação) |
| PN17 — PROGRESSO DE CONCLUSÃO usa `progressbar` — e isso NÃO contraria o DM4 | `meter` para progresso (semântica errada: obra 40% concluída não é "40 de 100 unidades usadas") · adotar `progressbar` sem declarar a distinção (a exceção silenciosa que a auditoria antecipou) |
| PN18 — NADA SEMÂNTICO VIVE DENTRO DO `progressbar`. Rótulo, fração e porcentagem ficam fora, associados por `aria-labelledby`. Progresso indeterminado OMITE `aria-valuenow` | Fração ou rótulo dentro da barra · `aria-valuenow="0"` para indeterminado (afirma "0%", que é falso e diferente de "não sei") |
| PN19 — Progresso anuncia em MARCOS — 25 / 50 / 75 / 100% — nunca a cada ponto | Anunciar cada atualização · omitir a conclusão · anunciar progresso que o usuário não pediu para acompanhar (herda o PN9) |
| PN20 — TIMELINE — lista ordenada no tempo, MAIS RECENTE PRIMEIRO, com data em mono, marcador de evento e agrupamento por período. Cada entrada é ENDEREÇÁVEL | Timeline como decoração vertical sem semântica de lista (leitor de tela recebe uma pilha de texto) · ordem cronológica direta (útil em narrativa, não em painel) · entrada sem endereço (não dá para referenciar) |
| PN21a | Borda de 1px como único separador · sombra de uma camada (lê como carimbo) |
| PN21b | Teto único de alfa para os dois substratos (a 1ª redação; deixava o escuro sem nenhuma luz visível) · gradiente de cor |
| PN21b-2 | Véu turquesa sobre a página clara (a hipótese testada e reprovada) |
| PN21b-3 | Página clara opaca com véu escuro por cima (as duas redações reprovadas) |
| PN21c | Dois blocos escuros competindo na mesma página · stats no hero repetindo KPI · seletor de frequência dentro do hero |
| PN21d | Dado em Montserrat · micro-rótulo sem caps/tracking |
| PN21e | Título descritivo de eixo · dois ou mais itálicos por título |
| PN21f | Tamanho digitado em rem no hero · amplitude achatada |
| PN21g | Glow sobre gráfico ou KPI (vira ruído sobre dado) · glow atrás de pílula branca |
| PN21h | `transition: .2s ease` (valor solto) |
| PN22 — O DERIVADO NUNCA SE ARRASTA. Carga de trabalho, ranking, KPI e barra de status são resultado de cálculo: não têm campo de destino, e por isso não têm alça | Alça em bloco derivado · alça que não faz nada (botão morto) |
| PN23 — CAMINHO DE PONTEIRO ÚNICO PARA TUDO QUE SE ARRASTA. Menu "Mover sem arrastar" aplica a MESMA mutação, com o mesmo desfazer; criar tem botão explícito, sem depender de passar o mouse | Arrasto como caminho único (reprova AA) · alternativa que aplica mutação diferente (duas verdades) |
| PN24 — CONTRATO DE TECLADO ÚNICO, IGUAL EM TODA LENTE: Enter/Espaço pega o item e o anúncio ensina o contrato ("setas movem, Enter solta, Esc cancela") · setas anunciam o DESTINO antes de confirmar · Enter solta aplicando a mesma mutação do arrasto · Esc cancela sem aplicar | Teclado diferente por lente · mover sem anunciar destino (o usuário confirma no escuro) |
| PN25 — O ÍMÃ É A UNIDADE DA ESCALA: modo hora → passo de 1 hora · dia, semana e mês → passo de 1 dia. Datas inteiras, sem hora residual | Ímã no pixel · granularidade fixa independente da escala |
| PN26 — A CASCATA DE DEPENDÊNCIA É MOSTRADA EM FANTASMA ANTES DE SOLTAR e DECLARADA EM NÚMERO no anúncio | Aplicar cascata em silêncio · mostrar cascata só depois de soltar |
| PN27 — MUTAÇÃO OTIMISTA: o gesto aplica na hora, na tela; confirmação e conflito de servidor são produto (fronteira do DM10) | Aguardar confirmação para desenhar · aplicar sem desfazer |
| PN28 — DESFAZER DE 8 SEGUNDOS, com contagem visível, cobrindo TAMBÉM criação e exclusão. O anúncio diz o RESULTADO, não o percurso | Toast sem contagem (o usuário não sabe quanto tempo tem) · desfazer só de edição · anúncio de percurso |
| PN29 — ITEM TRAVADO NÃO GANHA ALÇA E DIZ O MOTIVO, com `aria-disabled` e caminho alternativo | Alça inerte · trava silenciosa |
| PN30 — REFRESH PEDIDO DURANTE EDIÇÃO É ADIADO, NUNCA SILENCIOSO — o item sob edição é imune, e o adiamento é dito | Aplicar refresh sobre item em edição · descartar o refresh sem avisar |
| PN31 — A ALÇA TEM ALVO DE TOQUE PRÓPRIO (≥44px de área efetiva) e a faixa ROLA sob o ponteiro perto das bordas (autoscroll, margem de 48px) | Alça de 14px · faixa que não rola durante o arrasto |
| PN32 — ORDENAÇÃO ATIVA DESLIGA O ARRASTO DE REORDENAR, E DIZ POR QUÊ | Permitir os dois (o sistema desfaz o gesto) · desligar sem motivo visível |
| PN33 — ONDE O ITEM CAI É O VALOR DO CAMPO. Coluna do kanban = `estado` · faixa do tempo e da carga = `resp` · dia do calendário = `data` · posição e largura no gantt = `inicio`/`fim` | Semântica de soltura por lente · zona de soltura sem campo declarado |
| PN34 — CRIAR NO VAZIO, COM O CONTEXTO JÁ PREENCHIDO: nascer na coluna do kanban já traz o estado daquela coluna; clicar num dia vazio do calendário cria naquela data | Criar sempre em branco · criar sem herdar a zona |
| PN34b — O RESULTADO TEM DE SER VISTO: o que acabou de mudar é realçado por 1.600ms e trazido ao campo de visão (vertical e horizontalmente) | Aplicar sem realçar · realçar sem rolar até o item |
| PN35 — MOVER ≠ REDIMENSIONAR: punhos nas pontas mudam só a borda arrastada; o gesto mexe em `left`/`width`, NUNCA em `transform`; a borda oposta não se move | `transform` no redimensionamento · punho que move a barra · anúncio idêntico para mover e esticar |
| PN35b — A MESMA ETAPA PODE TER VÁRIOS PERÍODOS NA MESMA LINHA. Modelo: segmento `-1` é o principal (`inicio`/`fim`, lido por calendário, vencimentos e carga) e `0..n` são adicionais, que existem só no eixo do tempo. O gesto age sobre o segmento tocado, não sobre a ordem inteira | Recusar o segundo período · criar ordem nova (o conjunto cresceria mentindo) · mover o extra arrastando o principal |
| PN36 — DEPENDÊNCIA É LISTA, não campo único. Criada puxando do nó até a barra da predecessora; removida com gesto deliberado (duplo clique ou botão direito); ciclo é recusado e explicado; ligar uma terceira predecessora acrescenta, não substitui | `dep` escalar · remoção por clique simples · substituir a predecessora ao ligar outra · aceitar ciclo |
| PN37 — A LENTE TABELA É PLANILHA: setas navegam entre células, Enter abre editor na própria célula, e a alça copia o valor para as células abaixo | Editar só em formulário · setas que rolam a página em vez de navegar células |
| PN38 — SELEÇÃO E AÇÕES EM MASSA: a barra de ações só aparece com seleção, a ação muda todas de uma vez e o desfazer reverte o lote inteiro | Barra sempre visível · desfazer item por item depois de uma ação em massa |
| PN39 — O MAPA É LEITURA: o pin NÃO se arrasta. A localização vem do cadastro da usina, não do gesto | Pin arrastável · mapa como editor de cadastro |
| PN40 — FILTRO É DA VISÃO, NÃO DA LENTE: chips removíveis para o que está ativo · contagem honesta ("5 de 14 · 9 ocultas") · vazio que explica que é filtro e diz quantas existem · o mesmo recorte em qualquer lente · limpar devolve o conjunto inteiro | Filtro por lente · contagem só do que sobrou · vazio genérico ("nada aqui") |
| PN41 — A ESCALA É DENSIDADE, NÃO RECORTE: hora · dia · semana · mês mudam a largura por unidade e a granularidade dos rótulos — o conjunto desenhado é o mesmo. Fins de semana marcados; linha do HOJE única | Escala que muda o intervalo · escala que só troca o cabeçalho (a mesma classe do PN3b) |
| PN41b — ESCALA DE HORA, com a unidade da faixa parametrizada: 24 unidades por dia no modo hora, 1 nos demais | Gantt só em dias (não responde à pergunta do campo) · hora fixa com dia derivado |
| PN41c — A JANELA ABRE NO HOJE, não no início da faixa | Abrir no início da faixa |
| PN41d — O ZOOM SE DECLARA EM UNIDADES VISÍVEIS, não em pixels: "8 h na tela", "15 d na tela"; o px por unidade é derivado da largura disponível. No fim do curso o botão desabilita, não vira clique morto | Px fixo por unidade · zoom em porcentagem (não responde à pergunta) · botão de zoom que continua clicável no fim do curso |
| PN41e — PANORÂMICA EM MODO EXPLÍCITO: dois botões — Criar × ✋ Mover — mais atalhos que sempre valem (segurar espaço, Shift+arrasto, botão do meio). Só o fundo faz panorâmica; barra, punho e nó continuam sendo edição; limiar de 4px antes de virar panorâmica | Adivinhar a intenção pelo contexto · panorâmica em qualquer ponto (mataria a criação) · modo implícito por tecla apenas (não há tecla no toque) |
| PN46 — A POLÍTICA DE TRAVA É DO DOMÍNIO, NÃO DO DESIGN SYSTEM. O DS entrega o contrato (travado + motivo visível + `aria-disabled` + caminho alternativo); a regra vem de fora, como parâmetro | Regra de workflow dentro do DS · política sem os dois lados testados (metade do contrato sem prova) |
| PN47 — PRÉ-REQUISITO DE LENTE PASSA DE "TODOS TÊM O DADO" PARA "ALGUÉM TEM O DADO", e quem não tem vai para a GAVETA DE NÃO AGENDADOS — visível, contada e arrastável de volta para o tempo. No gantt, toda ordem tem LINHA; o que falta é a barra | Exigir o dado em todos (o defeito) · esconder o não agendado (o usuário conclui que não existe) · lente vazia |
| PN48 — RÉGUA DE TEMPO EM DOIS NÍVEIS — contexto em cima, unidade embaixo — com UMA COLUNA POR UNIDADE, alinhada à linha de grade | Rótulos por interpolação · um nível só · régua com granularidade diferente da faixa |
| PN49 — CRIAR PERÍODO ARRASTANDO NA FAIXA VAZIA, com semente visível seguindo o ponteiro, rascunho desenhado durante o arrasto, e clique sem arrastar também criando. O convite aparece onde o gesto age e promete exatamente o que vai acontecer | Faixa vazia sem convite · convite genérico igual em toda linha · convite em zona inerte |
| PN50 — MENU DE CONTEXTO (botão direito) EM TODO ITEM + CARTÃO DE EDIÇÃO por clique, com o menu levando o foco para a primeira ação e oferecendo abrir, duplicar, desagendar, concluir e excluir — excluir reversível, e dizendo isso | Menu diferente por lente · menu que abre sem levar o foco (teclado fica órfão) · excluir irreversível |
| PN51 — DOIS MODOS DECLARADOS: `cobertura` (PADRÃO) e `operacao`. Cobertura é a malha IBGE do §4d — projetada, imprimível, sem rede. Operação é mapa base navegável com tiles | Um modo só (nenhum dos dois serve os dois casos) · operação como padrão (quebra em papel e sem rede) |
| PN52 — O ESTILO DO MAPA BASE CONSOME TOKENS, e o MARCADOR É PEÇA DO DS — a mesma forma no mapa base e na lista textual | Estilo default do fornecedor · marcador do fornecedor · símbolo diferente entre mapa e lista |
| PN53 — FALLBACK OBRIGATÓRIO E DECLARADO: sem biblioteca, sem chave, sem rede ou em impressão, o modo operação cai para a cobertura e DIZ o que aconteceu. Nenhuma chave de API vive no artefato — a fonte de tiles vem da configuração do ambiente | Retângulo vazio · fallback silencioso · chave embutida no HTML |
| PN54 — ALTERNATIVA TEXTUAL SEMPRE PRESENTE, NOS DOIS MODOS, COMO CONTEÚDO — lista de usinas com marcador, nome, município/UF e contagem de OS ativas; nunca só `aria-label` | `aria-label` descrevendo o mapa · alternativa só no modo cobertura · alternativa escondida atrás de botão |

No canon: [§48.1 Decisões estruturais · PN1–PN12](https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/#sec-48-1-decisoes-estruturais-pn1-pn12) · [§48.2 Blocos de dado que não são gráfico · PN13–PN20](https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/#sec-48-2-blocos-de-dado-que-nao-sao-grafico-pn13-pn20) · [§48.3 Camada visual · PN21a–PN21h](https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/#sec-48-3-camada-visual-pn21a-pn21h) · [§48.4 Edição direta · PN22–PN41](https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/#sec-48-4-edicao-direta-pn22-pn41) · [§48.6 Contratos que o gate de 2026-08-13 produziu · PN46–PN50](https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/#sec-48-6-contratos-que-o-gate-de-2026-08-13-produziu-pn46-pn50) · [§48.7 Lente mapa · PN51–PN54](https://ds.seed.eng.br/canon/seed-componentes/48-painel-grade-lentes-frescor-edicao-direta-e/#sec-48-7-lente-mapa-pn51-pn54)

## Relacionados

Todas as seções do componentes citadas no texto desta seção (18), da mais citada para a menos:

- §46 [Shell de aplicação](https://ds.seed.eng.br/canon/seed-componentes/46-shell-de-aplicacao-estavel-v0-52-sh1-sh23/) — 8×
- §47 [Página institucional — esqueleto, camada de máquina e blocos de conteúdo](https://ds.seed.eng.br/canon/seed-componentes/47-pagina-institucional-esqueleto-camada-de/) — 7×
- §1 [Botão](https://ds.seed.eng.br/canon/seed-componentes/01-botao-estavel/) — 6×
- §3 [Input de texto](https://ds.seed.eng.br/canon/seed-componentes/03-input-de-texto-estavel-validado-pelo-rafael-em/) — 5×
- §9 [Radio](https://ds.seed.eng.br/canon/seed-componentes/09-radio-estavel-validado-pelo-rafael-em-2026-08/) — 5×
- §2 [Form-field](https://ds.seed.eng.br/canon/seed-componentes/02-form-field-campo-de-formulario-estavel-validado/) — 4×
- §40 [Tabela — EXTENSÃO F7.2](https://ds.seed.eng.br/canon/seed-componentes/40-b-tabela-extensao-f7-2-dt9-dt12-rascunho-o-40-v0/) — 3×
- §49 [Detalhe de registro — painel e modal](https://ds.seed.eng.br/canon/seed-componentes/49-detalhe-de-registro-painel-e-modal-estavel-f7-3/) — 3×
- §58 [Gantt e linha do tempo](https://ds.seed.eng.br/canon/seed-componentes/58-gantt-e-linha-do-tempo-estavel-f7-4-2026-08-16/) — 3×
- §4 [Busca](https://ds.seed.eng.br/canon/seed-componentes/04-busca-estavel-validado-pelo-rafael-em-2026-08/) — 2×
- §42 [Toolbar de dados — EXTENSÃO F7.2](https://ds.seed.eng.br/canon/seed-componentes/42-b-toolbar-de-dados-extensao-f7-2-td6-rascunho/) — 2×
- §7 [Select](https://ds.seed.eng.br/canon/seed-componentes/07-select-estavel-validado-pelo-rafael-em-2026-08/) — 1×
- §8 [Switch](https://ds.seed.eng.br/canon/seed-componentes/08-switch-estavel-validado-pelo-rafael-em-2026-08/) — 1×
- §19 [Skeleton](https://ds.seed.eng.br/canon/seed-componentes/19-skeleton-estavel-validado-pelo-rafael-em-2026/) — 1×
- §34 [Tabs](https://ds.seed.eng.br/canon/seed-componentes/34-tabs-estavel-v0-36-tb1-tb8-bloco-5-5a-suite/) — 1×
- §41 [Seleção — EXTENSÃO F7.2](https://ds.seed.eng.br/canon/seed-componentes/41-b-selecao-extensao-f7-2-sl6-sl8-rascunho/) — 1×
- §43 [Degradação responsiva — EXTENSÃO F7.2](https://ds.seed.eng.br/canon/seed-componentes/43-b-degradacao-responsiva-extensao-f7-2-ld6-rascunho/) — 1×
- §55 [Chat](https://ds.seed.eng.br/canon/seed-componentes/55-chat-estavel-f7-3-2026-08-15-ch1-ch14-arquetipo/) — 1×
