Chip
Chips — escolhas compactas que filtram uma lista, ou pequenos valores removíveis, como pessoas e etiquetas. O ChipGroup reúne chips de filtro sob um nome, com navegação pelas setas.
Instalação
Configure o Camaleo uma vez (Instalação) e importe o que precisar. O estilo carregado define o visual.
import { Chip, ChipGroup } from "@camaleo/react";Anatomia
Um chip de filtro é um botão de alternância com um check que aparece quando pressionado. Um chip de entrada (com onRemove) é um span com um botão de remover no fim.
Exemplos
Cada exemplo é um arquivo real que você pode copiar. Todos usam o estilo, o modo e a cor escolhidos na barra acima.
Mostrando 17 de 42 chamados
Filtros com contagem
Pressione os chips. A contagem no rótulo mostra o que esperar, e uma linha com role="status" anuncia quantos resultados sobraram.
Seleção única
O multiple={false} deixa um chip pressionado por vez, mas ainda dá para despressionar. Quando a escolha vazia não é permitida, use um radio group.
Removível
Remova uma etiqueta. O onRemove transforma o chip em chip de entrada, o removeLabel chama o botão de "Remover Urgente", e o foco fica na lista em vez de cair no corpo da página.
Pessoas, com avatar
O avatar recebe um Avatar pequeno. As iniciais são decoração: o nome no chip e no removeLabel é o que a tecnologia assistiva lê.
Sozinho
Um Chip sozinho é um botão de alternância com aria-pressed, bom para um filtro rápido como "Só não lidas" acima de uma lista.
Com ícone
Um ícone ajuda a percorrer um conjunto grande. Marque com data-slot="icon" e aria-hidden; o texto continua levando o significado.
Chamados arquivados não podem ser filtrados durante a limpeza anual.
Desativado, com motivo
As setas pulam um chip desativado. Diga o motivo num texto ligado por aria-describedby, senão a pessoa acha que o filtro quebrou.
Em contexto
Chips ficam acima de resultados, em painéis de filtro e em diálogos de compartilhamento. São pedaços inteiros de interface para copiar, no estilo que você escolheu.
Filtrar hospedagens
Florianópolis · 14/11 – 18/11 · 2 hóspedes
Comodidades
Quartos
Compartilhar “Receita do 3º tri”
Quem você adicionar pode ver e comentar.
Pessoas com acesso
- ASAna Souza
- CPCarlos Pereira
- JCJuliana Costa
19 resultados
- Até R$ 400
- Nota 4+
- Cancelamento grátis
Boas práticas
Rótulos curtos mantêm a fileira fácil de percorrer e cabem no celular.
Elas desmontam a fileira em linhas tortas e demoram mais para ler do que uma ou duas palavras.
Pressionar um chip muda o que aparece; uma ação como "Exportar" continua sendo botão.
Um chip anuncia "pressionado" ou "não pressionado", o que não faz sentido para "Excluir".
Props
Avatar pequeno.ChipGroup.O ChipGroup recebe value, defaultValue e onValueChange (arrays com os valores dos chips), multiple (true por padrão), disabled e orientation. Dê um nome a ele com aria-label ou aria-labelledby.
Styling hooks
Mude o visual sem copiar o componente: use os atributos ou defina os tokens num elemento pai, num estilo ou no próprio chip.
Atributos
Tokens que ele lê
Cor
Forma e tamanho
Tipografia e movimento
Só deste componente
/* chips quadrados, só nesta barra */
.report-filters [data-slot="chip"] {
--cml-chip-radius: var(--cml-radius-control);
}Acessibilidade
- Um chip de filtro é um botão com aria-pressed, então o leitor de tela diz "Abertos, botão de alternância, pressionado".
- O ChipGroup tem role="group" e precisa de um nome, como "Status", para os chips serem lidos como um conjunto.
- O check mostra o estado pressionado pela forma, não só pela cor.
- Ao remover um chip, leve o foco a um vizinho ou ao campo que adiciona chips, para quem usa teclado não cair no corpo da página.