@synergy-design-system/components
Version:
This package provides the base of the Synergy Design System as native web components. It uses [lit](https://www.lit.dev) and parts of [shoelace](https://shoelace.style/). Synergy officially supports the latest two versions of all major browsers (as define
41 lines (40 loc) • 1.5 kB
TypeScript
/**
* ---------------------------------------------------------------------
* 🔒 AUTOGENERATED BY VENDORISM
* Removing this comment will prevent it from being managed by it.
* ---------------------------------------------------------------------
*/
import { type HasSlotController } from '../../internal/slot.js';
import type { ReactiveController, ReactiveControllerHost } from 'lit';
import type SynMenuItem from './menu-item.js';
/** A reactive controller to manage the registration of event listeners for submenus. */
export declare class SubmenuController implements ReactiveController {
private host;
private popupRef;
private enableSubmenuTimer;
private isConnected;
private isPopupConnected;
private skidding;
private readonly hasSlotController;
private readonly submenuOpenDelay;
constructor(host: ReactiveControllerHost & SynMenuItem, hasSlotController: HasSlotController);
hostConnected(): void;
hostDisconnected(): void;
hostUpdated(): void;
private addListeners;
private removeListeners;
private handleMouseMove;
private handleMouseOver;
private handleSubmenuEntry;
private handleKeyDown;
private handleClick;
private handleFocusOut;
private handlePopupMouseover;
private handlePopupReposition;
private setSubmenuState;
private enableSubmenu;
private disableSubmenu;
private updateSkidding;
isExpanded(): boolean;
renderSubmenu(): import("lit").TemplateResult<1>;
}