/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import {CSSResultOrNative} from 'lit'; import {customElement} from 'lit/decorators.js'; import {SubMenu} from './internal/submenu/sub-menu.js'; import {styles} from './internal/submenu/sub-menu-styles.js'; declare global { interface HTMLElementTagNameMap { 'md-sub-menu': MdSubMenu; } } /** * @summary Menus display a list of choices on a temporary surface. * * @description * Menu items are the selectable choices within the menu. Menu items must * implement the `Menu` interface and also have the `md-menu` * attribute. Additionally menu items are list items so they must also have the * `md-list-item` attribute. * * Menu items can control a menu by selectively firing the `close-menu` and * `deselect-items` events. * * This menu item will open a sub-menu that is slotted in the `submenu` slot. * Additionally, the containing menu must either have `has-overflow` or * `positioning=fixed` set to `true` in order to display the containing menu * properly. * * @example * ```html *
* * * * * * * * * * * * * *
* ``` * * @final * @suppress {visibility} */ @customElement('md-sub-menu') export class MdSubMenu extends SubMenu { static override styles: CSSResultOrNative[] = [styles]; }