import { ComponentRef, EventEmitter } from "@angular/core"; import { DropdownItemProps } from "@design-system-rte/core/components/dropdown/dropdown.interface"; import { NavigationElement } from "../../utils/navigation/navigation-element"; export interface SubmenuCreatedResult { componentRef: ComponentRef; hostElement: HTMLElement; } export interface SubmenuRequestEvent { children: DropdownItemConfig[]; childId: string; triggerElement: HTMLElement; onCreated: (result: SubmenuCreatedResult) => void; } export interface DropdownItemConfig extends Omit, NavigationElement { id?: string; selected?: boolean; label: string; leftIcon?: string; trailingText?: string; disabled?: boolean; hasSeparator?: boolean; hasIndent?: boolean; link?: string; click?: EventEmitter; children?: DropdownItemConfig[]; } export type DropdownItemEvent = { event: Event; id: string; item?: DropdownItemConfig; };