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.
- package/LICENSE +22 -22
- package/README.md +593 -593
- package/dist/vidply.css +1807 -1807
- package/dist/vidply.esm.js +33 -0
- package/dist/vidply.esm.js.map +2 -2
- package/dist/vidply.esm.min.js +6 -6
- package/dist/vidply.esm.min.meta.json +17 -17
- package/dist/vidply.js +33 -0
- package/dist/vidply.js.map +2 -2
- package/dist/vidply.min.js +6 -6
- package/dist/vidply.min.meta.json +17 -17
- package/package.json +2 -2
- package/src/controls/CaptionManager.js +248 -248
- package/src/controls/ControlBar.js +2026 -2026
- package/src/controls/KeyboardManager.js +233 -233
- package/src/controls/SettingsDialog.js +417 -417
- package/src/controls/TranscriptManager.js +728 -728
- package/src/core/Player.js +1186 -1134
- package/src/i18n/i18n.js +66 -66
- package/src/i18n/translations.js +561 -561
- package/src/icons/Icons.js +183 -183
- package/src/index.js +95 -95
- package/src/renderers/HLSRenderer.js +302 -302
- package/src/renderers/HTML5Renderer.js +298 -298
- package/src/renderers/VimeoRenderer.js +257 -257
- package/src/renderers/YouTubeRenderer.js +274 -274
- package/src/styles/vidply.css +1807 -1807
- package/src/utils/DOMUtils.js +154 -154
- package/src/utils/EventEmitter.js +53 -53
- package/src/utils/TimeUtils.js +87 -87
package/dist/vidply.esm.js
CHANGED
|
@@ -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);
|