@videojs/html 10.0.0-beta.5 → 10.0.0-beta.7

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 (370) hide show
  1. package/cdn/audio-minimal.css +1 -1
  2. package/cdn/audio-minimal.dev.d.ts +1 -0
  3. package/cdn/audio-minimal.dev.js +9 -5328
  4. package/cdn/audio-minimal.dev.js.map +1 -1
  5. package/cdn/audio-minimal.js +1 -24
  6. package/cdn/audio-minimal.js.map +1 -1
  7. package/cdn/audio.css +1 -1
  8. package/cdn/audio.dev.d.ts +1 -0
  9. package/cdn/audio.dev.js +9 -5328
  10. package/cdn/audio.dev.js.map +1 -1
  11. package/cdn/audio.js +1 -24
  12. package/cdn/audio.js.map +1 -1
  13. package/cdn/background.css +1 -1
  14. package/cdn/background.dev.d.ts +1 -0
  15. package/cdn/background.dev.js +100 -2026
  16. package/cdn/background.dev.js.map +1 -1
  17. package/cdn/background.js +1 -18
  18. package/cdn/background.js.map +1 -1
  19. package/cdn/context-C_e06fGU.js +13 -0
  20. package/cdn/context-C_e06fGU.js.map +1 -0
  21. package/cdn/context-DTY0nOpS.js +98 -0
  22. package/cdn/context-DTY0nOpS.js.map +1 -0
  23. package/cdn/create-player-Dv7K1Ezk.js +3214 -0
  24. package/cdn/create-player-Dv7K1Ezk.js.map +1 -0
  25. package/cdn/create-player-QjiNZlh7.js +7 -0
  26. package/cdn/create-player-QjiNZlh7.js.map +1 -0
  27. package/cdn/default-GgKND7a8.js +2 -0
  28. package/cdn/default-GgKND7a8.js.map +1 -0
  29. package/cdn/default-cLso8BHO.js +28 -0
  30. package/cdn/default-cLso8BHO.js.map +1 -0
  31. package/cdn/listen-BXAYCbZA.js +9 -0
  32. package/cdn/listen-BXAYCbZA.js.map +1 -0
  33. package/cdn/listen-DX5vU4s4.js +2 -0
  34. package/cdn/listen-DX5vU4s4.js.map +1 -0
  35. package/cdn/media/dash-video.dev.d.ts +1 -0
  36. package/cdn/media/dash-video.dev.js +39165 -0
  37. package/cdn/media/dash-video.dev.js.map +1 -0
  38. package/cdn/media/dash-video.js +21 -0
  39. package/cdn/media/dash-video.js.map +1 -0
  40. package/cdn/media/hls-video.dev.d.ts +1 -0
  41. package/cdn/media/hls-video.dev.js +6 -376
  42. package/cdn/media/hls-video.dev.js.map +1 -1
  43. package/cdn/media/hls-video.js +21 -63
  44. package/cdn/media/hls-video.js.map +1 -1
  45. package/cdn/media/simple-hls-video.dev.d.ts +1 -0
  46. package/cdn/media/simple-hls-video.dev.js +6 -375
  47. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  48. package/cdn/media/simple-hls-video.js +1 -43
  49. package/cdn/media/simple-hls-video.js.map +1 -1
  50. package/cdn/media-attach-mixin-ChyNp2eK.js +44 -0
  51. package/cdn/media-attach-mixin-ChyNp2eK.js.map +1 -0
  52. package/cdn/media-attach-mixin-tFNcHnvo.js +2 -0
  53. package/cdn/media-attach-mixin-tFNcHnvo.js.map +1 -0
  54. package/cdn/minimal-BJfleQcQ.js +2 -0
  55. package/cdn/minimal-BJfleQcQ.js.map +1 -0
  56. package/cdn/minimal-DBMdC_0I.js +28 -0
  57. package/cdn/minimal-DBMdC_0I.js.map +1 -0
  58. package/cdn/player-CztIlNio.js +2 -0
  59. package/cdn/player-CztIlNio.js.map +1 -0
  60. package/cdn/player-Dvj38jlr.js +15 -0
  61. package/cdn/player-Dvj38jlr.js.map +1 -0
  62. package/cdn/poster-C4WHg3BH.js +2 -0
  63. package/cdn/poster-C4WHg3BH.js.map +1 -0
  64. package/cdn/poster-O0SI05LC.js +195 -0
  65. package/cdn/poster-O0SI05LC.js.map +1 -0
  66. package/cdn/predicate-BG-dj_kF.js +26 -0
  67. package/cdn/predicate-BG-dj_kF.js.map +1 -0
  68. package/cdn/predicate-Y9jDHLpX.js +2 -0
  69. package/cdn/predicate-Y9jDHLpX.js.map +1 -0
  70. package/cdn/proxy-2oO2ph3m.js +47 -0
  71. package/cdn/proxy-2oO2ph3m.js.map +1 -0
  72. package/cdn/proxy-6KS6wy69.js +2 -0
  73. package/cdn/proxy-6KS6wy69.js.map +1 -0
  74. package/cdn/proxy-XzDf9gyk.js +66 -0
  75. package/cdn/proxy-XzDf9gyk.js.map +1 -0
  76. package/cdn/proxy-dR7IDk37.js +349 -0
  77. package/cdn/proxy-dR7IDk37.js.map +1 -0
  78. package/cdn/safe-define-B8lHgj_K.js +9 -0
  79. package/cdn/safe-define-B8lHgj_K.js.map +1 -0
  80. package/cdn/safe-define-GrHW3P9e.js +2 -0
  81. package/cdn/safe-define-GrHW3P9e.js.map +1 -0
  82. package/cdn/video-minimal.css +1 -1
  83. package/cdn/video-minimal.dev.d.ts +1 -0
  84. package/cdn/video-minimal.dev.js +24 -5642
  85. package/cdn/video-minimal.dev.js.map +1 -1
  86. package/cdn/video-minimal.js +1 -24
  87. package/cdn/video-minimal.js.map +1 -1
  88. package/cdn/video.css +1 -1
  89. package/cdn/video.dev.d.ts +1 -0
  90. package/cdn/video.dev.js +30 -5701
  91. package/cdn/video.dev.js.map +1 -1
  92. package/cdn/video.js +1 -24
  93. package/cdn/video.js.map +1 -1
  94. package/cdn/volume-slider-BqzTytgB.js +8 -0
  95. package/cdn/volume-slider-BqzTytgB.js.map +1 -0
  96. package/cdn/volume-slider-CfhOO9RM.js +2453 -0
  97. package/cdn/volume-slider-CfhOO9RM.js.map +1 -0
  98. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  99. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  100. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  101. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  102. package/dist/default/_virtual/inline-css_src/define/base.js +1 -1
  103. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -1
  104. package/dist/default/_virtual/inline-css_src/define/shared.js +6 -0
  105. package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -0
  106. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  107. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  108. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  109. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  110. package/dist/default/define/audio/minimal-skin.css +77 -24
  111. package/dist/default/define/audio/minimal-skin.js +1 -1
  112. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  113. package/dist/default/define/audio/minimal-skin.tailwind.js +1 -1
  114. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  115. package/dist/default/define/audio/skin.css +74 -28
  116. package/dist/default/define/audio/skin.js +1 -1
  117. package/dist/default/define/audio/skin.js.map +1 -1
  118. package/dist/default/define/audio/skin.tailwind.js +3 -4
  119. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  120. package/dist/default/define/background/skin.css +1 -1
  121. package/dist/default/define/background/skin.js +1 -1
  122. package/dist/default/define/background/skin.js.map +1 -1
  123. package/dist/default/define/base.css +10 -12
  124. package/dist/default/define/media/dash-video.js +14 -0
  125. package/dist/default/define/media/dash-video.js.map +1 -0
  126. package/dist/default/define/shared.css +10 -0
  127. package/dist/default/define/skin-mixin.js +8 -3
  128. package/dist/default/define/skin-mixin.js.map +1 -1
  129. package/dist/default/define/video/minimal-skin.css +257 -79
  130. package/dist/default/define/video/minimal-skin.js +2 -1
  131. package/dist/default/define/video/minimal-skin.js.map +1 -1
  132. package/dist/default/define/video/minimal-skin.tailwind.js +5 -3
  133. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  134. package/dist/default/define/video/skin.css +242 -74
  135. package/dist/default/define/video/skin.js +2 -1
  136. package/dist/default/define/video/skin.js.map +1 -1
  137. package/dist/default/define/video/skin.tailwind.js +5 -3
  138. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  139. package/dist/default/icons/dist/render/default/index.js +2 -1
  140. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  141. package/dist/default/icons/dist/render/minimal/index.js +2 -1
  142. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  143. package/dist/default/index.js +3 -2
  144. package/dist/default/media/background-video/index.js +5 -1
  145. package/dist/default/media/background-video/index.js.map +1 -1
  146. package/dist/default/media/container-element.js +5 -2
  147. package/dist/default/media/container-element.js.map +1 -1
  148. package/dist/default/media/dash-video/index.js +26 -0
  149. package/dist/default/media/dash-video/index.js.map +1 -0
  150. package/dist/default/media/hls-video/index.js +2 -1
  151. package/dist/default/media/hls-video/index.js.map +1 -1
  152. package/dist/default/media/simple-hls-video/index.js +2 -1
  153. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  154. package/dist/default/player/context.js +6 -2
  155. package/dist/default/player/context.js.map +1 -1
  156. package/dist/default/player/create-player.js +11 -3
  157. package/dist/default/player/create-player.js.map +1 -1
  158. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +6 -5
  159. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  160. package/dist/default/skins/dist/default/default/tailwind/components/button.js +1 -1
  161. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  162. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  163. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  164. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  165. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  166. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +3 -3
  167. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  168. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +16 -0
  169. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  170. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +13 -0
  171. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  172. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  173. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  174. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +1 -1
  175. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  176. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  177. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  178. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +21 -15
  179. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  180. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +2 -2
  181. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  182. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  183. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  184. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  185. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  186. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  187. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  188. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +4 -3
  189. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  190. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +16 -0
  191. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  192. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +14 -0
  193. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  194. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  195. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  196. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  197. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  198. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  199. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  200. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +23 -15
  201. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  202. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +5 -0
  203. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  204. package/dist/default/store/container-mixin.js +16 -72
  205. package/dist/default/store/container-mixin.js.map +1 -1
  206. package/dist/default/store/media-attach-mixin.js +45 -0
  207. package/dist/default/store/media-attach-mixin.js.map +1 -0
  208. package/dist/default/store/provider-mixin.js +99 -9
  209. package/dist/default/store/provider-mixin.js.map +1 -1
  210. package/dist/default/ui/popover/popover-element.js +54 -3
  211. package/dist/default/ui/popover/popover-element.js.map +1 -1
  212. package/dist/default/ui/time-slider/time-slider-element.js +1 -1
  213. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  214. package/dist/default/ui/tooltip/tooltip-element.js +53 -3
  215. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  216. package/dist/default/ui/volume-slider/volume-slider-element.js +3 -3
  217. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  218. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  219. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  220. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  221. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  222. package/dist/dev/_virtual/inline-css_src/define/base.js +1 -1
  223. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -1
  224. package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
  225. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
  226. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  227. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  228. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  229. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  230. package/dist/dev/define/audio/minimal-skin.css +77 -24
  231. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  232. package/dist/dev/define/audio/minimal-skin.js +2 -0
  233. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  234. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  235. package/dist/dev/define/audio/minimal-skin.tailwind.js +3 -1
  236. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  237. package/dist/dev/define/audio/skin.css +74 -28
  238. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  239. package/dist/dev/define/audio/skin.js +2 -0
  240. package/dist/dev/define/audio/skin.js.map +1 -1
  241. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  242. package/dist/dev/define/audio/skin.tailwind.js +5 -4
  243. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  244. package/dist/dev/define/background/skin.css +1 -1
  245. package/dist/dev/define/background/skin.d.ts.map +1 -1
  246. package/dist/dev/define/background/skin.js +3 -1
  247. package/dist/dev/define/background/skin.js.map +1 -1
  248. package/dist/dev/define/base.css +10 -12
  249. package/dist/dev/define/media/dash-video.d.ts +14 -0
  250. package/dist/dev/define/media/dash-video.d.ts.map +1 -0
  251. package/dist/dev/define/media/dash-video.js +14 -0
  252. package/dist/dev/define/media/dash-video.js.map +1 -0
  253. package/dist/dev/define/shared.css +10 -0
  254. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  255. package/dist/dev/define/skin-mixin.js +8 -3
  256. package/dist/dev/define/skin-mixin.js.map +1 -1
  257. package/dist/dev/define/video/minimal-skin.css +257 -79
  258. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  259. package/dist/dev/define/video/minimal-skin.js +18 -2
  260. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  261. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  262. package/dist/dev/define/video/minimal-skin.tailwind.js +22 -5
  263. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  264. package/dist/dev/define/video/skin.css +242 -74
  265. package/dist/dev/define/video/skin.d.ts.map +1 -1
  266. package/dist/dev/define/video/skin.js +15 -1
  267. package/dist/dev/define/video/skin.js.map +1 -1
  268. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  269. package/dist/dev/define/video/skin.tailwind.js +20 -5
  270. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  271. package/dist/dev/icons/dist/render/default/index.js +2 -1
  272. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  273. package/dist/dev/icons/dist/render/minimal/index.js +2 -1
  274. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  275. package/dist/dev/index.d.ts +5 -4
  276. package/dist/dev/index.js +3 -2
  277. package/dist/dev/media/background-video/index.d.ts +8 -1
  278. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  279. package/dist/dev/media/background-video/index.js +5 -1
  280. package/dist/dev/media/background-video/index.js.map +1 -1
  281. package/dist/dev/media/container-element.js +5 -2
  282. package/dist/dev/media/container-element.js.map +1 -1
  283. package/dist/dev/media/dash-video/index.d.ts +13 -0
  284. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  285. package/dist/dev/media/dash-video/index.js +26 -0
  286. package/dist/dev/media/dash-video/index.js.map +1 -0
  287. package/dist/dev/media/hls-video/index.d.ts +2 -1
  288. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  289. package/dist/dev/media/hls-video/index.js +2 -1
  290. package/dist/dev/media/hls-video/index.js.map +1 -1
  291. package/dist/dev/media/simple-hls-video/index.d.ts +2 -1
  292. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  293. package/dist/dev/media/simple-hls-video/index.js +2 -1
  294. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  295. package/dist/dev/player/context.d.ts +16 -2
  296. package/dist/dev/player/context.d.ts.map +1 -1
  297. package/dist/dev/player/context.js +6 -2
  298. package/dist/dev/player/context.js.map +1 -1
  299. package/dist/dev/player/create-player.d.ts +1 -1
  300. package/dist/dev/player/create-player.js +11 -3
  301. package/dist/dev/player/create-player.js.map +1 -1
  302. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +6 -5
  303. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  304. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +1 -1
  305. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  306. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  307. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  308. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  309. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  310. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +3 -3
  311. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  312. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +16 -0
  313. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  314. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +13 -0
  315. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  316. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  317. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  318. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +1 -1
  319. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  320. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  321. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  322. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +21 -15
  323. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  324. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +2 -2
  325. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  326. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  327. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  328. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  329. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  330. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  331. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  332. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +4 -3
  333. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  334. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +16 -0
  335. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  336. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +14 -0
  337. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  338. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  339. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  340. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  341. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  342. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  343. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  344. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +23 -15
  345. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  346. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +5 -0
  347. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  348. package/dist/dev/store/container-mixin.d.ts +10 -5
  349. package/dist/dev/store/container-mixin.d.ts.map +1 -1
  350. package/dist/dev/store/container-mixin.js +16 -72
  351. package/dist/dev/store/container-mixin.js.map +1 -1
  352. package/dist/dev/store/media-attach-mixin.d.ts +19 -0
  353. package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
  354. package/dist/dev/store/media-attach-mixin.js +45 -0
  355. package/dist/dev/store/media-attach-mixin.js.map +1 -0
  356. package/dist/dev/store/provider-mixin.d.ts +19 -6
  357. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  358. package/dist/dev/store/provider-mixin.js +99 -9
  359. package/dist/dev/store/provider-mixin.js.map +1 -1
  360. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  361. package/dist/dev/ui/popover/popover-element.js +54 -3
  362. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  363. package/dist/dev/ui/time-slider/time-slider-element.js +1 -1
  364. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  365. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  366. package/dist/dev/ui/tooltip/tooltip-element.js +53 -3
  367. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  368. package/dist/dev/ui/volume-slider/volume-slider-element.js +3 -3
  369. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  370. package/package.json +20 -9
