@videojs/html 10.0.0-alpha.9 → 10.0.0-beta.1

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 (284) hide show
  1. package/README.md +2 -2
  2. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  3. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  4. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +6 -0
  5. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  6. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  7. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  8. package/dist/default/_virtual/inline-css_src/define/video/skin.js +6 -0
  9. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  10. package/dist/default/define/audio/minimal-skin.css +630 -5
  11. package/dist/default/define/audio/minimal-skin.js +97 -9
  12. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  13. package/dist/default/define/audio/minimal-skin.tailwind.js +121 -0
  14. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -0
  15. package/dist/default/define/audio/skin.css +655 -6
  16. package/dist/default/define/audio/skin.js +88 -9
  17. package/dist/default/define/audio/skin.js.map +1 -1
  18. package/dist/default/define/audio/skin.tailwind.js +111 -0
  19. package/dist/default/define/audio/skin.tailwind.js.map +1 -0
  20. package/dist/default/define/media/simple-hls-video.js +13 -0
  21. package/dist/default/define/media/simple-hls-video.js.map +1 -0
  22. package/dist/default/define/skin-mixin.js +53 -19
  23. package/dist/default/define/skin-mixin.js.map +1 -1
  24. package/dist/default/define/video/minimal-skin.css +353 -234
  25. package/dist/default/define/video/minimal-skin.js +46 -17
  26. package/dist/default/define/video/minimal-skin.js.map +1 -1
  27. package/dist/default/define/video/minimal-skin.tailwind.js +77 -31
  28. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  29. package/dist/default/define/video/skin.css +381 -259
  30. package/dist/default/define/video/skin.js +46 -15
  31. package/dist/default/define/video/skin.js.map +1 -1
  32. package/dist/default/define/video/skin.tailwind.js +71 -28
  33. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  34. package/dist/default/icons/dist/render/default/index.js +13 -13
  35. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  36. package/dist/default/icons/dist/render/minimal/index.js +13 -13
  37. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  38. package/dist/default/media/simple-hls-video/index.js +21 -0
  39. package/dist/default/media/simple-hls-video/index.js.map +1 -0
  40. package/dist/default/player/create-player.js.map +1 -1
  41. package/dist/default/presets/audio.js +3 -1
  42. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
  43. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  44. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  45. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  46. package/dist/default/skins/dist/default/default/tailwind/components/button.js +12 -0
  47. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  48. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
  49. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  50. package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
  51. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  52. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  53. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  54. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
  55. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  56. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  57. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  58. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  59. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  60. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
  61. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  62. package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
  63. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  64. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
  65. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  66. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
  67. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  68. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
  69. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  70. package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
  71. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  72. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
  73. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
  74. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
  75. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  76. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
  77. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  78. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  79. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  80. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  81. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  82. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  83. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  84. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  85. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  86. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  87. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  88. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  89. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  90. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  91. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  92. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  93. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  94. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  95. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  96. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  97. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  98. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  99. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  100. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  101. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  102. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  103. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  104. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
  105. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
  106. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
  107. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  108. package/dist/default/store/container-mixin.js +17 -3
  109. package/dist/default/store/container-mixin.js.map +1 -1
  110. package/dist/default/ui/popover/popover-element.js +3 -1
  111. package/dist/default/ui/popover/popover-element.js.map +1 -1
  112. package/dist/default/ui/slider/slider-element.js +3 -3
  113. package/dist/default/ui/slider/slider-element.js.map +1 -1
  114. package/dist/default/ui/time-slider/time-slider-element.js +3 -3
  115. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  116. package/dist/default/ui/tooltip/tooltip-element.js +3 -1
  117. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  118. package/dist/default/ui/volume-slider/volume-slider-element.js +3 -3
  119. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  120. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  121. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  122. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +6 -0
  123. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  124. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  125. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  126. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +6 -0
  127. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  128. package/dist/dev/define/audio/minimal-skin.css +630 -5
  129. package/dist/dev/define/audio/minimal-skin.d.ts +6 -2
  130. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  131. package/dist/dev/define/audio/minimal-skin.js +97 -9
  132. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  133. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +20 -0
  134. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -0
  135. package/dist/dev/define/audio/minimal-skin.tailwind.js +121 -0
  136. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -0
  137. package/dist/dev/define/audio/player.d.ts +0 -1
  138. package/dist/dev/define/audio/player.d.ts.map +1 -1
  139. package/dist/dev/define/audio/skin.css +655 -6
  140. package/dist/dev/define/audio/skin.d.ts +6 -2
  141. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  142. package/dist/dev/define/audio/skin.js +88 -9
  143. package/dist/dev/define/audio/skin.js.map +1 -1
  144. package/dist/dev/define/audio/skin.tailwind.d.ts +20 -0
  145. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -0
  146. package/dist/dev/define/audio/skin.tailwind.js +111 -0
  147. package/dist/dev/define/audio/skin.tailwind.js.map +1 -0
  148. package/dist/dev/define/background/player.d.ts +0 -1
  149. package/dist/dev/define/background/player.d.ts.map +1 -1
  150. package/dist/dev/define/media/simple-hls-video.d.ts +14 -0
  151. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -0
  152. package/dist/dev/define/media/simple-hls-video.js +13 -0
  153. package/dist/dev/define/media/simple-hls-video.js.map +1 -0
  154. package/dist/dev/define/skin-mixin.d.ts +12 -4
  155. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  156. package/dist/dev/define/skin-mixin.js +53 -19
  157. package/dist/dev/define/skin-mixin.js.map +1 -1
  158. package/dist/dev/define/video/minimal-skin.css +353 -234
  159. package/dist/dev/define/video/minimal-skin.d.ts +5 -14
  160. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  161. package/dist/dev/define/video/minimal-skin.js +46 -17
  162. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  163. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -14
  164. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  165. package/dist/dev/define/video/minimal-skin.tailwind.js +77 -31
  166. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  167. package/dist/dev/define/video/player.d.ts +0 -1
  168. package/dist/dev/define/video/player.d.ts.map +1 -1
  169. package/dist/dev/define/video/skin.css +381 -259
  170. package/dist/dev/define/video/skin.d.ts +5 -14
  171. package/dist/dev/define/video/skin.d.ts.map +1 -1
  172. package/dist/dev/define/video/skin.js +46 -15
  173. package/dist/dev/define/video/skin.js.map +1 -1
  174. package/dist/dev/define/video/skin.tailwind.d.ts +4 -14
  175. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  176. package/dist/dev/define/video/skin.tailwind.js +71 -28
  177. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  178. package/dist/dev/icons/dist/render/default/index.js +13 -13
  179. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  180. package/dist/dev/icons/dist/render/minimal/index.js +13 -13
  181. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  182. package/dist/dev/index.d.ts +2 -2
  183. package/dist/dev/media/container-element.d.ts +0 -1
  184. package/dist/dev/media/container-element.d.ts.map +1 -1
  185. package/dist/dev/media/simple-hls-video/index.d.ts +11 -0
  186. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
  187. package/dist/dev/media/simple-hls-video/index.js +21 -0
  188. package/dist/dev/media/simple-hls-video/index.js.map +1 -0
  189. package/dist/dev/player/create-player.d.ts +1 -1
  190. package/dist/dev/player/create-player.js.map +1 -1
  191. package/dist/dev/presets/audio.d.ts +3 -1
  192. package/dist/dev/presets/audio.js +3 -1
  193. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
  194. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  195. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  196. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  197. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +12 -0
  198. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  199. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
  200. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  201. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
  202. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  203. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  204. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  205. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
  206. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  207. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  208. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  209. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  210. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  211. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
  212. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  213. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
  214. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  215. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
  216. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  217. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
  218. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  219. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
  220. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  221. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
  222. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  223. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
  224. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
  225. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
  226. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  227. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
  228. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  229. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  230. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  231. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  232. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  233. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  234. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  235. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  236. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  237. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  238. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  239. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  240. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  241. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  242. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  243. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  244. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  245. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  246. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  247. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  248. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  249. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  250. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  251. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  252. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  253. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  254. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  255. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
  256. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
  257. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
  258. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  259. package/dist/dev/store/container-mixin.d.ts +1 -1
  260. package/dist/dev/store/container-mixin.js +17 -3
  261. package/dist/dev/store/container-mixin.js.map +1 -1
  262. package/dist/dev/store/provider-mixin.d.ts +1 -1
  263. package/dist/dev/ui/popover/popover-element.js +3 -1
  264. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  265. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  266. package/dist/dev/ui/slider/slider-element.js +3 -3
  267. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  268. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  269. package/dist/dev/ui/time-slider/time-slider-element.js +3 -3
  270. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  271. package/dist/dev/ui/tooltip/tooltip-element.js +3 -1
  272. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  273. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  274. package/dist/dev/ui/volume-slider/volume-slider-element.js +3 -3
  275. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  276. package/package.json +8 -7
  277. package/dist/default/skins/dist/default/video/default.tailwind.js +0 -90
  278. package/dist/default/skins/dist/default/video/default.tailwind.js.map +0 -1
  279. package/dist/default/skins/dist/default/video/minimal.tailwind.js +0 -86
  280. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +0 -1
  281. package/dist/dev/skins/dist/default/video/default.tailwind.js +0 -90
  282. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +0 -1
  283. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +0 -86
  284. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import { bufferingIndicator as bufferingIndicator$1 } from "./components/buffering.js";
