@videojs/html 10.0.0-beta.6 → 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 (326) 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 -5336
  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 -5336
  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 -378
  42. package/cdn/media/hls-video.dev.js.map +1 -1
  43. package/cdn/media/hls-video.js +21 -65
  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 -377
  47. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  48. package/cdn/media/simple-hls-video.js +1 -45
  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 +16 -5650
  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 +24 -5709
  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 +22 -20
  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 +19 -22
  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 +7 -7
  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 +6 -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 +101 -71
  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 +4 -2
  133. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  134. package/dist/default/define/video/skin.css +98 -72
  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 +4 -2
  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/controls.js +1 -1
  161. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  162. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  163. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  164. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +16 -0
  165. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  166. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +6 -5
  167. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  168. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +1 -1
  169. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  171. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  172. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  173. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  174. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +16 -0
  175. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  176. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  177. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  178. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
  179. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  180. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +5 -0
  181. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  182. package/dist/default/store/container-mixin.js +16 -72
  183. package/dist/default/store/container-mixin.js.map +1 -1
  184. package/dist/default/store/media-attach-mixin.js +45 -0
  185. package/dist/default/store/media-attach-mixin.js.map +1 -0
  186. package/dist/default/store/provider-mixin.js +99 -9
  187. package/dist/default/store/provider-mixin.js.map +1 -1
  188. package/dist/default/ui/popover/popover-element.js +54 -3
  189. package/dist/default/ui/popover/popover-element.js.map +1 -1
  190. package/dist/default/ui/time-slider/time-slider-element.js +1 -1
  191. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  192. package/dist/default/ui/tooltip/tooltip-element.js +53 -3
  193. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  194. package/dist/default/ui/volume-slider/volume-slider-element.js +3 -3
  195. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  196. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  197. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  198. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  199. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  200. package/dist/dev/_virtual/inline-css_src/define/base.js +1 -1
  201. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -1
  202. package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
  203. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
  204. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  205. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  206. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  207. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  208. package/dist/dev/define/audio/minimal-skin.css +22 -20
  209. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  210. package/dist/dev/define/audio/minimal-skin.js +2 -0
  211. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  212. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  213. package/dist/dev/define/audio/minimal-skin.tailwind.js +3 -1
  214. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  215. package/dist/dev/define/audio/skin.css +19 -22
  216. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  217. package/dist/dev/define/audio/skin.js +2 -0
  218. package/dist/dev/define/audio/skin.js.map +1 -1
  219. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  220. package/dist/dev/define/audio/skin.tailwind.js +5 -4
  221. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  222. package/dist/dev/define/background/skin.css +1 -1
  223. package/dist/dev/define/background/skin.d.ts.map +1 -1
  224. package/dist/dev/define/background/skin.js +3 -1
  225. package/dist/dev/define/background/skin.js.map +1 -1
  226. package/dist/dev/define/base.css +7 -7
  227. package/dist/dev/define/media/dash-video.d.ts +14 -0
  228. package/dist/dev/define/media/dash-video.d.ts.map +1 -0
  229. package/dist/dev/define/media/dash-video.js +14 -0
  230. package/dist/dev/define/media/dash-video.js.map +1 -0
  231. package/dist/dev/define/shared.css +6 -0
  232. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  233. package/dist/dev/define/skin-mixin.js +8 -3
  234. package/dist/dev/define/skin-mixin.js.map +1 -1
  235. package/dist/dev/define/video/minimal-skin.css +101 -71
  236. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  237. package/dist/dev/define/video/minimal-skin.js +10 -2
  238. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  239. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  240. package/dist/dev/define/video/minimal-skin.tailwind.js +13 -4
  241. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  242. package/dist/dev/define/video/skin.css +98 -72
  243. package/dist/dev/define/video/skin.d.ts.map +1 -1
  244. package/dist/dev/define/video/skin.js +9 -1
  245. package/dist/dev/define/video/skin.js.map +1 -1
  246. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  247. package/dist/dev/define/video/skin.tailwind.js +13 -4
  248. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  249. package/dist/dev/icons/dist/render/default/index.js +2 -1
  250. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  251. package/dist/dev/icons/dist/render/minimal/index.js +2 -1
  252. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  253. package/dist/dev/index.d.ts +5 -4
  254. package/dist/dev/index.js +3 -2
  255. package/dist/dev/media/background-video/index.d.ts +8 -1
  256. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  257. package/dist/dev/media/background-video/index.js +5 -1
  258. package/dist/dev/media/background-video/index.js.map +1 -1
  259. package/dist/dev/media/container-element.js +5 -2
  260. package/dist/dev/media/container-element.js.map +1 -1
  261. package/dist/dev/media/dash-video/index.d.ts +13 -0
  262. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  263. package/dist/dev/media/dash-video/index.js +26 -0
  264. package/dist/dev/media/dash-video/index.js.map +1 -0
  265. package/dist/dev/media/hls-video/index.d.ts +2 -1
  266. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  267. package/dist/dev/media/hls-video/index.js +2 -1
  268. package/dist/dev/media/hls-video/index.js.map +1 -1
  269. package/dist/dev/media/simple-hls-video/index.d.ts +2 -1
  270. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  271. package/dist/dev/media/simple-hls-video/index.js +2 -1
  272. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  273. package/dist/dev/player/context.d.ts +16 -2
  274. package/dist/dev/player/context.d.ts.map +1 -1
  275. package/dist/dev/player/context.js +6 -2
  276. package/dist/dev/player/context.js.map +1 -1
  277. package/dist/dev/player/create-player.d.ts +1 -1
  278. package/dist/dev/player/create-player.js +11 -3
  279. package/dist/dev/player/create-player.js.map +1 -1
  280. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +6 -5
  281. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  282. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  283. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  284. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  285. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  286. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +16 -0
  287. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  288. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +6 -5
  289. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  290. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +1 -1
  291. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  292. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  293. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  294. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  295. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  296. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +16 -0
  297. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  298. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  299. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  300. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
  301. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  302. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +5 -0
  303. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  304. package/dist/dev/store/container-mixin.d.ts +10 -5
  305. package/dist/dev/store/container-mixin.d.ts.map +1 -1
  306. package/dist/dev/store/container-mixin.js +16 -72
  307. package/dist/dev/store/container-mixin.js.map +1 -1
  308. package/dist/dev/store/media-attach-mixin.d.ts +19 -0
  309. package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
  310. package/dist/dev/store/media-attach-mixin.js +45 -0
  311. package/dist/dev/store/media-attach-mixin.js.map +1 -0
  312. package/dist/dev/store/provider-mixin.d.ts +19 -6
  313. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  314. package/dist/dev/store/provider-mixin.js +99 -9
  315. package/dist/dev/store/provider-mixin.js.map +1 -1
  316. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  317. package/dist/dev/ui/popover/popover-element.js +54 -3
  318. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  319. package/dist/dev/ui/time-slider/time-slider-element.js +1 -1
  320. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  321. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  322. package/dist/dev/ui/tooltip/tooltip-element.js +53 -3
  323. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  324. package/dist/dev/ui/volume-slider/volume-slider-element.js +3 -3
  325. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  326. 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 */
