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,

249 lines (245 loc) 8.75 kB
import { PanelMenuPassThrough, PanelMenuItemTemplateContext } from 'primeng/types/panelmenu'; export * from 'primeng/types/panelmenu'; import * as _angular_core from '@angular/core'; import { TemplateRef } 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 { BaseStyle } from 'primeng/base'; /** * * PanelMenu is a hybrid of Accordion and Tree components. * * [Live Demo](https://www.primeng.org/panelmenu/) * * @module panelmenustyle * */ declare enum PanelMenuClasses { /** * Class name of the root element */ root = "p-panelmenu", /** * Class name of the panel element */ panel = "p-panelmenu-panel", /** * Class name of the header element */ header = "p-panelmenu-header", /** * Class name of the header content element */ headerContent = "p-panelmenu-header-content", /** * Class name of the header link element */ headerLink = "p-panelmenu-header-link", /** * Class name of the header icon element */ headerIcon = "p-panelmenu-header-icon", /** * Class name of the header label element */ headerLabel = "p-panelmenu-header-label", /** * Class name of the content container element */ contentContainer = "p-panelmenu-content-container", /** * Class name of the content element */ content = "p-panelmenu-content", /** * Class name of the root list element */ rootList = "p-panelmenu-root-list", /** * Class name of the item element */ item = "p-panelmenu-item", /** * Class name of the item content element */ itemContent = "p-panelmenu-item-content", /** * Class name of the item link element */ itemLink = "p-panelmenu-item-link", /** * Class name of the item icon element */ itemIcon = "p-panelmenu-item-icon", /** * Class name of the item label element */ itemLabel = "p-panelmenu-item-label", /** * Class name of the submenu icon element */ submenuIcon = "p-panelmenu-submenu-icon", /** * Class name of the submenu element */ submenu = "p-panelmenu-submenu", separator = "p-menuitem-separator" } declare class PanelMenuStyle extends BaseStyle { name: string; style: string; classes: { root: () => string[]; panel: string; header: ({ instance, item }: { instance: any; item: any; }) => (string | { 'p-panelmenu-header-active': any; 'p-disabled': any; })[]; headerContent: string; headerLink: string; headerIcon: string; headerLabel: string; contentContainer: ({ instance, processedItem }: { instance: any; processedItem: any; }) => (string | { 'p-panelmenu-expanded': any; })[]; contentWrapper: string; content: string; rootList: string; item: ({ instance, processedItem }: { instance: any; processedItem: any; }) => (string | { 'p-focus': any; 'p-disabled': any; })[]; itemContent: string; itemLink: string; itemIcon: string; itemLabel: string; submenuIcon: string; submenu: string; separator: string; badge: string; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration<PanelMenuStyle, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<PanelMenuStyle>; } interface PanelMenuStyle extends BaseStyle { } /** * PanelMenu is a hybrid of Accordion and Tree components. * @group Components * @deprecated Use Menu component with `toggleable` option instead. */ declare class PanelMenu extends BaseComponent<PanelMenuPassThrough> { componentName: string; constructor(); /** * An array of menuitems. * @group Props */ model: _angular_core.InputSignal<MenuItem[] | undefined>; /** * Whether multiple tabs can be activated at the same time or not. * @group Props */ multiple: _angular_core.InputSignalWithTransform<boolean, unknown>; /** * The motion options. * @group Props */ motionOptions: _angular_core.InputSignal<MotionOptions | undefined>; computedMotionOptions: _angular_core.Signal<MotionOptions>; /** * Current id state as a string. * @group Props */ id: _angular_core.InputSignal<string | undefined>; /** * Index of the element in tabbing order. * @group Props */ tabindex: _angular_core.InputSignalWithTransform<number, unknown>; /** * Template option of submenu icon. * @group Templates */ submenuIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>; /** * Template option of header icon. * @group Templates */ headerIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>; /** * Template option of item. * @param {PanelMenuItemTemplateContext} context - item context. * @see {@link PanelMenuItemTemplateContext} * @group Templates */ itemTemplate: _angular_core.Signal<TemplateRef<PanelMenuItemTemplateContext> | undefined>; activeItem: _angular_core.WritableSignal<MenuItem | null>; _componentStyle: PanelMenuStyle; bindDirectiveInstance: Bind; $pcPanelMenu: PanelMenu | undefined; private _internalId; $id: _angular_core.Signal<string>; onAfterViewChecked(): void; getPTOptions(key: string, item: MenuItem, index: number): any; /** * Collapses open panels. * @group Method */ collapseAll(): void; changeActiveItem(_event: Event, item: MenuItem, _index?: number, selfActive?: boolean): void; getItemProp(item: MenuItem, name: string): any; getItemLabel(item: MenuItem): any; isItemActive(item: MenuItem): boolean | undefined; isItemVisible(item: MenuItem): boolean; isItemDisabled(item: MenuItem): any; isItemGroup(item: MenuItem): boolean; getRouterLinkActiveOptions(item: MenuItem): any; hasIcon(item: MenuItem): boolean; shouldEscapeLabel(item: MenuItem): boolean; hasBadge(item: MenuItem): boolean; getItemTemplateContext(item: MenuItem): { $implicit: MenuItem; }; getPanelId(index: number, item?: MenuItem): string; getHeaderId(item: MenuItem, index: number): string; getContentId(item: MenuItem, index: number): string; updateFocusedHeader(event: { originalEvent: Event; focusOnNext?: boolean; selfCheck?: boolean; }): void; changeFocusedHeader(element: HTMLElement | null): void; findNextHeader(panelElement: Element | null, selfCheck?: boolean): Element | null; findPrevHeader(panelElement: Element | null, selfCheck?: boolean): Element | null; findFirstHeader(): HTMLElement | null; findLastHeader(): HTMLElement | null; onHeaderClick(event: MouseEvent, item: MenuItem, index: number): void; onHeaderKeyDown(event: KeyboardEvent, item: MenuItem, index: number): void; onHeaderArrowDownKey(event: KeyboardEvent): void; onHeaderArrowUpKey(event: KeyboardEvent): void; onHeaderHomeKey(event: KeyboardEvent): void; onHeaderEndKey(event: KeyboardEvent): void; onHeaderEnterKey(event: KeyboardEvent, item: MenuItem, index: number): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration<PanelMenu, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<PanelMenu, "p-panelmenu, p-panel-menu", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, {}, ["submenuIconTemplate", "headerIconTemplate", "itemTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>; } declare class PanelMenuModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration<PanelMenuModule, never>; static ɵmod: _angular_core.ɵɵNgModuleDeclaration<PanelMenuModule, never, [typeof PanelMenu, typeof i2.SharedModule], [typeof PanelMenu, typeof i2.SharedModule]>; static ɵinj: _angular_core.ɵɵInjectorDeclaration<PanelMenuModule>; } export { PanelMenu, PanelMenuClasses, PanelMenuModule, PanelMenuStyle };