import { type OverlayOpenChangeDetail } from '../../core'; import type { ComponentSize } from '../../types'; export interface MenuSelectDetail { checked?: boolean; value: string; } export type OreMenuItemType = 'checkbox' | 'radio'; export type OreMenuEvents = { 'open-change': OverlayOpenChangeDetail; select: MenuSelectDetail; }; export type OreMenuItemProps = { checked?: boolean; disabled?: boolean; type?: OreMenuItemType; value?: string; }; export type OreMenuProps = { /** Initial uncontrolled open state. Ignored when `open` is set. */ 'default-open'?: boolean; disabled?: boolean; /** Controlled open state. */ open?: boolean; placement?: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end'; size?: ComponentSize; }; /** * A selectable action item used inside ``. * * @element ore-menu-item * * @attr {boolean} checked - Checked state for `checkbox` and `radio` item types * @attr {boolean} disabled - Disables selection and pointer interaction * @attr {'checkbox'|'radio'} type - Optional checkable menu item mode * @attr {string} value - Value emitted by parent menu on selection * * @slot - Item label/content * @slot icon - Optional leading icon content * * @cssprop --menu-item-hover-bg - Background on hover * @cssprop --menu-item-focus-color - Text color when keyboard-focused * @cssprop --menu-item-focus-bg - Background when keyboard-focused * @cssprop --menu-item-selection-bg - Background for checkbox/radio items (unselected) * @cssprop --menu-item-checked-color - Text color when checked * @cssprop --menu-item-checked-bg - Background when checked * * @part item - Root item container element. * @part item-label - Label text container. * @part icon-slot - Leading icon slot container. * * @example * ```html * Edit * Delete * Word wrap * Align left * ``` */ export declare const MENU_ITEM_TAG: "ore-menu-item"; /** * Visual separator used to group menu items inside ``. * * @element ore-menu-separator * * @example * ```html * Cut * * Paste * ``` */ export declare const SEPARATOR_TAG: "ore-menu-separator"; /** * Action dropdown menu triggered by a slotted trigger element. * * @element ore-menu * @element ore-menu-item - Clickable menu option (place in default slot) * @element ore-menu-separator - Visual divider between menu groups * * @attr {boolean} disabled - Disables opening and keyboard interaction * @attr {boolean} open - Controlled open state * @attr {boolean} default-open - Initial uncontrolled open state * @attr {string} placement - Panel placement: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end' (default: 'bottom-start') * @attr {string} size - Size: 'sm' | 'md' | 'lg' * * @fires open-change - Fired when the menu state changes. detail: { open, reason } * @fires select - Fired when an item is selected. detail: { value: string, checked?: boolean } * * @slot trigger - Trigger element that toggles menu visibility * @slot - Menu content (`` and ``) * * @part panel - Floating menu panel container * * @cssprop --menu-panel-bg - Background of the floating panel * @cssprop --menu-panel-border-color - Border color of the floating panel * @cssprop --menu-panel-shadow - Box shadow of the floating panel * @cssprop --menu-panel-blur - Backdrop blur amount for the floating panel * @cssprop --menu-panel-min-width - Minimum width of the floating panel * @cssprop --menu-panel-max-height - Maximum height of the floating panel before it scrolls * @cssprop --menu-panel-radius - Border radius of the floating panel * * @example * ```html * * * Edit * Delete * * ``` */ export declare const MENU_TAG: "ore-menu"; //# sourceMappingURL=menu.d.ts.map