import { TemplateRef } from '@angular/core'; import { PassThroughOption, PassThrough, MenuItem } from 'primeng/api'; /** * Custom pass-through(pt) options. * @template I Type of instance. * * @see {@link Dock.pt} * @group Interface */ interface DockPassThroughOptions { /** * Used to pass attributes to the root's DOM element. */ root?: PassThroughOption; /** * Used to pass attributes to the list container's DOM element. */ listContainer?: PassThroughOption; /** * Used to pass attributes to the list's DOM element. */ list?: PassThroughOption; /** * Used to pass attributes to the item's DOM element. */ item?: PassThroughOption; /** * Used to pass attributes to the item content's DOM element. */ itemContent?: PassThroughOption; /** * Used to pass attributes to the item link's DOM element. */ itemLink?: PassThroughOption; /** * Used to pass attributes to the item icon's DOM element. */ itemIcon?: PassThroughOption; } /** * Defines valid pass-through options in Dock. * @see {@link DockPassThroughOptions} * * @template I Type of instance. */ type DockPassThrough = PassThrough>; /** * Custom item template context. * @group Interface */ interface DockItemTemplateContext { /** * Menu item instance. */ $implicit: MenuItem; } /** * Defines valid templates in Dock. * @group Templates */ interface DockTemplates { /** * Custom template of item. * @param {Object} context - item data. */ item(context: DockItemTemplateContext): TemplateRef; } export type { DockItemTemplateContext, DockPassThrough, DockPassThroughOptions, DockTemplates };