import { TemplateRef } from '@angular/core'; import { PassThroughOption, PassThrough } from 'primeng/api'; /** * Custom pass-through(pt) options. * @template I Type of instance. * * @see {@link Chip.pt} * @group Interface */ interface ChipPassThroughOptions { /** * Used to pass attributes to the host's DOM element. */ host?: PassThroughOption; /** * Used to pass attributes to the root's DOM element. */ root?: PassThroughOption; /** * Used to pass attributes to the image's DOM element. */ image?: PassThroughOption; /** * Used to pass attributes to the icon's DOM element. */ icon?: PassThroughOption; /** * Used to pass attributes to the label's DOM element. */ label?: PassThroughOption; /** * Used to pass attributes to the remove icon's DOM element. */ removeIcon?: PassThroughOption; } /** * Defines valid pass-through options in Chip component. * @see {@link ChipPassThroughOptions} * * @template I Type of instance. */ type ChipPassThrough = PassThrough>; /** * Defines valid templates in Chip. * @group Templates */ interface ChipTemplates { /** * Custom content template. */ content(): TemplateRef; /** * Custom remove icon template. */ removeicon(): TemplateRef; } interface ChipProps { label?: string; icon?: string | undefined; image?: string | undefined; alt?: string | undefined; style?: { [klass: string]: any; } | null | undefined; styleClass?: string | undefined; removable?: boolean | undefined; removeIcon?: string | undefined; } export type { ChipPassThrough, ChipPassThroughOptions, ChipProps, ChipTemplates };