@videojs/html 10.0.0-beta.2 → 10.0.0-beta.3

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.
Files changed (93) hide show
  1. package/cdn/audio-minimal.dev.js +25 -39
  2. package/cdn/audio-minimal.dev.js.map +1 -1
  3. package/cdn/audio-minimal.js +4 -4
  4. package/cdn/audio-minimal.js.map +1 -1
  5. package/cdn/audio.css +1 -1
  6. package/cdn/audio.dev.js +26 -40
  7. package/cdn/audio.dev.js.map +1 -1
  8. package/cdn/audio.js +4 -4
  9. package/cdn/audio.js.map +1 -1
  10. package/cdn/background.dev.js +13 -7
  11. package/cdn/background.dev.js.map +1 -1
  12. package/cdn/background.js +4 -4
  13. package/cdn/background.js.map +1 -1
  14. package/cdn/video-minimal.css +1 -1
  15. package/cdn/video-minimal.dev.js +26 -52
  16. package/cdn/video-minimal.dev.js.map +1 -1
  17. package/cdn/video-minimal.js +5 -5
  18. package/cdn/video-minimal.js.map +1 -1
  19. package/cdn/video.css +1 -1
  20. package/cdn/video.dev.js +27 -53
  21. package/cdn/video.dev.js.map +1 -1
  22. package/cdn/video.js +5 -5
  23. package/cdn/video.js.map +1 -1
  24. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  25. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  26. package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
  27. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
  28. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  29. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  30. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  31. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  32. package/dist/default/define/audio/skin.css +2 -0
  33. package/dist/default/define/base.css +25 -0
  34. package/dist/default/define/skin-mixin.js +10 -18
  35. package/dist/default/define/skin-mixin.js.map +1 -1
  36. package/dist/default/define/video/minimal-skin.css +1 -64
  37. package/dist/default/define/video/minimal-skin.js.map +1 -1
  38. package/dist/default/define/video/minimal-skin.tailwind.js +1 -2
  39. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  40. package/dist/default/define/video/skin.css +3 -64
  41. package/dist/default/define/video/skin.js +1 -1
  42. package/dist/default/define/video/skin.js.map +1 -1
  43. package/dist/default/define/video/skin.tailwind.js +2 -2
  44. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  45. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  46. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  47. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  48. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  49. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +0 -1
  50. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  51. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +0 -1
  52. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  53. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  54. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  55. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  56. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  57. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  58. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  59. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  60. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  61. package/dist/dev/define/audio/skin.css +2 -0
  62. package/dist/dev/define/base.css +25 -0
  63. package/dist/dev/define/skin-mixin.d.ts +2 -2
  64. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  65. package/dist/dev/define/skin-mixin.js +10 -32
  66. package/dist/dev/define/skin-mixin.js.map +1 -1
  67. package/dist/dev/define/video/minimal-skin.css +1 -64
  68. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  69. package/dist/dev/define/video/minimal-skin.js +0 -12
  70. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  71. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  72. package/dist/dev/define/video/minimal-skin.tailwind.js +0 -13
  73. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  74. package/dist/dev/define/video/skin.css +3 -64
  75. package/dist/dev/define/video/skin.d.ts.map +1 -1
  76. package/dist/dev/define/video/skin.js +1 -13
  77. package/dist/dev/define/video/skin.js.map +1 -1
  78. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  79. package/dist/dev/define/video/skin.tailwind.js +1 -13
  80. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  81. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  82. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  83. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  84. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  85. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +0 -1
  86. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  87. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +0 -1
  88. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  89. package/package.json +8 -8
  90. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -15
  91. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  92. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -15
  93. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
