Sari la conținut

`gds-sidenav` — Sidenav

Acest conținut nu este încă disponibil în limba selectată.

Documentație online (fără download) — citește aici pe Wiki.
Pachete npm: Package Registry · contracte în @gstack/gds-core.

BlockKind: —
Secțiune paletă: STRUCTURE · Class: GdsSidenavComponent · Pachet: @gstack/gds-angular
Data contract: SidenavData din @gstack/gds-core

Navigare laterală a aplicației: brand (product name/abbr), grupuri de itemi, utilizator. Pe ecrane înguste devine hamburger/drawer.

NumeTipDefaultDescriere
dataSidenavDatarequiredproduct, groups[], user
NumeTipDefaultDescriere
itemActivate{ item: SidenavItem; target?: NavTarget }—Click pe un item (opțional cu link)
import { GdsSidenavComponent } from '@gstack/gds-angular';
@Component({
standalone: true,
imports: [GdsSidenavComponent],
template: `<gds-sidenav [data]="nav" (itemActivate)="onNav($event)" />`,
})
export class AppShell {
nav = {
product: { name: 'GPay', abbr: 'GP' },
groups: [{ label: 'Meniu', items: [
{ label: 'Plăți', active: true },
{ label: 'Rapoarte', target: { pageId: 'reports' } },
]}],
user: { name: 'Ana Pop', role: 'Operator' },
};
onNav(e: unknown) { console.log(e); }
}
  • Nu e BlockKind — structură globală pe proiect.
  • NavTarget: pageId (pagină internă) sau url (extern).
  • Nu inventa props în afara tipului SidenavData.
  • Stiluri: doar tokens GDS / --gds-accent; fără hex hardcodat.
  • projects/gds-angular/src/lib/components/gds-sidenav.component.ts
  • projects/gds-core/src/lib/blocks.ts