/** * Dropdown Menu Component * Shows a menu when clicking the floating button with options for DevTools and Preferences */ declare const DEVTOOLS_ICON = "\n \n"; declare const PREFERENCES_ICON = "\n \n \n"; declare const EYE_ICON = "\n \n \n"; export type CornerPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'; export interface MenuItem { id: string; label: string; description?: string; icon?: string; /** Type of menu item - 'action' triggers onClick, 'toggle' shows a switch */ type?: 'action' | 'toggle'; /** For toggle items: whether the toggle is checked */ checked?: boolean; onClick: () => void; } export interface DropdownMenuOptions { items: MenuItem[]; position: CornerPosition; /** Reference element to position the menu relative to */ referenceElement?: HTMLElement; onOpen?: () => void; onClose?: () => void; } export interface DropdownMenuInstance { element: HTMLElement; isOpen: () => boolean; open: () => void; close: () => void; toggle: () => void; updatePosition: (position: CornerPosition) => void; setReferenceElement: (element: HTMLElement) => void; /** Update a menu item's checked state */ updateItemChecked: (itemId: string, checked: boolean) => void; destroy: () => void; } /** * Creates a dropdown menu */ export declare function createDropdownMenu(options: DropdownMenuOptions): DropdownMenuInstance; export { detectPreferenceTrigger as detectPreferenceCenterTrigger, getPreferenceCenterOpener, } from '../utils/preference-trigger'; export { DEVTOOLS_ICON, EYE_ICON, PREFERENCES_ICON };