@videojs/html 10.0.0-beta.1 → 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 (118) hide show
  1. package/cdn/audio-minimal.css +1 -0
  2. package/cdn/audio-minimal.dev.js +5346 -0
  3. package/cdn/audio-minimal.dev.js.map +1 -0
  4. package/cdn/audio-minimal.js +25 -0
  5. package/cdn/audio-minimal.js.map +1 -0
  6. package/cdn/audio.css +1 -0
  7. package/cdn/audio.dev.js +5337 -0
  8. package/cdn/audio.dev.js.map +1 -0
  9. package/cdn/audio.js +25 -0
  10. package/cdn/audio.js.map +1 -0
  11. package/cdn/background.css +1 -0
  12. package/cdn/background.dev.js +2063 -0
  13. package/cdn/background.dev.js.map +1 -0
  14. package/cdn/background.js +19 -0
  15. package/cdn/background.js.map +1 -0
  16. package/cdn/media/hls-video.dev.js +28728 -0
  17. package/cdn/media/hls-video.dev.js.map +1 -0
  18. package/cdn/media/hls-video.js +83 -0
  19. package/cdn/media/hls-video.js.map +1 -0
  20. package/cdn/media/simple-hls-video.dev.js +3796 -0
  21. package/cdn/media/simple-hls-video.dev.js.map +1 -0
  22. package/cdn/media/simple-hls-video.js +44 -0
  23. package/cdn/media/simple-hls-video.js.map +1 -0
  24. package/cdn/video-minimal.css +1 -0
  25. package/cdn/video-minimal.dev.js +5688 -0
  26. package/cdn/video-minimal.dev.js.map +1 -0
  27. package/cdn/video-minimal.js +25 -0
  28. package/cdn/video-minimal.js.map +1 -0
  29. package/cdn/video.css +1 -0
  30. package/cdn/video.dev.js +5756 -0
  31. package/cdn/video.dev.js.map +1 -0
  32. package/cdn/video.js +25 -0
  33. package/cdn/video.js.map +1 -0
  34. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  35. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  36. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  37. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  38. package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
  39. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
  40. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  41. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  42. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  43. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  44. package/dist/default/define/audio/minimal-skin.js +1 -79
  45. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  46. package/dist/default/define/audio/minimal-skin.tailwind.js +1 -81
  47. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  48. package/dist/default/define/audio/skin.css +2 -0
  49. package/dist/default/define/audio/skin.js +1 -70
  50. package/dist/default/define/audio/skin.js.map +1 -1
  51. package/dist/default/define/audio/skin.tailwind.js +1 -72
  52. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  53. package/dist/default/define/background/skin.js +1 -5
  54. package/dist/default/define/background/skin.js.map +1 -1
  55. package/dist/default/define/base.css +25 -0
  56. package/dist/default/define/skin-mixin.js +10 -32
  57. package/dist/default/define/skin-mixin.js.map +1 -1
  58. package/dist/default/define/video/minimal-skin.css +1 -64
  59. package/dist/default/define/video/minimal-skin.js +1 -121
  60. package/dist/default/define/video/minimal-skin.js.map +1 -1
  61. package/dist/default/define/video/minimal-skin.tailwind.js +1 -132
  62. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  63. package/dist/default/define/video/skin.css +3 -64
  64. package/dist/default/define/video/skin.js +1 -116
  65. package/dist/default/define/video/skin.js.map +1 -1
  66. package/dist/default/define/video/skin.tailwind.js +2 -125
  67. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  68. package/dist/default/media/background-video/index.js +1 -18
  69. package/dist/default/media/background-video/index.js.map +1 -1
  70. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  71. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  72. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  73. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  74. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +0 -1
  75. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  76. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +0 -1
  77. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  78. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  79. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  80. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  81. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  82. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  83. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  84. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  85. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  86. package/dist/dev/define/audio/skin.css +2 -0
  87. package/dist/dev/define/base.css +25 -0
  88. package/dist/dev/define/skin-mixin.d.ts +2 -2
  89. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  90. package/dist/dev/define/skin-mixin.js +10 -32
  91. package/dist/dev/define/skin-mixin.js.map +1 -1
  92. package/dist/dev/define/video/minimal-skin.css +1 -64
  93. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  94. package/dist/dev/define/video/minimal-skin.js +0 -12
  95. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  96. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  97. package/dist/dev/define/video/minimal-skin.tailwind.js +0 -13
  98. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  99. package/dist/dev/define/video/skin.css +3 -64
  100. package/dist/dev/define/video/skin.d.ts.map +1 -1
  101. package/dist/dev/define/video/skin.js +1 -13
  102. package/dist/dev/define/video/skin.js.map +1 -1
  103. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  104. package/dist/dev/define/video/skin.tailwind.js +1 -13
  105. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  106. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  107. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  108. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  109. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  110. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +0 -1
  111. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  112. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +0 -1
  113. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  114. package/package.json +11 -9
  115. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -15
  116. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  117. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -15
  118. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
@@ -3,7 +3,6 @@ import { renderIcon } from "../../icons/dist/render/minimal/index.js";
3
3
  import { bufferingIndicator } from "../../skins/dist/default/minimal/tailwind/components/buffering.js";