2
+ import { controls as controls$1 } from "./components/controls.js";
3
+ import { error as error$1 } from "./components/error.js";
4
+ import { popup as popup$1 } from "./components/popup.js";
5
+ import { slider as slider$1 } from "./components/slider.js";
6
+ import { surface as surface$1 } from "./components/surface.js";
7
+ import { button } from "./components/button.js";
8
+ import { icon, iconContainer, iconFlipped } from "./components/icon.js";
9
+ import { playbackRate } from "./components/playback-rate.js";
10
+ import { root as root$1 } from "./components/root.js";
11
+ import { seek } from "./components/seek.js";
12
+ import { time } from "./components/time.js";
13
+ import { iconState } from "./components/icon-state.js";
14
+ import { overlay } from "./components/overlay.js";
15
+ import { tooltipState } from "./components/tooltip-state.js";
16
+ import { cn } from "@videojs/utils/style";
17
+
18
+ //#region ../skins/dist/default/default/tailwind/video.tailwind.js
19
+ const root = (isShadowDOM) => cn(root$1, "bg-black", "after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10", "after:inset-0 after:ring-1 after:ring-inset after:ring-black/10 dark:after:ring-white/10", {
20
+ "[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,2rem)": isShadowDOM,
21
+ "[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]": !isShadowDOM
22
+ }, "[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]", "[&>img]:object-cover [&>img]:pointer-events-none", "[&>img]:transition-opacity [&>img]:duration-250", "[&>img:not([data-visible])]:opacity-0", "[--media-caption-track-delay:600ms]", "[--media-caption-track-y:-0.5rem]", "has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]", "has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]", !isShadowDOM ? [
23
+ "[&_video::-webkit-media-text-track-container]:transition-transform",
24
+ "[&_video::-webkit-media-text-track-container]:duration-150",
25
+ "[&_video::-webkit-media-text-track-container]:ease-out",
26
+ "[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)",
27
+ "[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)",
28
+ "[&_video::-webkit-media-text-track-container]:scale-98",
29
+ "[&_video::-webkit-media-text-track-container]:z-1",
30
+ "[&_video::-webkit-media-text-track-container]:font-[inherit]",
31
+ "motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50"
32
+ ] : [], "[&:fullscreen]:rounded-none");
33
+ const surface = cn(surface$1, "bg-white/10", "backdrop-brightness-90 backdrop-saturate-150 backdrop-blur-3xl", "ring-white/5 shadow-black/10", "after:ring-black/15", "[@media(prefers-reduced-transparency:reduce)]:bg-black/70", "contrast-more:bg-black/90");
34
+ const controls = cn(controls$1, surface, "absolute bottom-3 inset-x-3", "text-white z-10", "will-change-[scale,transform,filter,opacity]", "transition-[scale,transform,filter,opacity] ease-out", "delay-0 duration-100 origin-bottom", "not-data-visible:pointer-events-none not-data-visible:blur-sm", "not-data-visible:scale-90 not-data-visible:opacity-0", "not-data-visible:delay-500 not-data-visible:duration-300", "motion-reduce:not-data-visible:duration-100", "motion-reduce:not-data-visible:blur-none", "motion-reduce:not-data-visible:scale-100");
35
+ const slider = {
36
+ ...slider$1,
37
+ track: cn(slider$1.track, "bg-white/20 shadow-[0_0_0_1px_oklch(0_0_0/0.05)]")
38
+ };
39
+ const popup = {
40
+ ...popup$1,
41
+ popover: cn(surface, popup$1.popover),
42
+ tooltip: cn(surface, popup$1.tooltip)
43
+ };
44
+ const bufferingIndicator = {
45
+ ...bufferingIndicator$1,
46
+ container: cn(bufferingIndicator$1.container, surface)
47
+ };
48
+ const error = {
49
+ ...error$1,
50
+ dialog: cn(error$1.dialog, surface)
51
+ };
52
+
53
+ //#endregion
54
+ export { bufferingIndicator, controls, error, popup, root, slider };
55
+ //# sourceMappingURL=video.tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.tailwind.js","names":[],"sources":["../../../../../../../../skins/dist/default/default/tailwind/video.tailwind.js"],"sourcesContent":["import { bufferingIndicator as bufferingIndicator$1 } from \"./components/buffering.js\";\nimport { controls as controls$1 } from \"./components/controls.js\";\nimport { error as error$1 } from \"./components/error.js\";\nimport { popup as popup$1 } from \"./components/popup.js\";\nimport { slider as slider$1 } from \"./components/slider.js\";\nimport { surface as surface$1 } from \"./components/surface.js\";\nimport { button } from \"./components/button.js\";\nimport { icon, iconContainer, iconFlipped, iconHidden } from \"./components/icon.js\";\nimport { playbackRate } from \"./components/playback-rate.js\";\nimport { root as root$1 } from \"./components/root.js\";\nimport { seek } from \"./components/seek.js\";\nimport { time } from \"./components/time.js\";\nimport { captions } from \"./components/captions.js\";\nimport { iconState } from \"./components/icon-state.js\";\nimport { overlay } from \"./components/overlay.js\";\nimport { tooltipState } from \"./components/tooltip-state.js\";\nimport { cn } from \"@videojs/utils/style\";\n\n//#region src/default/tailwind/video.tailwind.ts\nconst root = (isShadowDOM) => cn(root$1, \"bg-black\", \"after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10\", \"after:inset-0 after:ring-1 after:ring-inset after:ring-black/10 dark:after:ring-white/10\", {\n\t\"[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,2rem)\": isShadowDOM,\n\t\"[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]\": !isShadowDOM\n}, \"[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]\", \"[&>img]:object-cover [&>img]:pointer-events-none\", \"[&>img]:transition-opacity [&>img]:duration-250\", \"[&>img:not([data-visible])]:opacity-0\", \"[--media-caption-track-delay:600ms]\", \"[--media-caption-track-y:-0.5rem]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]\", !isShadowDOM ? [\n\t\"[&_video::-webkit-media-text-track-container]:transition-transform\",\n\t\"[&_video::-webkit-media-text-track-container]:duration-150\",\n\t\"[&_video::-webkit-media-text-track-container]:ease-out\",\n\t\"[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)\",\n\t\"[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)\",\n\t\"[&_video::-webkit-media-text-track-container]:scale-98\",\n\t\"[&_video::-webkit-media-text-track-container]:z-1\",\n\t\"[&_video::-webkit-media-text-track-container]:font-[inherit]\",\n\t\"motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50\"\n] : [], \"[&:fullscreen]:rounded-none\");\nconst surface = cn(surface$1, \"bg-white/10\", \"backdrop-brightness-90 backdrop-saturate-150 backdrop-blur-3xl\", \"ring-white/5 shadow-black/10\", \"after:ring-black/15\", \"[@media(prefers-reduced-transparency:reduce)]:bg-black/70\", \"contrast-more:bg-black/90\");\nconst controls = cn(controls$1, surface, \"absolute bottom-3 inset-x-3\", \"text-white z-10\", \"will-change-[scale,transform,filter,opacity]\", \"transition-[scale,transform,filter,opacity] ease-out\", \"delay-0 duration-100 origin-bottom\", \"not-data-visible:pointer-events-none not-data-visible:blur-sm\", \"not-data-visible:scale-90 not-data-visible:opacity-0\", \"not-data-visible:delay-500 not-data-visible:duration-300\", \"motion-reduce:not-data-visible:duration-100\", \"motion-reduce:not-data-visible:blur-none\", \"motion-reduce:not-data-visible:scale-100\");\nconst slider = {\n\t...slider$1,\n\ttrack: cn(slider$1.track, \"bg-white/20 shadow-[0_0_0_1px_oklch(0_0_0/0.05)]\")\n};\nconst popup = {\n\t...popup$1,\n\tpopover: cn(surface, popup$1.popover),\n\ttooltip: cn(surface, popup$1.tooltip)\n};\nconst bufferingIndicator = {\n\t...bufferingIndicator$1,\n\tcontainer: cn(bufferingIndicator$1.container, surface)\n};\nconst error = {\n\t...error$1,\n\tdialog: cn(error$1.dialog, surface)\n};\n\n//#endregion\nexport { bufferingIndicator, button, captions, controls, error, icon, iconContainer, iconFlipped, iconHidden, iconState, overlay, playbackRate, popup, root, seek, slider, surface, time, tooltipState };\n//# sourceMappingURL=video.tailwind.js.map"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,MAAM,QAAQ,gBAAgB,GAAG,QAAQ,YAAY,+EAA+E,4FAA4F;CAC/N,gJAAgJ;CAChJ,iFAAiF,CAAC;CAClF,EAAE,4FAA4F,oDAAoD,mDAAmD,yCAAyC,uCAAuC,qCAAqC,0EAA0E,yEAAyE,CAAC,cAAc;CAC5d;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG,EAAE,EAAE,8BAA8B;AACtC,MAAM,UAAU,GAAG,WAAW,eAAe,kEAAkE,gCAAgC,uBAAuB,6DAA6D,4BAA4B;AAC/P,MAAM,WAAW,GAAG,YAAY,SAAS,+BAA+B,mBAAmB,gDAAgD,wDAAwD,sCAAsC,iEAAiE,wDAAwD,4DAA4D,+CAA+C,4CAA4C,2CAA2C;AACpiB,MAAM,SAAS;CACd,GAAG;CACH,OAAO,GAAG,SAAS,OAAO,mDAAmD;CAC7E;AACD,MAAM,QAAQ;CACb,GAAG;CACH,SAAS,GAAG,SAAS,QAAQ,QAAQ;CACrC,SAAS,GAAG,SAAS,QAAQ,QAAQ;CACrC;AACD,MAAM,qBAAqB;CAC1B,GAAG;CACH,WAAW,GAAG,qBAAqB,WAAW,QAAQ;CACtD;AACD,MAAM,QAAQ;CACb,GAAG;CACH,QAAQ,GAAG,QAAQ,QAAQ,QAAQ;CACnC"}
@@ -0,0 +1,44 @@
1
+ import { controls as controls$1 } from "./components/controls.js";
2
+ import { popup as popup$1 } from "./components/popup.js";
3
+ import { root as root$1 } from "./components/root.js";
4
+ import { bufferingIndicator } from "./components/buffering.js";
5
+ import { button } from "./components/button.js";
6
+ import { buttonGroup } from "./components/button-group.js";
7
+ import { error } from "./components/error.js";
8
+ import { icon, iconContainer, iconFlipped } from "./components/icon.js";
9
+ import { seek } from "./components/seek.js";
10
+ import { slider } from "./components/slider.js";
11
+ import { time } from "./components/time.js";
12
+ import { cn } from "@videojs/utils/style";
13
+
14
+ //#region ../skins/dist/default/minimal/tailwind/audio.tailwind.js
15
+ const root = cn(root$1, "[--media-controls-background-color:oklch(1_0_0)]", "[--media-controls-border-color:oklch(0_0_0/0.1)]", "[--media-controls-text-color:oklch(0_0_0)]", "dark:[--media-controls-background-color:oklch(0_0_0)]", "dark:[--media-controls-border-color:oklch(1_0_0/0.1)]", "dark:[--media-controls-text-color:oklch(1_0_0)]");
16
+ const controls = cn(controls$1, "gap-2 p-1.5", "rounded-(--media-border-radius,0.75rem)", "bg-(--media-controls-background-color)", "text-(--media-controls-text-color)", "backdrop-blur backdrop-brightness-[0.98] backdrop-saturate-[1.2]", "ring-1 ring-(color:--media-controls-border-color)");
17
+ const tooltipState = { play: {
18
+ wrapper: "contents group/play-tip",
19
+ replay: "hidden group-has-data-ended/play-tip:block",
20
+ play: "hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block",
21
+ pause: "hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block"
22
+ } };
23
+ const popup = {
24
+ ...popup$1,
25
+ volume: cn("py-2 pr-0 pl-16", "bg-transparent bg-gradient-to-l from-(--media-controls-background-color) from-80% to-transparent", "[--media-popover-side-offset:0.75rem]")
26
+ };
27
+ const iconState = {
28
+ play: {
29
+ button: "group",
30
+ restart: "hidden opacity-0 group-data-ended:block group-data-ended:opacity-100",
31
+ play: "hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100",
32
+ pause: "hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100"
33
+ },
34
+ mute: {
35
+ button: "group",
36
+ volumeOff: "hidden opacity-0 group-data-muted:block group-data-muted:opacity-100",
37
+ volumeLow: "hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100",
38
+ volumeHigh: "hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100"
39
+ }
40
+ };
41
+
42
+ //#endregion
43
+ export { controls, iconState, popup, root, tooltipState };
44
+ //# sourceMappingURL=audio.tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.tailwind.js","names":[],"sources":["../../../../../../../../skins/dist/default/minimal/tailwind/audio.tailwind.js"],"sourcesContent":["import { controls as controls$1 } from \"./components/controls.js\";\nimport { popup as popup$1 } from \"./components/popup.js\";\nimport { root as root$1 } from \"./components/root.js\";\nimport { bufferingIndicator } from \"./components/buffering.js\";\nimport { button } from \"./components/button.js\";\nimport { buttonGroup } from \"./components/button-group.js\";\nimport { error } from \"./components/error.js\";\nimport { icon, iconContainer, iconFlipped, iconHidden } from \"./components/icon.js\";\nimport { seek } from \"./components/seek.js\";\nimport { slider } from \"./components/slider.js\";\nimport { time } from \"./components/time.js\";\nimport { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/audio.tailwind.ts\nconst root = cn(root$1, \"[--media-controls-background-color:oklch(1_0_0)]\", \"[--media-controls-border-color:oklch(0_0_0/0.1)]\", \"[--media-controls-text-color:oklch(0_0_0)]\", \"dark:[--media-controls-background-color:oklch(0_0_0)]\", \"dark:[--media-controls-border-color:oklch(1_0_0/0.1)]\", \"dark:[--media-controls-text-color:oklch(1_0_0)]\");\nconst controls = cn(controls$1, \"gap-2 p-1.5\", \"rounded-(--media-border-radius,0.75rem)\", \"bg-(--media-controls-background-color)\", \"text-(--media-controls-text-color)\", \"backdrop-blur backdrop-brightness-[0.98] backdrop-saturate-[1.2]\", \"ring-1 ring-(color:--media-controls-border-color)\");\nconst tooltipState = { play: {\n\twrapper: \"contents group/play-tip\",\n\treplay: \"hidden group-has-data-ended/play-tip:block\",\n\tplay: \"hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block\",\n\tpause: \"hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block\"\n} };\nconst popup = {\n\t...popup$1,\n\tvolume: cn(\"py-2 pr-0 pl-16\", \"bg-transparent bg-gradient-to-l from-(--media-controls-background-color) from-80% to-transparent\", \"[--media-popover-side-offset:0.75rem]\")\n};\nconst iconState = {\n\tplay: {\n\t\tbutton: \"group\",\n\t\trestart: \"hidden opacity-0 group-data-ended:block group-data-ended:opacity-100\",\n\t\tplay: \"hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100\",\n\t\tpause: \"hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100\"\n\t},\n\tmute: {\n\t\tbutton: \"group\",\n\t\tvolumeOff: \"hidden opacity-0 group-data-muted:block group-data-muted:opacity-100\",\n\t\tvolumeLow: \"hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100\",\n\t\tvolumeHigh: \"hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100\"\n\t}\n};\n\n//#endregion\nexport { bufferingIndicator, button, buttonGroup, controls, error, icon, iconContainer, iconFlipped, iconHidden, iconState, popup, root, seek, slider, time, tooltipState };\n//# sourceMappingURL=audio.tailwind.js.map"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,OAAO,GAAG,QAAQ,oDAAoD,oDAAoD,8CAA8C,yDAAyD,yDAAyD,kDAAkD;AAClV,MAAM,WAAW,GAAG,YAAY,eAAe,2CAA2C,0CAA0C,sCAAsC,oEAAoE,oDAAoD;AAClS,MAAM,eAAe,EAAE,MAAM;CAC5B,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,EAAE;AACH,MAAM,QAAQ;CACb,GAAG;CACH,QAAQ,GAAG,mBAAmB,oGAAoG,wCAAwC;CAC1K;AACD,MAAM,YAAY;CACjB,MAAM;EACL,QAAQ;EACR,SAAS;EACT,MAAM;EACN,OAAO;EACP;CACD,MAAM;EACL,QAAQ;EACR,WAAW;EACX,WAAW;EACX,YAAY;EACZ;CACD"}
@@ -0,0 +1,6 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/buffering.js
2
+ const bufferingIndicator = "absolute inset-0 hidden items-center justify-center pointer-events-none text-white data-visible:flex";
3
+
4
+ //#endregion
5
+ export { bufferingIndicator };
6
+ //# sourceMappingURL=buffering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffering.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/buffering.js"],"sourcesContent":["//#region src/minimal/tailwind/components/buffering.ts\nconst bufferingIndicator = \"absolute inset-0 hidden items-center justify-center pointer-events-none text-white data-visible:flex\";\n\n//#endregion\nexport { bufferingIndicator };\n//# sourceMappingURL=buffering.js.map"],"mappings":";AACA,MAAM,qBAAqB"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/button-group.js
4
+ const buttonGroup = cn("flex items-center gap-[0.075rem]", "@2xl/media-root:gap-0.5");
5
+
6
+ //#endregion
7
+ export { buttonGroup };
8
+ //# sourceMappingURL=button-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/button-group.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/button-group.ts\nconst buttonGroup = cn(\"flex items-center gap-[0.075rem]\", \"@2xl/media-root:gap-0.5\");\n\n//#endregion\nexport { buttonGroup };\n//# sourceMappingURL=button-group.js.map"],"mappings":";;;AAGA,MAAM,cAAc,GAAG,oCAAoC,0BAA0B"}
@@ -0,0 +1,12 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/button.js
4
+ const button = {
5
+ base: cn("items-center justify-center shrink-0 border-none cursor-pointer select-none text-center", "outline-2 outline-transparent -outline-offset-2", "font-medium text-shadow-inherit", "transition-[background-color,color,outline-offset,scale] duration-150 ease-out", "focus-visible:outline-current focus-visible:outline-offset-2", "disabled:cursor-not-allowed disabled:opacity-50 disabled:grayscale", "data-[availability=unavailable]:hidden"),
6
+ icon: cn("grid w-[2.375rem] aspect-square bg-transparent rounded-lg", "text-inherit", "hover:text-current/80 hover:no-underline", "focus-visible:text-current/80", "aria-expanded:text-current/80", "active:scale-90"),
7
+ default: cn("flex py-2 px-4 bg-white rounded-lg", "text-black")
8
+ };
9
+
10
+ //#endregion
11
+ export { button };
12
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/button.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/button.ts\nconst button = {\n\tbase: cn(\"items-center justify-center shrink-0 border-none cursor-pointer select-none text-center\", \"outline-2 outline-transparent -outline-offset-2\", \"font-medium text-shadow-inherit\", \"transition-[background-color,color,outline-offset,scale] duration-150 ease-out\", \"focus-visible:outline-current focus-visible:outline-offset-2\", \"disabled:cursor-not-allowed disabled:opacity-50 disabled:grayscale\", \"data-[availability=unavailable]:hidden\"),\n\ticon: cn(\"grid w-[2.375rem] aspect-square bg-transparent rounded-lg\", \"text-inherit\", \"hover:text-current/80 hover:no-underline\", \"focus-visible:text-current/80\", \"aria-expanded:text-current/80\", \"active:scale-90\"),\n\tdefault: cn(\"flex py-2 px-4 bg-white rounded-lg\", \"text-black\")\n};\n\n//#endregion\nexport { button };\n//# sourceMappingURL=button.js.map"],"mappings":";;;AAGA,MAAM,SAAS;CACd,MAAM,GAAG,2FAA2F,mDAAmD,mCAAmC,kFAAkF,gEAAgE,sEAAsE,yCAAyC;CAC3b,MAAM,GAAG,6DAA6D,gBAAgB,4CAA4C,iCAAiC,iCAAiC,kBAAkB;CACtN,SAAS,GAAG,sCAAsC,aAAa;CAC/D"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/controls.js
4
+ const controls = cn("peer/controls", "@container/media-controls", "flex items-center", "[--media-controls-current-shadow-color:oklch(from_currentColor_0_0_0/clamp(0,calc((l-0.5)*0.5),0.25))]", "[--media-controls-current-shadow-color-subtle:oklch(from_var(--media-controls-current-shadow-color)_l_c_h/calc(alpha*0.4))]", "text-shadow-[0_0_1px_var(--media-controls-current-shadow-color)]");
5
+
6
+ //#endregion
7
+ export { controls };
8
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/controls.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/controls.ts\nconst controls = cn(\"peer/controls\", \"@container/media-controls\", \"flex items-center\", \"[--media-controls-current-shadow-color:oklch(from_currentColor_0_0_0/clamp(0,calc((l-0.5)*0.5),0.25))]\", \"[--media-controls-current-shadow-color-subtle:oklch(from_var(--media-controls-current-shadow-color)_l_c_h/calc(alpha*0.4))]\", \"text-shadow-[0_0_1px_var(--media-controls-current-shadow-color)]\");\n\n//#endregion\nexport { controls };\n//# sourceMappingURL=controls.js.map"],"mappings":";;;AAGA,MAAM,WAAW,GAAG,iBAAiB,6BAA6B,qBAAqB,0GAA0G,+HAA+H,mEAAmE"}
@@ -0,0 +1,15 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/error.js
4
+ const error = {
5
+ root: "peer/error group/error flex absolute inset-0 z-20 items-center justify-center",
6
+ dialog: cn("flex flex-col gap-3 max-w-64 p-4 text-white text-sm", "text-shadow-2xs text-shadow-black/50", "transition-[opacity,scale,transform] duration-500 delay-100", "ease-[linear(0,0.034_1.5%,0.763_9.7%,1.066_13.9%,1.198_19.9%,1.184_21.8%,0.963_37.5%,0.997_50.9%,1)]", "group-data-starting-style/error:opacity-0 group-data-starting-style/error:scale-50", "group-data-ending-style/error:opacity-0 group-data-ending-style/error:scale-50", "motion-reduce:duration-100 motion-reduce:ease-out motion-reduce:delay-0"),
7
+ content: "flex flex-col gap-2 py-1.5",
8
+ title: "font-semibold leading-tight",
9
+ description: "opacity-70",
10
+ actions: "flex gap-2 *:flex-1"
11
+ };
12
+
13
+ //#endregion
14
+ export { error };
15
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/error.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/error.ts\nconst error = {\n\troot: \"peer/error group/error flex absolute inset-0 z-20 items-center justify-center\",\n\tdialog: cn(\"flex flex-col gap-3 max-w-64 p-4 text-white text-sm\", \"text-shadow-2xs text-shadow-black/50\", \"transition-[opacity,scale,transform] duration-500 delay-100\", \"ease-[linear(0,0.034_1.5%,0.763_9.7%,1.066_13.9%,1.198_19.9%,1.184_21.8%,0.963_37.5%,0.997_50.9%,1)]\", \"group-data-starting-style/error:opacity-0 group-data-starting-style/error:scale-50\", \"group-data-ending-style/error:opacity-0 group-data-ending-style/error:scale-50\", \"motion-reduce:duration-100 motion-reduce:ease-out motion-reduce:delay-0\"),\n\tcontent: \"flex flex-col gap-2 py-1.5\",\n\ttitle: \"font-semibold leading-tight\",\n\tdescription: \"opacity-70\",\n\tactions: \"flex gap-2 *:flex-1\"\n};\n\n//#endregion\nexport { error };\n//# sourceMappingURL=error.js.map"],"mappings":";;;AAGA,MAAM,QAAQ;CACb,MAAM;CACN,QAAQ,GAAG,uDAAuD,wCAAwC,+DAA+D,wGAAwG,sFAAsF,kFAAkF,0EAA0E;CACngB,SAAS;CACT,OAAO;CACP,aAAa;CACb,SAAS;CACT"}
@@ -0,0 +1,29 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/icon-state.js
2
+ const iconState = {
3
+ play: {
4
+ button: "group",
5
+ restart: "hidden opacity-0 group-data-ended:block group-data-ended:opacity-100",
6
+ play: "hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100",
7
+ pause: "hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100"
8
+ },
9
+ mute: {
10
+ button: "group",
11
+ volumeOff: "hidden opacity-0 group-data-muted:block group-data-muted:opacity-100",
12
+ volumeLow: "hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100",
13
+ volumeHigh: "hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100"
14
+ },
15
+ fullscreen: {
16
+ button: "group",
17
+ enter: "hidden opacity-0 group-not-data-fullscreen:block group-not-data-fullscreen:opacity-100",
18
+ exit: "hidden opacity-0 group-data-fullscreen:block group-data-fullscreen:opacity-100"
19
+ },
20
+ captions: {
21
+ button: "group",
22
+ off: "hidden opacity-0 group-not-data-active:block group-not-data-active:opacity-100",
23
+ on: "hidden opacity-0 group-data-active:block group-data-active:opacity-100"
24
+ }
25
+ };
26
+
27
+ //#endregion
28
+ export { iconState };
29
+ //# sourceMappingURL=icon-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-state.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/icon-state.js"],"sourcesContent":["//#region src/minimal/tailwind/components/icon-state.ts\nconst iconState = {\n\tplay: {\n\t\tbutton: \"group\",\n\t\trestart: \"hidden opacity-0 group-data-ended:block group-data-ended:opacity-100\",\n\t\tplay: \"hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100\",\n\t\tpause: \"hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100\"\n\t},\n\tmute: {\n\t\tbutton: \"group\",\n\t\tvolumeOff: \"hidden opacity-0 group-data-muted:block group-data-muted:opacity-100\",\n\t\tvolumeLow: \"hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100\",\n\t\tvolumeHigh: \"hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100\"\n\t},\n\tfullscreen: {\n\t\tbutton: \"group\",\n\t\tenter: \"hidden opacity-0 group-not-data-fullscreen:block group-not-data-fullscreen:opacity-100\",\n\t\texit: \"hidden opacity-0 group-data-fullscreen:block group-data-fullscreen:opacity-100\"\n\t},\n\tcaptions: {\n\t\tbutton: \"group\",\n\t\toff: \"hidden opacity-0 group-not-data-active:block group-not-data-active:opacity-100\",\n\t\ton: \"hidden opacity-0 group-data-active:block group-data-active:opacity-100\"\n\t}\n};\n\n//#endregion\nexport { iconState };\n//# sourceMappingURL=icon-state.js.map"],"mappings":";AACA,MAAM,YAAY;CACjB,MAAM;EACL,QAAQ;EACR,SAAS;EACT,MAAM;EACN,OAAO;EACP;CACD,MAAM;EACL,QAAQ;EACR,WAAW;EACX,WAAW;EACX,YAAY;EACZ;CACD,YAAY;EACX,QAAQ;EACR,OAAO;EACP,MAAM;EACN;CACD,UAAU;EACT,QAAQ;EACR,KAAK;EACL,IAAI;EACJ;CACD"}
@@ -0,0 +1,10 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/icon.js
4
+ const icon = cn("block [grid-area:1/1] size-4.5", "drop-shadow-[0_1px_0_var(--media-controls-current-shadow-color,oklch(0_0_0/0.25))]", "transition-discrete transition-[display,opacity] duration-150 ease-out");
5
+ const iconFlipped = "[scale:-1_1]";
6
+ const iconContainer = "relative";
7
+
8
+ //#endregion
9
+ export { icon, iconContainer, iconFlipped };
10
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/icon.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/icon.ts\nconst icon = cn(\"block [grid-area:1/1] size-4.5\", \"drop-shadow-[0_1px_0_var(--media-controls-current-shadow-color,oklch(0_0_0/0.25))]\", \"transition-discrete transition-[display,opacity] duration-150 ease-out\");\nconst iconHidden = \"hidden opacity-0\";\nconst iconFlipped = \"[scale:-1_1]\";\nconst iconContainer = \"relative\";\n\n//#endregion\nexport { icon, iconContainer, iconFlipped, iconHidden };\n//# sourceMappingURL=icon.js.map"],"mappings":";;;AAGA,MAAM,OAAO,GAAG,kCAAkC,sFAAsF,yEAAyE;AAEjN,MAAM,cAAc;AACpB,MAAM,gBAAgB"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/overlay.js
4
+ const overlay = cn("absolute inset-0 flex flex-col items-start", "pointer-events-none rounded-[inherit]", "opacity-0", "bg-linear-to-t from-black/70 via-black/50 via-[7.5rem] to-transparent", "backdrop-blur-none backdrop-saturate-120 backdrop-brightness-90", "transition-[opacity,backdrop-filter] ease-out", "duration-500 delay-500", "peer-data-visible/controls:opacity-100", "peer-data-visible/controls:duration-150", "peer-data-visible/controls:delay-0", "peer-data-open/error:opacity-100", "peer-data-open/error:duration-150", "peer-data-open/error:delay-0", "peer-data-open/error:backdrop-blur", "motion-reduce:duration-100");
5
+
6
+ //#endregion
7
+ export { overlay };
8
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/overlay.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/overlay.ts\nconst overlay = cn(\"absolute inset-0 flex flex-col items-start\", \"pointer-events-none rounded-[inherit]\", \"opacity-0\", \"bg-linear-to-t from-black/70 via-black/50 via-[7.5rem] to-transparent\", \"backdrop-blur-none backdrop-saturate-120 backdrop-brightness-90\", \"transition-[opacity,backdrop-filter] ease-out\", \"duration-500 delay-500\", \"peer-data-visible/controls:opacity-100\", \"peer-data-visible/controls:duration-150\", \"peer-data-visible/controls:delay-0\", \"peer-data-open/error:opacity-100\", \"peer-data-open/error:duration-150\", \"peer-data-open/error:delay-0\", \"peer-data-open/error:backdrop-blur\", \"motion-reduce:duration-100\");\n\n//#endregion\nexport { overlay };\n//# sourceMappingURL=overlay.js.map"],"mappings":";;;AAGA,MAAM,UAAU,GAAG,8CAA8C,yCAAyC,aAAa,yEAAyE,mEAAmE,iDAAiD,0BAA0B,0CAA0C,2CAA2C,sCAAsC,oCAAoC,qCAAqC,gCAAgC,sCAAsC,6BAA6B"}
@@ -0,0 +1,12 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/popup.js
4
+ const base = cn("m-0 border-0 text-inherit overflow-visible", "transition-[transform,scale,opacity,filter] duration-200", "data-starting-style:opacity-0 data-starting-style:scale-0 data-starting-style:blur-sm", "data-ending-style:opacity-0 data-ending-style:scale-0 data-ending-style:blur-sm", "data-instant:duration-0", "data-[side=top]:origin-bottom data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left");
5
+ const popup = {
6
+ tooltip: cn(base, "px-2 py-1 rounded-sm shadow-md shadow-black/10 bg-white/10 backdrop-blur-3xl backdrop-saturate-150 backdrop-brightness-90 text-[0.75rem] whitespace-nowrap", "[--media-tooltip-side-offset:0.5rem]"),
7
+ volume: cn(base, "py-2.5 px-1 rounded-full")
8
+ };
9
+
10
+ //#endregion
11
+ export { popup };
12
+ //# sourceMappingURL=popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/popup.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/popup.ts\nconst base = cn(\"m-0 border-0 text-inherit overflow-visible\", \"transition-[transform,scale,opacity,filter] duration-200\", \"data-starting-style:opacity-0 data-starting-style:scale-0 data-starting-style:blur-sm\", \"data-ending-style:opacity-0 data-ending-style:scale-0 data-ending-style:blur-sm\", \"data-instant:duration-0\", \"data-[side=top]:origin-bottom data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left\");\nconst popup = {\n\ttooltip: cn(base, \"px-2 py-1 rounded-sm shadow-md shadow-black/10 bg-white/10 backdrop-blur-3xl backdrop-saturate-150 backdrop-brightness-90 text-[0.75rem] whitespace-nowrap\", \"[--media-tooltip-side-offset:0.5rem]\"),\n\tvolume: cn(base, \"py-2.5 px-1 rounded-full\")\n};\n\n//#endregion\nexport { popup };\n//# sourceMappingURL=popup.js.map"],"mappings":";;;AAGA,MAAM,OAAO,GAAG,8CAA8C,4DAA4D,yFAAyF,mFAAmF,2BAA2B,0HAA0H;AAC3b,MAAM,QAAQ;CACb,SAAS,GAAG,MAAM,8JAA8J,uCAAuC;CACvN,QAAQ,GAAG,MAAM,2BAA2B;CAC5C"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/root.js
4
+ const root = cn("block relative isolate @container/media-root", "rounded-(--media-border-radius,0.75rem)", "font-[Inter_Variable,Inter,ui-sans-serif,system-ui,sans-serif] text-[0.8125rem] leading-normal subpixel-antialiased", "**:box-border **:m-0", "[&_button]:font-[inherit]", "motion-safe:[interpolate-size:allow-keywords]");
5
+
6
+ //#endregion
7
+ export { root };
8
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/root.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/root.ts\nconst root = cn(\"block relative isolate @container/media-root\", \"rounded-(--media-border-radius,0.75rem)\", \"font-[Inter_Variable,Inter,ui-sans-serif,system-ui,sans-serif] text-[0.8125rem] leading-normal subpixel-antialiased\", \"**:box-border **:m-0\", \"[&_button]:font-[inherit]\", \"motion-safe:[interpolate-size:allow-keywords]\");\n\n//#endregion\nexport { root };\n//# sourceMappingURL=root.js.map"],"mappings":";;;AAGA,MAAM,OAAO,GAAG,gDAAgD,2CAA2C,uHAAuH,wBAAwB,6BAA6B,gDAAgD"}
@@ -0,0 +1,11 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/seek.js
2
+ const seek = {
3
+ button: "@max-md/media-controls:hidden",
4
+ label: "text-[0.75em] font-[480] tabular-nums",
5
+ labelForward: "absolute -right-px -bottom-0.75",
6
+ labelBackward: "absolute -left-px -bottom-0.75"
7
+ };
8
+
9
+ //#endregion
10
+ export { seek };
11
+ //# sourceMappingURL=seek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seek.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/seek.js"],"sourcesContent":["//#region src/minimal/tailwind/components/seek.ts\nconst seek = {\n\tbutton: \"@max-md/media-controls:hidden\",\n\tlabel: \"text-[0.75em] font-[480] tabular-nums\",\n\tlabelForward: \"absolute -right-px -bottom-0.75\",\n\tlabelBackward: \"absolute -left-px -bottom-0.75\"\n};\n\n//#endregion\nexport { seek };\n//# sourceMappingURL=seek.js.map"],"mappings":";AACA,MAAM,OAAO;CACZ,QAAQ;CACR,OAAO;CACP,cAAc;CACd,eAAe;CACf"}
@@ -0,0 +1,20 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/slider.js
4
+ const slider = {
5
+ root: cn("group/slider relative flex flex-1 items-center justify-center rounded-full outline-none", "data-[orientation=horizontal]:min-w-20 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-5", "data-[orientation=vertical]:w-5 data-[orientation=vertical]:h-[4.5rem]"),
6
+ track: cn("relative isolate overflow-hidden bg-current/20 rounded-[inherit] select-none", "data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-0.75", "data-[orientation=vertical]:w-0.75 data-[orientation=vertical]:h-full"),
7
+ fill: {
8
+ base: "absolute rounded-[inherit] pointer-events-none",
9
+ fill: cn("bg-current", "data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0", "data-[orientation=horizontal]:w-(--media-slider-fill,0)", "data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0", "data-[orientation=vertical]:h-(--media-slider-fill,0)"),
10
+ buffer: cn("bg-current/20 duration-250 ease-out", "data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0", "data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:w-(--media-slider-buffer,0)", "data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0", "data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:h-(--media-slider-buffer)")
11
+ },
12
+ thumb: {
13
+ base: cn("z-10 absolute size-3 -translate-x-1/2 -translate-y-1/2", "bg-current rounded-full", "shadow-[0_0_0_1px_var(--media-controls-current-shadow-color-subtle,oklch(0_0_0/0.1)),0_1px_3px_0_oklch(0_0_0/0.15),0_1px_2px_-1px_oklch(0_0_0/0.15)]", "transition-[opacity,scale,outline-offset] duration-150 ease-out select-none", "outline-2 outline-transparent -outline-offset-2", "focus-visible:outline-current focus-visible:outline-offset-2", "data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--media-slider-fill,0)", "data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:top-[calc(100%-var(--media-slider-fill,0))]"),
14
+ interactive: cn("opacity-0 scale-70 origin-center", "group-hover/slider:opacity-100 group-hover/slider:scale-100", "group-focus-within/slider:opacity-100 group-focus-within/slider:scale-100")
15
+ }
16
+ };
17
+
18
+ //#endregion
19
+ export { slider };
20
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/slider.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/slider.ts\nconst slider = {\n\troot: cn(\"group/slider relative flex flex-1 items-center justify-center rounded-full outline-none\", \"data-[orientation=horizontal]:min-w-20 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-5\", \"data-[orientation=vertical]:w-5 data-[orientation=vertical]:h-[4.5rem]\"),\n\ttrack: cn(\"relative isolate overflow-hidden bg-current/20 rounded-[inherit] select-none\", \"data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-0.75\", \"data-[orientation=vertical]:w-0.75 data-[orientation=vertical]:h-full\"),\n\tfill: {\n\t\tbase: \"absolute rounded-[inherit] pointer-events-none\",\n\t\tfill: cn(\"bg-current\", \"data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0\", \"data-[orientation=horizontal]:w-(--media-slider-fill,0)\", \"data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0\", \"data-[orientation=vertical]:h-(--media-slider-fill,0)\"),\n\t\tbuffer: cn(\"bg-current/20 duration-250 ease-out\", \"data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0\", \"data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:w-(--media-slider-buffer,0)\", \"data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0\", \"data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:h-(--media-slider-buffer)\")\n\t},\n\tthumb: {\n\t\tbase: cn(\"z-10 absolute size-3 -translate-x-1/2 -translate-y-1/2\", \"bg-current rounded-full\", \"shadow-[0_0_0_1px_var(--media-controls-current-shadow-color-subtle,oklch(0_0_0/0.1)),0_1px_3px_0_oklch(0_0_0/0.15),0_1px_2px_-1px_oklch(0_0_0/0.15)]\", \"transition-[opacity,scale,outline-offset] duration-150 ease-out select-none\", \"outline-2 outline-transparent -outline-offset-2\", \"focus-visible:outline-current focus-visible:outline-offset-2\", \"data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--media-slider-fill,0)\", \"data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:top-[calc(100%-var(--media-slider-fill,0))]\"),\n\t\tinteractive: cn(\"opacity-0 scale-70 origin-center\", \"group-hover/slider:opacity-100 group-hover/slider:scale-100\", \"group-focus-within/slider:opacity-100 group-focus-within/slider:scale-100\")\n\t}\n};\n\n//#endregion\nexport { slider };\n//# sourceMappingURL=slider.js.map"],"mappings":";;;AAGA,MAAM,SAAS;CACd,MAAM,GAAG,2FAA2F,iHAAiH,yEAAyE;CAC9R,OAAO,GAAG,gFAAgF,6EAA6E,wEAAwE;CAC/O,MAAM;EACL,MAAM;EACN,MAAM,GAAG,cAAc,gFAAgF,2DAA2D,8EAA8E,wDAAwD;EACxS,QAAQ,GAAG,uCAAuC,gFAAgF,8GAA8G,8EAA8E,wGAAwG;EACta;CACD,OAAO;EACN,MAAM,GAAG,0DAA0D,2BAA2B,wJAAwJ,+EAA+E,mDAAmD,gEAAgE,oGAAoG,+GAA+G;EAC3oB,aAAa,GAAG,oCAAoC,+DAA+D,4EAA4E;EAC/L;CACD"}
@@ -0,0 +1,14 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/time.js
4
+ const time = {
5
+ group: "flex items-center gap-1",
6
+ current: cn("hidden tabular-nums", "@md/media-controls:inline"),
7
+ separator: cn("hidden", "@md/media-controls:inline @md/media-controls:text-white/50"),
8
+ duration: cn("tabular-nums", "@md/media-controls:text-current/60"),
9
+ controls: cn("flex flex-row-reverse items-center flex-1 gap-3", "@md/media-controls:flex-row")
10
+ };
11
+
12
+ //#endregion
13
+ export { time };
14
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/time.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/time.ts\nconst time = {\n\tgroup: \"flex items-center gap-1\",\n\tcurrent: cn(\"hidden tabular-nums\", \"@md/media-controls:inline\"),\n\tseparator: cn(\"hidden\", \"@md/media-controls:inline @md/media-controls:text-white/50\"),\n\tduration: cn(\"tabular-nums\", \"@md/media-controls:text-current/60\"),\n\tcontrols: cn(\"flex flex-row-reverse items-center flex-1 gap-3\", \"@md/media-controls:flex-row\")\n};\n\n//#endregion\nexport { time };\n//# sourceMappingURL=time.js.map"],"mappings":";;;AAGA,MAAM,OAAO;CACZ,OAAO;CACP,SAAS,GAAG,uBAAuB,4BAA4B;CAC/D,WAAW,GAAG,UAAU,6DAA6D;CACrF,UAAU,GAAG,gBAAgB,qCAAqC;CAClE,UAAU,GAAG,mDAAmD,8BAA8B;CAC9F"}
@@ -0,0 +1,28 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/tooltip-state.js
2
+ const tooltipState = {
3
+ play: {
4
+ wrapper: "contents group/play-tip",
5
+ replay: "hidden group-has-data-ended/play-tip:block",
6
+ play: "hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block",
7
+ pause: "hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block"
8
+ },
9
+ fullscreen: {
10
+ wrapper: "contents group/fullscreen-tip",
11
+ enter: "hidden group-[:not(:has([data-fullscreen]))]/fullscreen-tip:block",
12
+ exit: "hidden group-has-data-fullscreen/fullscreen-tip:block"
13
+ },
14
+ captions: {
15
+ wrapper: "contents group/captions-tip",
16
+ enable: "hidden group-[:not(:has([data-active]))]/captions-tip:block",
17
+ disable: "hidden group-has-data-active/captions-tip:block"
18
+ },
19
+ pip: {
20
+ wrapper: "contents group/pip-tip",
21
+ enter: "hidden group-[:not(:has([data-pip]))]/pip-tip:block",
22
+ exit: "hidden group-has-data-pip/pip-tip:block"
23
+ }
24
+ };
25
+
26
+ //#endregion
27
+ export { tooltipState };
28
+ //# sourceMappingURL=tooltip-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-state.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/tooltip-state.js"],"sourcesContent":["//#region src/minimal/tailwind/components/tooltip-state.ts\nconst tooltipState = {\n\tplay: {\n\t\twrapper: \"contents group/play-tip\",\n\t\treplay: \"hidden group-has-data-ended/play-tip:block\",\n\t\tplay: \"hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block\",\n\t\tpause: \"hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block\"\n\t},\n\tfullscreen: {\n\t\twrapper: \"contents group/fullscreen-tip\",\n\t\tenter: \"hidden group-[:not(:has([data-fullscreen]))]/fullscreen-tip:block\",\n\t\texit: \"hidden group-has-data-fullscreen/fullscreen-tip:block\"\n\t},\n\tcaptions: {\n\t\twrapper: \"contents group/captions-tip\",\n\t\tenable: \"hidden group-[:not(:has([data-active]))]/captions-tip:block\",\n\t\tdisable: \"hidden group-has-data-active/captions-tip:block\"\n\t},\n\tpip: {\n\t\twrapper: \"contents group/pip-tip\",\n\t\tenter: \"hidden group-[:not(:has([data-pip]))]/pip-tip:block\",\n\t\texit: \"hidden group-has-data-pip/pip-tip:block\"\n\t}\n};\n\n//#endregion\nexport { tooltipState };\n//# sourceMappingURL=tooltip-state.js.map"],"mappings":";AACA,MAAM,eAAe;CACpB,MAAM;EACL,SAAS;EACT,QAAQ;EACR,MAAM;EACN,OAAO;EACP;CACD,YAAY;EACX,SAAS;EACT,OAAO;EACP,MAAM;EACN;CACD,UAAU;EACT,SAAS;EACT,QAAQ;EACR,SAAS;EACT;CACD,KAAK;EACJ,SAAS;EACT,OAAO;EACP,MAAM;EACN;CACD"}
@@ -0,0 +1,44 @@
1
+ import { controls as controls$1 } from "./components/controls.js";
2
+ import { popup as popup$1 } from "./components/popup.js";
3
+ import { root as root$1 } from "./components/root.js";
4
+ import { bufferingIndicator } from "./components/buffering.js";
5
+ import { button } from "./components/button.js";
6
+ import { buttonGroup } from "./components/button-group.js";
7
+ import { error } from "./components/error.js";
8
+ import { icon, iconContainer, iconFlipped } from "./components/icon.js";
9
+ import { seek } from "./components/seek.js";
10
+ import { slider as slider$1 } from "./components/slider.js";
11
+ import { time } from "./components/time.js";
12
+ import { iconState } from "./components/icon-state.js";
13
+ import { overlay } from "./components/overlay.js";
14
+ import { tooltipState } from "./components/tooltip-state.js";
15
+ import { cn } from "@videojs/utils/style";
16
+
17
+ //#region ../skins/dist/default/minimal/tailwind/video.tailwind.js
18
+ const root = (isShadowDOM) => cn(root$1, "bg-black", "after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10", "after:inset-0 after:ring-1 after:ring-inset after:ring-black/15", "dark:after:ring-white/15", {
19
+ "[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)": isShadowDOM,
20
+ "[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]": !isShadowDOM
21
+ }, "[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]", "[&>img]:object-cover [&>img]:pointer-events-none", "[&>img]:transition-opacity [&>img]:duration-250", "[&>img:not([data-visible])]:opacity-0", "[--media-caption-track-delay:600ms]", "[--media-caption-track-y:-0.5rem]", "has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]", "has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]", !isShadowDOM ? [
22
+ "[&_video::-webkit-media-text-track-container]:transition-transform",
23
+ "[&_video::-webkit-media-text-track-container]:duration-150",
24
+ "[&_video::-webkit-media-text-track-container]:ease-out",
25
+ "[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)",
26
+ "[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)",
27
+ "[&_video::-webkit-media-text-track-container]:scale-98",
28
+ "[&_video::-webkit-media-text-track-container]:z-1",
29
+ "[&_video::-webkit-media-text-track-container]:font-[inherit]",
30
+ "motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50"
31
+ ] : [], "[&:fullscreen]:rounded-none");
32
+ const controls = cn(controls$1, "absolute bottom-0 inset-x-0", "pt-8 px-1.5 pb-1.5 gap-2", "text-white z-10", "will-change-[translate,filter,opacity]", "transition-[translate,filter,opacity] ease-out", "delay-0 duration-75", "not-data-visible:opacity-0 not-data-visible:translate-y-full", "not-data-visible:blur-sm not-data-visible:pointer-events-none", "not-data-visible:delay-500 not-data-visible:duration-500", "motion-reduce:not-data-visible:duration-100", "motion-reduce:not-data-visible:translate-y-0", "motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100", "@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3", "@sm/media-root:gap-3.5");
33
+ const slider = {
34
+ ...slider$1,
35
+ track: cn(slider$1.track, "shadow-[0_0_0_1px_oklch(0_0_0/0.05)]")
36
+ };
37
+ const popup = {
38
+ ...popup$1,
39
+ volume: cn("[--media-popover-side-offset:0.5rem] p-1 bg-transparent")
40
+ };
41
+
42
+ //#endregion
43
+ export { controls, popup, root, slider };
44
+ //# sourceMappingURL=video.tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.tailwind.js","names":[],"sources":["../../../../../../../../skins/dist/default/minimal/tailwind/video.tailwind.js"],"sourcesContent":["import { controls as controls$1 } from \"./components/controls.js\";\nimport { popup as popup$1 } from \"./components/popup.js\";\nimport { root as root$1 } from \"./components/root.js\";\nimport { bufferingIndicator } from \"./components/buffering.js\";\nimport { button } from \"./components/button.js\";\nimport { buttonGroup } from \"./components/button-group.js\";\nimport { error } from \"./components/error.js\";\nimport { icon, iconContainer, iconFlipped, iconHidden } from \"./components/icon.js\";\nimport { seek } from \"./components/seek.js\";\nimport { slider as slider$1 } from \"./components/slider.js\";\nimport { time } from \"./components/time.js\";\nimport { captions } from \"./components/captions.js\";\nimport { iconState } from \"./components/icon-state.js\";\nimport { overlay } from \"./components/overlay.js\";\nimport { tooltipState } from \"./components/tooltip-state.js\";\nimport { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/video.tailwind.ts\nconst root = (isShadowDOM) => cn(root$1, \"bg-black\", \"after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10\", \"after:inset-0 after:ring-1 after:ring-inset after:ring-black/15\", \"dark:after:ring-white/15\", {\n\t\"[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)\": isShadowDOM,\n\t\"[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]\": !isShadowDOM\n}, \"[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]\", \"[&>img]:object-cover [&>img]:pointer-events-none\", \"[&>img]:transition-opacity [&>img]:duration-250\", \"[&>img:not([data-visible])]:opacity-0\", \"[--media-caption-track-delay:600ms]\", \"[--media-caption-track-y:-0.5rem]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]\", !isShadowDOM ? [\n\t\"[&_video::-webkit-media-text-track-container]:transition-transform\",\n\t\"[&_video::-webkit-media-text-track-container]:duration-150\",\n\t\"[&_video::-webkit-media-text-track-container]:ease-out\",\n\t\"[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)\",\n\t\"[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)\",\n\t\"[&_video::-webkit-media-text-track-container]:scale-98\",\n\t\"[&_video::-webkit-media-text-track-container]:z-1\",\n\t\"[&_video::-webkit-media-text-track-container]:font-[inherit]\",\n\t\"motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50\"\n] : [], \"[&:fullscreen]:rounded-none\");\nconst controls = cn(controls$1, \"absolute bottom-0 inset-x-0\", \"pt-8 px-1.5 pb-1.5 gap-2\", \"text-white z-10\", \"will-change-[translate,filter,opacity]\", \"transition-[translate,filter,opacity] ease-out\", \"delay-0 duration-75\", \"not-data-visible:opacity-0 not-data-visible:translate-y-full\", \"not-data-visible:blur-sm not-data-visible:pointer-events-none\", \"not-data-visible:delay-500 not-data-visible:duration-500\", \"motion-reduce:not-data-visible:duration-100\", \"motion-reduce:not-data-visible:translate-y-0\", \"motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100\", \"@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3\", \"@sm/media-root:gap-3.5\");\nconst slider = {\n\t...slider$1,\n\ttrack: cn(slider$1.track, \"shadow-[0_0_0_1px_oklch(0_0_0/0.05)]\")\n};\nconst popup = {\n\t...popup$1,\n\tvolume: cn(\"[--media-popover-side-offset:0.5rem] p-1 bg-transparent\")\n};\n\n//#endregion\nexport { bufferingIndicator, button, buttonGroup, captions, controls, error, icon, iconContainer, iconFlipped, iconHidden, iconState, overlay, popup, root, seek, slider, time, tooltipState };\n//# sourceMappingURL=video.tailwind.js.map"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,QAAQ,gBAAgB,GAAG,QAAQ,YAAY,+EAA+E,mEAAmE,4BAA4B;CAClO,mJAAmJ;CACnJ,iFAAiF,CAAC;CAClF,EAAE,4FAA4F,oDAAoD,mDAAmD,yCAAyC,uCAAuC,qCAAqC,0EAA0E,yEAAyE,CAAC,cAAc;CAC5d;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG,EAAE,EAAE,8BAA8B;AACtC,MAAM,WAAW,GAAG,YAAY,+BAA+B,4BAA4B,mBAAmB,0CAA0C,kDAAkD,uBAAuB,gEAAgE,iEAAiE,4DAA4D,+CAA+C,gDAAgD,qFAAqF,gEAAgE,yBAAyB;AAC3qB,MAAM,SAAS;CACd,GAAG;CACH,OAAO,GAAG,SAAS,OAAO,uCAAuC;CACjE;AACD,MAAM,QAAQ;CACb,GAAG;CACH,QAAQ,GAAG,0DAA0D;CACrE"}
@@ -34,20 +34,33 @@ function createContainerMixin(context) {
34
34
  });
