29 lines
1.2 KiB
TypeScript
29 lines
1.2 KiB
TypeScript
import { ApplicationCustomizerContext } from '@microsoft/sp-application-base';
|
|
import { IMenuItem } from '../../services/IMenuItem';
|
|
import { IMegaMenuApplicationCustomizerProperties } from './MegaMenuApplicationCustomizer';
|
|
export declare class MegaMenuRenderer {
|
|
private context;
|
|
private menuItems;
|
|
private updateCallback;
|
|
private _settingsPanel?;
|
|
constructor(context: ApplicationCustomizerContext, menuItems: IMenuItem[], updateCallback: (data: IMegaMenuApplicationCustomizerProperties) => void);
|
|
render(container: HTMLElement): void;
|
|
private createSettingsItem();
|
|
private openSettings();
|
|
private createTopLevelItem(item);
|
|
private createTopLevelElement(item);
|
|
private createMegaMenu(parentItem);
|
|
private createCategorySection(item);
|
|
private attachEventListeners();
|
|
private attachKeyboardNavigation(heading, megaMenu);
|
|
private attachMouseEvents(heading, megaMenu);
|
|
private attachFocusManagement(heading, megaMenu);
|
|
private attachGlobalKeyboardNavigation();
|
|
private openMegaMenu(trigger, menu);
|
|
private closeMegaMenu(trigger, menu);
|
|
private toggleMegaMenu(trigger, menu);
|
|
private closeAllMegaMenus();
|
|
private focusFirstLink(megaMenu);
|
|
private createScreenReaderAnnouncer();
|
|
}
|