primeng
Version:
PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB
240 lines (239 loc) • 9.38 kB
TypeScript
import { AnimationEvent } from '@angular/animations';
import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, PipeTransform, QueryList, TemplateRef } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { MenuItem, OverlayService, PrimeTemplate } from 'primeng/api';
import { BaseComponent } from 'primeng/basecomponent';
import { ConnectedOverlayScrollHandler } from 'primeng/dom';
import { Nullable, VoidListener } from 'primeng/ts-helpers';
import { MenuStyle } from './style/menustyle';
import * as i0 from "@angular/core";
import * as i1 from "primeng/api";
export declare class SafeHtmlPipe implements PipeTransform {
private readonly platformId;
private readonly sanitizer;
constructor(platformId: any, sanitizer: DomSanitizer);
transform(value: string): SafeHtml;
static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", true>;
}
export declare class MenuItemContent {
item: MenuItem | undefined;
itemTemplate: any | undefined;
onMenuItemClick: EventEmitter<any>;
menu: Menu;
constructor(menu: Menu);
onItemClick(event: any, item: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemContent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemContent, "[pMenuItemContent]", never, { "item": { "alias": "pMenuItemContent"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; }, { "onMenuItemClick": "onMenuItemClick"; }, never, never, true, never>;
}
/**
* Menu is a navigation / command component that supports dynamic and static positioning.
* @group Components
*/
export declare class Menu extends BaseComponent implements AfterContentInit, OnDestroy {
overlayService: OverlayService;
/**
* An array of menuitems.
* @group Props
*/
model: MenuItem[] | undefined;
/**
* Defines if menu would displayed as a popup.
* @group Props
*/
popup: boolean | undefined;
/**
* Inline style of the component.
* @group Props
*/
style: {
[klass: string]: any;
} | null | undefined;
/**
* Style class of the component.
* @group Props
*/
styleClass: string | undefined;
/**
* Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
* @group Props
*/
appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;
/**
* Whether to automatically manage layering.
* @group Props
*/
autoZIndex: boolean;
/**
* Base zIndex value to use in layering.
* @group Props
*/
baseZIndex: number;
/**
* Transition options of the show animation.
* @group Props
*/
showTransitionOptions: string;
/**
* Transition options of the hide animation.
* @group Props
*/
hideTransitionOptions: string;
/**
* 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;
/**
* Current id state as a string.
* @group Props
*/
id: string | undefined;
/**
* Index of the element in tabbing order.
* @group Props
*/
tabindex: number;
/**
* Callback to invoke when overlay menu is shown.
* @group Emits
*/
onShow: EventEmitter<any>;
/**
* Callback to invoke when overlay menu is hidden.
* @group Emits
*/
onHide: EventEmitter<any>;
/**
* Callback to invoke when the list loses focus.
* @param {Event} event - blur event.
* @group Emits
*/
onBlur: EventEmitter<Event>;
/**
* Callback to invoke when the list receives focus.
* @param {Event} event - focus event.
* @group Emits
*/
onFocus: EventEmitter<Event>;
listViewChild: Nullable<ElementRef>;
containerViewChild: Nullable<ElementRef>;
container: HTMLDivElement | undefined;
scrollHandler: ConnectedOverlayScrollHandler | null | undefined;
documentClickListener: VoidListener;
documentResizeListener: VoidListener;
preventDocumentDefault: boolean | undefined;
target: any;
visible: boolean | undefined;
focusedOptionId: import("@angular/core").Signal<any>;
focusedOptionIndex: any;
selectedOptionIndex: any;
focused: boolean | undefined;
overlayVisible: boolean | undefined;
relativeAlign: boolean | undefined;
_componentStyle: MenuStyle;
constructor(overlayService: OverlayService);
/**
* Toggles the visibility of the popup menu.
* @param {Event} event - Browser event.
* @group Method
*/
toggle(event: Event): void;
/**
* Displays the popup menu.
* @param {Event} event - Browser event.
* @group Method
*/
show(event: any): void;
ngOnInit(): void;
/**
* Defines template option for start.
* @group Templates
*/
startTemplate: TemplateRef<any> | undefined;
_startTemplate: TemplateRef<any> | undefined;
/**
* Defines template option for end.
* @group Templates
*/
endTemplate: TemplateRef<any> | undefined;
_endTemplate: TemplateRef<any> | undefined;
/**
* Defines template option for header.
* @group Templates
*/
headerTemplate: TemplateRef<any> | undefined;
_headerTemplate: TemplateRef<any> | undefined;
/**
* Defines template option for item.
* @group Templates
*/
itemTemplate: TemplateRef<any> | undefined;
_itemTemplate: TemplateRef<any> | undefined;
/**
* Defines template option for item.
* @group Templates
*/
submenuHeaderTemplate: TemplateRef<any> | undefined;
_submenuHeaderTemplate: TemplateRef<any> | undefined;
templates: QueryList<PrimeTemplate>;
ngAfterContentInit(): void;
getTabIndexValue(): string | null;
onOverlayAnimationStart(event: AnimationEvent): void;
onOverlayAnimationEnd(event: AnimationEvent): void;
alignOverlay(): void;
appendOverlay(): void;
restoreOverlayAppend(): void;
moveOnTop(): void;
/**
* Hides the popup menu.
* @group Method
*/
hide(): void;
onWindowResize(): void;
menuitemId(item: MenuItem, id: string | any, index?: string | number, childIndex?: string | number): string;
isItemFocused(id: any): boolean;
label(label: any): any;
disabled(disabled: any): any;
activedescendant(): any;
onListFocus(event: Event): void;
onListBlur(event: FocusEvent | MouseEvent): void;
onListKeyDown(event: any): void;
onArrowDownKey(event: any): void;
onArrowUpKey(event: any): void;
onHomeKey(event: any): void;
onEndKey(event: any): void;
onEnterKey(event: any): void;
onSpaceKey(event: any): void;
findNextOptionIndex(index: any): number;
findPrevOptionIndex(index: any): number;
changeFocusedOptionIndex(index: any): void;
itemClick(event: any, id: string): void;
onOverlayClick(event: Event): void;
bindDocumentClickListener(): void;
unbindDocumentClickListener(): void;
bindDocumentResizeListener(): void;
unbindDocumentResizeListener(): void;
bindScrollListener(): void;
unbindScrollListener(): void;
onOverlayHide(): void;
ngOnDestroy(): void;
hasSubMenu(): boolean;
isItemHidden(item: any): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<Menu, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<Menu, "p-menu", never, { "model": { "alias": "model"; "required": false; }; "popup": { "alias": "popup"; "required": false; }; "style": { "alias": "style"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; }; "showTransitionOptions": { "alias": "showTransitionOptions"; "required": false; }; "hideTransitionOptions": { "alias": "hideTransitionOptions"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, { "onShow": "onShow"; "onHide": "onHide"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, ["startTemplate", "endTemplate", "headerTemplate", "itemTemplate", "submenuHeaderTemplate", "templates"], never, true, never>;
static ngAcceptInputType_popup: unknown;
static ngAcceptInputType_autoZIndex: unknown;
static ngAcceptInputType_baseZIndex: unknown;
static ngAcceptInputType_tabindex: unknown;
}
export declare class MenuModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MenuModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MenuModule, never, [typeof Menu, typeof i1.SharedModule, typeof SafeHtmlPipe], [typeof Menu, typeof i1.SharedModule, typeof SafeHtmlPipe]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MenuModule>;
}