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.
- 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.
- O estado for binário (ativo/inativo) — use
mk-badgeou um indicador de status. - A ação for remover o item — certifique-se de incluir o ícone de fechar via a prop
closable.
Anatomia
| # | Parte | Obrigatório? | Função |
|---|---|---|---|
| 1 | Ícone de informação | Não | Reforça o contexto semântico da cor à esquerda do rótulo. |
| 2 | Rótulo | Sim | Texto da categoria ou etiqueta. |
| 3 | Ícone de fechar | Não | Permite 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.:errorsempre para erros,successsempre para aprovado.
Props
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
label | string | — | Texto 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. |
leadingIcon | IconName | — | Ícone Lucide exibido antes do label. |
closable | boolean | false | Exibe botão de fechar no fim do chip. |
Eventos
| Evento | Payload | Descrição |
|---|---|---|
mkClose | void | Emitido 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 queclosableesteja 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.
Card
Container de superfície composto por `mk-card` e sete sub-componentes de composição (capa, cabeçalho, corpo, badges, avaliação, estatística e ações).
List
Lista estruturada para exibir coleções de itens com slots de leading, badge, actions e trailing. Tags `mk-list`, `mk-list-item`, `mk-list-item-text` e `mk-list-subheader`.