Menu
Sidebar
A barra lateral recolhível da aplicação: navegação com sublistas, que se reduz aos ícones e vira uma gaveta em telas pequenas.
Testado com WAI-ARIA
Importação
main.ts
import { Sidebar } from '@vitral/vue';Recolhível aos ícones
Fora da tela
API
Lido de packages/vue/src/components/Sidebar/types.ts, então diz o que o componente aceita de fato.
Props
| Nome | Tipo | Descrição |
|---|---|---|
| model | MenuItem[] | A navegação. Um item de primeiro nível com `items` é um grupo com rótulo; um item com `items` dentro de um grupo abre uma sublista no lugar. Os itens são links (`url`) ou botões (`command`). |
| collapsible | 'icon' | 'offcanvas' | 'none' | Como ela recolhe: até os ícones (o padrão), para fora da tela por completo, ou de jeito nenhum. |
| side | 'left' | 'right' | Em que borda fica. O padrão é `'left'`. |
| activeKey | string | A chave do item da página atual; ele é marcado com `aria-current="page"`. Itens com `active` também são marcados. |
| mobileBreakpoint | string | Abaixo desta largura ela vira um drawer aberto com `v-model:visible`. O padrão é `'768px'`. |
| showToggle | boolean | Mostra o botão de recolher no cabeçalho. O padrão é true. |
| ariaLabel | string | Dá nome à navegação. O padrão é o "Navigation" do locale. |
Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.
Emits
| Evento | Payload | Descrição |
|---|---|---|
| item-click | event: { originalEvent: Event; item: MenuItem } | — |
Slots
| Nome | Props do slot | Descrição |
|---|---|---|
| header | (props: { collapsed: boolean }) | Acima da navegação: um logo, um seletor de workspace. |
| footer | (props: { collapsed: boolean }) | Abaixo dela: o usuário conectado. |
| default | (props: { collapsed: boolean }) | Mais conteúdo depois dos grupos do model. |
| item | (props: { item: MenuItem; collapsed: boolean; active: boolean }) | O conteúdo de um item. |