Files
pole-book/server/node_modules/media-chrome/dist/menu/media-chrome-menu.d.ts

98 lines
4.3 KiB
TypeScript

import { globalThis } from '../utils/server-safe-globals.js';
import MediaChromeMenuItem from './media-chrome-menu-item.js';
export declare function createMenuItem({ type, text, value, checked, }: {
type?: string;
text: string;
value: string;
checked: boolean;
}): MediaChromeMenuItem;
export declare function createIndicator(el: HTMLElement, name: string): Node | "";
export declare const Attributes: {
readonly STYLE: "style";
readonly HIDDEN: "hidden";
readonly DISABLED: "disabled";
readonly ANCHOR: "anchor";
};
/**
* @extends {HTMLElement}
*
* @slot - Default slotted elements.
* @slot header - An element shown at the top of the menu.
* @slot checked-indicator - An icon element indicating a checked menu-item.
*
* @attr {boolean} disabled - The Boolean disabled attribute makes the element not mutable or focusable.
* @attr {string} mediacontroller - The element `id` of the media controller to connect to (if not nested within).
*
* @cssproperty --media-primary-color - Default color of text / icon.
* @cssproperty --media-secondary-color - Default color of background.
* @cssproperty --media-text-color - `color` of text.
*
* @cssproperty --media-control-background - `background` of control.
* @cssproperty --media-menu-display - `display` of menu.
* @cssproperty --media-menu-layout - Set to `row` for a horizontal menu design.
* @cssproperty --media-menu-flex-direction - `flex-direction` of menu.
* @cssproperty --media-menu-gap - `gap` between menu items.
* @cssproperty --media-menu-background - `background` of menu.
* @cssproperty --media-menu-border-radius - `border-radius` of menu.
* @cssproperty --media-menu-border - `border` of menu.
* @cssproperty --media-menu-transition-in - `transition` of menu when showing.
* @cssproperty --media-menu-transition-out - `transition` of menu when hiding.
* @cssproperty --media-menu-visibility - `visibility` of menu when showing.
* @cssproperty --media-menu-hidden-visibility - `visibility` of menu when hiding.
* @cssproperty --media-menu-max-height - `max-height` of menu.
* @cssproperty --media-menu-hidden-max-height - `max-height` of menu when hiding.
* @cssproperty --media-menu-opacity - `opacity` of menu when showing.
* @cssproperty --media-menu-hidden-opacity - `opacity` of menu when hiding.
* @cssproperty --media-menu-transform-in - `transform` of menu when showing.
* @cssproperty --media-menu-transform-out - `transform` of menu when hiding.
*
* @cssproperty --media-font - `font` shorthand property.
* @cssproperty --media-font-weight - `font-weight` property.
* @cssproperty --media-font-family - `font-family` property.
* @cssproperty --media-font-size - `font-size` property.
* @cssproperty --media-text-content-height - `line-height` of text.
*
* @cssproperty --media-icon-color - `fill` color of icon.
* @cssproperty --media-menu-icon-height - `height` of icon.
* @cssproperty --media-menu-item-checked-indicator-display - `display` of check indicator.
* @cssproperty --media-menu-item-checked-background - `background` of checked menu item.
* @cssproperty --media-menu-item-max-width - `max-width` of menu item text.
*/
declare class MediaChromeMenu extends globalThis.HTMLElement {
#private;
static template: HTMLTemplateElement;
static get observedAttributes(): string[];
static formatMenuItemText(text: string): string;
nativeEl: HTMLElement;
container: HTMLElement;
defaultSlot: HTMLSlotElement;
constructor();
enable(): void;
disable(): void;
handleEvent(event: Event): void;
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
formatMenuItemText(text: string, data?: any): any;
get anchor(): string;
set anchor(value: string);
/**
* Returns the anchor element when it is a floating menu.
*/
get anchorElement(): HTMLElement;
/**
* Returns the menu items.
*/
get items(): MediaChromeMenuItem[];
get radioGroupItems(): MediaChromeMenuItem[];
get checkedItems(): MediaChromeMenuItem[];
get value(): string;
set value(newValue: string);
focus(): void;
handleSelect(event: MouseEvent | KeyboardEvent): void;
get keysUsed(): string[];
handleMove(event: KeyboardEvent): void;
}
export { MediaChromeMenu };
export default MediaChromeMenu;