vidply 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4312,6 +4312,8 @@ var Player = class extends EventEmitter {
4312
4312
  playbackSpeed: 1,
4313
4313
  preload: "metadata",
4314
4314
  startTime: 0,
4315
+ playsInline: true,
4316
+ // Enable inline playback on iOS (prevents native fullscreen)
4315
4317
  // Controls
4316
4318
  controls: true,
4317
4319
  hideControlsDelay: 3e3,
@@ -4527,6 +4529,11 @@ var Player = class extends EventEmitter {
4527
4529
  this.element.setAttribute("tabindex", "-1");
4528
4530
  this.element.style.width = "100%";
4529
4531
  this.element.style.height = "100%";
4532
+ if (this.element.tagName === "VIDEO" && this.options.playsInline) {
4533
+ this.element.setAttribute("playsinline", "");
4534
+ this.element.setAttribute("webkit-playsinline", "");
4535
+ this.element.playsInline = true;
4536
+ }
4530
4537
  if (this.options.width) {
4531
4538
  this.container.style.width = typeof this.options.width === "number" ? `${this.options.width}px` : this.options.width;
4532
4539
  }
@@ -5062,6 +5069,25 @@ var Player = class extends EventEmitter {
5062
5069
  }
5063
5070
  this.orientationQuery = orientationQuery;
5064
5071
  }
5072
+ this.fullscreenChangeHandler = () => {
5073
+ const isFullscreen = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
5074
+ if (this.state.fullscreen !== isFullscreen) {
5075
+ this.state.fullscreen = isFullscreen;
5076
+ if (isFullscreen) {
5077
+ this.container.classList.add(`${this.options.classPrefix}-fullscreen`);
5078
+ } else {
5079
+ this.container.classList.remove(`${this.options.classPrefix}-fullscreen`);
5080
+ }
5081
+ this.emit("fullscreenchange", isFullscreen);
5082
+ if (this.controlBar) {
5083
+ this.controlBar.updateFullscreenButton();
5084
+ }
5085
+ }
5086
+ };
5087
+ document.addEventListener("fullscreenchange", this.fullscreenChangeHandler);
5088
+ document.addEventListener("webkitfullscreenchange", this.fullscreenChangeHandler);
5089
+ document.addEventListener("mozfullscreenchange", this.fullscreenChangeHandler);
5090
+ document.addEventListener("MSFullscreenChange", this.fullscreenChangeHandler);
5065
5091
  }
5066
5092
  // Cleanup
5067
5093
  destroy() {
@@ -5103,6 +5129,13 @@ var Player = class extends EventEmitter {
5103
5129
  this.orientationQuery = null;
5104
5130
  this.orientationHandler = null;
5105
5131
  }
5132
+ if (this.fullscreenChangeHandler) {
5133
+ document.removeEventListener("fullscreenchange", this.fullscreenChangeHandler);
5134
+ document.removeEventListener("webkitfullscreenchange", this.fullscreenChangeHandler);
5135
+ document.removeEventListener("mozfullscreenchange", this.fullscreenChangeHandler);
5136
+ document.removeEventListener("MSFullscreenChange", this.fullscreenChangeHandler);
5137
+ this.fullscreenChangeHandler = null;
5138
+ }
5106
5139
  if (this.container && this.container.parentNode) {
5107
5140
  this.container.parentNode.insertBefore(this.element, this.container);
5108
5141
  this.container.parentNode.removeChild(this.container);