Componente

Tooltip

Uma diretiva que flutua um rótulo ao lado de qualquer elemento. Mostre texto simples ou atalhos de teclado, posicione-o em qualquer lado e alinhamento, adicione uma seta e offset, abra ao passar o mouse, clicar ou sob seu controle, ajuste os atrasos de abrir/fechar, e projete um template rico com contexto.

Texto e atalho

Any element works
import { ChangeDetectionStrategy, Component } from '@angular/core';

import { HbButtonComponent, HbTooltipImports } from '@herbst/ui';

@Component({
  selector: 'hb-demo-tooltip-basic',
  imports: [HbTooltipImports, HbButtonComponent],
  template: `
    <div class="flex flex-wrap items-center gap-3">
      <button hb-button hbType="secondary" hbTooltip="Add a new photo">Hover me</button>

      <button hb-button hbType="outline" hbTooltip="Save changes" [hbTooltipShortcut]="['⌘', 'S']">
        With shortcut
      </button>

      <span
        hbTooltip="Oak leaves — Black Forest"
        class="cursor-help text-sm underline decoration-dotted underline-offset-4"
      >
        Any element works
      </span>
    </div>
  `,
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoTooltipBasicComponent {}

Lado, alinhamento, seta e offset

Gatilho, template, atraso e controlado

Referência de API

[hbTooltip] — content

PropriedadeDescriçãoTipoPadrão
hbTooltip O texto do tooltip. A diretiva se anexa ao elemento host em que fica. string ''
[hbTooltipShortcut] Uma ou mais teclas renderizadas como chips kbd após o texto. string | string[] []
[hbTooltipContent] / [hbTooltipContentContext] Um TemplateRef para conteúdo rico, e o objeto de contexto passado a ele (como $implicit / let-ctx). TemplateRef | unknown null
[hbTooltipClass] Classes extras mescladas no painel do tooltip. ClassValue ''

[hbTooltip] — placement & behaviour

PropriedadeDescriçãoTipoPadrão
[hbTooltipPosition] Lado preferido; inverte para o oposto quando falta espaço. 'top' | 'right' | 'bottom' | 'left' 'top'
[hbTooltipAlign] Alinhamento do painel ao longo do lado escolhido. 'start' | 'center' | 'end' 'center'
[hbTooltipArrow] / [hbTooltipOffset] Mostra uma seta apontadora, e define o espaço em pixels entre o gatilho e o painel. boolean / number false / 6
[hbTooltipTrigger] Como abre: ao passar o mouse/focar, ao clicar (fecha com clique fora), ou manual (você controla). 'hover' | 'click' | 'manual' 'hover'
[hbTooltipDelay] Atraso de abrir/fechar em ms — um número para ambos, ou { open, close }. number | { open?, close? } 300 / 100
[hbTooltipDisabled] Impede o tooltip de abrir. boolean false
[hbTooltipOpen] / (hbTooltipOpenChange) Estado aberto controlado (use com trigger "manual"), e um evento emitido ao abrir e fechar. boolean | undefined / boolean undefined
provideHbTooltip(config) Padrões da aplicação: position, align, trigger, openDelay, closeDelay, offset, arrow. Provider