@@ -160,30 +166,6 @@
160
166
  border-radius: inherit;
161
167
  }
162
168
 
163
- /* ==========================================================================
164
- Poster Image
165
- ========================================================================== */
166
-
167
- .media-minimal-skin > img {
168
- position: absolute;
169
- inset: 0;
170
- width: 100%;
171
- height: 100%;
172
- object-fit: var(--media-object-fit, contain);
173
- object-position: var(--media-object-position, center);
174
- transition: opacity 0.25s;
175
- pointer-events: none;
176
- border-radius: inherit;
177
-
178
- &:not([data-visible]) {
179
- opacity: 0;
180
- }
181
- }
182
-
183
- /* ==========================================================================
184
- Fullscreen
185
- ========================================================================== */
186
-
187
169
  .media-minimal-skin:fullscreen ::slotted(video),
188
170
  .media-minimal-skin:fullscreen video {
189
171
  object-fit: contain;
@@ -269,7 +251,7 @@
269
251
  color: oklch(1 0 0);
270
252
  font-size: 0.875rem;
271
253
  text-shadow: 0 1px 0 oklch(0 0 0 / 0.5);
272
- transition-property: opacity, transform;
254
+ transition-property: opacity, scale;
273
255
  transition-duration: 500ms;
274
256
  transition-delay: 100ms;
275
257
  transition-timing-function: linear(
@@ -295,7 +277,7 @@
295
277
  .media-minimal-skin .media-error[data-starting-style] .media-error__dialog,
296
278
  .media-minimal-skin .media-error[data-ending-style] .media-error__dialog {
297
279
  opacity: 0;
298
- transform: scale(0.5);
280
+ scale: 0.5;
299
281
  }
300
282
 
301
283
  .media-minimal-skin .media-error__content {
@@ -312,6 +294,7 @@
312
294
 
313
295
  .media-minimal-skin .media-error__description {
314
296
  opacity: 0.7;
297
+ overflow-wrap: anywhere;
315
298
  }
316
299
 
317
300
  .media-minimal-skin .media-error__actions {
@@ -331,12 +314,12 @@
331
314
  container: media-controls / inline-size;
332
315
  display: flex;
333
316
  align-items: center;
334
- --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.25));
317
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
335
318
  --media-controls-current-shadow-color-subtle: oklch(
336
319
  from var(--media-controls-current-shadow-color) l c h /
337
320
  calc(alpha * 0.4)
338
321
  );
339
- text-shadow: 0 0 1px var(--media-controls-current-shadow-color);
322
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
340
323
  }
341
324
 
342
325
  /* ==========================================================================
@@ -410,7 +393,7 @@
410
393
  font-weight: 500;
411
394
  text-align: center;
412
395
  text-shadow: inherit;
413
- transition-property: background-color, color, outline-offset, transform;
396
+ transition-property: background-color, color, outline-offset, scale;
414
397
  transition-duration: 150ms;
415
398
  transition-timing-function: ease-out;
416
399
  cursor: pointer;
@@ -450,7 +433,7 @@
450
433
  }
451
434
 
452
435
  &:active {
453
- transform: scale(0.9);
436
+ scale: 0.9;
454
437
  }
455
438
 
456
439
  & .media-icon {
@@ -512,6 +495,43 @@
512
495
  scale: -1 1;
513
496
  }
514
497
 
498
+ /* ==========================================================================
499
+ Poster Image
500
+ ========================================================================== */
501
+
502
+ .media-minimal-skin media-poster,
503
+ .media-minimal-skin > img {
504
+ position: absolute;
505
+ inset: 0;
506
+ width: 100%;
507
+ height: 100%;
508
+ transition: opacity 0.25s;
509
+ pointer-events: none;
510
+ }
511
+ .media-minimal-skin media-poster:not([data-visible]),
512
+ .media-minimal-skin > img:not([data-visible]) {
513
+ opacity: 0;
514
+ }
515
+ .media-minimal-skin media-poster ::slotted(img) {
516
+ position: absolute;
517
+ inset: 0;
518
+ width: 100%;
519
+ height: 100%;
520
+ object-fit: var(--media-object-fit, contain);
521
+ object-position: var(--media-object-position, center);
522
+ border-radius: var(--media-video-border-radius);
523
+ }
524
+ .media-minimal-skin > img {
525
+ object-fit: var(--media-object-fit, contain);
526
+ object-position: var(--media-object-position, center);
527
+ border-radius: inherit;
528
+ }
529
+
530
+ .media-minimal-skin:fullscreen media-poster ::slotted(img),
531
+ .media-minimal-skin:fullscreen > img {
532
+ object-fit: contain;
533
+ }
534
+
515
535
  /* ==========================================================================
516
536
  Media preview
517
537
  ========================================================================== */
@@ -541,7 +561,7 @@
541
561
  position: absolute;
542
562
  top: 50%;
543
563
  left: 50%;
544
- transform: translate(-50%, -50%);
564
+ translate: -50% -50%;
545
565
  opacity: 0;
546
566
  }
