@aidenlx/player
Version:
Headless web components that make integrating media on the a web a breeze.
31 lines (30 loc) • 871 B
JavaScript
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
};