import { MediaChromeMenuButton } from "./media-chrome-menu-button.js"; import { globalThis, document } from "../utils/server-safe-globals.js"; import { getMediaController } from "../utils/element-utils.js"; import { nouns, tooltipLabels } from "../labels/labels.js"; const slotTemplate = document.createElement("template"); slotTemplate.innerHTML = /*html*/ ` `; class MediaSettingsMenuButton extends MediaChromeMenuButton { static get observedAttributes() { return [...super.observedAttributes, "target"]; } constructor() { super({ slotTemplate, tooltipContent: tooltipLabels.SETTINGS }); } connectedCallback() { super.connectedCallback(); this.setAttribute("aria-label", nouns.SETTINGS()); } /** * Returns the element with the id specified by the `invoketarget` attribute. * @return {HTMLElement | null} */ get invokeTargetElement() { if (this.invokeTarget != void 0) return super.invokeTargetElement; return getMediaController(this).querySelector("media-settings-menu"); } } if (!globalThis.customElements.get("media-settings-menu-button")) { globalThis.customElements.define( "media-settings-menu-button", MediaSettingsMenuButton ); } var media_settings_menu_button_default = MediaSettingsMenuButton; export { MediaSettingsMenuButton, media_settings_menu_button_default as default };