NavigationDrawerNavigation Drawer
A gaveta de navegação é usada para fornecer navegação na lateral da página, permitindo que os usuários acessem rapidamente diferentes páginas ou conteúdos.
Normalmente, você pode usar o componente <mdui-list> dentro da gaveta de navegação para adicionar itens de navegação.
Como usar
Importe o componente conforme necessário:
import 'mdui/components/navigation-drawer.js';
Importe o tipo TypeScript do componente conforme necessário:
import type { NavigationDrawer } from 'mdui/components/navigation-drawer.js';
Exemplo de uso:
<mdui-navigation-drawer close-on-overlay-click class="example-drawer">
<mdui-button>Fechar gaveta de navegação</mdui-button>
</mdui-navigation-drawer>
<mdui-button>Abrir gaveta de navegação</mdui-button>
<script>
const navigationDrawer = document.querySelector(".example-drawer");
const openButton = navigationDrawer.nextElementSibling;
const closeButton = navigationDrawer.querySelector("mdui-button");
openButton.addEventListener("click", () => navigationDrawer.open = true);
closeButton.addEventListener("click", () => navigationDrawer.open = false);
</script>Observações:
Este componente usa position: fixed por padrão.
Quando modal é false e a largura da viewport é maior ou igual a --mdui-breakpoint-md, ele adiciona automaticamente padding-left ou padding-right ao body para evitar que o conteúdo da página seja ocultado pelo componente.
No entanto, nos dois casos a seguir, ele usará position: absolute por padrão:
- Quando o atributo
containedétrue. - Quando o componente está dentro de
<mdui-layout></mdui-layout>. Assim, nenhumpadding-leftoupadding-rightserá adicionado.
Exemplos
Dentro de um contêiner especificado
Por padrão, a gaveta de navegação é exibida no lado esquerdo ou direito da página, em relação à janela atual. Se você deseja colocar a gaveta de navegação dentro de um contêiner especificado, adicione o atributo contained. Assim, a gaveta será exibida em relação ao elemento pai (você precisa adicionar os estilos position: relative; overflow: hidden; ao elemento pai).
Modal
Use o atributo modal para exibir uma sobreposição ao abrir a gaveta de navegação. Observe que quando a largura da janela ou do elemento pai for menor que --mdui-breakpoint-md, este parâmetro é ignorado e a sobreposição sempre será exibida.
Use o atributo close-on-esc para fechar a gaveta de navegação ao pressionar a tecla ESC.
Use o atributo close-on-overlay-click para fechar a gaveta de navegação ao clicar na sobreposição.
No lado direito
Defina o atributo placement como right para exibir a gaveta de navegação no lado direito da página.
API
Propiedades
| Atributo | Propiedad | Reflect | Tipo | Predeterminado |
|---|---|---|---|---|
open | open | boolean | false | |
Define se a gaveta de navegação está aberta. | ||||
modal | modal | boolean | false | |
Define se uma camada de sobreposição deve ser exibida quando a gaveta de navegação está aberta. Em dispositivos com tela estreita (largura da tela menor que | ||||
close-on-esc | closeOnEsc | boolean | false | |
Define se, quando há uma camada de sobreposição, pressionar a tecla ESC deve fechar a gaveta de navegação. | ||||
close-on-overlay-click | closeOnOverlayClick | boolean | false | |
Define se clicar na camada de sobreposição deve fechar a gaveta de navegação. | ||||
placement | placement | 'left' | 'right' | 'left' | |
Posição da gaveta de navegação. Os valores possíveis são:
| ||||
contained | contained | boolean | false | |
Por padrão, a gaveta de navegação é exibida em relação ao elemento Nota: Ao definir esta propriedade, deve-se definir manualmente o estilo | ||||
order | order | number | - | |
A ordem de layout deste componente dentro do | ||||
Eventos
| Nombre |
|---|
open |
Disparado antes de a gaveta de navegação abrir. Pode impedir a abertura chamando |
opened |
Disparado após a conclusão da animação de abertura da gaveta de navegação. |
close |
Disparado antes de a gaveta de navegação fechar. Pode impedir o fechamento chamando |
closed |
Disparado após a conclusão da animação de fechamento da gaveta de navegação. |
overlay-click |
Disparado ao clicar na camada de sobreposição. |
Slots
| Nombre |
|---|
| (predeterminado) |
Conteúdo dentro da gaveta de navegação. |
CSS Custom Properties
| Nombre |
|---|
--shape-corner |
Tamanho da borda arredondada do componente. Pode ser um valor em pixels, mas é recomendado usar os design tokens. |
--z-index |
Valor CSS |