UNPKG

@hashicorp/design-system-components

Version:
69 lines (68 loc) 2.35 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import type { HdsSideNavBaseSignature } from './base'; import type Owner from '@ember/owner'; import type { NavigationNarratorSignature } from 'ember-a11y-refocus/components/navigation-narrator'; export interface HdsSideNavSignature { Args: { isResponsive?: boolean; isCollapsible?: boolean; isMinimized?: boolean; hasA11yRefocus?: boolean; a11yRefocusSkipTo?: string; a11yRefocusSkipText?: string; a11yRefocusNavigationText?: string; a11yRefocusRouteChangeValidator?: NavigationNarratorSignature['Args']['routeChangeValidator']; a11yRefocusExcludeAllQueryParams?: boolean; onToggleMinimizedStatus?: (arg: boolean) => void; onDesktopViewportChange?: (arg: boolean) => void; }; Blocks: { header?: [ { Header?: HdsSideNavBaseSignature['Blocks']['header']; isMinimized?: boolean; } ]; body?: [ { Body?: HdsSideNavBaseSignature['Blocks']['body']; isMinimized?: boolean; } ]; footer?: [ { Footer?: HdsSideNavBaseSignature['Blocks']['footer']; isMinimized?: boolean; } ]; }; Element: HdsSideNavBaseSignature['Element']; } export default class HdsSideNav extends Component<HdsSideNavSignature> { isAnimating: boolean; isDesktop: boolean; isMinimized: boolean; desktopMQ: MediaQueryList; containersToHide: NodeListOf<Element>; hasA11yRefocus: boolean; a11yRefocusSkipTo: string; desktopMQVal: string; constructor(owner: Owner, args: HdsSideNavSignature['Args']); addEventListeners(): void; removeEventListeners(): void; get isResponsive(): boolean; get isCollapsible(): boolean; get shouldTrapFocus(): boolean; get showToggleButton(): boolean; get classNames(): string; synchronizeInert(): void; escapePress(event: KeyboardEvent): void; toggleMinimizedStatus(): void; didInsert(element: HTMLElement): void; setTransition(phase: string, event: TransitionEvent): void; updateDesktopVariable(event: MediaQueryListEvent): void; }