@@ -16,6 +16,8 @@
16
16
  .media-button--mute .media-icon--volume-high,
17
17
  .media-button--fullscreen .media-icon--fullscreen-enter,
18
18
  .media-button--fullscreen .media-icon--fullscreen-exit,
19
+ .media-button--pip .media-icon--pip-enter,
20
+ .media-button--pip .media-icon--pip-exit,
19
21
  .media-button--captions .media-icon--captions-off,
20
22
  .media-button--captions .media-icon--captions-on {
21
23
  display: none;
@@ -40,6 +42,10 @@
40
42
  .media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,
41
43
  /* Fullscreen: fullscreen → exit */
42
44
  .media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,
45
+ /* Picture-in-Picture: not active → enter */
46
+ .media-button--pip:not([data-pip]) .media-icon--pip-enter,
47
+ /* Picture-in-Picture: active → exit */
48
+ .media-button--pip[data-pip] .media-icon--pip-exit,
43
49
  /* Captions: not active → captions off */
44
50
  .media-button--captions:not([data-active]) .media-icon--captions-off,
45
51
  /* Captions: active → captions on */
@@ -100,7 +106,6 @@
100
106
  .media-default-skin *::before,
101
107
  .media-default-skin *::after {
102
108
  box-sizing: border-box;
103
- margin: 0;
104
109
  }
105
110
  .media-default-skin img,
106
111
  .media-default-skin video,
@@ -150,7 +155,7 @@
150
155
  background-color: var(--media-surface-background-color);
151
156
  backdrop-filter: var(--media-surface-backdrop-filter);
152
157
  box-shadow:
153
- inset 0 0 0 1px var(--media-surface-inner-border-color),
158
+ 0 0 0 1px var(--media-surface-outer-border-color),
154
159
  0 1px 3px 0 var(--media-surface-shadow-color),
155
160
  0 1px 2px -1px var(--media-surface-shadow-color);
156
161
 
@@ -161,7 +166,7 @@
161
166
  inset: 0;
162
167
  z-index: 10;
163
168
  border-radius: inherit;
164
- box-shadow: 0 0 0 1px var(--media-surface-outer-border-color);
169
+ box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
165
170
  pointer-events: none;
166
171
  }
