Helper
Bolha flutuante (`mk-helper`) com heading e description opcionais, ancorada a um trigger arbitrário via slot, para conteúdo de apoio mais longo do que um tooltip comporta.
O mk-helper ancora uma bolha flutuante a um trigger arbitrário, recebido via slot padrão, exibindo um heading e uma description opcionais. Usa a mesma mecânica de posicionamento do mk-tooltip/mk-popconfirm (Floating UI + Popover API), mas sem o limite de caracteres do tooltip e sem ações embutidas — é puramente informativo.
Padrão
import { MkHelper, MkIcon } from '@db1/makuco-ui-react';
<MkHelper
heading="Título de apoio"
description="Um texto mais longo explicando o conceito, sem o limite de caracteres do tooltip."
>
<MkIcon name="info" />
</MkHelper><mk-helper
heading="Título de apoio"
description="Um texto mais longo explicando o conceito, sem o limite de caracteres do tooltip."
>
<mk-icon name="info"></mk-icon>
</mk-helper>Apenas heading
description é opcional — com apenas heading definido, a bolha exibe só o título.
<MkHelper heading="Título de apoio">
<MkIcon name="info" />
</MkHelper><mk-helper heading="Título de apoio">
<mk-icon name="info"></mk-icon>
</mk-helper>Apenas description
Com apenas description definida, a bolha exibe só o texto de apoio, sem título em destaque.
<MkHelper description="Um texto mais longo explicando o conceito, sem o limite de caracteres do tooltip.">
<MkIcon name="info" />
</MkHelper><mk-helper description="Um texto mais longo explicando o conceito, sem o limite de caracteres do tooltip.">
<mk-icon name="info"></mk-icon>
</mk-helper>Modo click
Com trigger="click", o clique no trigger alterna a bolha, que permanece aberta até Escape ou clique fora. No modo padrão (trigger="hover"), a bolha fecha ao mover o ponteiro para fora do trigger e da própria bolha.
<MkHelper heading="Título de apoio" description="Clique para abrir e fechar." trigger="click">
<MkIcon name="info" />
</MkHelper><mk-helper heading="Título de apoio" description="Clique para abrir e fechar." trigger="click">
<mk-icon name="info"></mk-icon>
</mk-helper>Desabilitado
disabled impede a abertura da bolha por qualquer gatilho. Se setado enquanto a bolha já está aberta, o componente força o fechamento imediato.
<MkHelper heading="Título de apoio" description="Texto de apoio." disabled>
<MkIcon name="info" />
</MkHelper><mk-helper heading="Título de apoio" description="Texto de apoio." disabled>
<mk-icon name="info"></mk-icon>
</mk-helper>Posicionamento
Use placement para escolher entre os 8 valores padrão do Makuco, o mesmo vocabulário do mk-tooltip/mk-popconfirm: top-left, top-center, top-right, right, left, bottom-left, bottom-center e bottom-right. A posição é resolvida via @floating-ui/dom, com flip/shift mantendo a bolha dentro da viewport.
<MkHelper heading="Título de apoio" placement="right">
<MkIcon name="info" />
</MkHelper><mk-helper heading="Título de apoio" placement="right">
<mk-icon name="info"></mk-icon>
</mk-helper>Props — mk-helper
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
heading | string | — | Título curto exibido em destaque no topo da bolha. |
description | string | — | Texto de apoio abaixo do heading. |
trigger | "hover" | "click" | "hover" | Define o gatilho de abertura. hover reage a mouseenter/focusin; click alterna ao clicar e permanece aberto até dismissão explícita. |
placement | "top-left" | "top-center" | "top-right" | "right" | "left" | "bottom-left" | "bottom-center" | "bottom-right" | "top-center" | Posição da bolha relativa ao trigger. |
open | boolean | false | Controla a visibilidade da bolha, unificado para ambos os modos de trigger. Refletido como atributo; sincronizável de fora via mkOpenChange. |
disabled | boolean | false | Impede a abertura da bolha por qualquer gatilho. |
Eventos
| Evento | Payload | Descrição |
|---|---|---|
mkOpenChange | { open: boolean } | Emitido sempre que a visibilidade da bolha muda, independentemente do modo de trigger. |
Slots
| Slot | Descrição |
|---|---|
| (padrão) | Conteúdo que atua como trigger — ícone, texto, badge etc. Elemento inline curto, igual ao mk-tooltip. |
Acessibilidade
- A bolha renderiza com
role="tooltip"; o trigger refletearia-describedbyapontando para o id da bolha, sempre presente. aria-disabled="true"no trigger quandodisabled.aria-expandedno trigger apenas quandotrigger="click", sincronizado comopen.- Hoverable: o ponteiro pode se mover do trigger para dentro da bolha sem fechá-la (WCAG 1.4.13 — Content on Hover or Focus).
- Dismissível via Escape e clique fora, em ambos os modos de trigger.
- Sem
headinge semdescription, a bolha não é renderizada por nenhum gatilho, mesmo comopen={true}definido externamente.
| Tecla | Comportamento |
|---|---|
Tab | Move o foco para o trigger (abre em modo hover) e para fora dele (fecha, salvo se a bolha estiver em modo click e aberta). |
Enter / Espaço | Em trigger="click", alterna a bolha quando o trigger está focado. |
Escape | Fecha a bolha, em qualquer modo de trigger. |
Form Helper
Ícone de ajuda (`mk-form-helper`) posicionado ao lado do rótulo de um campo de formulário, composto por `mk-helper` e `mk-icon`.
Illustration Icon
Ícone dentro de um container com fundo tonal, usado em empty states, cards de destaque, onboarding e listagens para reforçar o significado semântico de uma cor.