Componente
Hover card
Um cartão flutuante revelado ao passar o mouse ou focar. Projete um gatilho, posicione o painel em qualquer lado e alinhamento, ajuste os atrasos de abrir/fechar, defina sua largura e controle-o como um overlay controlado.
Cartão de perfil
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { HbAvatarImports, HbButtonComponent, HbHoverCardImports } from '@herbst/ui';
const portrait =
'data:image/svg+xml,' +
encodeURIComponent(
"<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'>" +
"<defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'>" +
"<stop offset='0' stop-color='#A64B2A'/><stop offset='1' stop-color='#6B7A55'/>" +
'</linearGradient></defs>' +
"<rect width='80' height='80' fill='url(#g)'/></svg>",
);
@Component({
selector: 'hb-demo-hover-card-basic',
imports: [HbHoverCardImports, HbButtonComponent, HbAvatarImports],
template: `
<hb-hover-card>
<button hbHoverCardTrigger hb-button hbType="link">@a.herbst</button>
<hb-hover-card-content>
<div class="flex gap-3">
<hb-avatar [hbSrc]="portrait" hbAlt="A. Herbst" hbFallback="AH" hbSize="lg" />
<div class="space-y-1">
<p class="text-sm font-medium">A. Herbst</p>
<p class="text-sm text-muted-foreground">
Wanders German forests in autumn. Shares falling-leaf photos from the Black Forest.
</p>
<p class="pt-1 text-xs text-muted-foreground">Joined November 2026</p>
</div>
</div>
</hb-hover-card-content>
</hb-hover-card>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoHoverCardBasicComponent {
protected readonly portrait = portrait;
}
Lado, alinhamento, offset e largura
Controlado, atrasos e desabilitado
Referência de API
hb-hover-card
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbSide] | Lado preferido do gatilho para abrir; inverte para o lado oposto se faltar espaço. | 'top' | 'right' | 'bottom' | 'left' | 'bottom' |
| [hbAlign] | Alinhamento do painel ao longo do lado escolhido. | 'start' | 'center' | 'end' | 'center' |
| [hbSideOffset] | Espaço em pixels entre o gatilho e o painel. | number | 4 |
| [hbOpenDelay] / [hbCloseDelay] | Atraso em milissegundos antes de abrir ao passar o mouse e antes de fechar ao sair. | number | 700 / 300 |
| [hbOpen] | Estado aberto controlado. Deixe indefinido para o comportamento embutido de hover/foco. | boolean | undefined | undefined |
| (hbOpenChange) | Emite true/false conforme o cartão abre e fecha. | boolean | — |
| [hbDisabled] | Impede o cartão de abrir. | boolean | false |
Trigger & content
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbHoverCardTrigger] | Marca o elemento projetado que abre o cartão ao passar o mouse/focar. | directive | — |
| hb-hover-card-content [hbWidth] | Largura do painel — um número (px) ou qualquer string de comprimento CSS; null para automático. | number | string | null | null |
| hb-hover-card-content [class] | Classes extras mescladas sobre o estilo do painel. | ClassValue | '' |