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,
182 lines (178 loc) • 7.55 kB
TypeScript
import { CommandMenuPassThrough, CommandMenuSearchChangeEvent, CommandMenuItemSelectEvent, CommandMenuItemTemplateContext, CommandMenuHeaderTemplateContext, CommandMenuFooterTemplateContext, CommandMenuEmptyMessageTemplateContext } from 'primeng/types/commandmenu';
export * from 'primeng/types/commandmenu';
import * as _angular_core from '@angular/core';
import { TemplateRef, ElementRef } from '@angular/core';
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 { Menu } from 'primeng/menu';
import { BaseStyle } from 'primeng/base';
declare class CommandMenuStyle extends BaseStyle {
name: string;
style: string;
classes: {
root: string;
header: string;
input: string;
list: string;
emptyMessage: string;
footer: string;
};
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandMenuStyle, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CommandMenuStyle>;
}
/**
*
* CommandMenu is a search-driven command palette component.
*
* [Live Demo](https://www.primeng.org/commandmenu/)
*
* @module commandmenustyle
*
*/
declare enum CommandMenuClasses {
/**
* Class name of the root element
*/
root = "p-commandmenu",
/**
* Class name of the header element
*/
header = "p-commandmenu-header",
/**
* Class name of the input element
*/
input = "p-commandmenu-input",
/**
* Class name of the empty message element
*/
emptyMessage = "p-commandmenu-empty-message",
/**
* Class name of the footer element
*/
footer = "p-commandmenu-footer"
}
interface CommandMenuStyleType extends BaseStyle {
}
/**
* CommandMenu is a search-driven command palette component.
* @group Components
*/
declare class CommandMenu extends BaseComponent<CommandMenuPassThrough> {
componentName: string;
bindDirectiveInstance: Bind;
onAfterViewChecked(): void;
/**
* An array of menu items to display.
* @group Props
*/
model: _angular_core.InputSignal<MenuItem[] | undefined>;
/**
* Two-way bound search value.
* @group Props
*/
search: _angular_core.ModelSignal<string>;
/**
* Custom filter function. Receives (item, search) and returns a number (0 = no match).
* @group Props
*/
filter: _angular_core.InputSignal<((item: MenuItem, search: string) => number) | undefined>;
/**
* Text to display when there are no results. Defaults to global value in i18n translation configuration.
* @group Props
*/
emptyMessage: _angular_core.InputSignal<string | undefined>;
/**
* Placeholder text for the search input.
* @group Props
*/
placeholder: _angular_core.InputSignal<string | undefined>;
/**
* Defines a string that labels the input for accessibility.
* @group Props
*/
ariaLabel: _angular_core.InputSignal<string | undefined>;
/**
* Identifies the element that labels the input for accessibility.
* @group Props
*/
ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
/**
* Inline style of the menu.
* @group Props
*/
menuStyle: _angular_core.InputSignal<{
[klass: string]: any;
} | undefined>;
/**
* Style class of the menu.
* @group Props
*/
menuStyleClass: _angular_core.InputSignal<string | undefined>;
/**
* Callback to invoke when the search value changes.
* @param {CommandMenuSearchChangeEvent} event - Custom search change event.
* @group Emits
*/
onSearchChange: _angular_core.OutputEmitterRef<CommandMenuSearchChangeEvent>;
/**
* Callback to invoke when a menu item is selected.
* @param {CommandMenuItemSelectEvent} event - Custom item select event.
* @group Emits
*/
onSelect: _angular_core.OutputEmitterRef<CommandMenuItemSelectEvent>;
/**
* Custom item template.
* @param {CommandMenuItemTemplateContext} context - item context.
* @group Templates
*/
itemTemplate: _angular_core.Signal<TemplateRef<CommandMenuItemTemplateContext<any>> | undefined>;
/**
* Custom header template.
* @param {CommandMenuHeaderTemplateContext} context - header context.
* @group Templates
*/
headerTemplate: _angular_core.Signal<TemplateRef<CommandMenuHeaderTemplateContext> | undefined>;
/**
* Custom footer template.
* @param {CommandMenuFooterTemplateContext} context - footer context.
* @group Templates
*/
footerTemplate: _angular_core.Signal<TemplateRef<CommandMenuFooterTemplateContext> | undefined>;
/**
* Custom empty message template.
* @param {CommandMenuEmptyMessageTemplateContext} context - empty message context.
* @group Templates
*/
emptyMessageTemplate: _angular_core.Signal<TemplateRef<CommandMenuEmptyMessageTemplateContext> | undefined>;
menuViewChild: _angular_core.Signal<Menu | undefined>;
searchInputViewChild: _angular_core.Signal<ElementRef<any> | undefined>;
_componentStyle: CommandMenuStyle;
private _internalId;
$id: _angular_core.Signal<string>;
listId: _angular_core.Signal<string>;
private translation;
emptyMessageText: _angular_core.Signal<any>;
focusedOptionId: _angular_core.Signal<string | number | null>;
/**
* Filtered model: applies score-based filter with sorting by relevance.
*/
filteredModel: _angular_core.Signal<MenuItem[]>;
menuModel: _angular_core.Signal<MenuItem[]>;
hasVisibleItems: _angular_core.Signal<boolean>;
onSearchKeyDown(event: KeyboardEvent): void;
onSearchInput(event: Event): void;
defaultFilter(item: MenuItem, search: string): number;
focusInput(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandMenu, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommandMenu, "p-commandmenu, p-command-menu", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "menuStyle": { "alias": "menuStyle"; "required": false; "isSignal": true; }; "menuStyleClass": { "alias": "menuStyleClass"; "required": false; "isSignal": true; }; }, { "search": "searchChange"; "onSearchChange": "onSearchChange"; "onSelect": "onSelect"; }, ["itemTemplate", "headerTemplate", "footerTemplate", "emptyMessageTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class CommandMenuModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandMenuModule, never>;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<CommandMenuModule, never, [typeof CommandMenu, typeof i2.SharedModule], [typeof CommandMenu, typeof i2.SharedModule]>;
static ɵinj: _angular_core.ɵɵInjectorDeclaration<CommandMenuModule>;
}
export { CommandMenu, CommandMenuClasses, CommandMenuModule, CommandMenuStyle };
export type { CommandMenuStyleType };