import type{PropertyValues}from'lit';import{LyraMenuItem,type LyraMenuItemEventMap}from'./menu-item.class.js';import type{MenuFocusTarget}from'./menu-shared.js';export interface LyraDropdownItemEventMap extends LyraMenuItemEventMap{focus:FocusEvent;blur:FocusEvent;} /** * `` — the Web Awesome-compatible name for a menu item. * It is intentionally a subclass of ``, so it participates in * the same roving focus, checkbox, radio, selection, and menu event contracts — and * in the same `size` ladder, including the `small`/`medium`/`large` spellings. * It also inherits ``'s `href`/`target`/`rel`/`download` link-item support, mirroring * `wa-dropdown-item`'s identical navigation surface — see that class's doc. * * @customElement lr-dropdown-item * @slot - The item's visual label content. Its flattened subtree is inert and hidden from assistive * technology; its accessible text names the host menu item. * @slot icon - Optional decorative leading icon. Its flattened subtree is inert and hidden from * assistive technology. * @slot prefix - Shoelace-compatible decorative alias for leading content. Its flattened subtree is * inert and hidden from assistive technology. * @slot details - Decorative WA-compatible secondary detail text. Its flattened subtree is inert and * hidden from assistive technology. * @slot suffix - Shoelace-compatible decorative trailing content. Its flattened subtree is inert and * hidden from assistive technology. * @slot submenu - A nested `` or direct mapped dropdown items that open beside this row. * @event focus - Native, non-bubbling, composed, non-cancelable `FocusEvent` emitted by the * focusable host when it gains focus. * @event blur - Native, non-bubbling, composed, non-cancelable `FocusEvent` emitted by the * focusable host when it loses focus. * @attr {boolean} submenuopen - Normalized Web Awesome compatibility alias for `submenu-open`; * both spellings reflect the live submenu state and changing either spelling controls it. * @csspart base - The visual item row. * @csspart checkmark - WA-compatible checkbox glyph. * @csspart checked-icon - Shoelace-compatible checkbox-glyph wrapper. * @csspart icon - Leading icon wrapper. * @csspart prefix - Shoelace-compatible leading-content wrapper. * @csspart label - Label wrapper. * @csspart details - WA-compatible detail wrapper. * @csspart suffix - Shoelace-compatible trailing-content wrapper. * @csspart spinner - Loading spinner. * @csspart spinner__base - Shoelace-compatible spinner alias. * @csspart submenu-icon - Submenu chevron wrapper. * @csspart submenu - Submenu panel/wrapper. * @cssprop --lr-overlay-surface - Shared floating-surface fill. Advertised here because this tag * shares a stylesheet directory with `lr-menu`, whose surface reads it; a dropdown item is a row * inside that surface and paints no surface of its own, so setting it here changes nothing. * @cssprop --lr-overlay-border - Shared floating-surface edge colour, with the same deliberate * exclusion as `--lr-overlay-surface` above. * @cssprop --lr-overlay-radius - Shared floating-surface corner radius, with the same deliberate * exclusion. The row's own corners come from `--lr-menu-item-radius`. * @method openSubmenu - Opens the submenu and resolves after its open state settles. * @method closeSubmenu - Closes the submenu and resolves after its closed state settles. * @status stable * @since 4.0.0 */ export declare class LyraDropdownItem extends LyraMenuItem{static get observedAttributes():string[];private pendingAuthoredOpen;private authoredOpenRequestPending;private syncingSubmenuAttributes;private syncSubmenuAttributes;attributeChangedCallback(name:string,oldValue:string|null,newValue:string|null):void; /** Whether the submenu is currently open. Assigning it, or changing the reflected * `submenu-open` attribute, drives the same panel as `openSubmenu()` / `closeSubmenu()` without * moving focus. The normalized upstream `submenuopen` attribute is a permanent, bidirectionally * synchronized compatibility alias: changing either spelling controls the state, while every * internal dismissal clears both so a stale alias cannot reopen the panel. Like those methods, an * authored open request waits until submenu content is connected. * @default false */ get submenuOpen():boolean;set submenuOpen(next:boolean);protected willUpdate(changed:PropertyValues):void;protected update(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;disconnectedCallback():void; /** Opens the submenu and resolves after the panel state and render settle. The optional focus * target preserves Lyra's existing menu-controller vocabulary while the no-argument call is the * mapped Web Awesome contract. */ openSubmenu(focus?:MenuFocusTarget):Promise; /** Closes the submenu and resolves after the panel state and render settle. */ closeSubmenu():Promise;}declare global{interface HTMLElementTagNameMap{'lr-dropdown-item':LyraDropdownItem;}}