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

PropriedadeDescriçãoTipoPadrã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

PropriedadeDescriçãoTipoPadrã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

PropriedadeDescriçãoTipoPadrã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