Pular para o conteúdo

Chip

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

Em cada stack

HTML e Astro
Classes itps-* do CSS Sinapse, com todas as variantes desta página.
React e Vue
Componentes padrão do shadcn (toggle-group) com o tema Sinapse: cores, fonte e raio vêm do tema, e as variantes itps-* desta página existem só no HTML.

Instalação

O comando instala o Toggle Group da sua stack com o tema Sinapse. Configure o registry uma vez por projeto em Comece por aqui.

terminal · React/Next

pnpm dlx shadcn@latest add @sinapse/chip

terminal · Vue 3/Nuxt 4

pnpm dlx shadcn-vue@latest add https://dsystem.sinapse.org.br/r/vue/chip.json

Sem shadcn, não há instalação por componente: use o CSS Sinapse e as classes da API copy-first desta página.

Uso

Em React/Next com shadcn/ui e Vue 3/Nuxt 4 com shadcn-vue, use ToggleGroup quando o 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 Vue 3/Nuxt 4HTML
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 ícone de remoção 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 remoção implícita 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".