@nova-ui/bits
Version:
SolarWinds Nova Framework
43 lines (42 loc) • 1.89 kB
TypeScript
import { ActiveDescendantKeyManager, LiveAnnouncer } from "@angular/cdk/a11y";
import { ElementRef, OnDestroy, QueryList } from "@angular/core";
import { Subject, Subscription } from "rxjs";
import { MenuGroupComponent } from "./menu-item/menu-group/menu-group.component";
import { MenuPopupComponent } from "./menu-popup/menu-popup.component";
import { MenuItemBaseComponent } from "../menu/menu-item/menu-item/menu-item-base";
import { PopupComponent } from "../popup-adapter/popup-adapter.component";
import * as i0 from "@angular/core";
export declare class MenuKeyControlService implements OnDestroy {
private live;
popup: PopupComponent;
menuGroups: QueryList<MenuGroupComponent>;
menuItems: QueryList<MenuItemBaseComponent>;
menuToggle: ElementRef;
menuPopup: MenuPopupComponent;
menuOpenListener: Subject<void>;
keyControlItemsSource: boolean;
keyboardEventsManager: ActiveDescendantKeyManager<MenuItemBaseComponent>;
menuOpenListenerSubscription: Subscription;
private keyboardEventsSubscription;
private _scrollContainer;
set scrollContainer(container: ElementRef);
get scrollContainer(): ElementRef<any>;
constructor(live: LiveAnnouncer);
initKeyboardManager(): void;
handleKeydown(event: KeyboardEvent): void;
setActiveItem(index: number): void;
getActiveItemIndex(): number | null;
private initKeyManagerHandlers;
private shouldCloseOnEnter;
private hasActiveItem;
private handleOpenKeyDown;
private handleClosedKeyDown;
private shouldBePrevented;
private countGroupLabelsBeforeOption;
private getOptionScrollPosition;
private scrollActiveOptionIntoView;
private announceCurrentItem;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MenuKeyControlService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<MenuKeyControlService>;
}