@videojs/html 10.0.0-beta.2 → 10.0.0-beta.4
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/cdn/audio-minimal.css +1 -1
- package/cdn/audio-minimal.dev.js +197 -126
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +5 -5
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio.css +1 -1
- package/cdn/audio.dev.js +191 -120
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +5 -5
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.js +40 -25
- package/cdn/background.dev.js.map +1 -1
- package/cdn/background.js +4 -4
- package/cdn/background.js.map +1 -1
- package/cdn/media/hls-video.dev.js +0 -1
- package/cdn/media/hls-video.dev.js.map +1 -1
- package/cdn/media/hls-video.js +1 -1
- package/cdn/media/hls-video.js.map +1 -1
- package/cdn/media/simple-hls-video.dev.js +178 -158
- package/cdn/media/simple-hls-video.dev.js.map +1 -1
- package/cdn/media/simple-hls-video.js +1 -1
- package/cdn/media/simple-hls-video.js.map +1 -1
- package/cdn/video-minimal.css +1 -1
- package/cdn/video-minimal.dev.js +220 -161
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +5 -5
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video.css +1 -1
- package/cdn/video.dev.js +217 -158
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +4 -4
- package/cdn/video.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.css +8 -2
- package/dist/default/define/audio/minimal-skin.js +2 -1
- package/dist/default/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.tailwind.js +5 -2
- package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/audio/skin.css +7 -5
- package/dist/default/define/audio/skin.js +2 -1
- package/dist/default/define/audio/skin.js.map +1 -1
- package/dist/default/define/audio/skin.tailwind.js +5 -2
- package/dist/default/define/audio/skin.tailwind.js.map +1 -1
- package/dist/default/define/base.css +25 -0
- package/dist/default/define/shared.css +3 -0
- package/dist/default/define/skin-mixin.js +10 -18
- package/dist/default/define/skin-mixin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.css +35 -73
- package/dist/default/define/video/minimal-skin.js +2 -1
- package/dist/default/define/video/minimal-skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js +4 -4
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/video/skin.css +32 -71
- package/dist/default/define/video/skin.js +2 -1
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/skin.tailwind.js +5 -4
- package/dist/default/define/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -21
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +8 -5
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +3 -22
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/{default/tailwind/components → shared/tailwind}/icon-state.js +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
- package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/tooltip-state.js +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
- package/dist/default/store/container-mixin.js +22 -10
- package/dist/default/store/container-mixin.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-group-element.js +4 -1
- package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.css +8 -2
- package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/audio/minimal-skin.js +67 -64
- package/dist/dev/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/audio/minimal-skin.tailwind.js +71 -66
- package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/audio/skin.css +7 -5
- package/dist/dev/define/audio/skin.d.ts.map +1 -1
- package/dist/dev/define/audio/skin.js +59 -56
- package/dist/dev/define/audio/skin.js.map +1 -1
- package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/audio/skin.tailwind.js +64 -59
- package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/define/base.css +25 -0
- package/dist/dev/define/shared.css +3 -0
- package/dist/dev/define/skin-mixin.d.ts +2 -2
- package/dist/dev/define/skin-mixin.d.ts.map +1 -1
- package/dist/dev/define/skin-mixin.js +10 -32
- package/dist/dev/define/skin-mixin.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.css +35 -73
- package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.js +92 -101
- package/dist/dev/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js +98 -108
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/skin.css +32 -71
- package/dist/dev/define/video/skin.d.ts.map +1 -1
- package/dist/dev/define/video/skin.js +82 -91
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/skin.tailwind.js +93 -102
- package/dist/dev/define/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +3 -21
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +8 -5
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +3 -22
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/{default/tailwind/components → shared/tailwind}/icon-state.js +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
- package/dist/{default/skins/dist/default/minimal/tailwind/components → dev/skins/dist/default/shared/tailwind}/tooltip-state.js +1 -1
- package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
- package/dist/dev/store/container-mixin.js +22 -10
- package/dist/dev/store/container-mixin.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-group-element.js +4 -1
- package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
- package/package.json +7 -7
- package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
- package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -15
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -15
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
- package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
package/cdn/background.dev.js
CHANGED
|
@@ -473,14 +473,11 @@ const controlsFeature = definePlayerFeature({
|
|
|
473
473
|
pointerDownTime = Date.now();
|
|
474
474
|
}
|
|
475
475
|
function onPointerUp(event) {
|
|
476
|
-
if (event.pointerType === "touch" && Date.now() - pointerDownTime < TAP_THRESHOLD)
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
controlsVisible: computeVisible(false)
|
|
481
|
-
});
|
|
476
|
+
if (event.pointerType === "touch" && Date.now() - pointerDownTime < TAP_THRESHOLD) {
|
|
477
|
+
const isMediaOrContainer = [media, container].includes(event.target);
|
|
478
|
+
if (get().controlsVisible && isMediaOrContainer) setInactive();
|
|
479
|
+
else setActive();
|
|
482
480
|
} else setActive();
|
|
483
|
-
else setActive();
|
|
484
481
|
}
|
|
485
482
|
function onPlaybackChange() {
|
|
486
483
|
const { userActive } = get();
|
|
@@ -492,7 +489,7 @@ const controlsFeature = definePlayerFeature({
|
|
|
492
489
|
listen(container, "pointerup", onPointerUp, { signal });
|
|
493
490
|
listen(container, "keyup", setActive, { signal });
|
|
494
491
|
listen(container, "focusin", setActive, { signal });
|
|
495
|
-
listen(container, "
|
|
492
|
+
listen(container, "mouseleave", setInactive, { signal });
|
|
496
493
|
listen(media, "play", onPlaybackChange, { signal });
|
|
497
494
|
listen(media, "pause", onPlaybackChange, { signal });
|
|
498
495
|
listen(media, "ended", onPlaybackChange, { signal });
|
|
@@ -584,6 +581,10 @@ async function exitFullscreen() {
|
|
|
584
581
|
|
|
585
582
|
//#endregion
|
|
586
583
|
//#region ../core/dist/dev/dom/presentation/pip.js
|
|
584
|
+
function resolveMediaTarget(media) {
|
|
585
|
+
const target = media.target;
|
|
586
|
+
return target instanceof HTMLMediaElement ? target : media;
|
|
587
|
+
}
|
|
587
588
|
/**
|
|
588
589
|
* Check if Picture-in-Picture is supported on this platform.
|
|
589
590
|
*
|
|
@@ -601,8 +602,9 @@ function isPictureInPictureEnabled() {
|
|
|
601
602
|
* Check if Picture-in-Picture is currently active for a media element.
|
|
602
603
|
*/
|
|
603
604
|
function isPictureInPictureElement(media) {
|
|
604
|
-
|
|
605
|
-
|
|
605
|
+
const target = resolveMediaTarget(media);
|
|
606
|
+
if (document.pictureInPictureElement === target) return true;
|
|
607
|
+
return target.webkitPresentationMode === "picture-in-picture";
|
|
606
608
|
}
|
|
607
609
|
/**
|
|
608
610
|
* Request Picture-in-Picture mode.
|
|
@@ -611,7 +613,7 @@ function isPictureInPictureElement(media) {
|
|
|
611
613
|
* WebKit presentation mode.
|
|
612
614
|
*/
|
|
613
615
|
async function requestPictureInPicture(media) {
|
|
614
|
-
const video = media;
|
|
616
|
+
const video = resolveMediaTarget(media);
|
|
615
617
|
if (isFunction(video.requestPictureInPicture)) {
|
|
616
618
|
await video.requestPictureInPicture();
|
|
617
619
|
return;
|
|
@@ -629,13 +631,14 @@ async function requestPictureInPicture(media) {
|
|
|
629
631
|
* WebKit presentation mode.
|
|
630
632
|
*/
|
|
631
633
|
async function exitPictureInPicture(media) {
|
|
632
|
-
if (
|
|
634
|
+
if (isFunction(document.exitPictureInPicture)) try {
|
|
633
635
|
await document.exitPictureInPicture();
|
|
634
636
|
return;
|
|
635
|
-
}
|
|
637
|
+
} catch {}
|
|
636
638
|
if (media) {
|
|
637
|
-
const video = media;
|
|
638
|
-
|
|
639
|
+
const video = resolveMediaTarget(media);
|
|
640
|
+
const mode = video.webkitPresentationMode;
|
|
641
|
+
if (isFunction(video.webkitSetPresentationMode) && (!mode || mode === "picture-in-picture")) {
|
|
639
642
|
video.webkitSetPresentationMode("inline");
|
|
640
643
|
return;
|
|
641
644
|
}
|
|
@@ -1295,13 +1298,13 @@ function createContainerMixin(context) {
|
|
|
1295
1298
|
connectedCallback() {
|
|
1296
1299
|
super.connectedCallback();
|
|
1297
1300
|
this.#observer = new MutationObserver((records) => {
|
|
1298
|
-
if (records.some(
|
|
1301
|
+
if (records.some(hasMediaElement)) this.#attachMedia();
|
|
1299
1302
|
});
|
|
1300
1303
|
this.#observer.observe(this, {
|
|
1301
1304
|
childList: true,
|
|
1302
1305
|
subtree: true,
|
|
1303
1306
|
attributes: true,
|
|
1304
|
-
attributeFilter: ["
|
|
1307
|
+
attributeFilter: ["name"]
|
|
1305
1308
|
});
|
|
1306
1309
|
this.addEventListener("slotchange", this.#onSlotChange);
|
|
1307
1310
|
this.#attachMedia();
|
|
@@ -1319,18 +1322,24 @@ function createContainerMixin(context) {
|
|
|
1319
1322
|
#getSlottedMedia() {
|
|
1320
1323
|
const slot = this.querySelector("slot[name=\"media\"]");
|
|
1321
1324
|
if (!slot) return null;
|
|
1322
|
-
for (const el of slot.assignedElements({ flatten: true })) if (el
|
|
1325
|
+
for (const el of slot.assignedElements({ flatten: true })) if (isMediaElement(el)) return el;
|
|
1326
|
+
return null;
|
|
1327
|
+
}
|
|
1328
|
+
#findMediaElement() {
|
|
1329
|
+
const media = Array.from(this.children).find(isMediaElement);
|
|
1330
|
+
if (media) return media;
|
|
1323
1331
|
return null;
|
|
1324
1332
|
}
|
|
1325
1333
|
#attachMedia() {
|
|
1326
1334
|
const store = this.#contextStore ?? this.store;
|
|
1327
1335
|
if (!store) return;
|
|
1328
|
-
const media = this.querySelector("video, audio
|
|
1336
|
+
const media = this.querySelector("video, audio") ?? this.#findMediaElement() ?? this.#getSlottedMedia();
|
|
1329
1337
|
if (!media) {
|
|
1330
1338
|
this.#detach();
|
|
1331
1339
|
this.#detach = noop;
|
|
1332
1340
|
return;
|
|
1333
1341
|
}
|
|
1342
|
+
if (isCustomMediaElement(media)) globalThis.customElements?.upgrade?.(media);
|
|
1334
1343
|
const target = {
|
|
1335
1344
|
media,
|
|
1336
1345
|
container: this
|
|
@@ -1345,13 +1354,19 @@ function createContainerMixin(context) {
|
|
|
1345
1354
|
return PlayerContainerElement;
|
|
1346
1355
|
};
|
|
1347
1356
|
}
|
|
1348
|
-
function
|
|
1349
|
-
return node instanceof HTMLMediaElement || node
|
|
1357
|
+
function isMediaElement(node) {
|
|
1358
|
+
return node instanceof HTMLMediaElement || isCustomMediaElement(node);
|
|
1359
|
+
}
|
|
1360
|
+
function isCustomMediaElement(node) {
|
|
1361
|
+
return node instanceof HTMLElement && (node.localName.endsWith("-audio") || node.localName.endsWith("-video"));
|
|
1362
|
+
}
|
|
1363
|
+
function isMediaSlotElement(node) {
|
|
1364
|
+
return node instanceof HTMLSlotElement && node.name === "media";
|
|
1350
1365
|
}
|
|
1351
|
-
function
|
|
1352
|
-
if (record.
|
|
1353
|
-
for (const node of record.addedNodes) if (
|
|
1354
|
-
for (const node of record.removedNodes) if (
|
|
1366
|
+
function hasMediaElement(record) {
|
|
1367
|
+
if (isMediaSlotElement(record.target)) return true;
|
|
1368
|
+
for (const node of record.addedNodes) if (isMediaElement(node) || isMediaSlotElement(node)) return true;
|
|
1369
|
+
for (const node of record.removedNodes) if (isMediaElement(node) || isMediaSlotElement(node)) return true;
|
|
1355
1370
|
return false;
|
|
1356
1371
|
}
|
|
1357
1372
|
|