547
567
 
@@ -609,7 +629,7 @@
609
629
  /* Thumb */
610
630
  .media-minimal-skin .media-slider__thumb {
611
631
  position: absolute;
612
- transform: translate(-50%, -50%);
632
+ translate: -50% -50%;
613
633
  z-index: 10;
614
634
  width: 0.75rem;
615
635
  height: 0.75rem;
@@ -712,13 +732,13 @@
712
732
  border: 0;
713
733
  color: inherit;
714
734
  overflow: visible;
715
- transition-property: transform, scale, opacity, filter;
735
+ transition-property: scale, opacity, filter;
716
736
  transition-duration: 150ms;
717
737
 
718
738
  &[data-starting-style],
719
739
  &[data-ending-style] {
720
740
  opacity: 0;
721
- transform: scale(0.5);
741
+ scale: 0.5;
722
742
  filter: blur(8px);
723
743
  }
724
744
 
@@ -812,30 +832,29 @@
812
832
  }
813
833
  }
814
834
 
835
+ .media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
836
+ display: none;
837
+ }
838
+
815
839
  /* ==========================================================================
816
840
  Native Caption Track
817
841
  ========================================================================== */
818
842
 
819
843
  .media-minimal-skin {
820
- --media-caption-track-duration: 150ms;
821
- --media-caption-track-delay: 600ms;
844
+ --media-caption-track-duration: var(--media-controls-transition-duration);
845
+ --media-caption-track-delay: calc(var(--media-controls-transition-delay) + 25ms);
822
846
  --media-caption-track-y: -0.5rem;
823
847
 
824
848
  &:has(.media-controls[data-visible]) {
825
- --media-caption-track-delay: 25ms;
826
849
  --media-caption-track-y: -3rem;
827
850
  }
828
-
829
- @media (prefers-reduced-motion: reduce) {
830
- --media-caption-track-duration: 50ms;
831
- }
832
851
  }
