Componentes
42. Toolbar de dados
seed-componentes.md v1.43 · §42seção 44 de 9842-toolbar-de-dados-estavel-v0-45-td1-td5-bloco-6.md · MD5 b68ef429Título completo no canon: Toolbar de dados — estável (v0.45) · TD1–TD5 · Bloco 6/6C · encerra a pendência "busca composta EUI" (B2)
Base (3 rodadas, 2026-08-06): R1 — Carbon (toolbar da tabela: busca + settings + botão primário; pareamento de altura com as linhas) + Dynamics 365 (subpadrões inline×stacked; campos de filtro só de INPUT RESTRITO). R2 — EUI SearchBar (busca livre + filtros estruturados na MESMA barra; sintaxe
campo:valoré evolução de produto, não do DS) + EUI FilterGroup (botão de filtro com contagem de ativos + popover selecionável) + shadcn-blocks (chips de filtro aplicado com contagem viva "N de M" — o sinal de que o filtro fez algo real). R3 — Innovaccer table filters (1 chip por dimensão; limpar tudo) + herança integral: busca §4, chip §22 (X 24px + hitbox 44), popover §24, paginação §37 ("filtre primeiro").
| # | Decisão | Porquê | Descartado |
|---|---|---|---|
| TD1 | Anatomia: busca (§4, live com debounce do produto) + botões de filtro por DIMENSÃO (aria-expanded + popover §24 com checkboxes §10 + contagem de ativos no botão) + contador "N de M" sempre visível + settings/ações à direita. <640px empilha (stacked) |
EUI FilterGroup; shadcn-blocks (o contador é a prova do filtro); Dynamics (stacked no estreito) | Sintaxe de query no input (EUI SearchBar avançado = produto); painel lateral de filtros (peso de F6) |
| TD2 | Filtros aplicados = CHIPS §22 numa linha própria sob a toolbar: "Dimensão: valor", X remove e desmarca a origem (uma fonte de verdade), + "Limpar filtros" quando ≥1 |
Innovaccer (1 chip/dimensão); §22 herdado integral (hitbox, remoção anunciada) | Chip que remove sem desmarcar o checkbox (estado fantasma) |
| TD3 | Régua "filtre primeiro, pagine depois" (herdada do §37/EUI e formalizada AQUI): filtro/busca resetam para a página 1; o contador convive com a faixa da paginação (papéis distintos: conjunto × janela) | EUI literal; PG4 já mandava voltar à página 1 | Filtro mantendo página (intervalo fantasma) |
| TD4 | Integração SL5 executada: mudar filtro/busca LIMPA a seleção (o "tudo" mudou de significado) — teste de integração TD-04 na suite | SL5 (decisão do lote 1); Carbon #7496 (selecionar através de filtro é bug documentado) | Seleção sobrevivendo ao filtro |
| TD5 | Fronteiras: query language, filtros salvos/visões, painel avançado, export = produto (F6); campos de filtro são sempre de input restrito (checkbox/select/data — nunca texto livre por dimensão) | Dynamics (input restrito); recorte | Filtro de texto livre por coluna |
Pares: todos herdados (chip §22, busca §4, contador mono ci-600 4.74). Os 7 testes: 1 herdados ✓ · 2 filtro ativo por chip+contagem (nunca só cor no botão) · 3 grayscale ok · 4 busca×filtro a 1s · 5 uma linha de chips, um contador · 6 filtros visíveis sem abrir nada (chips) · 7 360px empilhado, X do chip 44. (Suite 6C ✓ incl. TD-04; render R10: chip pintado + "4 de 16" ✓.)
Também cita o §42: tela-busca, tela-tabela.