vidstack
Version:
Build awesome media experiences on the web.
35 lines (34 loc) • 1.17 kB
TypeScript
import { Component, ComponentInstance, type HTMLCustomElement } from 'maverick.js/element';
import { type MenuContext } from './menu-context';
declare global {
interface MaverickElements {
'media-menu-items': MediaMenuItemsElement;
}
}
/**
* Menu items can be used to display settings or arbitrary content in a floating panel.
*
* @docs {@link https://www.vidstack.io/docs/player/components/menu/menu}
* @slot - Used to pass in content such as submenus or radio groups.
* @example
* ```html
* <media-menu>
* <media-menu-button aria-label="Settings">
* <media-icon type="settings"></media-icon>
* </media-menu-button>
* <media-menu-items>
* <!-- ... -->
* </media-menu-items>
* </media-menu>
* ```
*/
export declare class MenuItems<T extends MenuItemsAPI = MenuItemsAPI> extends Component<T> {
static el: import("maverick.js/element").CustomElementDefinition<MenuItemsAPI>;
protected _menu: MenuContext;
constructor(instance: ComponentInstance<T>);
protected onAttach(el: HTMLElement): void;
}
export interface MenuItemsAPI {
}
export interface MediaMenuItemsElement extends HTMLCustomElement<MenuItems> {
}