4
4
  import { button } from "../../skins/dist/default/minimal/tailwind/components/button.js";
5
5
  import { buttonGroup } from "../../skins/dist/default/minimal/tailwind/components/button-group.js";
6
- import { error } from "../../skins/dist/default/minimal/tailwind/components/error.js";
7
6
  import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minimal/tailwind/components/icon.js";
8
7
  import { seek } from "../../skins/dist/default/minimal/tailwind/components/seek.js";
9
8
  import { time } from "../../skins/dist/default/minimal/tailwind/components/time.js";
@@ -33,137 +32,7 @@ import { cn } from "@videojs/utils/style";
33
32
  //#region src/define/video/minimal-skin.tailwind.ts
34
33
  const SEEK_TIME = 10;
35
34
  function getTemplateHTML() {
36
- return `
37
- <media-container class="${root(true)}">
38
- <slot name="media"></slot>
39
-
40
- <media-buffering-indicator class="${bufferingIndicator}">
41
- ${renderIcon("spinner")}
42
- </media-buffering-indicator>
43
-
44
- <!--<div class="${error.root}" role="alertdialog" aria-labelledby="media-error-title" aria-describedby="media-error-description">
45
- <div class="${error.dialog}">
46
- <div class="${error.content}">
47
- <p id="media-error-title" class="${error.title}">Something went wrong.</p>
48
- <p id="media-error-description">An error occurred while trying to play the video. Please try again.</p>
49
- </div>
50
- <div class="${error.actions}">
51
- <button type="button" class="${cn(button.base, button.default)}">OK</button>
52
- </div>
53
- </div>
54
- </div>-->
55
-
56
- <media-controls data-controls="" class="${controls}">
57
- <span class="${buttonGroup}">
58
- <span class="${tooltipState.play.wrapper}">
59
- <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
60
- ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
61
- ${renderIcon("play", { class: cn(icon, iconState.play.play) })}
62
- ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
63
- </media-play-button>
64
- <media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}">
65
- <span class="${tooltipState.play.replay}">Replay</span>
66
- <span class="${tooltipState.play.play}">Play</span>
67
- <span class="${tooltipState.play.pause}">Pause</span>
68
- </media-tooltip>
69
- </span>
70
-
71
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
72
- <span class="${iconContainer}">
73
- ${renderIcon("seek", { class: cn(icon, iconFlipped) })}
74
- <span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span>
75
- </span>
76
- </media-seek-button>
77
- <media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}">
78
- Seek backward ${SEEK_TIME} seconds
79
- </media-tooltip>
80
-
81
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
82
- <span class="${iconContainer}">
83
- ${renderIcon("seek", { class: icon })}
84
- <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
85
- </span>
86
- </media-seek-button>
87
- <media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}">
88
- Seek forward ${SEEK_TIME} seconds
89
- </media-tooltip>
90
- </span>
91
-
92
- <span class="${time.controls}">
93
- <media-time-group class="${time.group}">
94
- <media-time type="current" class="${time.current}"></media-time>
95
- <media-time-separator class="${time.separator}"></media-time-separator>
96
- <media-time type="duration" class="${time.duration}"></media-time>
97
- </media-time-group>
98
-
99
- <media-time-slider class="${slider.root}">
100
- <media-slider-track class="${slider.track}">
101
- <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
102
- <media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
103
- </media-slider-track>
104
- <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
105
- </media-time-slider>
106
- </span>
107
-
108
- <span class="${buttonGroup}">
109
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}">
110
- </media-playback-rate-button>
111
- <media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}">
112
- Toggle playback rate
113
- </media-tooltip>
114
-
115
- <media-mute-button commandfor="video-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
116
- ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
117
- ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
118
- ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
119
- </media-mute-button>
120
-
121
- <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="${cn(popup.volume)}">
122
- <media-volume-slider class="${slider.root}" orientation="vertical" thumb-alignment="edge">
123
- <media-slider-track class="${slider.track}">
124
- <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
125
- </media-slider-track>
126
- <media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb>
127
- </media-volume-slider>
128
- </media-popover>
129
-
130
- <span class="${tooltipState.captions.wrapper}">
131
- <media-captions-button commandfor="captions-tooltip" class="${cn(button.base, button.icon, iconState.captions.button)}">
132
- ${renderIcon("captions-off", { class: cn(icon, iconState.captions.off) })}
133
- ${renderIcon("captions-on", { class: cn(icon, iconState.captions.on) })}
134
- </media-captions-button>
135
- <media-tooltip id="captions-tooltip" side="top" class="${cn(popup.tooltip)}">
136
- <span class="${tooltipState.captions.enable}">Enable captions</span>
137
- <span class="${tooltipState.captions.disable}">Disable captions</span>
138
- </media-tooltip>
139
- </span>
140
-
141
- <span class="${tooltipState.pip.wrapper}">
142
- <media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon)}">
143
- ${renderIcon("pip", { class: icon })}
144
- </media-pip-button>
145
- <media-tooltip id="pip-tooltip" side="top" class="${cn(popup.tooltip)}">
146
- <span class="${tooltipState.pip.enter}">Enter picture-in-picture</span>
147
- <span class="${tooltipState.pip.exit}">Exit picture-in-picture</span>
148
- </media-tooltip>
149
- </span>
150
-
151
- <span class="${tooltipState.fullscreen.wrapper}">
152
- <media-fullscreen-button commandfor="fullscreen-tooltip" class="${cn(button.base, button.icon, iconState.fullscreen.button)}">
153
- ${renderIcon("fullscreen-enter", { class: cn(icon, iconState.fullscreen.enter) })}
154
- ${renderIcon("fullscreen-exit", { class: cn(icon, iconState.fullscreen.exit) })}
155
- </media-fullscreen-button>
156
- <media-tooltip id="fullscreen-tooltip" side="top" class="${cn(popup.tooltip)}">
157
- <span class="${tooltipState.fullscreen.enter}">Enter fullscreen</span>
158
- <span class="${tooltipState.fullscreen.exit}">Exit fullscreen</span>
159
- </media-tooltip>
160
- </span>
161
- </span>
162
- </media-controls>
163
-
164
- <div class="${overlay}"></div>
165
- </media-container>
166
- `;
35
+ return `<media-container class="${root(true)}"><slot name="media"></slot><media-buffering-indicator class="${bufferingIndicator}"> ${renderIcon("spinner")} </media-buffering-indicator><media-controls data-controls="" class="${controls}"><span class="${buttonGroup}"><span class="${tooltipState.play.wrapper}"><media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}"> ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })} ${renderIcon("play", { class: cn(icon, iconState.play.play) })} ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })} </media-play-button><media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}"><span class="${tooltipState.play.replay}">Replay</span><span class="${tooltipState.play.play}">Play</span><span class="${tooltipState.play.pause}">Pause</span></media-tooltip></span><media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}"><span class="${iconContainer}"> ${renderIcon("seek", { class: cn(icon, iconFlipped) })} <span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span></span></media-seek-button><media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}"> Seek backward ${SEEK_TIME} seconds </media-tooltip><media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}"><span class="${iconContainer}"> ${renderIcon("seek", { class: icon })} <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span></span></media-seek-button><media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}"> Seek forward ${SEEK_TIME} seconds </media-tooltip></span><span class="${time.controls}"><media-time-group class="${time.group}"><media-time type="current" class="${time.current}"></media-time><media-time-separator class="${time.separator}"></media-time-separator><media-time type="duration" class="${time.duration}"></media-time></media-time-group><media-time-slider class="${slider.root}"><media-slider-track class="${slider.track}"><media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill><media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer></media-slider-track><media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb></media-time-slider></span><span class="${buttonGroup}"><media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}"></media-playback-rate-button><media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}"> Toggle playback rate </media-tooltip><media-mute-button commandfor="video-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}"> ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })} ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })} ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })} </media-mute-button><media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="${cn(popup.volume)}"><media-volume-slider class="${slider.root}" orientation="vertical" thumb-alignment="edge"><media-slider-track class="${slider.track}"><media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill></media-slider-track><media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb></media-volume-slider></media-popover><span class="${tooltipState.captions.wrapper}"><media-captions-button commandfor="captions-tooltip" class="${cn(button.base, button.icon, iconState.captions.button)}"> ${renderIcon("captions-off", { class: cn(icon, iconState.captions.off) })} ${renderIcon("captions-on", { class: cn(icon, iconState.captions.on) })} </media-captions-button><media-tooltip id="captions-tooltip" side="top" class="${cn(popup.tooltip)}"><span class="${tooltipState.captions.enable}">Enable captions</span><span class="${tooltipState.captions.disable}">Disable captions</span></media-tooltip></span><span class="${tooltipState.pip.wrapper}"><media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon)}"> ${renderIcon("pip", { class: icon })} </media-pip-button><media-tooltip id="pip-tooltip" side="top" class="${cn(popup.tooltip)}"><span class="${tooltipState.pip.enter}">Enter picture-in-picture</span><span class="${tooltipState.pip.exit}">Exit picture-in-picture</span></media-tooltip></span><span class="${tooltipState.fullscreen.wrapper}"><media-fullscreen-button commandfor="fullscreen-tooltip" class="${cn(button.base, button.icon, iconState.fullscreen.button)}"> ${renderIcon("fullscreen-enter", { class: cn(icon, iconState.fullscreen.enter) })} ${renderIcon("fullscreen-exit", { class: cn(icon, iconState.fullscreen.exit) })} </media-fullscreen-button><media-tooltip id="fullscreen-tooltip" side="top" class="${cn(popup.tooltip)}"><span class="${tooltipState.fullscreen.enter}">Enter fullscreen</span><span class="${tooltipState.fullscreen.exit}">Exit fullscreen</span></media-tooltip></span></span></media-controls><div class="${overlay}"></div></media-container>`;
167
36
  }
