Componentes
42. Toolbar de dados
seed-componentes.md v2.00 · §42seção 85 de 18442-toolbar-de-dados-estavel-v0-45-td1-td5-bloco-6.md · MD5 1eb10702Título completo no canon: Toolbar de dados — estável (v0.45) · TD1–TD5 · Bloco 6/6C · encerra a pendência "busca composta EUI" (B2)
Em uma frase: Acima da tabela vive uma barra com busca, filtros, configurações e o botão primário; filtro ativo aparece como chip com contagem, nunca só cor.
(decisão registrada — ver Histórico da seção)
| # | 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.