167
172
 
@@ -183,45 +188,20 @@
183
188
  display: block;
184
189
  width: 100%;
185
190
  height: 100%;
191
+ object-fit: var(--media-object-fit, contain);
192
+ object-position: var(--media-object-position, center);
186
193
  }
187
194
  .media-default-skin ::slotted(video) {
188
- border-radius: var(--media-border-radius, 2rem);
195
+ border-radius: var(--media-video-border-radius);
189
196
  }
190
197
  .media-default-skin video {
191
198
  border-radius: inherit;
192
199
  }
193
200
 
194
- /* ==========================================================================
195
- Poster Image
196
- ========================================================================== */
197
-
198
- .media-default-skin > img {
199
- position: absolute;
200
- inset: 0;
201
- width: 100%;
202
- height: 100%;
203
- border-radius: inherit;
204
- object-fit: cover;
205
- transition: opacity 0.25s;
206
- pointer-events: none;
207
-
208
- &:not([data-visible]) {
209
- opacity: 0;
210
- }
211
- }
212
-
213
- /* ==========================================================================
214
- Fullscreen
215
- ========================================================================== */
216
-
217
- .media-default-skin:fullscreen video,
218
201
  .media-default-skin:fullscreen ::slotted(video),
219
- .media-default-skin:fullscreen > img {
202
+ .media-default-skin:fullscreen video {
220
203
  object-fit: contain;
221
204
  }
222
- .media-default-skin:fullscreen ::slotted(video) {
223
- border-radius: 0;
224
- }
225
205
 
226
206
  /* ==========================================================================
227
207
  Overlay / Scrim
@@ -307,7 +287,7 @@
307
287
  border-radius: 1.75rem;
308
288
  color: oklch(1 0 0);
309
289
  font-size: 0.875rem;
310
- transition-property: opacity, transform;
290
+ transition-property: opacity, scale;
311
291
  transition-duration: 500ms;
312
292
  transition-delay: 100ms;
313
293
  transition-timing-function: linear(
@@ -333,7 +313,7 @@
333
313
  .media-default-skin .media-error[data-starting-style] .media-error__dialog,
334
314
  .media-default-skin .media-error[data-ending-style] .media-error__dialog {
335
315
  opacity: 0;
336
- transform: scale(0.5);
316
+ scale: 0.5;
337
317
  }
338
318
 
339
319
  .media-default-skin .media-error__content {
@@ -350,6 +330,7 @@
350
330
 
351
331
  .media-default-skin .media-error__description {
352
332
  opacity: 0.7;
333
+ overflow-wrap: anywhere;
353
334
  }
354
335
 
355
336
  .media-default-skin .media-error__actions {
@@ -372,12 +353,12 @@
372
353
  gap: 0.075rem;
373
354
  padding: 0.175rem;
374
355
  border-radius: calc(infinity * 1px);
375
- --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.25));
356
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
376
357
  --media-controls-current-shadow-color-subtle: oklch(
377
358
  from var(--media-controls-current-shadow-color) l c h /
378
359
  calc(alpha * 0.4)
379
360
  );
380
- text-shadow: 0 0 1px var(--media-controls-current-shadow-color);
361
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
381
362
 
382
363
  @container media-root (width > 40rem) {
383
364
  gap: 0.125rem;
@@ -429,11 +410,12 @@
429
410
  color: oklch(0 0 0);
430
411
  font-weight: 500;
431
412
  text-align: center;
432
- transition-property: background-color, color, outline-offset, transform;
413
+ transition-property: background-color, color, outline-offset, scale;
433
414
  transition-duration: 150ms;
434
415
  transition-timing-function: ease-out;
435
416
  cursor: pointer;
436
417
  user-select: none;
418
+ touch-action: manipulation;
437
419
 
438
420
  &:focus-visible {
439
421
  outline-color: oklch(62.3% 0.214 259.815);
@@ -469,7 +451,7 @@
469
451
  }
470
452
 
471
453
  &:active {
472
- transform: scale(0.9);
454
+ scale: 0.9;
473
455
  }
474
456
 
475
457
  & .media-icon {
@@ -531,6 +513,100 @@
531
513
  scale: -1 1;
532
514
  }
533
515
 
516
+ /* ==========================================================================
517
+ Poster Image
518
+ ========================================================================== */
519
+
520
+ .media-default-skin media-poster,
521
+ .media-default-skin > img {
522
+ position: absolute;
523
+ inset: 0;
524
+ width: 100%;
525
+ height: 100%;
526
+ transition: opacity 0.25s;
527
+ pointer-events: none;
528
+ }
529
+ .media-default-skin media-poster:not([data-visible]),
530
+ .media-default-skin > img:not([data-visible]) {
531
+ opacity: 0;
532
+ }
533
+ .media-default-skin media-poster ::slotted(img) {
534
+ position: absolute;
535
+ inset: 0;
536
+ width: 100%;
537
+ height: 100%;
538
+ object-fit: var(--media-object-fit, contain);
539
+ object-position: var(--media-object-position, center);
540
+ border-radius: var(--media-video-border-radius);
541
+ }
542
+ .media-default-skin > img {
543
+ object-fit: var(--media-object-fit, contain);
544
+ object-position: var(--media-object-position, center);
545
+ border-radius: inherit;
546
+ }
547
+
548
+ .media-default-skin:fullscreen media-poster ::slotted(img),
549
+ .media-default-skin:fullscreen > img {
550
+ object-fit: contain;
551
+ }
552
+
553
+ /* ==========================================================================
554
+ Media preview
555
+ ========================================================================== */
556
+ .media-default-skin .media-preview {
557
+ background-color: oklch(0 0 0 / 0.9);
558
+ border-radius: 0.75rem;
559
+
560
+ & .media-preview__thumbnail {
561
+ display: block;
562
+ position: relative;
563
+ border-radius: inherit;
564
+ overflow: clip;
565
+
566
+ &::after {
567
+ content: "";
568
+ position: absolute;
569
+ inset: 0;
570
+ border-radius: inherit;
571
+ background-image: linear-gradient(to top, oklch(0 0 0 / 0.8), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
572
+ }
573
+ }
574
+
575
+ & .media-preview__timestamp {
576
+ position: absolute;
577
+ bottom: 0.5rem;
578
+ inset-inline: 0;
579
+ text-align: center;
580
+ font-variant-numeric: tabular-nums;
581
+ }
582
+
583
+ & .media-overlay {
584
+ opacity: 1;
585
+ }
586
+
587
+ & .media-preview__spinner {
588
+ position: absolute;
589
+ top: 50%;
590
+ left: 50%;
591
+ translate: -50% -50%;
592
+ opacity: 0;
593
+ }
594
+
595
+ & .media-preview__thumbnail,
596
+ & .media-preview__spinner {
597
+ transition: opacity 150ms ease-out;
598
+ }
599
+
600
+ &:has(.media-preview__thumbnail[data-loading]) {
601
+ & .media-preview__thumbnail {
602
+ opacity: 0;
603
+ }
604
+ & .media-preview__spinner {
605
+ opacity: 1;
606
+ }
607
+ }
608
+ }
609
+
534
610
  /* ==========================================================================
535
611
  Slider
536
612
  ========================================================================== */
@@ -543,6 +619,7 @@
543
619
  flex: 1;
544
620
  border-radius: calc(infinity * 1px);
545
621
  outline: none;
622
+ cursor: pointer;
546
623
 
547
624
  &[data-orientation="horizontal"] {
548
625
  min-width: 5rem;
@@ -579,7 +656,7 @@
579
656
  .media-default-skin .media-slider__thumb {
580
657
  z-index: 10;
581
658
  position: absolute;
582
- transform: translate(-50%, -50%);
659
+ translate: -50% -50%;
583
660
  width: 0.625rem;
584
661
  height: 0.625rem;
585
662
  background-color: currentColor;
@@ -675,11 +752,6 @@
675
752
  }
676
753
  }
677
754
 
678
- /* Time display within slider */
679
- .media-default-skin .media-slider__time-display {
680
- font-variant-numeric: tabular-nums;
681
- }
682
-
683
755
  /* ==========================================================================
684
756
  Popups & Tooltips
685
757
  ========================================================================== */
@@ -690,13 +762,13 @@
690
762
  border: 0;
691
763
  color: inherit;
692
764
  overflow: visible;
693
- transition-property: transform, scale, opacity, filter;
694
- transition-duration: 200ms;
765
+ transition-property: scale, opacity, filter;
766
+ transition-duration: 150ms;
695
767
 
696
768
  &[data-starting-style],
697
769
  &[data-ending-style] {
698
770
  opacity: 0;
699
- transform: scale(0);
771
+ scale: 0.5;
700
772
  filter: blur(8px);
701
773
  }
702
774
 
@@ -716,14 +788,58 @@
716
788
  &[data-side="right"] {
717
789
  transform-origin: left;
718
790
  }
791
+
792
+ /* Safe area between trigger and popup */
793
+ &::before {
794
+ content: "";
795
+ position: absolute;
796
+ pointer-events: inherit;
797
+ }
798
+
799
+ &[data-side="top"]::before,
800
+ &[data-side="bottom"]::before {
801
+ width: 100%;
802
+ inset-inline: 0;
803
+ }
804
+ &[data-side="top"]::before {
805
+ top: 100%;
806
+ }
807
+ &[data-side="bottom"]::before {
808
+ bottom: 100%;
809
+ }
810
+
811
+ &[data-side="left"]::before,
812
+ &[data-side="right"]::before {
813
+ height: 100%;
814
+ inset-block: 0;
815
+ }
816
+ &[data-side="left"]::before {
817
+ left: 100%;
818
+ }
819
+ &[data-side="right"]::before {
820
+ right: 100%;
821
+ }
719
822
  }
720
823
 
721
824
  .media-default-skin .media-popover {
722
825
  --media-popover-side-offset: 0.5rem;
826
+
827
+ &[data-side="top"]::before,
828
+ &[data-side="bottom"]::before {
829
+ height: var(--media-popover-side-offset);
830
+ }
831
+ &[data-side="left"]::before,
832
+ &[data-side="right"]::before {
833
+ width: var(--media-popover-side-offset);
834
+ }
723
835
  }
724
836
  .media-default-skin .media-popover--volume {
725
837
  padding: 0.625rem 0.25rem;
726
838
  border-radius: calc(infinity * 1px);
839
+
840
+ &:has(media-volume-slider[data-availability="unsupported"]) {
841
+ display: none;
842
+ }
727
843
  }
728
844
 
729
845
  .media-default-skin .media-tooltip {
@@ -731,7 +847,16 @@
731
847
  border-radius: calc(infinity * 1px);
732
848
  font-size: 0.75rem;
733
849
  white-space: nowrap;
734
- --media-tooltip-side-offset: 0.5rem;
850
+ --media-tooltip-side-offset: 0.75rem;
851
+
852
+ &[data-side="top"]::before,
853
+ &[data-side="bottom"]::before {
854
+ height: var(--media-tooltip-side-offset);
855
+ }
856
+ &[data-side="left"]::before,
857
+ &[data-side="right"]::before {
858
+ width: var(--media-tooltip-side-offset);
859
+ }
735
860
  }
736
861
 
737
862
  /* ==========================================================================
@@ -739,30 +864,24 @@
739
864
  ========================================================================== */
740
865
 
741
866
  .media-default-skin {
742
- --media-caption-track-delay: 600ms;
867
+ --media-caption-track-duration: var(--media-controls-transition-duration);
868
+ --media-caption-track-delay: calc(var(--media-controls-transition-delay) + 25ms);
743
869
  --media-caption-track-y: -0.5rem;
744
870
 
745
871
  &:has(.media-controls[data-visible]) {
746
- --media-caption-track-delay: 25ms;
747
872
  --media-caption-track-y: -3.5rem;
748
873
  }
749
874
  }
750
875
 
751
876
  .media-default-skin video::-webkit-media-text-track-container {
752
- /* NOTE: The delay must account for the controls delay/duration */
753
- transition: transform 150ms ease-out;
877
+ transition: translate var(--media-caption-track-duration) ease-out;
754
878
  transition-delay: var(--media-caption-track-delay);
755
- transform: translateY(var(--media-caption-track-y)) scale(0.98);
879
+ translate: 0 var(--media-caption-track-y);
880
+ scale: 0.98;
756
881
  z-index: 1;
757
882
  font-family: inherit;
758
883
  }
759
884
 
760
- @media (prefers-reduced-motion: reduce) {
761
- .media-default-skin video::-webkit-media-text-track-container {
762
- transition-duration: 50ms;
763
- }
764
- }
765
-
766
885
 
767
886
  /* ==========================================================================
768
887
  Root
@@ -776,9 +895,26 @@
776
895
  --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
777
896
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
778
897
  --media-surface-backdrop-filter: blur(16px) saturate(1.5);
898
+ --media-video-border-radius: var(--media-border-radius, 2rem);
899
+ --media-controls-transition-duration: 100ms;
900
+ --media-controls-transition-delay: 0ms;
779
901
 
780
902
  @media (prefers-color-scheme: dark) {
781
- --media-border-color: oklch(1 0 0 / 0.1);
903
+ --media-border-color: oklch(1 0 0 / 0.15);
904
+ }
905
+
906
+ &:has(.media-controls:not([data-visible])) {
907
+ /* Slight delay to hide controls on non-touch devices after interaction */
908
+ @media (pointer: fine) {
909
+ --media-controls-transition-delay: 500ms;
910
+ --media-controls-transition-duration: 300ms;
911
+ }
912
+ @media (pointer: coarse) {
913
+ --media-controls-transition-duration: 150ms;
914
+ }
915
+ @media (prefers-reduced-motion: reduce) {
916
+ --media-controls-transition-duration: 100ms;
917
+ }
782
918
  }
