@ngx-smart/ngx-smart-sidebar
Version:
A customizable, collapsible, responsive, feature-rich sidebar component for Angular apps.
48 lines (47 loc) • 2.54 kB
TypeScript
import { EventEmitter, ElementRef } from '@angular/core';
import { Router } from '@angular/router';
import { SidebarService } from './sidebar.service';
import * as i0 from "@angular/core";
export type SidebarPosition = 'left' | 'right';
export type SidebarWidth = 'small' | 'medium' | 'large';
export interface SidebarLabel {
label: string;
path?: string;
children?: SidebarLabel[];
isExpanded?: boolean;
}
export interface SidebarSection {
header: string;
labels: SidebarLabel[];
}
export declare class SidebarComponent {
private sidebarService;
private router;
private elementRef;
position: SidebarPosition;
width: SidebarWidth;
title: string;
backgroundHighlightColor: string;
items: SidebarSection[];
activeItemPath: string;
sidebarId: string;
collapsible: boolean;
hideSidebarOnPathChange: boolean;
closeOnClickOutside: boolean;
sidebarBackgroundColor: string;
sidebarItemSelected: EventEmitter<SidebarLabel>;
toggleSidebar: EventEmitter<boolean>;
isCollapsed: boolean;
hoverItemIndex: number | null;
hoverLabelIndex: number | null;
hoverChildIndex: number | null;
private stateSubscription?;
constructor(sidebarService: SidebarService, router: Router, elementRef: ElementRef);
ngOnInit(): void;
ngOnDestroy(): void;
onClickOutside(event: MouseEvent): void;
toggleSidebarState(): void;
onItemClick(item: SidebarLabel, event: Event): void;
static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "lib-sidebar", never, { "position": { "alias": "position"; "required": false; }; "width": { "alias": "width"; "required": false; }; "title": { "alias": "title"; "required": false; }; "backgroundHighlightColor": { "alias": "backgroundHighlightColor"; "required": false; }; "items": { "alias": "items"; "required": false; }; "activeItemPath": { "alias": "activeItemPath"; "required": false; }; "sidebarId": { "alias": "sidebarId"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; "hideSidebarOnPathChange": { "alias": "hideSidebarOnPathChange"; "required": false; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; }; "sidebarBackgroundColor": { "alias": "sidebarBackgroundColor"; "required": false; }; }, { "sidebarItemSelected": "sidebarItemSelected"; "toggleSidebar": "toggleSidebar"; }, never, ["[sidebarHeaderContent]", "[sidebarFooterContent]"], true, never>;
}