35
35
  this.#observer.observe(this, {
36
36
  childList: true,
37
- subtree: true
37
+ subtree: true,
38
+ attributes: true,
39
+ attributeFilter: ["data-media-element"]
38
40
  });
41
+ this.addEventListener("slotchange", this.#onSlotChange);
39
42
  this.#attachMedia();
40
43
  }
41
44
  disconnectedCallback() {
42
45
  super.disconnectedCallback();
43
46
  this.#observer?.disconnect();
44
47
  this.#observer = null;
48
+ this.removeEventListener("slotchange", this.#onSlotChange);
45
49
  this.#detach();
46
50
  }
51
+ #onSlotChange = () => {
52
+ this.#attachMedia();
53
+ };
54
+ #getSlottedMedia() {
55
+ const slot = this.querySelector("slot[name=\"media\"]");
56
+ if (!slot) return null;
57
+ for (const el of slot.assignedElements({ flatten: true })) if (el instanceof HTMLMediaElement) return el;
58
+ return null;
59
+ }
47
60
  #attachMedia() {
48
61
  const store = this.#contextStore ?? this.store;
49
62
  if (!store) return;
50
- const media = this.querySelector("video, audio");
63
+ const media = this.querySelector("video, audio, [data-media-element]") ?? this.#getSlottedMedia();
51
64
  if (!media) {
52
65
  this.#detach();
53
66
  this.#detach = noop;
@@ -68,9 +81,10 @@ function createContainerMixin(context) {
68
81
  };
69
82
  }