783
919
 
784
920
  /* Inner border ring */
@@ -793,7 +929,7 @@
793
929
  }
794
930
 
795
931
  &:fullscreen {
796
- border-radius: 0;
932
+ --media-border-radius: 0;
797
933
  }
798
934
  }
799
935
 
@@ -806,40 +942,48 @@
806
942
  bottom: 0.75rem;
807
943
  inset-inline: 0.75rem;
808
944
  z-index: 10;
809
- color: oklch(1 0 0);
810
-
811
- will-change: scale, transform, filter, opacity;
945
+ color: var(--media-color-primary, oklch(1 0 0));
812
946
  transition-timing-function: ease-out;
947
+ transition-duration: var(--media-controls-transition-duration);
948
+ transition-delay: var(--media-controls-transition-delay);
813
949
  transform-origin: bottom;
814
950
 
815
951
  @media (pointer: fine) {
816
- transition-property: scale, transform, filter, opacity;
817
- transition-duration: 100ms;
818
- transition-delay: 0ms;
952
+ will-change: scale, filter, opacity;
953
+ transition-property: scale, filter, opacity;
954
+ }
955
+
956
+ @media (pointer: coarse) {
957
+ will-change: scale, opacity;
958
+ transition-property: scale, opacity;
819
959
  }
820
960
 