@@ -667,6 +667,10 @@ async function exitFullscreen() {
667
667
 
668
668
  //#endregion
669
669
  //#region ../core/dist/dev/dom/presentation/pip.js
670
+ function resolveMediaTarget(media) {
671
+ const target = media.target;
672
+ return target instanceof HTMLMediaElement ? target : media;
673
+ }
670
674
  /**
671
675
  * Check if Picture-in-Picture is supported on this platform.
672
676
  *
@@ -684,8 +688,9 @@ function isPictureInPictureEnabled() {
684
688
  * Check if Picture-in-Picture is currently active for a media element.
685
689
  */
686
690
  function isPictureInPictureElement(media) {
687
- if (document.pictureInPictureElement === media) return true;
688
- return media.webkitPresentationMode === "picture-in-picture";
691
+ const target = resolveMediaTarget(media);
692
+ if (document.pictureInPictureElement === target) return true;
693
+ return target.webkitPresentationMode === "picture-in-picture";
689
694
  }
690
695
  /**
691
696
  * Request Picture-in-Picture mode.
@@ -694,7 +699,7 @@ function isPictureInPictureElement(media) {
694
699
  * WebKit presentation mode.
695
700
  */
696
701
  async function requestPictureInPicture(media) {
697
- const video = media;
702
+ const video = resolveMediaTarget(media);
698
703
  if (isFunction(video.requestPictureInPicture)) {
699
704
  await video.requestPictureInPicture();
700
705
  return;
@@ -712,13 +717,14 @@ async function requestPictureInPicture(media) {
712
717
  * WebKit presentation mode.
713
718
  */
714
719
  async function exitPictureInPicture(media) {
715
- if (document.pictureInPictureElement && isFunction(document.exitPictureInPicture)) {
720
+ if (isFunction(document.exitPictureInPicture)) try {
716
721
  await document.exitPictureInPicture();
717
722
  return;
718
- }
723
+ } catch {}
719
724
  if (media) {
720
- const video = media;
721
- if (video.webkitPresentationMode === "picture-in-picture" && isFunction(video.webkitSetPresentationMode)) {
725
+ const video = resolveMediaTarget(media);
726
+ const mode = video.webkitPresentationMode;
727
+ if (isFunction(video.webkitSetPresentationMode) && (!mode || mode === "picture-in-picture")) {
722
728
  video.webkitSetPresentationMode("inline");
723
729
  return;
724
730
  }
@@ -3243,36 +3249,17 @@ function renderIcon(name, attrs) {
3243
3249
  }
3244
3250
 
3245
3251
  //#endregion
3246
- //#region src/define/skin-mixin.ts
3247
- /**
3248
- * Light DOM stylesheet that bridges CSS custom properties set by skins
3249
- * to native WebKit text track pseudo-elements on the slotted `<video>`.
3250
- *
3251
- * `::slotted(video)::-webkit-media-text-track-container` is invalid per
3252
- * CSS spec, so this bridge lives in light DOM where it can directly
3253
- * target the video element's pseudo-elements.
3254
- */
3255
- const NATIVE_CAPTION_BRIDGE_CSS = `
3256
- .media-skin > video::-webkit-media-text-track-container {
3257
- transition: transform var(--media-caption-track-duration, 150ms) ease-out;
3258
- transition-delay: var(--media-caption-track-delay, 600ms);
3259
- transform: translateY(var(--media-caption-track-y, 0)) scale(0.98);
3260
- z-index: var(--media-caption-track-z, 1);
3261
- font-family: inherit;
3262
- }
3252
+ //#region inline-css:src/define/base.js
3253
+ var base_default = "video-player {\n display: contents;\n}\n\nvideo-player video,\nvideo-player hls-video,\nvideo-player simple-hls-video {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nvideo-player video::-webkit-media-text-track-container {\n transition: transform var(--media-caption-track-duration, 150ms) ease-out;\n transition-delay: var(--media-caption-track-delay, 600ms);\n transform: translateY(var(--media-caption-track-y, 0)) scale(0.98);\n z-index: var(--media-caption-track-z, 1);\n font-family: inherit;\n}\n\n@media (prefers-reduced-motion: reduce) {\n video-player video::-webkit-media-text-track-container {\n transition-duration: 50ms;\n }\n}\n";
3263
3254
 
3264
- @media (prefers-reduced-motion: reduce) {
3265
- .media-skin > video::-webkit-media-text-track-container {
3266
- transition-duration: 50ms;
3267
- }
3268
- }
3269
- `;
3270
- const BRIDGE_ID = "media-caption-bridge";
3271
- function ensureCaptionBridge() {
3272
- if (document.getElementById(BRIDGE_ID)) return;
3255
+ //#endregion
3256
+ //#region src/define/skin-mixin.ts
3257
+ const STYLES_ID = "__media-styles";
3258
+ function ensureStyles() {
3259
+ if (document.getElementById(STYLES_ID)) return;
3273
3260
  const style = document.createElement("style");
3274
- style.id = BRIDGE_ID;
3275
- style.textContent = NATIVE_CAPTION_BRIDGE_CSS;
3261
+ style.id = STYLES_ID;
3262
+ style.textContent = base_default;
3276
3263
  document.head.appendChild(style);
3277
3264
  }
3278
3265
  /**
@@ -3280,8 +3267,8 @@ function ensureCaptionBridge() {
3280
3267
  * `getTemplateHTML` method into a shadow root. Native `<slot>` elements
3281
3268
  * handle light DOM projection automatically.
3282
3269
  *
3283
- * When `static styles` is set, the stylesheet is adopted into the shadow
3284
- * root via `adoptedStyleSheets`.
3270
+ * When `static styles` is set, the stylesheet is adopted into the
3271
+ * shadow root via `adoptedStyleSheets`.
3285
3272
  */
3286
3273
  function SkinMixin(BaseClass) {
3287
3274
  class SkinElement extends BaseClass {
@@ -3290,8 +3277,7 @@ function SkinMixin(BaseClass) {
3290
3277
  }
3291
3278
  constructor(...args) {
3292
3279
  super(...args);
3293
- this.classList.add("media-skin");
3294
- ensureCaptionBridge();
3280
+ ensureStyles();
3295
3281
  if (!this.shadowRoot) {
3296
3282
  const ctor = this.constructor;
3297
3283
  this.attachShadow(ctor.shadowRootOptions);