import { MegaMenuPassThrough, ProcessedMegaMenuItem, MegaMenuItemTemplateContext, MegaMenuOrientation, MegaMenuItemClickEvent, MegaMenuItemMouseEnterEvent, MegaMenuFocusedItemInfo } from 'primeng/types/megamenu'; export * from 'primeng/types/megamenu'; import * as _angular_core from '@angular/core'; import { TemplateRef, ElementRef } from '@angular/core'; import { MotionOptions } from '@primeuix/motion'; import * as i2 from 'primeng/api'; import { MegaMenuItem } from 'primeng/api'; import { BaseComponent } from 'primeng/basecomponent'; import * as i1 from 'primeng/bind'; import { Bind } from 'primeng/bind'; import { VoidListener } from 'primeng/ts-helpers'; import { BaseStyle } from 'primeng/base'; declare class MegaMenuStyle extends BaseStyle { name: string; style: string; classes: { root: ({ instance }: { instance: any; }) => (string | { 'p-megamenu-mobile': any; 'p-megamenu-mobile-active': any; 'p-megamenu-horizontal': boolean; 'p-megamenu-vertical': boolean; })[]; start: string; button: string; rootList: string; submenuLabel: ({ instance, processedItem }: { instance: any; processedItem: any; }) => (string | { 'p-disabled': any; })[]; item: ({ instance, processedItem }: { instance: any; processedItem: any; }) => any[]; itemContent: string; itemLink: string; itemIcon: string; itemLabel: string; submenuIcon: string; overlay: string; grid: string; column: ({ instance, processedItem }: { instance: any; processedItem: any; }) => any; submenu: string; separator: string; end: string; }; inlineStyles: { rootList: ({ instance }: { instance: any; }) => { 'max-height': any; overflow: string; }; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } /** * * MegaMenu is navigation component that displays submenus together. * * [Live Demo](https://www.primeng.org/megamenu/) * * @module megamenustyle * */ declare enum MegaMenuClasses { /** * Class name of the root element */ root = "p-megamenu", /** * Class name of the start element */ start = "p-megamenu-start", /** * Class name of the button element */ button = "p-megamenu-button", /** * Class name of the root list element */ rootList = "p-megamenu-root-list", /** * Class name of the submenu item element */ submenuItem = "p-megamenu-submenu-item", /** * Class name of the item element */ item = "p-megamenu-item", /** * Class name of the item content element */ itemContent = "p-megamenu-item-content", /** * Class name of the item link element */ itemLink = "p-megamenu-item-link", /** * Class name of the item icon element */ itemIcon = "p-megamenu-item-icon", /** * Class name of the item label element */ itemLabel = "p-megamenu-item-label", /** * Class name of the submenu icon element */ submenuIcon = "p-megamenu-submenu-icon", /** * Class name of the panel element */ panel = "p-megamenu-panel", /** * Class name of the grid element */ grid = "p-megamenu-grid", /** * Class name of the submenu element */ submenu = "p-megamenu-submenu", /** * Class name of the submenu item label element */ submenuItemLabel = "p-megamenu-submenu-item-label", /** * Class name of the separator element */ separator = "p-megamenu-separator", /** * Class name of the end element */ end = "p-megamenu-end" } declare class MegaMenuSub extends BaseComponent { bindDirectiveInstance: Bind; $pcMegaMenu: MegaMenu | undefined; $pcMegaMenuSub: MegaMenuSub | undefined; id: _angular_core.InputSignal; items: _angular_core.InputSignal; itemTemplate: _angular_core.InputSignal | undefined>; menuId: _angular_core.InputSignal; ariaLabel: _angular_core.InputSignal; ariaLabelledBy: _angular_core.InputSignal; level: _angular_core.InputSignalWithTransform; focusedItemId: _angular_core.InputSignal; disabled: _angular_core.InputSignalWithTransform; orientation: _angular_core.InputSignal; activeItem: _angular_core.InputSignal; submenu: _angular_core.InputSignal; motionOptions: _angular_core.InputSignal; queryMatches: _angular_core.InputSignalWithTransform; mobileActive: _angular_core.InputSignalWithTransform; scrollHeight: _angular_core.InputSignal; tabindex: _angular_core.InputSignalWithTransform; root: _angular_core.InputSignalWithTransform; itemClick: _angular_core.OutputEmitterRef; itemMouseEnter: _angular_core.OutputEmitterRef; menuFocus: _angular_core.OutputEmitterRef; menuBlur: _angular_core.OutputEmitterRef; menuKeydown: _angular_core.OutputEmitterRef; menuMouseDown: _angular_core.OutputEmitterRef; megaMenu: MegaMenu; _componentStyle: MegaMenuStyle; hostName: string; hostClass: _angular_core.Signal; hostDisplay: _angular_core.Signal<"none" | null | undefined>; hostRole: _angular_core.Signal<"menubar" | "menu">; hostDataPcSection: _angular_core.Signal<"submenu" | "rootlist">; isHorizontalOrMobile: _angular_core.Signal; isHorizontal: _angular_core.Signal; hasSubmenuIcon: _angular_core.Signal; isSeparator(processedItem: ProcessedMegaMenuItem): any; hasRouterLink(processedItem: ProcessedMegaMenuItem): any; hasIcon(processedItem: ProcessedMegaMenuItem): any; shouldEscape(processedItem: ProcessedMegaMenuItem): any; hasBadge(processedItem: ProcessedMegaMenuItem): any; isVisibleItemGroup(processedItem: ProcessedMegaMenuItem): boolean; getAriaHasPopup(processedItem: ProcessedMegaMenuItem): "menu" | undefined; getAriaExpanded(processedItem: ProcessedMegaMenuItem): boolean | undefined; getRouterLinkActiveOptions(processedItem: ProcessedMegaMenuItem): any; onAfterViewChecked(): void; onItemClick(event: Event, processedItem: ProcessedMegaMenuItem): void; getItemProp(processedItem: ProcessedMegaMenuItem | undefined, name: string, params?: { originalEvent: Event; item: MegaMenuItem; } | null): any; getItemId(processedItem: ProcessedMegaMenuItem): string; getSubListId(processedItem: ProcessedMegaMenuItem): string; getItemLabel(processedItem: ProcessedMegaMenuItem | undefined): string; isSubmenuVisible(submenu: ProcessedMegaMenuItem | undefined): boolean; isItemVisible(processedItem: ProcessedMegaMenuItem | undefined): boolean; isItemActive(processedItem: ProcessedMegaMenuItem): boolean; isItemDisabled(processedItem: ProcessedMegaMenuItem): boolean; isItemFocused(processedItem: ProcessedMegaMenuItem): boolean; isItemGroup(processedItem: ProcessedMegaMenuItem): boolean; getAriaSetSize(): number | undefined; getAriaPosInset(index: number): number; onItemMouseEnter(param: { originalEvent: Event; processedItem: ProcessedMegaMenuItem; }): void; getColumnItems(col: ProcessedMegaMenuItem | ProcessedMegaMenuItem[]): ProcessedMegaMenuItem[]; getSubmenuItems(submenu: ProcessedMegaMenuItem): ProcessedMegaMenuItem[] | undefined; getPTOptions(processedItem: ProcessedMegaMenuItem, index: number, key: string): any; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * MegaMenu is navigation component that displays submenus together. * @group Components */ declare class MegaMenu extends BaseComponent { componentName: string; bindDirectiveInstance: Bind; /** * An array of menuitems. * @group Props */ model: _angular_core.InputSignal; /** * Defines the orientation. * @group Props */ orientation: _angular_core.InputSignal; /** * Current id state as a string. * @group Props */ id: _angular_core.InputSignal; /** * Defines a string value that labels an interactive element. * @group Props */ ariaLabel: _angular_core.InputSignal; /** * Identifier of the underlying input element. * @group Props */ ariaLabelledBy: _angular_core.InputSignal; /** * The breakpoint to define the maximum width boundary. * @group Props */ breakpoint: _angular_core.InputSignal; /** * Height of the viewport, a scrollbar is defined if height of list exceeds this value. * @group Props */ scrollHeight: _angular_core.InputSignal; /** * When present, it specifies that the component should be disabled. * @group Props */ disabled: _angular_core.InputSignalWithTransform; /** * Index of the element in tabbing order. * @group Props */ tabindex: _angular_core.InputSignalWithTransform; /** * Defines the motion options for the submenu open/close animation. * @group Props */ motionOptions: _angular_core.InputSignal; computedMotionOptions: _angular_core.Signal; /** * Defines template option for start. * @group Templates */ startTemplate: _angular_core.Signal | undefined>; /** * Defines template option for end. * @group Templates */ endTemplate: _angular_core.Signal | undefined>; /** * Defines template option for menu icon. * @group Templates */ menuiconTemplate: _angular_core.Signal | undefined>; /** * Defines template option for submenu icon. * @group Templates */ submenuiconTemplate: _angular_core.Signal | undefined>; /** * Custom item template. * @param {MegaMenuItemTemplateContext} context - item context. * @see {@link MegaMenuItemTemplateContext} * @group Templates */ itemTemplate: _angular_core.Signal | undefined>; /** * Custom menu button template on responsive mode. * @group Templates */ buttonTemplate: _angular_core.Signal | undefined>; /** * Custom menu button icon template on responsive mode. * @group Templates */ buttoniconTemplate: _angular_core.Signal | undefined>; menubuttonViewChild: _angular_core.Signal | undefined>; rootmenu: _angular_core.Signal; outsideClickListener: VoidListener; resizeListener: ((event: Event) => void) | null; dirty: boolean; focused: _angular_core.WritableSignal; activeItem: _angular_core.WritableSignal; focusedItemInfo: _angular_core.WritableSignal; searchValue: string; searchTimeout: ReturnType | null; _componentStyle: MegaMenuStyle; private matchMediaListener; private query; queryMatches: _angular_core.WritableSignal; mobileActive: _angular_core.WritableSignal; private _internalId; $id: _angular_core.Signal; processedItems: _angular_core.Signal; visibleItems: _angular_core.Signal; focusedItemId: _angular_core.Signal; rootMenuTabindex: _angular_core.Signal; activeFocusedItemId: _angular_core.Signal; get navigationAriaLabel(): string | undefined; constructor(); onInit(): void; onAfterViewChecked(): void; bindMatchMediaListener(): void; unbindMatchMediaListener(): void; createProcessedItems(items: MegaMenuItem[], level?: number, parent?: ProcessedMegaMenuItem | Record, parentKey?: string, columnIndex?: number): ProcessedMegaMenuItem[]; getItemProp(item: MegaMenuItem, name: string): any; onItemClick(event: MegaMenuItemClickEvent): void; onItemMouseEnter(event: MegaMenuItemMouseEnterEvent): void; menuButtonClick(event: MouseEvent): void; menuButtonKeydown(event: KeyboardEvent): void; toggle(event: MouseEvent): void; show(): void; scrollInView(index?: number): void; onItemChange(event: MegaMenuItemClickEvent | MegaMenuItemMouseEnterEvent): void; hide(_event?: Event, isFocus?: boolean): void; onMenuMouseDown(_event: MouseEvent): void; onMenuFocus(event: FocusEvent): void; onMenuBlur(event: FocusEvent): void; onKeyDown(event: KeyboardEvent): void; findFirstFocusedItemIndex(): number; findFirstItemIndex(): number; findSelectedItemIndex(): number; isProcessedItemGroup(processedItem: ProcessedMegaMenuItem): boolean; isSelected(processedItem: ProcessedMegaMenuItem): boolean; isValidSelectedItem(processedItem: ProcessedMegaMenuItem): boolean; isValidItem(processedItem: ProcessedMegaMenuItem): boolean; isItemDisabled(item: MegaMenuItem): boolean; isItemSeparator(item: MegaMenuItem): boolean; isItemMatched(processedItem: ProcessedMegaMenuItem): boolean; isProccessedItemGroup(processedItem: ProcessedMegaMenuItem | null): boolean; searchItems(event: KeyboardEvent, char: string): boolean; getProccessedItemLabel(processedItem: ProcessedMegaMenuItem): any; getItemLabel(item: MegaMenuItem): any; changeFocusedItemInfo(_event: KeyboardEvent, index: number): void; onArrowDownKey(event: KeyboardEvent): void; onArrowRightKey(event: KeyboardEvent): void; onArrowUpKey(event: KeyboardEvent): void; onArrowLeftKey(event: KeyboardEvent): void; onHomeKey(event: KeyboardEvent): void; onEndKey(event: KeyboardEvent): void; onSpaceKey(event: KeyboardEvent): void; onEscapeKey(event: KeyboardEvent): void; onTabKey(event: KeyboardEvent): void; onEnterKey(event: KeyboardEvent): void; findVisibleItem(index: number): ProcessedMegaMenuItem | null; findLastFocusedItemIndex(): number; findLastItemIndex(): number; findPrevItemIndex(index: number): number; findNextItemIndex(index: number): number; bindResizeListener(): void; bindOutsideClickListener(): void; unbindOutsideClickListener(): void; unbindResizeListener(): void; onDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class MegaMenuModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { MegaMenu, MegaMenuClasses, MegaMenuModule, MegaMenuStyle };