821
961
  &:not([data-visible]) {
822
962
  opacity: 0;
823
963
  pointer-events: none;
824
964
  scale: 0.9;
825
- filter: blur(8px);
826
965
 
827
966
  @media (pointer: fine) {
828
- transition-duration: 300ms;
829
- transition-delay: 500ms;
967
+ filter: blur(8px);
830
968
 
831
969
  @media (prefers-reduced-motion: reduce) {
832
- transition-duration: 100ms;
970
+ filter: blur(0);
833
971
  }
834
972
  }
835
973
 
836
974
  @media (prefers-reduced-motion: reduce) {
837
975
  scale: 1;
838
- filter: blur(0);
839
976
  }
840
977
  }
841
978
  }
842
979
 
980
+ /* Hide cursor when controls are hidden in fullscreen */
981
+ @media (pointer: fine) {
982
+ .media-default-skin--video:fullscreen:has(.media-controls:not([data-visible])) {
983
+ cursor: none;
984
+ }
985
+ }
986
+
843
987
  /* ==========================================================================
844
988
  Sliders
845
989
  ========================================================================== */
@@ -849,7 +993,31 @@
849
993
  box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
850
994
  }
851
995
 
852
- media-tooltip-group {
853
- display: contents;
996
+ .media-default-skin .media-slider__preview {
997
+ position: absolute;
998
+ left: var(--media-slider-pointer);
999
+ bottom: calc(100% + 1.2rem);
1000
+ translate: -50%;
1001
+ opacity: 0;
1002
+ scale: 0.8;
1003
+ filter: blur(8px);
1004
+ transition-property: scale, opacity, filter;
1005
+ transition-duration: 150ms;
1006
+ transition-timing-function: ease-out;
1007
+ transform-origin: bottom;
1008
+ pointer-events: none;
1009
+
1010
+ & .media-preview__thumbnail {
1011
+ max-width: 11rem;
1012
+ }
1013
+
1014
+ &:has(.media-preview__thumbnail[data-loading]) {
1015
+ max-height: 6rem;
1016
+ }
1017
+ }
1018
+ .media-default-skin .media-slider[data-pointing] .media-slider__preview:has([role="img"]:not([data-hidden])) {
1019
+ opacity: 1;
1020
+ scale: 1;
1021
+ filter: blur(0);
854
1022
  }
855
1023
 
@@ -9,6 +9,7 @@ import "../ui/pip-button.js";
9
9
  import "../ui/play-button.js";
10
10
  import "../ui/playback-rate-button.js";
11
11
  import "../ui/popover.js";
12
+ import "../ui/poster.js";
12
13
  import "../ui/seek-button.js";
13
14
  import "../ui/time.js";
14
15
  import "../ui/time-slider.js";
@@ -22,7 +23,7 @@ import { ReactiveElement } from "@videojs/element";
22
23
  //#region src/define/video/skin.ts
23
24
  const SEEK_TIME = 10;
24
25
  function getTemplateHTML() {
25
- 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-tooltip-group><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-tooltip-group></media-controls><div class="media-overlay"></div></media-container>`;
26
+ return `<media-container class="media-default-skin media-default-skin--video"><slot name="media"></slot><slot></slot><media-poster><slot name="poster"></slot></media-poster><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-tooltip-group><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><div class="media-surface media-preview media-slider__preview"><media-slider-thumbnail class="media-preview__thumbnail"></media-slider-thumbnail><media-slider-value type="pointer" class="media-preview__timestamp"></media-slider-value> ${renderIcon("spinner", { class: "media-preview__spinner media-icon" })} </div></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-enter", { class: "media-icon media-icon--pip-enter" })} ${renderIcon("pip-exit", { class: "media-icon media-icon--pip-exit" })} </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-tooltip-group></media-controls><div class="media-overlay"></div></media-container>`;
26
27
  }
27
28
  var VideoSkinElement = class extends SkinMixin(ReactiveElement) {
28
29
  static {
@@ -1 +1 @@
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/tooltip-group';\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-tooltip-group>\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-tooltip-group>\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":";;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB,4LAAA,WAAA,WAAA,EAAA,OAAA,cAAA,CAAA,CAAA,wNAAA,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"}
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/poster';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/tooltip-group';\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 <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <media-poster>\n <slot name=\"poster\"></slot>\n </media-poster>\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-tooltip-group>\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\n <div class=\"media-surface media-preview media-slider__preview\">\n <media-slider-thumbnail class=\"media-preview__thumbnail\"></media-slider-thumbnail>\n <media-slider-value type=\"pointer\" class=\"media-preview__timestamp\"></media-slider-value>\n ${renderIcon('spinner', { class: 'media-preview__spinner media-icon' })}\n </div>\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-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\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-tooltip-group>\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":";;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB,iQAAA,WAAA,WAAA,EAAA,OAAA,cAAA,CAAA,CAAA,wNAAA,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,yqBAAA,WAAA,WAAA,EAAA,OAAA,qCAAA,CAAA,CAAA,mgBAAA,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,aAAA,EAAA,OAAA,oCAAA,CAAA,CAAA,GAAA,WAAA,YAAA,EAAA,OAAA,mCAAA,CAAA,CAAA,8aAAA,WAAA,oBAAA,EAAA,OAAA,2CAAA,CAAA,CAAA,GAAA,WAAA,mBAAA,EAAA,OAAA,0CAAA,CAAA,CAAA;;AAGlB,IAAY,mBAAZ,cAA+B,UAAA,gBAAA,CAAA;;iBACb;;;;;;yBAEC"}