Componentes
Drawer
betaCamada que sobe pela borda, pensada para o toque. Em telas grandes, o Sheet costuma ser a escolha certa.
Ainda não é estável porque Pendência editorial: oQueE, quandoUsar, quandoNaoUsar; Rota não varrida pelo sensor. Ausência de medição não é aprovação. O contrato de maturidade explica o que cada requisito exige.
@voxmente/ui/components/ui/drawer
<Drawer>
<DrawerTrigger render={<Button variant="outline" />}>
Ver detalhe da sessão
</DrawerTrigger>
<DrawerContent>
<DrawerHeader>
<DrawerTitle>Sessão de 28 de agosto</DrawerTitle>
</DrawerHeader>
</DrawerContent>
</Drawer>Anatomia
Drawer
└─ DrawerTrigger
└─ DrawerContent
└─ DrawerHeader
└─ DrawerTitle
└─ DrawerDescription
└─ DrawerFooter
└─ DrawerCloseExportadas, mas sem demonstração nesta página: DrawerOverlay, DrawerPortal, DrawerSwipeHandle.
Uso
Direção do swipe
Alça de arrastar
Pontos de parada
Gaveta aninhada
Modo não-modal
Rodapé com ações
Quando não usar
Sheet — quando o painel só entra e sai por clique, sem gesto de arrastar nem pontos de parada. É a escolha para um painel de filtro fixo em telas maiores.
Dialog — quando a tarefa é curta e centrada, como confirmar um convite. Drawer é para conteúdo que ocupa uma borda inteira da tela.
AlertDialog — quando a ação é destrutiva e exige confirmação explícita, como excluir uma turma. Um gesto de swipe nunca deve ser a única forma de confirmar isso.
O que o DrawerContent já monta
DrawerPortal — leva o painel para fora da árvore da página.
DrawerOverlay — o fundo escurecido atrás do painel, presente só quando modal não é false.
DrawerSwipeHandle — a alça visual, desenhada quando showSwipeHandle está ativo.
Referência da API
Drawer
| Prop | Tipo | Padrão |
|---|---|---|
| showSwipeHandle | boolean | false |
Também aceita as props de Base UI.
DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger não têm props próprias — aceitam apenas as props herdadas, incluindo className e os atributos de DOM.
Pendência editorial: o que é, quando usar, quando não usar, acessibilidade, componentes relacionados, exemplo em contexto de produto. A lacuna aparece aqui em vez de ser preenchida com orientação inventada.
- Anatomia: exemplo desta página
- Demonstrações e playground: componente real de @voxmente/ui
- Referência da API: TypeScript do pacote
- Cor, espaçamento e raio das demonstrações: tokens de theme.css