Pular para o conteúdo

Chip

Controle compacto para filtro, seleção, dismiss ou atalho.

Instalação

Instale Toggle Group da sua stack e rode o comando individual ITpS em seguida. O comando itps add chip é theme-only: ele valida o slug e confirma que o contrato visual vem do tema ITpS, das classes copy-first e dos snippets desta página.

terminal · React/Next

pnpm dlx shadcn@latest add toggle-group
pnpm dlx github:ITPS/sinapse-ui-cli add chip

terminal · Vue3/Nuxt4

pnpm dlx shadcn-vue@latest add toggle-group
pnpm dlx github:ITPS/sinapse-ui-cli add chip

O comando individual adapta só este componente; não instala o catálogo inteiro.

Uso

Em React/Next com shadcn/ui e Vue3/Nuxt4 com shadcn-vue, use ToggleGroup quando Chip representa filtros ou seleção rápida.

Para HTML ou wrappers finos, use itps-chip em elementos semânticos: <button> para ação/seleção e <a> somente quando houver navegação.

Exemplos

Estrutura

PeçaReact/Next e Vue3/Nuxt4HTML
GrupoToggleGrouprole="group" quando os chips formam um conjunto
ItemToggleGroupItemitps-chip em button ou a
Estado selecionadovalor do grupois-selected e aria-pressed="true"
Rótuloconteúdo do itemitps-chip__label
Íconeícone decorativo no conteúdoitps-chip__icon ou itps-chip__dismiss

Composições copy-first

Use a composição copy-first quando o chip precisa remover filtro, navegar, mostrar ícone contextual ou comunicar indisponibilidade.

Ver pacientes ativos Histórico

API copy-first

Classe/atributoUso
itps-chipBase visual para chip compacto.
is-selectedEstado visual selecionado. Combine com aria-pressed="true".
is-disabledEstado visual indisponível. Combine com disabled ou aria-disabled.
itps-chip__labelTexto do chip com truncamento seguro.
itps-chip__iconÍcone decorativo de contexto.
itps-chip__separatorDivisor antes do dismiss em chip selecionado.
itps-chip__dismissÍcone decorativo de remoção.
aria-pressedExpõe seleção em chips de filtro.
aria-labelNome acessível específico quando o texto visível não descreve a ação.
aria-disabled, tabindex="-1"Mantêm links indisponíveis fora da ordem de foco.

Acessibilidade

Use <button> quando o chip executa uma ação, alterna seleção ou remove filtro. Use <a> apenas quando o destino for navegação.

Chips selecionados devem expor estado com aria-pressed; chips com dismiss implícito precisam de aria-label específico. Em botão indisponível, use disabled. Em link indisponível, remova href, exponha aria-disabled="true" e tire da ordem de foco com tabindex="-1".