import type { M3eMenuElement } from "./MenuElement"; import { MenuItemElementBase } from "./MenuItemElementBase"; declare const M3eMenuItemElement_base: import("../core/shared/mixins/Constructor").Constructor & import("../core/shared/mixins/Constructor").Constructor & typeof MenuItemElementBase; /** * An item of a menu. * * @description * The `m3e-menu-item` component represents a single actionable item within a menu, supporting standard * click behavior, optional link semantics, and flexible icon placement for navigation, commands, or * contextual actions. It behaves as a button or link depending on its attributes, and can trigger a submenu * when a nested `m3e-menu-trigger` is present—enabling hierarchical flows. * * @example * The following example illustrates a basic menu. The `m3e-menu-trigger` is used to trigger a `m3e-menu` specified * by the `for` attribute when its parenting element is activated. * ```html * * Basic menu * * * Apple * Apricot * Avocado * Green Apple * Green Grapes * Olive * Orange * * ``` * * @example * The next example illustrates nested menus. Submenus are triggered by placing a `m3e-menu-trigger` inside a `m3e-menu-item`. * ```html * * Nested menus * * * * Fruits with A * * Grapes * Olive * Orange * * * Apricot * Avocado * * Apples * * * * Fuji * Granny Smith * Red Delicious * * ``` * * @tag m3e-menu-item * * @slot - Renders the label of the item. * @slot icon - Renders an icon before the items's label. * @slot trailing-icon - Renders an icon after the item's label. * * @attr disabled - Whether the element is disabled. * @attr download - Whether the `target` of the link button will be downloaded, optionally specifying the new name of the file. * @attr href - The URL to which the link button points. * @attr rel - The relationship between the `target` of the link button and the document. * @attr target - The target of the link button. * * @fires click - Dispatched when the element is clicked. * * @cssprop --m3e-menu-item-container-height - Height of the menu item container. * @cssprop --m3e-menu-item-color - Text color for unselected, enabled menu items. * @cssprop --m3e-menu-item-container-hover-color - State layer hover color for unselected items. * @cssprop --m3e-menu-item-container-focus-color - State layer focus color for unselected items. * @cssprop --m3e-menu-item-ripple-color - Ripple color for unselected items. * @cssprop --m3e-menu-item-selected-color - Text color for selected items. * @cssprop --m3e-menu-item-selected-container-color - Background color for selected items. * @cssprop --m3e-menu-item-selected-container-hover-color - State layer hover color for selected items. * @cssprop --m3e-menu-item-selected-container-focus-color - State layer focus color for selected items. * @cssprop --m3e-menu-item-selected-ripple-color - Ripple color for selected items. * @cssprop --m3e-menu-item-active-state-layer-color - State layer color for expanded items. * @cssprop --m3e-menu-item-active-state-layer-opacity - State layer opacity for expanded items. * @cssprop --m3e-menu-item-disabled-color - Base color for disabled items. * @cssprop --m3e-menu-item-disabled-opacity - Opacity percentage for disabled item color mix. * @cssprop --m3e-vibrant-menu-item-color - Text color for unselected, enabled menu items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-container-hover-color - State layer hover color for unselected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-container-focus-color - State layer focus color for unselected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-ripple-color - Ripple color for unselected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-selected-color - Text color for selected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-selected-container-color - Background color for selected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-selected-container-hover-color - State layer hover color for selected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-selected-container-focus-color - State layer focus color for selected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-selected-ripple-color - Ripple color for selected items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-active-state-layer-color - State layer color for expanded items for vibrant variant. * @cssprop --m3e-vibrant-menu-item-disabled-color - Base color for disabled items for vibrant variant. * @cssprop --m3e-menu-item-icon-label-space - Horizontal gap between icon and content. * @cssprop --m3e-menu-item-padding-start - Start padding for the item wrapper. * @cssprop --m3e-menu-item-padding-end - End padding for the item wrapper. * @cssprop --m3e-menu-item-label-text-font-size - Font size for menu item text. * @cssprop --m3e-menu-item-label-text-font-weight - Font weight for menu item text. * @cssprop --m3e-menu-item-label-text-line-height - Line height for menu item text. * @cssprop --m3e-menu-item-label-text-tracking - Letter spacing for menu item text. * @cssprop --m3e-menu-item-focus-ring-shape - Border radius for the focus ring. * @cssprop --m3e-menu-item-icon-size - Font size for leading and trailing icons. * @cssprop --m3e-menu-item-shape - Base shape of the menu item. * @cssprop --m3e-menu-item-first-child-shape - Shape for the first menu item in a menu. * @cssprop --m3e-menu-item-last-child-shape - Shape for the last menu item in a menu. */ export declare class M3eMenuItemElement extends M3eMenuItemElement_base { #private; /** @private */ private _hasSubmenu; constructor(); /** The submenu triggered by the item. */ get submenu(): M3eMenuElement | null; /** @inheritdoc */ connectedCallback(): void; /** @inheritdoc */ disconnectedCallback(): void; /** @internal @inheritdoc */ protected _renderContent(): unknown; } declare global { interface HTMLElementTagNameMap { "m3e-menu-item": M3eMenuItemElement; } } export {}; //# sourceMappingURL=MenuItemElement.d.ts.map