import { EventEmitter } from '../../stencil-public-runtime'; import { ApplicationLayoutContext } from '../utils/application-layout/context'; import { Breakpoint } from '../utils/breakpoints'; import { ContextType } from '../utils/context'; import { CustomCloseEvent } from '../utils/menu-tabs/menu-tabs-utils'; /** * @slot ix-menu-avatar - Avatar displayed at the top of the menu. * @slot home - Home menu item. * @slot default - Main menu items and categories. * @slot bottom - Menu items displayed below the main navigation. * @slot ix-menu-settings - Settings content displayed in the menu overlay. * @slot ix-menu-about - About content displayed in the menu overlay. */ export declare class Menu { hostElement: HTMLIxMenuElement; /** * Is settings tab visible */ showSettings: boolean; /** * Is about tab visible */ showAbout: boolean; /** * Show toggle between light and dark variant. Only if the provided theme have implemented both! */ enableToggleTheme: boolean; /** * Should only be set if you use ix-menu standalone */ applicationName?: string; /** * Should only be set if you use ix-menu standalone */ applicationDescription: string; /** * Toggle the expand state of the menu */ expand: boolean; expandChanged(newExpand: boolean, oldExpand: boolean): void; /** * If set the menu will be expanded initially. This will only take effect at the breakpoint 'lg'. */ startExpanded: boolean; /** * Menu stays pinned to the left */ pinned: boolean; pinnedChange(newPinned: boolean): void; /** * i18n aria-label for menu. Gets read out by screen readers when first focusing the menu * * @since 5.1.0 */ i18nAriaLabelMenu: string; /** * i18n description for menu keyboard navigation hint, read by screen readers when focusing the menu * * @since 5.1.0 */ i18nNavigationHint: string; /** * i18n label for 'About & legal information' button */ i18nLegal: string; /** * i18n label for 'Settings' button */ i18nSettings: string; /** * i18n label for 'Toggle theme' button */ i18nToggleTheme: string; /** * i18n label for 'Expand' button */ i18nExpand: string; /** * i18n label for 'Collapse' button */ i18nCollapse: string; /** * Menu expanded */ expandChange: EventEmitter; /** * Map Sidebar expanded */ mapExpandChange: EventEmitter; /** * Event emitted when the app switch button is clicked * * @since 3.0.0 */ openAppSwitch: EventEmitter; /** * Event emitted when the settings button is clicked * @since 3.0.0 */ openSettings: EventEmitter; /** * Event emitted when the about button is clicked * @since 3.0.0 */ openAbout: EventEmitter; showPinned: boolean; mapExpand: boolean; breakpoint: Breakpoint; itemsScrollShadowTop: boolean; itemsScrollShadowBottom: boolean; hasBottomSlotItems: boolean; applicationLayoutContext?: ContextType; isDarkMode: boolean; private isTransitionDisabled; private lastFocusedMenuItem?; private themeNameDisposer?; private readonly isVisible; get popoverArea(): Element | null; get menu(): Element | null; get menuItemsContainer(): HTMLDivElement; get menuNavigationContainer(): HTMLDivElement; get overlayContainer(): HTMLDivElement | null; get menuItems(): Element[]; get menuBottomItems(): Element[]; get homeTab(): Element | null; get moreItemsDropdown(): HTMLElement; get isMoreItemsDropdownEmpty(): boolean; get moreItemsDropdownItems(): NodeListOf; get activeMoreTabContainer(): Element | null; get activeMoreTab(): Element | null; get aboutPopoverContainer(): HTMLElement; get aboutNewsPopover(): HTMLIxMenuAboutNewsElement; get aboutTab(): HTMLElement | null; get about(): HTMLIxMenuAboutElement | null; get settings(): HTMLIxMenuSettingsElement | null; get isSettingsEmpty(): boolean; get hasUtilityMenuItems(): boolean; get shouldFillMenuNavigation(): boolean; get tabsContainer(): HTMLIxMenuElement; componentDidLoad(): void; componentWillLoad(): void; componentDidRender(): void; connectedCallback(): void; disconnectedCallback(): void; private updateThemeState; private setPinned; private onBreakpointChange; private appendFragments; private getAboutPopoverVerticalPosition; private appendAboutNewsPopover; /** * Toggle map sidebar expand * @param show */ toggleMapExpand(show?: boolean): Promise; /** * Toggle menu * @param show */ toggleMenu(show?: boolean): Promise; /** * Disable transition of overlay while menu animation is running. */ private checkTransition; private isOverlayVisible; /** * Toggle Settings tabs * @param show */ toggleSettings(show: boolean): Promise; /** * Toggle About tabs * @param show */ toggleAbout(show: boolean): Promise; private resetOverlay; private isMenuItemClicked; private handleOverflowIndicator; onOverlayClose(event?: CustomEvent): void; private shouldRestoreMenuFocus; private focusMenuNavigationContainer; private animateOverlayFadeIn; private animateOverlayFadeOut; private onMenuItemsClick; private updateBottomSlotState; private isHiddenFromViewport; private updateRovingTabIndex; private resetRovingTabIndex; private updateMenuItemPositionMetadata; private handleMenuFocusIn; private getAllFocusableItems; private suppressAnchorWrapperTabStops; private isEventFromExpandedCategoryItems; private handleMenuKeyDown; private showAppSwitch; render(): any; }