Makuco UI
ComponentesData Display

Chip

Rótulo compacto para categorizar, filtrar ou indicar status de um item.

O mk-chip exibe um rótulo compacto com suporte a múltiplas cores, estilos visuais, ícone opcional e botão de fechar. O chip comunica atributos ou categorias de forma visual e densa — aparece em filtros, tags de conteúdo, status de registros e listas de seleção, permitindo identificar rapidamente a qual categoria um item pertence sem precisar ler descrições longas.

Quando usar

Use o mk-chip para representar categorias ou atributos de forma compacta e visualmente distinta.

Use quando:
  • Um item pertence a uma categoria identificável visualmente.
  • O usuário precisa filtrar ou selecionar por categorias.
  • Múltiplos atributos precisam ser exibidos de forma compacta junto a um registro.
Prefira uma alternativa quando:
  • O estado for binário (ativo/inativo) — use mk-badge ou um indicador de status.
  • A ação for remover o item — certifique-se de incluir o ícone de fechar via a prop closable.

Anatomia

#ParteObrigatório?Função
1Ícone de informaçãoNãoReforça o contexto semântico da cor à esquerda do rótulo.
2RótuloSimTexto da categoria ou etiqueta.
3Ícone de fecharNãoPermite remover o chip quando aplicável.

Cores

import { MkChip } from '@db1/makuco-ui-react';

<MkChip label="Violet" color="violet" />
<MkChip label="Success" color="success" />
<MkChip label="Error" color="error" />
<mk-chip label="Violet" color="violet"></mk-chip>
<mk-chip label="Success" color="success"></mk-chip>
<mk-chip label="Error" color="error"></mk-chip>

Variantes

Use cores com significado consistente em todo o produto — por exemplo, error sempre para erros e success sempre para aprovado. subtle usa fundo claro com texto escuro, sendo preferível em contextos com muitos chips para reduzir a poluição visual. strong inverte para fundo escuro com texto claro, sendo indicado quando a categoria é crítica ou precisa de maior destaque.

<MkChip label="Subtle" color="violet" variant="subtle" />
<MkChip label="Strong" color="violet" variant="strong" />
<mk-chip label="Subtle" color="violet" variant="subtle"></mk-chip>
<mk-chip label="Strong" color="violet" variant="strong"></mk-chip>

Com ícone

Use o ícone para reforçar o significado semântico da cor, tornando a categoria mais clara mesmo sem depender apenas da cor como único indicador.

<MkChip label="Em andamento" color="info" leadingIcon="clock" />
<MkChip label="Concluído" color="success" leadingIcon="check-circle" />
<mk-chip label="Em andamento" color="info" leading-icon="clock"></mk-chip>
<mk-chip label="Concluído" color="success" leading-icon="check-circle"></mk-chip>

Fechável

Use closable quando o chip representar um filtro ativo ou uma seleção que o usuário pode remover. Certifique-se de fornecer um aria-label descritivo no handler para que o contexto da remoção fique claro.

<MkChip
  label="Remover filtro"
  color="violet"
  closable
  onMkClose={() => console.log('fechado')}
/>
<mk-chip
  label="Remover filtro"
  color="violet"
  closable
  (mkClose)="handleClose()"
></mk-chip>

Comportamento

O chip é um elemento estático por padrão — não é interativo a menos que a prop closable esteja ativa. Quando closable está habilitado, o botão de fechar emite o evento mkClose ao ser clicado, cabendo ao consumidor remover o chip do DOM ou da lista de seleção.

A combinação de cor e variante não altera o comportamento do chip — apenas sua aparência visual. Ao usar múltiplos chips em um mesmo contexto, mantenha a paleta de cores consistente para que cada cor represente sempre o mesmo conceito semântico ao longo do produto.

Composição

Em tabelas, o chip aparece dentro de células para categorizar registros. Em filtros, chips com closable representam opções ativas que o usuário pode remover. Combine no máximo 3 a 4 chips por item para não sobrecarregar visualmente o conteúdo.

Use cores com significado consistente em todo o produto — ex.: error sempre para erros, success sempre para aprovado.

Props

PropTipoPadrãoDescrição
labelstringTexto exibido no chip. Obrigatório.
color"violet" | "purple" | "pink" | "cyan" | "teal" | "orange" | "success" | "info" | "warning" | "error""violet"Cor do chip.
variant"subtle" | "strong""subtle"Estilo visual.
leadingIconIconNameÍcone Lucide exibido antes do label.
closablebooleanfalseExibe botão de fechar no fim do chip.

Eventos

EventoPayloadDescrição
mkClosevoidEmitido ao clicar no botão de fechar. Disponível apenas quando closable está ativo.

Acessibilidade

  • O botão de fechar possui aria-label="Remove" por padrão.
  • O chip em si é um <span> — não é interativo a menos que closable esteja ativo.

Cor não é o único indicador: cada categoria deve ser identificável também pelo texto do rótulo — nunca use chips onde a única diferença entre categorias seja a cor.

Ícone de fechar acessível: se o chip for removível, considere customizar o aria-label do botão de fechar com o contexto completo — por exemplo, "Remover tag Urgente" em vez de apenas "Fechar" — para que leitores de tela comuniquem claramente o que será removido.

On this page