UNPKG

@aidenlx/player

Version:

Headless web components that make integrating media on the a web a breeze.

31 lines (30 loc) 871 B
import "../../chunks/chunk.LNH2V2XS.js"; import { setAttribute, setAttributeIfEmpty } from "@vidstack/foundation"; import { MediaRemoteControl, mediaStoreSubscription } from "../../media"; import { ToggleButtonElement } from "../toggle-button"; class PlayButtonElement extends ToggleButtonElement { constructor() { super(); this._mediaRemote = new MediaRemoteControl(this); mediaStoreSubscription(this, "paused", ($paused) => { this.pressed = !$paused; setAttribute(this, "media-paused", $paused); }); } connectedCallback() { super.connectedCallback(); setAttributeIfEmpty(this, "aria-label", "Play"); } _handleButtonClick(event) { if (this.disabled) return; if (this.pressed) { this._mediaRemote.pause(event); } else { this._mediaRemote.play(event); } } } export { PlayButtonElement };