70
83
  function isMediaNode(node) {
71
- return node instanceof HTMLMediaElement;
84
+ return node instanceof HTMLMediaElement || node instanceof Element && node.hasAttribute("data-media-element");
72
85
  }
73
86
  function hasMediaNode(record) {
87
+ if (record.type === "attributes" && record.target instanceof Element) return record.target.hasAttribute("data-media-element");
74
88
  for (const node of record.addedNodes) if (isMediaNode(node)) return true;
75
89
  for (const node of record.removedNodes) if (isMediaNode(node)) return true;
76
90
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"container-mixin.js","names":["#contextStore","#attachMedia","#observer","#detach"],"sources":["../../../src/store/container-mixin.ts"],"sourcesContent":["import type { MediaContainer, PlayerStore, PlayerTarget } from '@videojs/core/dom';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { noop } from '@videojs/utils/function';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and auto-attaches media elements.\n *\n * @param context - Player context to consume from an ancestor provider.\n */\nexport function createContainerMixin<Store extends PlayerStore>(context: PlayerContext<Store>): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #detach = noop;\n #observer: MutationObserver | null = null;\n #contextStore: Store | null = null;\n\n constructor(...args: any[]) {\n super(...args);\n\n // Created in the constructor body (after all field initializers) so\n // that #contextStore's private slot exists if the callback fires\n // synchronously — which happens when the element is already connected.\n // The host's controller list keeps the consumer alive; no field needed.\n new ContextConsumer(this, {\n context,\n callback: (value) => {\n this.#contextStore = value ?? null;\n this.#attachMedia();\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.#observer = new MutationObserver((records) => {\n if (records.some(hasMediaNode)) this.#attachMedia();\n });\n\n this.#observer.observe(this, { childList: true, subtree: true });\n\n this.#attachMedia();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#observer?.disconnect();\n this.#observer = null;\n this.#detach();\n }\n\n #attachMedia() {\n // Prefer the cached context value; fall back to `this.store` which\n // ProviderMixin overrides when both mixins are applied to one element.\n const store = this.#contextStore ?? this.store;\n if (!store) return;\n\n const media = this.querySelector<HTMLMediaElement>('video, audio');\n\n if (!media) {\n this.#detach();\n this.#detach = noop;\n return;\n }\n\n const target: PlayerTarget = {\n media,\n container: this,\n };\n\n const hasMediaChanged = store.target?.media !== target.media,\n hasContainerChanged = store.target?.container !== target.container;\n\n if (hasMediaChanged || hasContainerChanged) {\n this.#detach();\n this.#detach = store.attach(target);\n }\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\nfunction isMediaNode(node: Node): boolean {\n return node instanceof HTMLMediaElement;\n}\n\nfunction hasMediaNode(record: MutationRecord): boolean {\n for (const node of record.addedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n for (const node of record.removedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n return false;\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,qBAAgD,SAAsD;AACpH,SAA+C,cAAqB;EAClE,MAAM,+BAA+B,UAA2D;GAC9F,UAAU;GACV,YAAqC;GACrC,gBAA8B;GAE9B,YAAY,GAAG,MAAa;AAC1B,UAAM,GAAG,KAAK;AAMd,QAAI,gBAAgB,MAAM;KACxB;KACA,WAAW,UAAU;AACnB,YAAKA,eAAgB,SAAS;AAC9B,YAAKC,aAAc;;KAErB,WAAW;KACZ,CAAC;;GAGJ,IAAI,QAAsB;AACxB,WAAO,MAAKD;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AAEzB,UAAKE,WAAY,IAAI,kBAAkB,YAAY;AACjD,SAAI,QAAQ,KAAK,aAAa,CAAE,OAAKD,aAAc;MACnD;AAEF,UAAKC,SAAU,QAAQ,MAAM;KAAE,WAAW;KAAM,SAAS;KAAM,CAAC;AAEhE,UAAKD,aAAc;;GAGrB,AAAS,uBAAuB;AAC9B,UAAM,sBAAsB;AAC5B,UAAKC,UAAW,YAAY;AAC5B,UAAKA,WAAY;AACjB,UAAKC,QAAS;;GAGhB,eAAe;IAGb,MAAM,QAAQ,MAAKH,gBAAiB,KAAK;AACzC,QAAI,CAAC,MAAO;IAEZ,MAAM,QAAQ,KAAK,cAAgC,eAAe;AAElE,QAAI,CAAC,OAAO;AACV,WAAKG,QAAS;AACd,WAAKA,SAAU;AACf;;IAGF,MAAM,SAAuB;KAC3B;KACA,WAAW;KACZ;IAED,MAAM,kBAAkB,MAAM,QAAQ,UAAU,OAAO,OACrD,sBAAsB,MAAM,QAAQ,cAAc,OAAO;AAE3D,QAAI,mBAAmB,qBAAqB;AAC1C,WAAKA,QAAS;AACd,WAAKA,SAAU,MAAM,OAAO,OAAO;;;;AAKzC,SAAO;;;AAIX,SAAS,YAAY,MAAqB;AACxC,QAAO,gBAAgB;;AAGzB,SAAS,aAAa,QAAiC;AACrD,MAAK,MAAM,QAAQ,OAAO,WACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,MAAK,MAAM,QAAQ,OAAO,aACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,QAAO"}
1
+ {"version":3,"file":"container-mixin.js","names":["#contextStore","#attachMedia","#observer","#onSlotChange","#detach","#getSlottedMedia"],"sources":["../../../src/store/container-mixin.ts"],"sourcesContent":["import type { MediaContainer, PlayerStore, PlayerTarget } from '@videojs/core/dom';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { noop } from '@videojs/utils/function';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and auto-attaches media elements.\n *\n * @param context - Player context to consume from an ancestor provider.\n */\nexport function createContainerMixin<Store extends PlayerStore>(context: PlayerContext<Store>): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #detach = noop;\n #observer: MutationObserver | null = null;\n #contextStore: Store | null = null;\n\n constructor(...args: any[]) {\n super(...args);\n\n // Created in the constructor body (after all field initializers) so\n // that #contextStore's private slot exists if the callback fires\n // synchronously — which happens when the element is already connected.\n // The host's controller list keeps the consumer alive; no field needed.\n new ContextConsumer(this, {\n context,\n callback: (value) => {\n this.#contextStore = value ?? null;\n this.#attachMedia();\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.#observer = new MutationObserver((records) => {\n if (records.some(hasMediaNode)) this.#attachMedia();\n });\n\n this.#observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-media-element'],\n });\n\n // Slotted media elements don't appear in the container's subtree,\n // so listen for slot reassignments to pick them up.\n this.addEventListener('slotchange', this.#onSlotChange);\n\n this.#attachMedia();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#observer?.disconnect();\n this.#observer = null;\n this.removeEventListener('slotchange', this.#onSlotChange);\n this.#detach();\n }\n\n #onSlotChange = () => {\n this.#attachMedia();\n };\n\n #getSlottedMedia(): HTMLMediaElement | null {\n const slot = this.querySelector<HTMLSlotElement>('slot[name=\"media\"]');\n if (!slot) return null;\n\n for (const el of slot.assignedElements({ flatten: true })) {\n if (el instanceof HTMLMediaElement) return el;\n }\n\n return null;\n }\n\n #attachMedia() {\n // Prefer the cached context value; fall back to `this.store` which\n // ProviderMixin overrides when both mixins are applied to one element.\n const store = this.#contextStore ?? this.store;\n if (!store) return;\n\n const media =\n this.querySelector<HTMLMediaElement>('video, audio, [data-media-element]') ?? this.#getSlottedMedia();\n\n if (!media) {\n this.#detach();\n this.#detach = noop;\n return;\n }\n\n const target: PlayerTarget = {\n media,\n container: this,\n };\n\n const hasMediaChanged = store.target?.media !== target.media,\n hasContainerChanged = store.target?.container !== target.container;\n\n if (hasMediaChanged || hasContainerChanged) {\n this.#detach();\n this.#detach = store.attach(target);\n }\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\nfunction isMediaNode(node: Node): boolean {\n return node instanceof HTMLMediaElement || (node instanceof Element && node.hasAttribute('data-media-element'));\n}\n\nfunction hasMediaNode(record: MutationRecord): boolean {\n // Attribute mutation: data-media-element was added to a descendant\n if (record.type === 'attributes' && record.target instanceof Element) {\n return record.target.hasAttribute('data-media-element');\n }\n\n for (const node of record.addedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n for (const node of record.removedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n return false;\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,qBAAgD,SAAsD;AACpH,SAA+C,cAAqB;EAClE,MAAM,+BAA+B,UAA2D;GAC9F,UAAU;GACV,YAAqC;GACrC,gBAA8B;GAE9B,YAAY,GAAG,MAAa;AAC1B,UAAM,GAAG,KAAK;AAMd,QAAI,gBAAgB,MAAM;KACxB;KACA,WAAW,UAAU;AACnB,YAAKA,eAAgB,SAAS;AAC9B,YAAKC,aAAc;;KAErB,WAAW;KACZ,CAAC;;GAGJ,IAAI,QAAsB;AACxB,WAAO,MAAKD;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AAEzB,UAAKE,WAAY,IAAI,kBAAkB,YAAY;AACjD,SAAI,QAAQ,KAAK,aAAa,CAAE,OAAKD,aAAc;MACnD;AAEF,UAAKC,SAAU,QAAQ,MAAM;KAC3B,WAAW;KACX,SAAS;KACT,YAAY;KACZ,iBAAiB,CAAC,qBAAqB;KACxC,CAAC;AAIF,SAAK,iBAAiB,cAAc,MAAKC,aAAc;AAEvD,UAAKF,aAAc;;GAGrB,AAAS,uBAAuB;AAC9B,UAAM,sBAAsB;AAC5B,UAAKC,UAAW,YAAY;AAC5B,UAAKA,WAAY;AACjB,SAAK,oBAAoB,cAAc,MAAKC,aAAc;AAC1D,UAAKC,QAAS;;GAGhB,sBAAsB;AACpB,UAAKH,aAAc;;GAGrB,mBAA4C;IAC1C,MAAM,OAAO,KAAK,cAA+B,uBAAqB;AACtE,QAAI,CAAC,KAAM,QAAO;AAElB,SAAK,MAAM,MAAM,KAAK,iBAAiB,EAAE,SAAS,MAAM,CAAC,CACvD,KAAI,cAAc,iBAAkB,QAAO;AAG7C,WAAO;;GAGT,eAAe;IAGb,MAAM,QAAQ,MAAKD,gBAAiB,KAAK;AACzC,QAAI,CAAC,MAAO;IAEZ,MAAM,QACJ,KAAK,cAAgC,qCAAqC,IAAI,MAAKK,iBAAkB;AAEvG,QAAI,CAAC,OAAO;AACV,WAAKD,QAAS;AACd,WAAKA,SAAU;AACf;;IAGF,MAAM,SAAuB;KAC3B;KACA,WAAW;KACZ;IAED,MAAM,kBAAkB,MAAM,QAAQ,UAAU,OAAO,OACrD,sBAAsB,MAAM,QAAQ,cAAc,OAAO;AAE3D,QAAI,mBAAmB,qBAAqB;AAC1C,WAAKA,QAAS;AACd,WAAKA,SAAU,MAAM,OAAO,OAAO;;;;AAKzC,SAAO;;;AAIX,SAAS,YAAY,MAAqB;AACxC,QAAO,gBAAgB,oBAAqB,gBAAgB,WAAW,KAAK,aAAa,qBAAqB;;AAGhH,SAAS,aAAa,QAAiC;AAErD,KAAI,OAAO,SAAS,gBAAgB,OAAO,kBAAkB,QAC3D,QAAO,OAAO,OAAO,aAAa,qBAAqB;AAGzD,MAAK,MAAM,QAAQ,OAAO,WACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,MAAK,MAAM,QAAQ,OAAO,aACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,QAAO"}
@@ -2,7 +2,7 @@ import { MediaElement } from "../media-element.js";
2
2
  import { applyElementProps, applyStateDataAttrs, createPopover, createTransition, getAnchorNameStyle, getAnchorPositionStyle, resolveOffsets } from "@videojs/core/dom";
3
3
  import { SnapshotController } from "@videojs/store/html";
4
4
  import { PopoverCore, PopoverDataAttrs } from "@videojs/core";
5
- import { applyStyles, supportsAnchorPositioning } from "@videojs/utils/dom";
5
+ import { applyStyles, supportsAnchorPositioning, tryHidePopover, tryShowPopover } from "@videojs/utils/dom";
6
6
 
7
7
  //#region src/ui/popover/popover-element.ts
8
8
  var PopoverElement = class extends MediaElement {
@@ -114,6 +114,8 @@ var PopoverElement = class extends MediaElement {
114
114
  const state = this.#core.getState();
115
115
  applyElementProps(this, this.#core.getPopupAttrs(state));
116
116
  applyStateDataAttrs(this, state, PopoverDataAttrs);
117
+ if (state.open) tryShowPopover(this);
118
+ else tryHidePopover(this);
117
119
  if (this.#currentTrigger) {
118
120
  applyElementProps(this.#currentTrigger, this.#core.getTriggerAttrs(state, this.id));
119
121
  applyStyles(this.#currentTrigger, getAnchorNameStyle(this.id));