import { MegaMenuPassThrough, MegaMenuItemTemplateContext } from 'primeng/types/megamenu'; export * from 'primeng/types/megamenu'; import * as i0 from '@angular/core'; import { TemplateRef, QueryList, ElementRef, EventEmitter } from '@angular/core'; import * as i2 from 'primeng/api'; import { MegaMenuItem, PrimeTemplate } 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 * as _primeuix_styled from '@primeuix/styled'; import { BaseStyle } from 'primeng/base'; /** * * 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 MegaMenuStyle extends BaseStyle { name: string; style: _primeuix_styled.StyleType; 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: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface MegaMenuStyle extends BaseStyle { } declare class MegaMenuSub extends BaseComponent { bindDirectiveInstance: Bind; $pcMegaMenu: MegaMenu | undefined; $pcMegaMenuSub: MegaMenuSub | undefined; id: string | undefined; items: any[] | undefined; itemTemplate: TemplateRef | undefined; menuId: string | undefined; ariaLabel: string | undefined; ariaLabelledBy: string | undefined; level: number; focusedItemId: string | undefined; disabled: boolean; orientation: string | undefined; activeItem: any; submenu: any; queryMatches: boolean; mobileActive: boolean; scrollHeight: string; tabindex: number; root: boolean; itemClick: EventEmitter; itemMouseEnter: EventEmitter; menuFocus: EventEmitter; menuBlur: EventEmitter; menuKeydown: EventEmitter; menuMouseDown: EventEmitter; megaMenu: MegaMenu; _componentStyle: MegaMenuStyle; onAfterViewChecked(): void; onItemClick(event: any, processedItem: any): void; getItemProp(processedItem: any, name: string, params?: any | null): any; getItemId(processedItem: any): string; getSubListId(processedItem: any): string; getItemLabel(processedItem: any): string; isSubmenuVisible(submenu: any): boolean; isItemVisible(processedItem: any): boolean; isItemActive(processedItem: any): boolean; isItemDisabled(processedItem: any): boolean; isItemFocused(processedItem: any): boolean; isItemGroup(processedItem: any): boolean; getAriaSetSize(): number | undefined; getAriaPosInset(index: number): number; onItemMouseEnter(param: any): void; getPTOptions(processedItem: any, index: number, key: string): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_level: unknown; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_queryMatches: unknown; static ngAcceptInputType_mobileActive: unknown; static ngAcceptInputType_tabindex: unknown; static ngAcceptInputType_root: unknown; } /** * MegaMenu is navigation component that displays submenus together. * @group Components */ declare class MegaMenu extends BaseComponent { bindDirectiveInstance: Bind; /** * An array of menuitems. * @group Props */ set model(value: MegaMenuItem[] | undefined); get model(): MegaMenuItem[] | undefined; /** * Class of the element. * @deprecated since v20.0.0, use `class` instead. * @group Props */ styleClass: string | undefined; /** * Defines the orientation. * @group Props */ orientation: 'horizontal' | 'vertical' | string; /** * Current id state as a string. * @group Props */ id: string | undefined; /** * Defines a string value that labels an interactive element. * @group Props */ ariaLabel: string | undefined; /** * Identifier of the underlying input element. * @group Props */ ariaLabelledBy: string | undefined; /** * The breakpoint to define the maximum width boundary. * @group Props */ breakpoint: string; /** * Height of the viewport, a scrollbar is defined if height of list exceeds this value. * @group Props */ scrollHeight: string; /** * When present, it specifies that the component should be disabled. * @group Props */ disabled: boolean; /** * Index of the element in tabbing order. * @group Props */ tabindex: number; /** * Defines template option for start. * @group Templates */ startTemplate: TemplateRef | undefined; /** * Defines template option for end. * @group Templates */ endTemplate: TemplateRef | undefined; /** * Defines template option for menu icon. * @group Templates */ menuIconTemplate: TemplateRef | undefined; /** * Defines template option for submenu icon. * @group Templates */ submenuIconTemplate: TemplateRef | undefined; /** * Custom item template. * @param {MegaMenuItemTemplateContext} context - item context. * @see {@link MegaMenuItemTemplateContext} * @group Templates */ itemTemplate: TemplateRef | undefined; /** * Custom menu button template on responsive mode. * @group Templates */ buttonTemplate: TemplateRef | undefined; /** * Custom menu button icon template on responsive mode. * @group Templates */ buttonIconTemplate: TemplateRef | undefined; templates: QueryList | undefined; menubuttonViewChild: ElementRef | undefined; rootmenu: MegaMenuSub | undefined; _startTemplate: TemplateRef | undefined; _endTemplate: TemplateRef | undefined; _menuIconTemplate: TemplateRef | undefined; _submenuIconTemplate: TemplateRef | undefined; _itemTemplate: TemplateRef | undefined; _buttonTemplate: TemplateRef | undefined; _buttonIconTemplate: TemplateRef | undefined; outsideClickListener: VoidListener; resizeListener: (event: any) => void; dirty: boolean; focused: boolean; activeItem: i0.WritableSignal; focusedItemInfo: i0.WritableSignal; searchValue: string; searchTimeout: any; _processedItems: any[]; _model: MegaMenuItem[] | undefined; _componentStyle: MegaMenuStyle; private matchMediaListener; private query; queryMatches: i0.WritableSignal; mobileActive: boolean; get visibleItems(): any; get processedItems(): any[]; get focusedItemId(): any; constructor(); onInit(): void; onAfterViewChecked(): void; onAfterContentInit(): void; bindMatchMediaListener(): void; unbindMatchMediaListener(): void; createProcessedItems(items: any, level?: number, parent?: {}, parentKey?: string, columnIndex?: any): any[]; getItemProp(item: any, name: string): any; onItemClick(event: any): void; onItemMouseEnter(event: any): void; menuButtonClick(event: any): void; menuButtonKeydown(event: any): void; toggle(event: MouseEvent): void; show(): void; scrollInView(index?: number): void; onItemChange(event: any): void; hide(event?: any, isFocus?: boolean): void; onMenuMouseDown(event: any): void; onMenuFocus(event: any): void; onMenuBlur(event: any): void; onKeyDown(event: KeyboardEvent): void; findFirstFocusedItemIndex(): any; findFirstItemIndex(): any; findSelectedItemIndex(): any; isProcessedItemGroup(processedItem: any): boolean; isSelected(processedItem: any): boolean; isValidSelectedItem(processedItem: any): boolean; isValidItem(processedItem: any): boolean; isItemDisabled(item: any): boolean; isItemSeparator(item: any): boolean; isItemMatched(processedItem: any): boolean; isProccessedItemGroup(processedItem: any): boolean; searchItems(event: any, char: string): boolean; getProccessedItemLabel(processedItem: any): any; getItemLabel(item: any): any; changeFocusedItemInfo(event: any, index: any): 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: any): any; findLastFocusedItemIndex(): any; findLastItemIndex(): number; findPrevItemIndex(index: number): number; findNextItemIndex(index: number): any; bindResizeListener(): void; bindOutsideClickListener(): void; unbindOutsideClickListener(): void; unbindResizeListener(): void; onDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_tabindex: unknown; } declare class MegaMenuModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { MegaMenu, MegaMenuClasses, MegaMenuModule, MegaMenuStyle, MegaMenuSub };