Cerca...

Cerca nella documentazione...

Sidebar Nav

Sidebar Nav

Renderizza l'albero SidebarMenu di una Sidebar a partire da semplici dati invece di annidare a mano SidebarMenuItem/SidebarMenuSub — icona + etichetta (+ descrizione, + badge), con i sottomenu come sezioni comprimibili. Volutamente agnostico rispetto al framework: dagli onNavigate e chiama da lì il tuo router invece di renderizzare direttamente <a>/<Link>.

import { SidebarNav, type SidebarNavItem } from "@pompeitech/vesuvius-ui";

Default

Mostrato qui dentro la modalità collapsible="none" di Sidebar, che renderizza inline invece che con position: fixed — l'unica modalità incorporabile in un riquadro delimitato come questa anteprima (vedi Sidebar per la versione completa e reale del guscio dell'app):

Ecommerce

Usato dentro il SidebarGroupContent di una Sidebar, come qualsiasi SidebarMenu costruito a mano — vedi Sidebar per la struttura completa.

API

SidebarNav

PropTipoDefaultDescrizione
itemsSidebarNavItem[]L'albero da renderizzare — obbligatorio.
onNavigate(item: SidebarNavItem) => voidChiamata quando un elemento foglia (senza items) viene attivato — chiama da qui il tuo router (navigate(item.href), router.push(item.href), ...) dato che questo componente non renderizza alcun <a>/<Link> proprio.
defaultOpenIdsstring[][]Id degli elementi sottomenu espansi al primo render.

SidebarNavItem

CampoTipoDescrizione
idstringObbligatorio — univoco tra i suoi fratelli; usato da defaultOpenIds.
labelstringObbligatorio.
descriptionstringSeconda riga opzionale sotto l'etichetta (nascosta quando la sidebar è compressa a sola icona).
iconLucideIconIcona iniziale opzionale.
hrefstringNon usato internamente — leggilo tu stesso in onNavigate.
badgeReactNodeBadge/conteggio finale.
activebooleanEvidenzia l'elemento come pagina corrente.
disabledboolean
itemsSidebarNavItem[]Figli annidati — la presenza di questo campo (anche un array vuoto) trasforma l'elemento in un trigger di sottomenu comprimibile invece che in un link foglia.

Accessibilità

Renderizza sotto veri primitivi SidebarMenuButton/SidebarMenuSub, quindi la navigazione da tastiera e lo stile del focus sono ereditati automaticamente — vedi le note sull'accessibilità di Sidebar stessa per i primitivi sottostanti.