833
852
 
834
853
  .media-minimal-skin video::-webkit-media-text-track-container {
835
- /* NOTE: The delay must account for the controls delay/duration */
836
- transition: transform var(--media-caption-track-duration) ease-out;
854
+ transition: translate var(--media-caption-track-duration) ease-out;
837
855
  transition-delay: var(--media-caption-track-delay);
838
- transform: translateY(var(--media-caption-track-y)) scale(0.98);
856
+ translate: 0 var(--media-caption-track-y);
857
+ scale: 0.98;
839
858
  z-index: 1;
840
859
  font-family: inherit;
841
860
  }
@@ -846,14 +865,31 @@
846
865
  ========================================================================== */
847
866
 
848
867
  .media-minimal-skin--video {
868
+ overflow: clip;
849
869
  background: oklch(0 0 0);
850
870
  --media-border-color: oklch(0 0 0 / 0.15);
851
871
  --media-video-border-radius: var(--media-border-radius, 0.75rem);
872
+ --media-controls-transition-duration: 100ms;
873
+ --media-controls-transition-delay: 0ms;
852
874
 
853
875
  @media (prefers-color-scheme: dark) {
854
876
  --media-border-color: oklch(1 0 0 / 0.15);
855
877
  }
856
878
 
879
+ &:has(.media-controls:not([data-visible])) {
880
+ /* Slight delay to hide controls on non-touch devices after interaction */
881
+ @media (pointer: fine) {
882
+ --media-controls-transition-delay: 500ms;
883
+ --media-controls-transition-duration: 300ms;
884
+ }
885
+ @media (pointer: coarse) {
886
+ --media-controls-transition-duration: 150ms;
887
+ }
888
+ @media (prefers-reduced-motion: reduce) {
889
+ --media-controls-transition-duration: 100ms;
890
+ }
891
+ }
892
+
857
893
  /* Inner border ring */
858
894
  &::after {
859
895
  content: "";
@@ -882,39 +918,40 @@
882
918
  z-index: 10;
883
919
  gap: 0.5rem;
884
920
  padding: 2rem 0.375rem 0.375rem 0.375rem;
885
- color: oklch(1 0 0);
921
+ color: var(--media-color-primary, oklch(1 0 0));
922
+ transition-duration: var(--media-controls-transition-duration);
923
+ transition-delay: var(--media-controls-transition-delay);
924
+ transition-timing-function: ease-out;
886
925
 
887
926
  @media (pointer: fine) {
888
- will-change: transform, filter, opacity;
889
- transition-property: transform, filter, opacity;
890
- transition-duration: 75ms;
891
- transition-delay: 0ms;
892
- transition-timing-function: ease-out;
927
+ will-change: translate, filter, opacity;
928
+ transition-property: translate, filter, opacity;
893
929
  }
894
930
 
895
- @container media-root (width > 40rem) {
896
- gap: 0.875rem;
897
- padding: 2.5rem 0.75rem 0.75rem 0.75rem;
931
+ @media (pointer: coarse) {
932
+ will-change: translate, opacity;
933
+ transition-property: translate, opacity;
898
934
  }
899
935
 
900
936
  &:not([data-visible]) {
901
937
  opacity: 0;
902
938
  pointer-events: none;
939
+ translate: 0 100%;
903
940
 
904
941
  @media (pointer: fine) {
905
- transform: translateY(100%);
906
942
  filter: blur(8px);
907
- transition-duration: 500ms;
908
- transition-delay: 500ms;
909
-
910
- @media (prefers-reduced-motion: reduce) {
911
- scale: 1;
912
- transform: translateY(0);
913
- filter: blur(0);
914
- transition-duration: 100ms;
915
- }
943
+ }
944
+
945
+ @media (prefers-reduced-motion: reduce) {
946
+ translate: 0 0;
947
+ filter: blur(0);
916
948
  }
917
949
  }
950
+
951
+ @container media-root (width > 40rem) {
952
+ gap: 0.875rem;
953
+ padding: 2.5rem 0.75rem 0.75rem 0.75rem;
954
+ }
918
955
  }
919
956
 
920
957
  /* Hide cursor when controls are hidden in fullscreen */
@@ -954,6 +991,7 @@
954
991
  filter: blur(8px);
955
992
  transition-property: scale, opacity, filter;
956
993
  transition-duration: 150ms;
994
+ transition-timing-function: ease-out;
957
995
  transform-origin: bottom;
958
996
 
959
997
  & .media-preview__thumbnail-wrapper {
@@ -985,11 +1023,3 @@
985
1023
  filter: blur(0);
986
1024
  }
987
1025
 
988
- media-tooltip-group {
989
- display: contents;
990
- }
991
-
992
- :host {
993
- display: grid;
994
- }
995
-
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.d.ts","names":[],"sources":["../../../../src/define/video/minimal-skin.ts"],"mappings":";;;iBAwBS,eAAA,CAAA;AAAA,cAAe,4BAAA;;;;cA0HX,uBAAA,SAAgC,4BAAA;EAAA,gBAC3B,OAAA;EAAA,OACT,MAAA,EAAM,aAAA;EAAA,OACN,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,uBAAA,CAAwB,OAAA,GAAU,uBAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"minimal-skin.d.ts","names":[],"sources":["../../../../src/define/video/minimal-skin.ts"],"mappings":";;;iBAyBS,eAAA,CAAA;AAAA,cAAe,4BAAA;;;;cAiIX,uBAAA,SAAgC,4BAAA;EAAA,gBAC3B,OAAA;EAAA,OACT,MAAA,EAAM,aAAA;EAAA,OACN,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,uBAAA,CAAwB,OAAA,GAAU,uBAAA;EAAA;AAAA"}
@@ -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";
@@ -23,7 +24,13 @@ const SEEK_TIME = 10;
23
24
  function getTemplateHTML() {
24
25
  return `
25
26
  <media-container class="media-minimal-skin media-minimal-skin--video">
27
+ <!-- @deprecated slot="media" is no longer required, use the default slot instead -->
26
28
  <slot name="media"></slot>
29
+ <slot></slot>
30
+
31
+ <media-poster>
32
+ <slot name="poster"></slot>
33
+ </media-poster>
27
34
 
28
35
  <media-buffering-indicator class="media-buffering-indicator">
29
36
  ${renderIcon("spinner", { class: "media-icon" })}
@@ -117,8 +124,9 @@ function getTemplateHTML() {
117
124
  Toggle captions
118
125
  </media-tooltip>
119
126
 
120
- <media-pip-button commandfor="pip-tooltip" class="media-button media-button--icon">
121
- ${renderIcon("pip", { class: "media-icon" })}
127
+ <media-pip-button commandfor="pip-tooltip" class="media-button media-button--icon media-button--pip">
128
+ ${renderIcon("pip-enter", { class: "media-icon media-icon--pip-enter" })}
129
+ ${renderIcon("pip-exit", { class: "media-icon media-icon--pip-exit" })}
122
130
  </media-pip-button>
123
131
  <media-tooltip id="pip-tooltip" side="top" class="media-tooltip">
124
132
  <span class="media-tooltip-label media-tooltip-label--enter-pip">Enter picture-in-picture</span>
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.js","names":["styles"],"sources":["../../../../src/define/video/minimal-skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './minimal-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/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-minimal-skin media-minimal-skin--video\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </media-buffering-indicator>\n\n <media-controls class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-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-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-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-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value media-time__value--current\"></media-time>\n <media-time-separator class=\"media-time__separator\"></media-time-separator>\n <media-time type=\"duration\" class=\"media-time__value media-time__value--duration\"></media-time>\n </media-time-group>\n\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-preview media-slider__preview\">\n <div class=\"media-preview__thumbnail-wrapper\">\n <media-slider-thumbnail class=\"media-preview__thumbnail\"></media-slider-thumbnail>\n </div>\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 </div>\n\n <div class=\"media-button-group\">\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-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-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-tooltip\">\n Toggle captions\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-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-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 </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinElement.tagName, MinimalVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinElement.tagName]: MinimalVideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;UAKR,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;gBAOzC,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;gBACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;gBAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;;;;;6EAQF,CAAC,UAAU;;kBAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;kDAChC,UAAU;;;;8BAI9B,UAAU;;;4EAGoC,UAAU;;kBAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;kDACZ,UAAU;;;;6BAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;;;kBAuBrB,WAAW,WAAW,EAAE,OAAO,qCAAqC,CAAC,CAAC;;;;;;;;;;;;gBAYxE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;gBAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;gBAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;gBAO3E,WAAW,OAAO,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;gBAQ3C,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;gBACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;;;;AAenG,IAAa,0BAAb,cAA6C,UAAU,gBAAgB,CAAC;;iBAC5C;;;gBACV,aAAaA,qBAAO;;;yBACX;;;AAG3B,eAAe,OAAO,wBAAwB,SAAS,wBAAwB"}
1
+ {"version":3,"file":"minimal-skin.js","names":["styles"],"sources":["../../../../src/define/video/minimal-skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './minimal-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/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-minimal-skin media-minimal-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 ${renderIcon('spinner', { class: 'media-icon' })}\n </media-buffering-indicator>\n\n <media-controls class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-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-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-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-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value media-time__value--current\"></media-time>\n <media-time-separator class=\"media-time__separator\"></media-time-separator>\n <media-time type=\"duration\" class=\"media-time__value media-time__value--duration\"></media-time>\n </media-time-group>\n\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-preview media-slider__preview\">\n <div class=\"media-preview__thumbnail-wrapper\">\n <media-slider-thumbnail class=\"media-preview__thumbnail\"></media-slider-thumbnail>\n </div>\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 </div>\n\n <div class=\"media-button-group\">\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-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-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-tooltip\">\n Toggle captions\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-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-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 </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinElement.tagName, MinimalVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinElement.tagName]: MinimalVideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;;;;;;;UAWR,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;gBAOzC,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;gBACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;gBAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;;;;;6EAQF,CAAC,UAAU;;kBAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;kDAChC,UAAU;;;;8BAI9B,UAAU;;;4EAGoC,UAAU;;kBAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;kDACZ,UAAU;;;;6BAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;;;kBAuBrB,WAAW,WAAW,EAAE,OAAO,qCAAqC,CAAC,CAAC;;;;;;;;;;;;gBAYxE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;gBAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;gBAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;gBAO3E,WAAW,aAAa,EAAE,OAAO,oCAAoC,CAAC,CAAC;gBACvE,WAAW,YAAY,EAAE,OAAO,mCAAmC,CAAC,CAAC;;;;;;;;gBAQrE,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;gBACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;;;;AAenG,IAAa,0BAAb,cAA6C,UAAU,gBAAgB,CAAC;;iBAC5C;;;gBACV,aAAaA,qBAAO;;;yBACX;;;AAG3B,eAAe,OAAO,wBAAwB,SAAS,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"mappings":";;;iBA4CS,eAAA,CAAA;AAAA,cAAe,oCAAA;;;;cAoIX,+BAAA,SAAwC,oCAAA;EAAA,gBACnC,OAAA;EAAA,OACT,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,+BAAA,CAAgC,OAAA,GAAU,+BAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"mappings":";;;iBA8CS,eAAA,CAAA;AAAA,cAAe,oCAAA;;;;cA2IX,+BAAA,SAAwC,oCAAA;EAAA,gBACnC,OAAA;EAAA,OACT,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,+BAAA,CAAgC,OAAA,GAAU,+BAAA;EAAA;AAAA"}
@@ -9,6 +9,8 @@ import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minim
9
9
  import { seek } from "../../skins/dist/default/minimal/tailwind/components/seek.js";
10
10
  import { time } from "../../skins/dist/default/minimal/tailwind/components/time.js";
11
11
  import { overlay } from "../../skins/dist/default/minimal/tailwind/components/overlay.js";
12
+ import { playbackRate } from "../../skins/dist/default/minimal/tailwind/components/playback-rate.js";
13
+ import { poster } from "../../skins/dist/default/minimal/tailwind/components/poster.js";
12
14
  import { controls, popup, preview, root, slider } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
13
15
  import "../media/container.js";
14
16
  import "../ui/buffering-indicator.js";
@@ -20,13 +22,13 @@ import "../ui/pip-button.js";
20
22
  import "../ui/play-button.js";
21
23
  import "../ui/playback-rate-button.js";
22
24
  import "../ui/popover.js";
25
+ import "../ui/poster.js";
23
26
  import "../ui/seek-button.js";
24
27
  import "../ui/time.js";
25
28
  import "../ui/time-slider.js";
26
29
  import "../ui/tooltip.js";
27
30
  import "../ui/tooltip-group.js";
28
31
  import "../ui/volume-slider.js";
29
- import { playbackRate } from "../../skins/dist/default/default/tailwind/components/playback-rate.js";
30
32
  import { ReactiveElement } from "@videojs/element";
31
33
  import { cn } from "@videojs/utils/style";
32
34
 
@@ -35,14 +37,20 @@ const SEEK_TIME = 10;
35
37
  function getTemplateHTML() {
36
38
  return `
37
39
  <media-container class="${root(true)}">
40
+ <!-- @deprecated slot="media" is no longer required, use the default slot instead -->
38
41
  <slot name="media"></slot>
42
+ <slot></slot>
43
+
44
+ <media-poster class="${poster(true)}">
45
+ <slot name="poster"></slot>
46
+ </media-poster>
39
47
 
40
48
  <media-buffering-indicator class="${bufferingIndicator}">
41
49
  ${renderIcon("spinner")}
42
50
  </media-buffering-indicator>
43
51
 
44
52
  <media-controls data-controls="" class="${controls}">
45
- <media-tooltip-group class="contents">
53
+ <media-tooltip-group>
46
54
  <div class="${buttonGroup}">
47
55
  <span class="${tooltipState.play.wrapper}">
48
56
  <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
@@ -136,8 +144,9 @@ function getTemplateHTML() {
136
144
  </span>
137
145
 
138
146
  <span class="${tooltipState.pip.wrapper}">
139
- <media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon)}">
140
- ${renderIcon("pip", { class: icon })}
147
+ <media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon, iconState.pip.button)}">
148
+ ${renderIcon("pip-enter", { class: cn(icon, iconState.pip.off) })}
149
+ ${renderIcon("pip-exit", { class: cn(icon, iconState.pip.on) })}
141
150
  </media-pip-button>
