@hashicorp/design-system-components
Version:
Helios Design System Components
49 lines (48 loc) • 1.56 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type Owner from '@ember/owner';
export interface HdsAppSideNavSignature {
Args: {
isResponsive?: boolean;
isCollapsible?: boolean;
isMinimized?: boolean;
breakpoint?: string;
onToggleMinimizedStatus?: (arg: boolean) => void;
onDesktopViewportChange?: (arg: boolean) => void;
};
Blocks: {
default?: [];
};
Element: HTMLDivElement;
}
export default class HdsAppSideNav extends Component<HdsAppSideNavSignature> {
private _isMinimized;
private _isAnimating;
private _isDesktop;
private _body;
private _bodyInitialOverflowValue;
private _desktopMQ;
private _navWrapperBody;
private _desktopMQVal;
constructor(owner: Owner, args: HdsAppSideNavSignature['Args']);
private _setUpBodyElement;
private _setUpNavWrapperBody;
addEventListeners(): void;
removeEventListeners(): void;
get isResponsive(): boolean;
get isCollapsible(): boolean;
get isMobileCollapsible(): boolean;
get shouldTrapFocus(): boolean;
get showToggleButton(): boolean;
get classNames(): string;
synchronizeInert: () => void;
lockBodyScroll: () => void;
unlockBodyScroll: () => void;
escapePress: (event: KeyboardEvent) => void;
toggleMinimizedStatus: () => void;
setTransition: (phase: string, event: TransitionEvent) => void;
updateDesktopVariable: (event: MediaQueryListEvent) => void;
}