168
37
  var MinimalVideoSkinTailwindElement = class extends SkinMixin(ReactiveElement) {
169
38
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.js","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport {\n bufferingIndicator,\n button,\n buttonGroup,\n controls,\n error,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n root,\n seek,\n slider,\n time,\n tooltipState,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { SkinMixin } from '../skin-mixin';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/captions-button';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/volume-slider';\nimport { playbackRate } from '@videojs/skins/default/tailwind/video.tailwind';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"${root(true)}\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"${bufferingIndicator}\">\n ${renderIcon('spinner')}\n </media-buffering-indicator>\n\n <!--<div class=\"${error.root}\" role=\"alertdialog\" aria-labelledby=\"media-error-title\" aria-describedby=\"media-error-description\">\n <div class=\"${error.dialog}\">\n <div class=\"${error.content}\">\n <p id=\"media-error-title\" class=\"${error.title}\">Something went wrong.</p>\n <p id=\"media-error-description\">An error occurred while trying to play the video. Please try again.</p>\n </div>\n <div class=\"${error.actions}\">\n <button type=\"button\" class=\"${cn(button.base, button.default)}\">OK</button>\n </div>\n </div>\n </div>-->\n\n <media-controls data-controls=\"\" class=\"${controls}\">\n <span class=\"${buttonGroup}\">\n <span class=\"${tooltipState.play.wrapper}\">\n <media-play-button commandfor=\"play-tooltip\" class=\"${cn(button.base, button.icon, iconState.play.button)}\">\n ${renderIcon('restart', { class: cn(icon, iconState.play.restart) })}\n ${renderIcon('play', { class: cn(icon, iconState.play.play) })}\n ${renderIcon('pause', { class: cn(icon, iconState.play.pause) })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.play.replay}\">Replay</span>\n <span class=\"${tooltipState.play.play}\">Play</span>\n <span class=\"${tooltipState.play.pause}\">Pause</span>\n </media-tooltip>\n </span>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: cn(icon, iconFlipped) })}\n <span class=\"${cn(seek.label, seek.labelBackward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: icon })}\n <span class=\"${cn(seek.label, seek.labelForward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </span>\n\n <span class=\"${time.controls}\">\n <media-time-group class=\"${time.group}\">\n <media-time type=\"current\" class=\"${time.current}\"></media-time>\n <media-time-separator class=\"${time.separator}\"></media-time-separator>\n <media-time type=\"duration\" class=\"${time.duration}\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"${slider.root}\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n <media-slider-buffer class=\"${cn(slider.fill.base, slider.fill.buffer)}\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"${cn(slider.thumb.base, slider.thumb.interactive)}\"></media-slider-thumb>\n </media-time-slider>\n </span>\n\n <span class=\"${buttonGroup}\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"${cn(button.base, button.icon, playbackRate.button)}\">\n </media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"${cn(button.base, button.icon, iconState.mute.button)}\">\n ${renderIcon('volume-off', { class: cn(icon, iconState.mute.volumeOff) })}\n ${renderIcon('volume-low', { class: cn(icon, iconState.mute.volumeLow) })}\n ${renderIcon('volume-high', { class: cn(icon, iconState.mute.volumeHigh) })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"${cn(popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"${slider.thumb.base}\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <span class=\"${tooltipState.captions.wrapper}\">\n <media-captions-button commandfor=\"captions-tooltip\" class=\"${cn(button.base, button.icon, iconState.captions.button)}\">\n ${renderIcon('captions-off', { class: cn(icon, iconState.captions.off) })}\n ${renderIcon('captions-on', { class: cn(icon, iconState.captions.on) })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.captions.enable}\">Enable captions</span>\n <span class=\"${tooltipState.captions.disable}\">Disable captions</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.pip.wrapper}\">\n <media-pip-button commandfor=\"pip-tooltip\" class=\"${cn(button.base, button.icon)}\">\n ${renderIcon('pip', { class: icon })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.pip.enter}\">Enter picture-in-picture</span>\n <span class=\"${tooltipState.pip.exit}\">Exit picture-in-picture</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.fullscreen.wrapper}\">\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"${cn(button.base, button.icon, iconState.fullscreen.button)}\">\n ${renderIcon('fullscreen-enter', { class: cn(icon, iconState.fullscreen.enter) })}\n ${renderIcon('fullscreen-exit', { class: cn(icon, iconState.fullscreen.exit) })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.fullscreen.enter}\">Enter fullscreen</span>\n <span class=\"${tooltipState.fullscreen.exit}\">Exit fullscreen</span>\n </media-tooltip>\n </span>\n </span>\n </media-controls>\n\n <div class=\"${overlay}\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinTailwindElement.tagName, MinimalVideoSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinTailwindElement.tagName]: MinimalVideoSkinTailwindElement;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"minimal-skin.tailwind.js","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport {\n bufferingIndicator,\n button,\n buttonGroup,\n controls,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n root,\n seek,\n slider,\n time,\n tooltipState,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { SkinMixin } from '../skin-mixin';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/captions-button';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/volume-slider';\nimport { playbackRate } from '@videojs/skins/default/tailwind/video.tailwind';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"${root(true)}\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"${bufferingIndicator}\">\n ${renderIcon('spinner')}\n </media-buffering-indicator>\n\n <media-controls data-controls=\"\" class=\"${controls}\">\n <span class=\"${buttonGroup}\">\n <span class=\"${tooltipState.play.wrapper}\">\n <media-play-button commandfor=\"play-tooltip\" class=\"${cn(button.base, button.icon, iconState.play.button)}\">\n ${renderIcon('restart', { class: cn(icon, iconState.play.restart) })}\n ${renderIcon('play', { class: cn(icon, iconState.play.play) })}\n ${renderIcon('pause', { class: cn(icon, iconState.play.pause) })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.play.replay}\">Replay</span>\n <span class=\"${tooltipState.play.play}\">Play</span>\n <span class=\"${tooltipState.play.pause}\">Pause</span>\n </media-tooltip>\n </span>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: cn(icon, iconFlipped) })}\n <span class=\"${cn(seek.label, seek.labelBackward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: icon })}\n <span class=\"${cn(seek.label, seek.labelForward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </span>\n\n <span class=\"${time.controls}\">\n <media-time-group class=\"${time.group}\">\n <media-time type=\"current\" class=\"${time.current}\"></media-time>\n <media-time-separator class=\"${time.separator}\"></media-time-separator>\n <media-time type=\"duration\" class=\"${time.duration}\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"${slider.root}\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n <media-slider-buffer class=\"${cn(slider.fill.base, slider.fill.buffer)}\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"${cn(slider.thumb.base, slider.thumb.interactive)}\"></media-slider-thumb>\n </media-time-slider>\n </span>\n\n <span class=\"${buttonGroup}\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"${cn(button.base, button.icon, playbackRate.button)}\">\n </media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"${cn(button.base, button.icon, iconState.mute.button)}\">\n ${renderIcon('volume-off', { class: cn(icon, iconState.mute.volumeOff) })}\n ${renderIcon('volume-low', { class: cn(icon, iconState.mute.volumeLow) })}\n ${renderIcon('volume-high', { class: cn(icon, iconState.mute.volumeHigh) })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"${cn(popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"${slider.thumb.base}\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <span class=\"${tooltipState.captions.wrapper}\">\n <media-captions-button commandfor=\"captions-tooltip\" class=\"${cn(button.base, button.icon, iconState.captions.button)}\">\n ${renderIcon('captions-off', { class: cn(icon, iconState.captions.off) })}\n ${renderIcon('captions-on', { class: cn(icon, iconState.captions.on) })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.captions.enable}\">Enable captions</span>\n <span class=\"${tooltipState.captions.disable}\">Disable captions</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.pip.wrapper}\">\n <media-pip-button commandfor=\"pip-tooltip\" class=\"${cn(button.base, button.icon)}\">\n ${renderIcon('pip', { class: icon })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.pip.enter}\">Enter picture-in-picture</span>\n <span class=\"${tooltipState.pip.exit}\">Exit picture-in-picture</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.fullscreen.wrapper}\">\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"${cn(button.base, button.icon, iconState.fullscreen.button)}\">\n ${renderIcon('fullscreen-enter', { class: cn(icon, iconState.fullscreen.enter) })}\n ${renderIcon('fullscreen-exit', { class: cn(icon, iconState.fullscreen.exit) })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.fullscreen.enter}\">Enter fullscreen</span>\n <span class=\"${tooltipState.fullscreen.exit}\">Exit fullscreen</span>\n </media-tooltip>\n </span>\n </span>\n </media-controls>\n\n <div class=\"${overlay}\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinTailwindElement.tagName, MinimalVideoSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinTailwindElement.tagName]: MinimalVideoSkinTailwindElement;\n }\n}\n"],"mappings":"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"}
@@ -125,6 +125,8 @@
125
125
  position: relative;
126
126
  isolation: isolate;
127
127
  display: block;
128
+ height: 100%;
129
+ width: 100%;
128
130
  container: media-root / inline-size;
129
131
  border-radius: var(--media-border-radius, 2rem);
130
132
  font-family:
@@ -713,62 +715,9 @@
713
715
  }
714
716
 
715
717
  /* ==========================================================================
716
- Captions
718
+ Native Caption Track
717
719
  ========================================================================== */
718
720
 
719
- .media-default-skin .media-captions {
720
- position: absolute;
721
- inset: auto 1rem 1.5rem 1rem;
722
- z-index: 20;
723
- font-size: 1rem;
724
- text-wrap: balance;
725
- pointer-events: none;
726
-
727
- @container media-root (width > 20rem) {
728
- font-size: 1.5rem;
729
- }
730
-
731
- @container media-root (width > 48rem) {
732
- font-size: 1.875rem;
733
- }
734
-
735
- @container media-root (width > 80rem) {
736
- font-size: 2.25rem;
737
- }
738
- }
739
-
740
- .media-default-skin .media-captions__container {
741
- display: flex;
742
- flex-direction: column;
743
- align-items: center;
744
- max-width: 42ch;
745
- margin: 0 auto;
746
- text-align: center;
747
- }
748
-
749
- .media-default-skin .media-captions__text {
750
- display: block;
751
- padding: 0.125rem 0.5rem;
752
- color: oklch(1 0 0);
753
- text-shadow:
754
- 0 0 1px oklch(0 0 0 / 0.7),
755
- 0 0 8px oklch(0 0 0 / 0.7);
756
- text-align: center;
757
- white-space: pre-wrap;
758
- line-height: 1.2;
759
-
760
- @media (prefers-contrast: more) {
761
- background: oklch(0 0 0 / 0.7);
762
- text-shadow: none;
763
- box-decoration-break: clone;
764
- }
765
-
766
- & > * {
767
- display: inline;
768
- }
769
- }
770
-
771
- /* Caption shifting styles (custom and native) */
772
721
  .media-default-skin {
773
722
  --media-caption-track-delay: 600ms;
774
723
  --media-caption-track-y: -0.5rem;
@@ -779,26 +728,16 @@
779
728
  }
780
729
  }
781
730
 
782
- .media-default-skin .media-captions,
783
731
  .media-default-skin video::-webkit-media-text-track-container {
784
732
  /* NOTE: The delay must account for the controls delay/duration */
785
733
  transition: transform 150ms ease-out;
786
734
  transition-delay: var(--media-caption-track-delay);
787
- }
788
-
789
- .media-default-skin video::-webkit-media-text-track-container {
790
735
  transform: translateY(var(--media-caption-track-y)) scale(0.98);
791
736
  z-index: 1;
792
737
  font-family: inherit;
793
738
  }
794
739
 
795
- /* When controls are visible, shift captions up to avoid overlap */
796
- .media-default-skin .media-controls[data-visible] ~ .media-captions {
797
- transform: translateY(calc(var(--media-caption-track-y) - 0.5rem));
798
- }
799
-
800
740
  @media (prefers-reduced-motion: reduce) {
801
- .media-default-skin .media-captions,
802
741
  .media-default-skin video::-webkit-media-text-track-container {
803
742
  transition-duration: 50ms;
804
743
  }
@@ -21,122 +21,7 @@ import { ReactiveElement } from "@videojs/element";
21
21
  //#region src/define/video/skin.ts
22
22
  const SEEK_TIME = 10;
23
23
  function getTemplateHTML() {
24
- return `
25
- <media-container class="media-default-skin media-default-skin--video">
26
- <slot name="media"></slot>
27
-
28
- <media-buffering-indicator class="media-buffering-indicator">
29
- <div class="media-surface">
30
- ${renderIcon("spinner", { class: "media-icon" })}
31
- </div>
32
- </media-buffering-indicator>
33
-
34
- <!--<div class="media-error" role="alertdialog" aria-labelledby="media-error-title" aria-describedby="media-error-description">
35
- <div class="media-error__dialog media-surface">
36
- <div class="media-error__content">
37
- <p id="media-error-title" class="media-error__title">Something went wrong.</p>
38
- <p id="media-error-description" class="media-error__description">An error occurred while trying to play the video. Please try again.</p>
39
- </div>
40
- <div class="media-error__actions">
41
- <button type="button" class="media-button">OK</button>
42
- </div>
43
- </div>
44
- </div>-->
45
-
46
- <media-controls class="media-surface media-controls">
47
- <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
48
- ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
49
- ${renderIcon("play", { class: "media-icon media-icon--play" })}
50
- ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
51
- </media-play-button>
52
- <media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip">
53
- <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
54
- <span class="media-tooltip-label media-tooltip-label--play">Play</span>
55
- <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
56
- </media-tooltip>
57
-
58
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
59
- <span class="media-icon__container">
60
- ${renderIcon("seek", { class: "media-icon media-icon--flipped" })}
61
- <span class="media-icon__label">${SEEK_TIME}</span>
62
- </span>
63
- </media-seek-button>
64
- <media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip">
65
- Seek backward ${SEEK_TIME} seconds
66
- </media-tooltip>
67
-
68
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
69
- <span class="media-icon__container">
70
- ${renderIcon("seek", { class: "media-icon" })}
71
- <span class="media-icon__label">${SEEK_TIME}</span>
72
- </span>
73
- </media-seek-button>
74
- <media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip">
75
- Seek forward ${SEEK_TIME} seconds
76
- </media-tooltip>
77
-
78
- <media-time-group class="media-time">
79
- <media-time type="current" class="media-time__value"></media-time>
80
- <media-time-slider class="media-slider">
81
- <media-slider-track class="media-slider__track">
82
- <media-slider-fill class="media-slider__fill"></media-slider-fill>
83
- <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
84
- </media-slider-track>
85
- <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
86
- </media-time-slider>
87
- <media-time type="duration" class="media-time__value"></media-time>
88
- </media-time-group>
89
-
90
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button>
91
- <media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip">
92
- Toggle playback rate
93
- </media-tooltip>
94
-
95
- <media-mute-button commandfor="video-volume-popover" class="media-button media-button--icon media-button--mute">
96
- ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
97
- ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
98
- ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
99
- </media-mute-button>
100
-
101
- <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume">
102
- <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
103
- <media-slider-track class="media-slider__track">
104
- <media-slider-fill class="media-slider__fill"></media-slider-fill>
105
- </media-slider-track>
106
- <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
107
- </media-volume-slider>
108
- </media-popover>
109
-
110
- <media-captions-button commandfor="captions-tooltip" class="media-button media-button--icon media-button--captions">
111
- ${renderIcon("captions-off", { class: "media-icon media-icon--captions-off" })}
112
- ${renderIcon("captions-on", { class: "media-icon media-icon--captions-on" })}
113
- </media-captions-button>
114
- <media-tooltip id="captions-tooltip" side="top" class="media-surface media-tooltip">
115
- <span class="media-tooltip-label media-tooltip-label--enable-captions">Enable captions</span>
116
- <span class="media-tooltip-label media-tooltip-label--disable-captions">Disable captions</span>
117
- </media-tooltip>
118
-
119
- <media-pip-button commandfor="pip-tooltip" class="media-button media-button--icon">
120
- ${renderIcon("pip", { class: "media-icon" })}
121
- </media-pip-button>
122
- <media-tooltip id="pip-tooltip" side="top" class="media-surface media-tooltip">
123
- <span class="media-tooltip-label media-tooltip-label--enter-pip">Enter picture-in-picture</span>
124
- <span class="media-tooltip-label media-tooltip-label--exit-pip">Exit picture-in-picture</span>
125
- </media-tooltip>
126
-
127
- <media-fullscreen-button commandfor="fullscreen-tooltip" class="media-button media-button--icon media-button--fullscreen">
128
- ${renderIcon("fullscreen-enter", { class: "media-icon media-icon--fullscreen-enter" })}
129
- ${renderIcon("fullscreen-exit", { class: "media-icon media-icon--fullscreen-exit" })}
130
- </media-fullscreen-button>
131
- <media-tooltip id="fullscreen-tooltip" side="top" class="media-surface media-tooltip">
132
- <span class="media-tooltip-label media-tooltip-label--enter-fullscreen">Enter fullscreen</span>
133
- <span class="media-tooltip-label media-tooltip-label--exit-fullscreen">Exit fullscreen</span>
134
- </media-tooltip>
135
- </media-controls>
136
-
137
- <div class="media-overlay"></div>
138
- </media-container>
139
- `;
24
+ return `<media-container class="media-default-skin media-default-skin--video"><slot name="media"></slot><media-buffering-indicator class="media-buffering-indicator"><div class="media-surface"> ${renderIcon("spinner", { class: "media-icon" })} </div></media-buffering-indicator><media-controls class="media-surface media-controls"><media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play"> ${renderIcon("restart", { class: "media-icon media-icon--restart" })} ${renderIcon("play", { class: "media-icon media-icon--play" })} ${renderIcon("pause", { class: "media-icon media-icon--pause" })} </media-play-button><media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip"><span class="media-tooltip-label media-tooltip-label--replay">Replay</span><span class="media-tooltip-label media-tooltip-label--play">Play</span><span class="media-tooltip-label media-tooltip-label--pause">Pause</span></media-tooltip><media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek"><span class="media-icon__container"> ${renderIcon("seek", { class: "media-icon media-icon--flipped" })} <span class="media-icon__label">${SEEK_TIME}</span></span></media-seek-button><media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip"> Seek backward ${SEEK_TIME} seconds </media-tooltip><media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek"><span class="media-icon__container"> ${renderIcon("seek", { class: "media-icon" })} <span class="media-icon__label">${SEEK_TIME}</span></span></media-seek-button><media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip"> Seek forward ${SEEK_TIME} seconds </media-tooltip><media-time-group class="media-time"><media-time type="current" class="media-time__value"></media-time><media-time-slider class="media-slider"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill><media-slider-buffer class="media-slider__buffer"></media-slider-buffer></media-slider-track><media-slider-thumb class="media-slider__thumb"></media-slider-thumb></media-time-slider><media-time type="duration" class="media-time__value"></media-time></media-time-group><media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button><media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip"> Toggle playback rate </media-tooltip><media-mute-button commandfor="video-volume-popover" class="media-button media-button--icon media-button--mute"> ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })} ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })} ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })} </media-mute-button><media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume"><media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge"><media-slider-track class="media-slider__track"><media-slider-fill class="media-slider__fill"></media-slider-fill></media-slider-track><media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb></media-volume-slider></media-popover><media-captions-button commandfor="captions-tooltip" class="media-button media-button--icon media-button--captions"> ${renderIcon("captions-off", { class: "media-icon media-icon--captions-off" })} ${renderIcon("captions-on", { class: "media-icon media-icon--captions-on" })} </media-captions-button><media-tooltip id="captions-tooltip" side="top" class="media-surface media-tooltip"><span class="media-tooltip-label media-tooltip-label--enable-captions">Enable captions</span><span class="media-tooltip-label media-tooltip-label--disable-captions">Disable captions</span></media-tooltip><media-pip-button commandfor="pip-tooltip" class="media-button media-button--icon media-button--pip"> ${renderIcon("pip", { class: "media-icon" })} </media-pip-button><media-tooltip id="pip-tooltip" side="top" class="media-surface media-tooltip"><span class="media-tooltip-label media-tooltip-label--enter-pip">Enter picture-in-picture</span><span class="media-tooltip-label media-tooltip-label--exit-pip">Exit picture-in-picture</span></media-tooltip><media-fullscreen-button commandfor="fullscreen-tooltip" class="media-button media-button--icon media-button--fullscreen"> ${renderIcon("fullscreen-enter", { class: "media-icon media-icon--fullscreen-enter" })} ${renderIcon("fullscreen-exit", { class: "media-icon media-icon--fullscreen-exit" })} </media-fullscreen-button><media-tooltip id="fullscreen-tooltip" side="top" class="media-surface media-tooltip"><span class="media-tooltip-label media-tooltip-label--enter-fullscreen">Enter fullscreen</span><span class="media-tooltip-label media-tooltip-label--exit-fullscreen">Exit fullscreen</span></media-tooltip></media-controls><div class="media-overlay"></div></media-container>`;
140
25
  }
141
26
  var VideoSkinElement = class extends SkinMixin(ReactiveElement) {
142
27
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"skin.js","names":["styles"],"sources":["../../../../src/define/video/skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/captions-button';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin media-default-skin--video\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n <div class=\"media-surface\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </div>\n </media-buffering-indicator>\n\n <!--<div class=\"media-error\" role=\"alertdialog\" aria-labelledby=\"media-error-title\" aria-describedby=\"media-error-description\">\n <div class=\"media-error__dialog media-surface\">\n <div class=\"media-error__content\">\n <p id=\"media-error-title\" class=\"media-error__title\">Something went wrong.</p>\n <p id=\"media-error-description\" class=\"media-error__description\">An error occurred while trying to play the video. Please try again.</p>\n </div>\n <div class=\"media-error__actions\">\n <button type=\"button\" class=\"media-button\">OK</button>\n </div>\n </div>\n </div>-->\n\n <media-controls class=\"media-surface media-controls\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time__value\"></media-time>\n </media-time-group>\n\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-captions-button commandfor=\"captions-tooltip\" class=\"media-button media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enable-captions\">Enable captions</span>\n <span class=\"media-tooltip-label media-tooltip-label--disable-captions\">Disable captions</span>\n </media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--icon\">\n ${renderIcon('pip', { class: 'media-icon' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-pip\">Enter picture-in-picture</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-pip\">Exit picture-in-picture</span>\n </media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-fullscreen\">Enter fullscreen</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-fullscreen\">Exit fullscreen</span>\n </media-tooltip>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class VideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(VideoSkinElement.tagName, VideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoSkinElement.tagName]: VideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;;YAMN,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;YAkB/C,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;YACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;YAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;;;;;yEAQF,CAAC,UAAU;;cAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;8CAChC,UAAU;;;;0BAI9B,UAAU;;;wEAGoC,UAAU;;cAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;8CACZ,UAAU;;;;yBAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;YAqBvB,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;YACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;YACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;YAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;YAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;YAQ3E,WAAW,OAAO,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;YAQ3C,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;YACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;;AAa/F,IAAa,mBAAb,cAAsC,UAAU,gBAAgB,CAAC;;iBACrC;;;gBACV,aAAaA,aAAO;;;yBACX;;;AAG3B,eAAe,OAAO,iBAAiB,SAAS,iBAAiB"}
1
+ {"version":3,"file":"skin.js","names":[],"sources":["../../../../src/define/video/skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/captions-button';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin media-default-skin--video\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n <div class=\"media-surface\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </div>\n </media-buffering-indicator>\n\n <media-controls class=\"media-surface media-controls\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time__value\"></media-time>\n </media-time-group>\n\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-captions-button commandfor=\"captions-tooltip\" class=\"media-button media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enable-captions\">Enable captions</span>\n <span class=\"media-tooltip-label media-tooltip-label--disable-captions\">Disable captions</span>\n </media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--icon media-button--pip\">\n ${renderIcon('pip', { class: 'media-icon' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-pip\">Enter picture-in-picture</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-pip\">Exit picture-in-picture</span>\n </media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-surface media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-fullscreen\">Enter fullscreen</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-fullscreen\">Exit fullscreen</span>\n </media-tooltip>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class VideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(VideoSkinElement.tagName, VideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoSkinElement.tagName]: VideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB,4LAAA,WAAA,WAAA,EAAA,OAAA,cAAA,CAAA,CAAA,mMAAA,WAAA,WAAA,EAAA,OAAA,kCAAA,CAAA,CAAA,GAAA,WAAA,QAAA,EAAA,OAAA,+BAAA,CAAA,CAAA,GAAA,WAAA,SAAA,EAAA,OAAA,gCAAA,CAAA,CAAA,iZAAA,CAAA,UAAA,oGAAA,WAAA,QAAA,EAAA,OAAA,kCAAA,CAAA,CAAA,mCAAA,UAAA,4IAAA,UAAA,yFAAA,UAAA,oGAAA,WAAA,QAAA,EAAA,OAAA,cAAA,CAAA,CAAA,mCAAA,UAAA,0IAAA,UAAA,w7BAAA,WAAA,cAAA,EAAA,OAAA,qCAAA,CAAA,CAAA,GAAA,WAAA,cAAA,EAAA,OAAA,qCAAA,CAAA,CAAA,GAAA,WAAA,eAAA,EAAA,OAAA,sCAAA,CAAA,CAAA,gpBAAA,WAAA,gBAAA,EAAA,OAAA,uCAAA,CAAA,CAAA,GAAA,WAAA,eAAA,EAAA,OAAA,sCAAA,CAAA,CAAA,iaAAA,WAAA,OAAA,EAAA,OAAA,cAAA,CAAA,CAAA,8aAAA,WAAA,oBAAA,EAAA,OAAA,2CAAA,CAAA,CAAA,GAAA,WAAA,mBAAA,EAAA,OAAA,0CAAA,CAAA,CAAA;;;;iBAIK;;;gBACL,aAAQ,aAAQ;;;yBACV"}