UNPKG

primeng

Version:

PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,

375 lines (369 loc) 16.9 kB
import { MenubarPassThrough, ProcessedMenuItem, MenubarItemTemplateContext, MenubarItemClickEvent, MenubarItemMouseEnterEvent, FocusedItemInfo } from 'primeng/types/menubar'; export * from 'primeng/types/menubar'; 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 { MenuItem } 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 rxjs from 'rxjs'; import { Subject, Subscription } from 'rxjs'; import { CSSProperties } from 'primeng/types/shared'; import { BaseStyle } from 'primeng/base'; declare class MenubarService { autoHide: boolean | undefined; autoHideDelay: number | undefined; readonly mouseLeaves: Subject<boolean>; readonly mouseLeft$: rxjs.Observable<boolean>; static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenubarService, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<MenubarService>; } declare class MenuBarStyle extends BaseStyle { name: string; style: string; classes: { root: ({ instance }: { instance: any; }) => (string | { 'p-menubar-mobile': any; 'p-menubar-mobile-active': any; })[]; start: string; button: string; rootList: string; item: ({ instance, processedItem }: { instance: any; processedItem: any; }) => (string | { 'p-menubar-item-active': any; 'p-focus': any; 'p-disabled': any; })[]; itemContent: string; itemLink: string; itemIcon: string; itemLabel: string; submenuIcon: string; submenu: string; separator: string; end: string; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuBarStyle, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<MenuBarStyle>; } /** * * Menubar is a horizontal menu component. * * [Live Demo](https://www.primeng.org/menubar/) * * @module menubarstyle * */ declare enum MenubarClasses { /** * Class name of the root element */ root = "p-menubar", /** * Class name of the start element */ start = "p-menubar-start", /** * Class name of the button element */ button = "p-menubar-button", /** * Class name of the root list element */ rootList = "p-menubar-root-list", /** * Class name of the item element */ item = "p-menubar-item", /** * Class name of the item content element */ itemContent = "p-menubar-item-content", /** * Class name of the item link element */ itemLink = "p-menubar-item-link", /** * Class name of the item icon element */ itemIcon = "p-menubar-item-icon", /** * Class name of the item label element */ itemLabel = "p-menubar-item-label", /** * Class name of the submenu icon element */ submenuIcon = "p-menubar-submenu-icon", /** * Class name of the submenu element */ submenu = "p-menubar-submenu", /** * Class name of the separator element */ separator = "p-menubar-separator", /** * Class name of the end element */ end = "p-menubar-end" } interface MenubarStyle extends BaseStyle { } declare class MenubarSub extends BaseComponent<MenubarPassThrough> { hostId: _angular_core.Signal<string | null | undefined>; hostClass: _angular_core.Signal<string | undefined>; items: _angular_core.InputSignal<ProcessedMenuItem[] | undefined>; itemTemplate: _angular_core.InputSignal<TemplateRef<MenubarItemTemplateContext> | undefined>; root: _angular_core.InputSignalWithTransform<boolean, unknown>; autoZIndex: _angular_core.InputSignalWithTransform<boolean, unknown>; baseZIndex: _angular_core.InputSignalWithTransform<number, unknown>; mobileActive: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>; autoDisplay: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>; menuId: _angular_core.InputSignal<string | undefined>; ariaLabel: _angular_core.InputSignal<string | undefined>; ariaLabelledBy: _angular_core.InputSignal<string | undefined>; level: _angular_core.InputSignalWithTransform<number, unknown>; focusedItemId: _angular_core.InputSignal<string | undefined>; activeItemPath: _angular_core.InputSignal<ProcessedMenuItem[] | undefined>; inlineStyles: _angular_core.InputSignal<CSSProperties>; motionOptions: _angular_core.InputSignal<MotionOptions | undefined>; submenuiconTemplate: _angular_core.InputSignal<TemplateRef<void> | undefined>; itemClick: _angular_core.OutputEmitterRef<MenubarItemClickEvent>; itemMouseEnter: _angular_core.OutputEmitterRef<MenubarItemMouseEnterEvent>; menuFocus: _angular_core.OutputEmitterRef<FocusEvent>; menuBlur: _angular_core.OutputEmitterRef<FocusEvent>; menuKeydown: _angular_core.OutputEmitterRef<KeyboardEvent>; mouseLeaveSubscriber: Subscription | undefined; menubarService: MenubarService; _componentStyle: MenuBarStyle; hostName: string; onInit(): void; onItemClick(event: Event, processedItem: ProcessedMenuItem): void; getItemProp(processedItem: ProcessedMenuItem, name: string, params?: { originalEvent: Event; item: MenuItem; } | null): any; getItemId(processedItem: ProcessedMenuItem): string; getItemLabelId(processedItem: ProcessedMenuItem): string; getItemLabel(processedItem: ProcessedMenuItem): string; isItemVisible(processedItem: ProcessedMenuItem): boolean; isItemActive(processedItem: ProcessedMenuItem): boolean; isItemDisabled(processedItem: ProcessedMenuItem): boolean; isItemFocused(processedItem: ProcessedMenuItem): boolean; isItemGroup(processedItem: ProcessedMenuItem): boolean; getAriaSetSize(): number; getAriaPosInset(index: number): number; onItemMouseEnter(param: { $event: Event; processedItem: ProcessedMenuItem; }): void; getRouterLinkActiveOptions(processedItem: ProcessedMenuItem): any; getPTOptions(processedItem: ProcessedMenuItem, index: number, key: string): any; getItemTemplateContext(item: MenuItem, isRoot: boolean): MenubarItemTemplateContext; onDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenubarSub, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenubarSub, "p-menubarsub, [pMenubarSub]", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "root": { "alias": "root"; "required": false; "isSignal": true; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "mobileActive": { "alias": "mobileActive"; "required": false; "isSignal": true; }; "autoDisplay": { "alias": "autoDisplay"; "required": false; "isSignal": true; }; "menuId": { "alias": "menuId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "focusedItemId": { "alias": "focusedItemId"; "required": false; "isSignal": true; }; "activeItemPath": { "alias": "activeItemPath"; "required": false; "isSignal": true; }; "inlineStyles": { "alias": "inlineStyles"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; "submenuiconTemplate": { "alias": "submenuiconTemplate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "itemMouseEnter": "itemMouseEnter"; "menuFocus": "menuFocus"; "menuBlur": "menuBlur"; "menuKeydown": "menuKeydown"; }, never, never, true, never>; } /** * Menubar is a horizontal menu component. * @group Components */ declare class Menubar extends BaseComponent<MenubarPassThrough> { componentName: string; $pcMenubar: Menubar | undefined; bindDirectiveInstance: Bind; menubarService: MenubarService; onAfterViewChecked(): void; /** * An array of menuitems. * @group Props */ model: _angular_core.InputSignal<MenuItem[] | undefined>; /** * Whether to automatically manage layering. * @group Props */ autoZIndex: _angular_core.InputSignalWithTransform<boolean, unknown>; /** * Base zIndex value to use in layering. * @group Props */ baseZIndex: _angular_core.InputSignalWithTransform<number, unknown>; /** * Defines the motion options for the submenu open/close animation. * @group Props */ motionOptions: _angular_core.InputSignal<MotionOptions | undefined>; /** * Whether to show a root submenu on mouse over. * @defaultValue true * @group Props */ autoDisplay: _angular_core.InputSignalWithTransform<boolean, unknown>; /** * Whether to hide a root submenu when mouse leaves. * @group Props */ autoHide: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>; /** * The breakpoint to define the maximum width boundary. * @group Props */ breakpoint: _angular_core.InputSignal<string>; /** * Delay to hide the root submenu in milliseconds when mouse leaves. * @group Props */ autoHideDelay: _angular_core.InputSignalWithTransform<number, unknown>; /** * Current id state as a string. * @group Props */ id: _angular_core.InputSignal<string | undefined>; /** * Defines a string value that labels an interactive element. * @group Props */ ariaLabel: _angular_core.InputSignal<string | undefined>; /** * Identifier of the underlying input element. * @group Props */ ariaLabelledBy: _angular_core.InputSignal<string | undefined>; /** * Callback to execute when button is focused. * @param {FocusEvent} event - Focus event. * @group Emits */ onFocus: _angular_core.OutputEmitterRef<FocusEvent>; /** * Callback to execute when button loses focus. * @param {FocusEvent} event - Focus event. * @group Emits */ onBlur: _angular_core.OutputEmitterRef<FocusEvent>; /** * Defines template option for start. * @group Templates */ startTemplate: _angular_core.Signal<TemplateRef<void> | undefined>; /** * Defines template option for end. * @group Templates */ endTemplate: _angular_core.Signal<TemplateRef<void> | undefined>; /** * Custom item template. * @param {MenubarItemTemplateContext} context - item context. * @see {@link MenubarItemTemplateContext} * @group Templates */ itemTemplate: _angular_core.Signal<TemplateRef<MenubarItemTemplateContext> | undefined>; /** * Defines template option for menu icon. * @group Templates */ menuIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>; /** * Defines template option for submenu icon. * @group Templates */ submenuIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>; menubutton: _angular_core.Signal<ElementRef<any> | undefined>; rootmenu: _angular_core.Signal<MenubarSub | undefined>; private _internalId; $id: _angular_core.Signal<string>; computedMotionOptions: _angular_core.Signal<MotionOptions>; mobileActive: boolean | undefined; private matchMediaListener; private query; queryMatches: _angular_core.WritableSignal<boolean>; outsideClickListener: VoidListener; resizeListener: VoidListener; mouseLeaveSubscriber: Subscription | undefined; dirty: boolean; focused: boolean; activeItemPath: _angular_core.WritableSignal<ProcessedMenuItem[]>; focusedItemInfo: _angular_core.WritableSignal<FocusedItemInfo>; searchValue: string; searchTimeout: ReturnType<typeof setTimeout> | null; _componentStyle: MenuBarStyle; processedItems: _angular_core.Signal<ProcessedMenuItem[]>; get visibleItems(): ProcessedMenuItem[]; get navigationAriaLabel(): string | undefined; get focusedItemId(): string | null; constructor(); onInit(): void; createProcessedItems(items: MenuItem[], level?: number, parent?: ProcessedMenuItem | Record<string, never>, parentKey?: string): ProcessedMenuItem[]; bindMatchMediaListener(): void; unbindMatchMediaListener(): void; getItemProp(item: MenuItem, name: string): any; menuButtonClick(event: MouseEvent): void; menuButtonKeydown(event: KeyboardEvent): void; onItemClick(event: MenubarItemClickEvent): void; onItemMouseEnter(event: MenubarItemMouseEnterEvent): void; onMouseLeave(_event: MouseEvent): void; changeFocusedItemIndex(_event: Event, index: number): void; scrollInView(index?: number): void; onItemChange(event: MenubarItemClickEvent, type?: string): void; toggle(event: MouseEvent): void; hide(_event?: Event, isFocus?: boolean): void; show(): void; onMenuMouseDown(_event: MouseEvent): void; onMenuFocus(event: FocusEvent): void; onMenuBlur(event: FocusEvent): void; onKeyDown(event: KeyboardEvent): void; findVisibleItem(index: number): ProcessedMenuItem | null; findFirstFocusedItemIndex(): number; findFirstItemIndex(): number; findSelectedItemIndex(): number; isProcessedItemGroup(processedItem: ProcessedMenuItem): boolean; isSelected(processedItem: ProcessedMenuItem): boolean; isValidSelectedItem(processedItem: ProcessedMenuItem): boolean; isValidItem(processedItem: ProcessedMenuItem): boolean; isItemDisabled(item: MenuItem): boolean; isItemSeparator(item: MenuItem): boolean; isItemMatched(processedItem: ProcessedMenuItem): boolean; isProccessedItemGroup(processedItem: ProcessedMenuItem): boolean; searchItems(event: KeyboardEvent, char: string): boolean; getProccessedItemLabel(processedItem: ProcessedMenuItem): string | undefined; getItemLabel(item: MenuItem): string; 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; 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<Menubar, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<Menubar, "p-menubar", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; "autoDisplay": { "alias": "autoDisplay"; "required": false; "isSignal": true; }; "autoHide": { "alias": "autoHide"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; "autoHideDelay": { "alias": "autoHideDelay"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; }, { "onFocus": "onFocus"; "onBlur": "onBlur"; }, ["startTemplate", "endTemplate", "itemTemplate", "menuIconTemplate", "submenuIconTemplate"], ["*"], true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>; } declare class MenubarModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenubarModule, never>; static ɵmod: _angular_core.ɵɵNgModuleDeclaration<MenubarModule, never, [typeof Menubar, typeof i2.SharedModule], [typeof Menubar, typeof i2.SharedModule]>; static ɵinj: _angular_core.ɵɵInjectorDeclaration<MenubarModule>; } export { MenuBarStyle, Menubar, MenubarClasses, MenubarModule }; export type { MenubarStyle };