packages/components/layout/eui-app/eui-app-sidebar/sidebar.component.ts
Application sidebar component that provides a collapsible navigation panel for the application shell. Automatically registers with EuiAppShellService to coordinate layout state and responsive behavior. Handles automatic collapse on mobile and tablet breakpoints, and closes on body clicks in responsive modes. Manages CSS variables for sidebar dimensions to ensure proper content area positioning.
Example :<!-- Basic sidebar within app structure -->
<eui-app>
<eui-app-sidebar>
<eui-app-sidebar-header>
<eui-app-sidebar-header-user-profile
(toggle)="onSidebarProfileToggle($event)"
[hasProfileDrawer]="true">
</eui-app-sidebar-header-user-profile>
</eui-app-sidebar-header>
<eui-app-sidebar-drawer [isExpanded]="false">
<p>User profile details</p>
</eui-app-sidebar-drawer>
<eui-app-sidebar-body>
<eui-app-sidebar-menu
[items]="sidebarItems"
[hasFilter]="true"
[hasIcons]="true">
</eui-app-sidebar-menu>
</eui-app-sidebar-body>
<eui-app-sidebar-footer>
Footer content
</eui-app-sidebar-footer>
</eui-app-sidebar>
</eui-app>
| changeDetection | ChangeDetectionStrategy.Default |
| encapsulation | ViewEncapsulation.None |
| selector | eui-app-sidebar |
| styleUrls | ./_styles/_index.scss |
| templateUrl | ./sidebar.component.html |
Properties |
Methods |
HostBindings |
HostListeners |
| class |
Type : string
|
Default value : 'eui-app-sidebar'
|
| body:click |
body:click()
|
| close |
close()
|
Decorators :
@HostListener('body:click')
|
|
Returns :
void
|
| asService |
Type : unknown
|
Default value : inject(EuiAppShellService, { optional: true })!
|
| string |
Type : string
|
Default value : 'eui-app-sidebar'
|
Decorators :
@HostBinding('class')
|