142
151
  <media-tooltip id="pip-tooltip" side="top" class="${cn(popup.tooltip)}">
143
152
  <span class="${tooltipState.pip.enter}">Enter picture-in-picture</span>
@@ -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 icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n preview,\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/tooltip-group';\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 <media-tooltip-group class=\"contents\">\n <div 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 </div>\n\n <div 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\n <div class=\"${preview.root}\">\n <div class=\"${preview.thumbnailWrapper}\">\n <media-slider-thumbnail class=\"${preview.thumbnail}\"></media-slider-thumbnail>\n </div>\n <media-slider-value type=\"pointer\" class=\"${preview.timestamp}\"></media-slider-value>\n ${renderIcon('spinner', { class: cn(icon, preview.spinner) })}\n </div>\n </media-time-slider>\n </div>\n\n <div 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 </div>\n </media-tooltip-group>\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 playbackRate,\n popup,\n poster,\n preview,\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/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=\"${root(true)}\">\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 class=\"${poster(true)}\">\n <slot name=\"poster\"></slot>\n </media-poster>\n\n <media-buffering-indicator class=\"${bufferingIndicator}\">\n ${renderIcon('spinner')}\n </media-buffering-indicator>\n\n <media-controls data-controls=\"\" class=\"${controls}\">\n <media-tooltip-group>\n <div 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 </div>\n\n <div 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\n <div class=\"${preview.root}\">\n <div class=\"${preview.thumbnailWrapper}\">\n <media-slider-thumbnail class=\"${preview.thumbnail}\"></media-slider-thumbnail>\n </div>\n <media-slider-value type=\"pointer\" class=\"${preview.timestamp}\"></media-slider-value>\n ${renderIcon('spinner', { class: cn(icon, preview.spinner) })}\n </div>\n </media-time-slider>\n </div>\n\n <div 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, iconState.pip.button)}\">\n ${renderIcon('pip-enter', { class: cn(icon, iconState.pip.off) })}\n ${renderIcon('pip-exit', { class: cn(icon, iconState.pip.on) })}\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 </div>\n </media-tooltip-group>\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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"}