/** * Why an overlay was opened. * - `'click'` — user clicked the trigger element * - `'focus'` — focus entered the trigger (tooltip, popover) * - `'hover'` — pointer entered the trigger (tooltip) * - `'keyboard'` — keyboard shortcut or Enter/Space on a trigger * - `'programmatic'` — opened via the JS API without a user gesture * - `'trigger'` — opened via the Invoker Commands API (`command="show-modal"`) */ export type OverlayOpenReason = 'click' | 'focus' | 'hover' | 'keyboard' | 'programmatic' | 'trigger'; /** Close reasons valid for modal dialogs (includes 'swipe' for drawer). */ export type DialogCloseReason = 'escape' | 'outsideClick' | 'programmatic' | 'swipe' | 'trigger'; /** Close reasons valid for dropdown overlays (no swipe). */ export type DropdownCloseReason = Exclude | 'select'; /** Detail shape for overlay open events emitted by components. */ export type OverlayOpenDetail = { reason: OverlayOpenReason; }; /** Detail shape for overlay close events emitted by components. */ export type OverlayCloseDetail = { reason: DialogCloseReason; }; /** Detail shape for state changes emitted by overlay components. */ export type OverlayOpenChangeDetail = { open: boolean; reason: DialogCloseReason | DropdownCloseReason | OverlayOpenReason; }; export type OutsidePointerDismissalOptions = { getTargets: () => Array; isActive: () => boolean; onDismiss: () => void; signal: AbortSignal; }; /** * Dismisses an active floating surface when a pointer begins outside all of its * supplied boundary elements. Components retain ownership of their open state. */ export declare const createOutsidePointerDismissal: (options: OutsidePointerDismissalOptions) => (() => void); //# sourceMappingURL=overlay.d.ts.map