Componente
Drawer
Um painel que desliza a partir de qualquer borda. Carrega título, descrição, ícone, conteúdo e rodapé de OK/Cancelar, e na borda inferior pode ser arrastado entre pontos de encaixe.
Básico
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { HbButtonComponent, HbDrawerImports } from '@herbst/ui';
@Component({
selector: 'hb-demo-drawer-basic',
imports: [HbDrawerImports, HbButtonComponent],
template: `
<hb-drawer
hbTitle="Save photo"
hbDescription="Review the details before adding it to the Herbst album."
hbOkText="Save"
>
<button hb-button hbType="outline" hbDrawerTrigger>Open drawer</button>
<div hbDrawerContent class="text-sm leading-relaxed text-muted-foreground">
Oak leaves along the river — Freiburg, taken Nov 3, 2026.
</div>
</hb-drawer>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoDrawerBasicComponent {}
Lados e tamanhos
Alça e pontos de encaixe
Confirmação e eventos
No action yet.
Referência de API
hb-drawer — layout
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbSide] | Borda a partir da qual o drawer desliza. | 'top' | 'bottom' | 'left' | 'right' | 'bottom' |
| [hbSize] | Tamanho do painel; auto ajusta ao conteúdo, full cobre o eixo. | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto' | 'full' | 'auto' |
| [hbFullScreen] | Expande o painel para a tela inteira. | boolean | false |
| [hbHandle] / [hbHandleOnly] | Mostra uma alça de arraste, e restringe o arraste a ela. | boolean | true / false |
| [hbSnapPoints] / [(hbActiveSnapPoint)] | Frações da tela em que o drawer encaixa, e a ativa. | number[] / number | [] / undefined |
| [hbScaleBackground] / [hbBlockScroll] / [hbBreakpoint] | Escala a página atrás, bloqueia o scroll do body, e o breakpoint de desktop. | boolean / number | false / true / 768 |
hb-drawer — header & footer
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbTitle] / [hbDescription] / [hbIcon] | Título, texto de apoio e ícone inicial do cabeçalho. | string | '' |
| [hbOkText] / [hbCancelText] | Rótulos dos botões do rodapé; vazio oculta o botão. | string | 'OK' / 'Cancel' |
| [hbOkType] | Estilo visual do botão de confirmação. | 'default' | 'destructive' | 'warning' | 'success' | 'default' |
| [hbOkIcon] / [hbCancelIcon] / [hbOkDisabled] / [hbCancelDisabled] | Ícones e estados desabilitados dos botões do rodapé. | string / boolean | '' / false |
| [hbFooterAlign] / [hbShowFooter] | Alinhamento dos botões do rodapé, e se ele aparece. | 'start' | 'center' | 'end' | 'between' / boolean | 'end' / true |
| [hbClosable] / [hbShowClose] | Permite fechar pelo fundo/escape, e mostra o botão de fechar. | boolean | true |
hb-drawer — data, state & slots
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbData] / [hbOpen] | Payload devolvido nos eventos, e um estado de abertura controlado. | object | boolean | undefined |
| (hbOk) / (hbCancel) / (hbOpenChange) | Emitem ao confirmar (com hbData), cancelar e abrir/fechar. | object | boolean | — |
| [hbDrawerTrigger] / [hbDrawerContent] / [hbDrawerFooter] | Gatilho, conteúdo do corpo e rodapé personalizado, projetados. | slot | — |