@videojs/react 10.0.0-beta.26 → 10.0.0-beta.27

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 (1027) hide show
  1. package/dist/default/__generated__/skins/default-video/styles/base.css +25 -0
  2. package/dist/default/__generated__/skins/default-video/styles/buttons.css +152 -0
  3. package/dist/default/__generated__/skins/default-video/styles/container.css +45 -0
  4. package/dist/default/__generated__/skins/default-video/styles/controls.css +45 -0
  5. package/dist/default/__generated__/skins/default-video/styles/overlays.css +11 -0
  6. package/dist/default/__generated__/skins/default-video/styles/popups.css +45 -0
  7. package/dist/default/__generated__/skins/default-video/styles/poster.css +47 -0
  8. package/dist/default/__generated__/skins/default-video/styles/sliders.css +112 -0
  9. package/dist/default/__generated__/skins/default-video/styles/styles.css +514 -0
  10. package/dist/default/__generated__/skins/default-video/styles/theme.css +22 -0
  11. package/dist/default/i18n/context.js +3 -3
  12. package/dist/default/i18n/context.js.map +1 -1
  13. package/dist/default/i18n/locales/id/register.js +8 -0
  14. package/dist/default/i18n/locales/id/register.js.map +1 -0
  15. package/dist/default/i18n/locales/id.js +2 -0
  16. package/dist/default/i18n/locales/lt/register.js +8 -0
  17. package/dist/default/i18n/locales/lt/register.js.map +1 -0
  18. package/dist/default/i18n/locales/lt.js +2 -0
  19. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/airplay-exit.js +1 -2
  21. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  23. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/cast-enter.js +2 -45
  25. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/cast-exit.js +4 -61
  27. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  29. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  31. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  33. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  34. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  35. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  36. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  37. package/dist/default/icons/dist/react/default/quality.js +1 -1
  38. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  39. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  40. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  41. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  42. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  43. package/dist/default/icons/dist/react/default/spinner.js +1 -1
  44. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  45. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  46. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  47. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  48. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  49. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  50. package/dist/default/icons/dist/react/minimal/airplay-exit.js +1 -2
  51. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  53. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/cast-enter.js +2 -45
  55. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/cast-exit.js +4 -61
  57. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  59. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  61. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  63. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  65. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  66. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  67. package/dist/default/icons/dist/react/minimal/quality.js +1 -1
  68. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  69. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  70. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  71. package/dist/default/icons/dist/react/minimal/speech.js +7 -40
  72. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  73. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  74. package/dist/default/icons/dist/react/minimal/spinner.js +1 -1
  75. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  76. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  77. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  78. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  79. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  80. package/dist/default/index.js +7 -3
  81. package/dist/default/media/cloudflare-video/index.js +2 -0
  82. package/dist/default/media/cloudflare-video/media.js +38 -0
  83. package/dist/default/media/cloudflare-video/media.js.map +1 -0
  84. package/dist/default/media/google-cast/google-cast.js +3 -3
  85. package/dist/default/media/google-cast/google-cast.js.map +1 -1
  86. package/dist/default/media/hls-audio/index.js +2 -0
  87. package/dist/default/media/hls-audio/media.js +21 -0
  88. package/dist/default/media/hls-audio/media.js.map +1 -0
  89. package/dist/default/media/hls-background-video/index.js +2 -0
  90. package/dist/default/media/hls-background-video/media.js +45 -0
  91. package/dist/default/media/hls-background-video/media.js.map +1 -0
  92. package/dist/default/media/hls-video/index.js +2 -0
  93. package/dist/{dev/media/simple-hls-video → default/media/hls-video}/media.js +6 -7
  94. package/dist/default/media/hls-video/media.js.map +1 -0
  95. package/dist/default/media/mux-audio/{media.js → hls-js.js} +2 -2
  96. package/dist/default/media/mux-audio/hls-js.js.map +1 -0
  97. package/dist/default/media/mux-audio/index.js +1 -1
  98. package/dist/default/media/mux-audio/spf.js +26 -0
  99. package/dist/default/media/mux-audio/spf.js.map +1 -0
  100. package/dist/default/media/mux-background-video/index.js +2 -0
  101. package/dist/default/media/mux-data/mux-data.js +7 -3
  102. package/dist/default/media/mux-data/mux-data.js.map +1 -1
  103. package/dist/default/media/mux-video/hls-js.js +27 -0
  104. package/dist/default/media/mux-video/hls-js.js.map +1 -0
  105. package/dist/default/media/mux-video/index.js +1 -1
  106. package/dist/default/media/mux-video/spf.js +27 -0
  107. package/dist/default/media/mux-video/spf.js.map +1 -0
  108. package/dist/default/media/mux-video/storyboard.js +43 -0
  109. package/dist/default/media/mux-video/storyboard.js.map +1 -0
  110. package/dist/default/media/spotify-audio/index.js +2 -0
  111. package/dist/default/media/spotify-audio/media.js +40 -0
  112. package/dist/default/media/spotify-audio/media.js.map +1 -0
  113. package/dist/default/media/tiktok-video/index.js +2 -0
  114. package/dist/default/media/tiktok-video/media.js +38 -0
  115. package/dist/default/media/tiktok-video/media.js.map +1 -0
  116. package/dist/default/media/twitch-video/index.js +2 -0
  117. package/dist/default/media/twitch-video/media.js +38 -0
  118. package/dist/default/media/twitch-video/media.js.map +1 -0
  119. package/dist/default/media/vimeo-video/media.js +4 -4
  120. package/dist/default/media/vimeo-video/media.js.map +1 -1
  121. package/dist/default/media/youtube-video/index.js +2 -0
  122. package/dist/default/media/youtube-video/media.js +37 -0
  123. package/dist/default/media/youtube-video/media.js.map +1 -0
  124. package/dist/default/player/container.js +8 -3
  125. package/dist/default/player/container.js.map +1 -1
  126. package/dist/default/player/context.js +6 -10
  127. package/dist/default/player/context.js.map +1 -1
  128. package/dist/default/player/create-player.js +44 -13
  129. package/dist/default/player/create-player.js.map +1 -1
  130. package/dist/default/player/popup-group-context.js +18 -0
  131. package/dist/default/player/popup-group-context.js.map +1 -0
  132. package/dist/default/presets/audio/index.js +8 -1
  133. package/dist/default/presets/audio/index.js.map +1 -0
  134. package/dist/default/presets/audio/minimal-skin.css +426 -295
  135. package/dist/default/presets/audio/minimal-skin.js +12 -19
  136. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  137. package/dist/default/presets/audio/minimal-skin.tailwind.js +81 -20
  138. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  139. package/dist/default/presets/audio/player.js +13 -0
  140. package/dist/default/presets/audio/player.js.map +1 -0
  141. package/dist/default/presets/audio/skin.css +458 -341
  142. package/dist/default/presets/audio/skin.js +13 -19
  143. package/dist/default/presets/audio/skin.js.map +1 -1
  144. package/dist/default/presets/audio/skin.tailwind.js +14 -19
  145. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  146. package/dist/default/presets/background/index.js +8 -1
  147. package/dist/default/presets/background/index.js.map +1 -0
  148. package/dist/default/presets/background/player.js +13 -0
  149. package/dist/default/presets/background/player.js.map +1 -0
  150. package/dist/default/presets/background/skin.css +3 -3
  151. package/dist/default/presets/live-audio/index.js +8 -1
  152. package/dist/default/presets/live-audio/index.js.map +1 -0
  153. package/dist/default/presets/live-audio/minimal-skin.css +426 -295
  154. package/dist/default/presets/live-audio/minimal-skin.js +2 -2
  155. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  156. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +4 -4
  157. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  158. package/dist/default/presets/live-audio/player.js +13 -0
  159. package/dist/default/presets/live-audio/player.js.map +1 -0
  160. package/dist/default/presets/live-audio/skin.css +458 -341
  161. package/dist/default/presets/live-audio/skin.js +2 -2
  162. package/dist/default/presets/live-audio/skin.js.map +1 -1
  163. package/dist/default/presets/live-audio/skin.tailwind.js +4 -4
  164. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  165. package/dist/default/presets/live-video/index.js +8 -1
  166. package/dist/default/presets/live-video/index.js.map +1 -0
  167. package/dist/default/presets/live-video/minimal-skin.css +655 -588
  168. package/dist/default/presets/live-video/minimal-skin.js +12 -12
  169. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  170. package/dist/default/presets/live-video/minimal-skin.tailwind.js +27 -26
  171. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  172. package/dist/default/presets/live-video/player.js +13 -0
  173. package/dist/default/presets/live-video/player.js.map +1 -0
  174. package/dist/default/presets/live-video/skin.css +656 -618
  175. package/dist/default/presets/live-video/skin.js +11 -11
  176. package/dist/default/presets/live-video/skin.js.map +1 -1
  177. package/dist/default/presets/live-video/skin.tailwind.js +24 -112
  178. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  179. package/dist/default/presets/video/index.js +8 -1
  180. package/dist/default/presets/video/index.js.map +1 -0
  181. package/dist/default/presets/video/minimal-skin.css +655 -588
  182. package/dist/default/presets/video/minimal-skin.js +212 -211
  183. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  184. package/dist/default/presets/video/minimal-skin.tailwind.js +226 -233
  185. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  186. package/dist/default/presets/video/player.js +13 -0
  187. package/dist/default/presets/video/player.js.map +1 -0
  188. package/dist/default/presets/video/skin.css +656 -618
  189. package/dist/default/presets/video/skin.js +212 -207
  190. package/dist/default/presets/video/skin.js.map +1 -1
  191. package/dist/default/presets/video/skin.tailwind.js +224 -227
  192. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  193. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
  194. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  195. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  196. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  197. package/dist/default/skins/dist/default/default/tailwind/components/button.js +4 -4
  198. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  199. package/dist/default/skins/dist/default/default/tailwind/components/container.js +8 -0
  200. package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  201. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  202. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  203. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  204. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  205. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  206. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  207. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  208. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  209. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  210. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  211. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -12
  212. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  213. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  214. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  215. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +1 -1
  216. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  217. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -1
  218. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  219. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  220. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  221. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +17 -9
  222. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  223. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  224. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  225. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  226. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  227. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  228. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  229. package/dist/default/skins/dist/default/default/tailwind/components/time.js +2 -2
  230. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  231. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  232. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  233. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
  234. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  235. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +6 -6
  236. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  237. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  238. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  239. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +4 -4
  240. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  241. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  242. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  243. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  244. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  245. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  246. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  247. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  248. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  249. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  250. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  251. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  252. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  253. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
  254. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  255. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  256. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  257. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
  258. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  259. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  260. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  261. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  262. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  263. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  264. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  265. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  266. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  267. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  268. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  269. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  270. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  271. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  272. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  273. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
  274. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  275. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  276. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  277. package/dist/default/ui/audio-track/use-audio-track-options.js +8 -23
  278. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  279. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  280. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  281. package/dist/default/ui/audio-track-radio-group/index.js +2 -0
  282. package/dist/default/ui/captions-radio-group/captions-radio-group.js +65 -0
  283. package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  284. package/dist/default/ui/captions-radio-group/index.js +2 -1
  285. package/dist/default/ui/captions-radio-group/use-captions-options.js +12 -29
  286. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  287. package/dist/default/ui/hooks/create-radio-options-hook.js +43 -0
  288. package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -0
  289. package/dist/default/ui/hooks/use-slider.js +49 -13
  290. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  291. package/dist/{dev/ui/input-indicators → default/ui/input-indicator}/use-indicator-visibility.js +1 -1
  292. package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  293. package/dist/default/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
  294. package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  295. package/dist/default/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  296. package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  297. package/dist/default/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  298. package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  299. package/dist/default/ui/menu/context.js +1 -11
  300. package/dist/default/ui/menu/context.js.map +1 -1
  301. package/dist/default/ui/menu/index.parts.js +3 -9
  302. package/dist/default/ui/menu/index.parts.js.map +1 -1
  303. package/dist/default/ui/menu/menu-checkbox-item.js +4 -1
  304. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  305. package/dist/default/ui/menu/menu-content.js +78 -236
  306. package/dist/default/ui/menu/menu-content.js.map +1 -1
  307. package/dist/default/ui/menu/menu-item.js +11 -18
  308. package/dist/default/ui/menu/menu-item.js.map +1 -1
  309. package/dist/default/ui/menu/menu-keyboard.js +31 -0
  310. package/dist/default/ui/menu/menu-keyboard.js.map +1 -0
  311. package/dist/default/ui/menu/menu-radio-item.js +8 -6
  312. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  313. package/dist/default/ui/menu/menu-root.js +46 -61
  314. package/dist/default/ui/menu/menu-root.js.map +1 -1
  315. package/dist/default/ui/menu/menu-trigger.js +50 -87
  316. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  317. package/dist/default/ui/mute-button/mute-button.js +2 -1
  318. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  319. package/dist/default/ui/playback-rate/use-playback-rate-options.js +14 -22
  320. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  321. package/dist/default/ui/playback-rate-radio-group/index.js +2 -0
  322. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  323. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  324. package/dist/default/ui/popover/popover-popup.js +10 -80
  325. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  326. package/dist/default/ui/popover/popover-root.js +2 -1
  327. package/dist/default/ui/popover/popover-root.js.map +1 -1
  328. package/dist/default/ui/popover/popover-trigger.js +4 -5
  329. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  330. package/dist/default/ui/popover/use-popup-position.js +34 -0
  331. package/dist/default/ui/popover/use-popup-position.js.map +1 -0
  332. package/dist/default/ui/poster/poster.js +8 -4
  333. package/dist/default/ui/poster/poster.js.map +1 -1
  334. package/dist/default/ui/quality/use-quality-options.js +9 -30
  335. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  336. package/dist/default/ui/quality-radio-group/index.js +2 -0
  337. package/dist/default/ui/quality-radio-group/quality-radio-group.js +66 -0
  338. package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  339. package/dist/default/ui/seek-indicator/seek-indicator-root.js +1 -1
  340. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  341. package/dist/default/ui/slider/context.js +7 -2
  342. package/dist/default/ui/slider/context.js.map +1 -1
  343. package/dist/default/ui/slider/slider-preview.js +2 -3
  344. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  345. package/dist/default/ui/slider/slider-root.js +3 -1
  346. package/dist/default/ui/slider/slider-root.js.map +1 -1
  347. package/dist/default/ui/slider/slider-thumbnail.js +2 -2
  348. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  349. package/dist/default/ui/slider/slider-value.js +3 -2
  350. package/dist/default/ui/slider/slider-value.js.map +1 -1
  351. package/dist/default/ui/status-announcer/status-announcer.js +7 -4
  352. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  353. package/dist/default/ui/status-indicator/status-indicator-root.js +2 -2
  354. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  355. package/dist/default/ui/time/time-value.js +13 -5
  356. package/dist/default/ui/time/time-value.js.map +1 -1
  357. package/dist/default/ui/time-slider/index.parts.js +5 -1
  358. package/dist/default/ui/time-slider/index.parts.js.map +1 -1
  359. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  360. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  361. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  362. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  363. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  364. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  365. package/dist/default/ui/time-slider/time-slider-root.js +6 -4
  366. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  367. package/dist/default/ui/tooltip/tooltip-popup.js +13 -82
  368. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  369. package/dist/default/ui/tooltip/tooltip-root.js +5 -1
  370. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  371. package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
  372. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  373. package/dist/default/ui/volume-indicator/volume-indicator-root.js +1 -1
  374. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  375. package/dist/default/ui/volume-slider/volume-slider-root.js +10 -4
  376. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  377. package/dist/dev/__generated__/skins/default-video/styles/base.css +25 -0
  378. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +152 -0
  379. package/dist/dev/__generated__/skins/default-video/styles/container.css +45 -0
  380. package/dist/dev/__generated__/skins/default-video/styles/controls.css +45 -0
  381. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +11 -0
  382. package/dist/dev/__generated__/skins/default-video/styles/popups.css +45 -0
  383. package/dist/dev/__generated__/skins/default-video/styles/poster.css +47 -0
  384. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +112 -0
  385. package/dist/dev/__generated__/skins/default-video/styles/styles.css +514 -0
  386. package/dist/dev/__generated__/skins/default-video/styles/theme.css +22 -0
  387. package/dist/dev/_virtual/_rolldown/runtime.js +15 -1
  388. package/dist/dev/i18n/context.d.ts.map +1 -1
  389. package/dist/dev/i18n/context.js +3 -3
  390. package/dist/dev/i18n/context.js.map +1 -1
  391. package/dist/dev/i18n/locales/id/register.d.ts +1 -0
  392. package/dist/dev/i18n/locales/id/register.js +8 -0
  393. package/dist/dev/i18n/locales/id/register.js.map +1 -0
  394. package/dist/dev/i18n/locales/id.d.ts +2 -0
  395. package/dist/dev/i18n/locales/id.js +2 -0
  396. package/dist/dev/i18n/locales/lt/register.d.ts +1 -0
  397. package/dist/dev/i18n/locales/lt/register.js +8 -0
  398. package/dist/dev/i18n/locales/lt/register.js.map +1 -0
  399. package/dist/dev/i18n/locales/lt.d.ts +2 -0
  400. package/dist/dev/i18n/locales/lt.js +2 -0
  401. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  402. package/dist/dev/icons/dist/react/default/airplay-exit.js +1 -2
  403. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  404. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  405. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  406. package/dist/dev/icons/dist/react/default/cast-enter.js +2 -45
  407. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  408. package/dist/dev/icons/dist/react/default/cast-exit.js +4 -61
  409. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  410. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  411. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  412. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  413. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  414. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  415. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  416. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  417. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  418. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  419. package/dist/dev/icons/dist/react/default/quality.js +1 -1
  420. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  421. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  422. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  423. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  424. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  425. package/dist/dev/icons/dist/react/default/spinner.js +1 -1
  426. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  427. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  428. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  429. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  430. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  431. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  432. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +1 -2
  433. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  434. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  435. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  436. package/dist/dev/icons/dist/react/minimal/cast-enter.js +2 -45
  437. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  438. package/dist/dev/icons/dist/react/minimal/cast-exit.js +4 -61
  439. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  440. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  441. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  442. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  443. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  444. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  445. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  446. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  447. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  448. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  449. package/dist/dev/icons/dist/react/minimal/quality.js +1 -1
  450. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  451. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  452. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  453. package/dist/dev/icons/dist/react/minimal/speech.js +7 -40
  454. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  455. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  456. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -1
  457. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  458. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  459. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  460. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  461. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  462. package/dist/dev/index.d.ts +18 -2
  463. package/dist/dev/index.d.ts.map +1 -0
  464. package/dist/dev/index.js +7 -3
  465. package/dist/dev/media/cloudflare-video/index.d.ts +2 -0
  466. package/dist/dev/media/cloudflare-video/index.js +2 -0
  467. package/dist/dev/media/cloudflare-video/media.d.ts +13 -0
  468. package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -0
  469. package/dist/dev/media/cloudflare-video/media.js +38 -0
  470. package/dist/dev/media/cloudflare-video/media.js.map +1 -0
  471. package/dist/dev/media/google-cast/google-cast.d.ts +3 -3
  472. package/dist/dev/media/google-cast/google-cast.js +3 -3
  473. package/dist/dev/media/google-cast/google-cast.js.map +1 -1
  474. package/dist/dev/media/hls-audio/index.d.ts +2 -0
  475. package/dist/dev/media/hls-audio/index.js +2 -0
  476. package/dist/dev/media/hls-audio/media.d.ts +13 -0
  477. package/dist/dev/media/hls-audio/media.d.ts.map +1 -0
  478. package/dist/dev/media/hls-audio/media.js +21 -0
  479. package/dist/dev/media/hls-audio/media.js.map +1 -0
  480. package/dist/dev/media/hls-background-video/index.d.ts +2 -0
  481. package/dist/dev/media/hls-background-video/index.js +2 -0
  482. package/dist/dev/media/hls-background-video/media.d.ts +28 -0
  483. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -0
  484. package/dist/dev/media/hls-background-video/media.js +45 -0
  485. package/dist/dev/media/hls-background-video/media.js.map +1 -0
  486. package/dist/dev/media/hls-video/index.d.ts +2 -0
  487. package/dist/dev/media/hls-video/index.js +2 -0
  488. package/dist/dev/media/hls-video/media.d.ts +13 -0
  489. package/dist/dev/media/hls-video/media.d.ts.map +1 -0
  490. package/dist/{default/media/simple-hls-video → dev/media/hls-video}/media.js +6 -7
  491. package/dist/dev/media/hls-video/media.js.map +1 -0
  492. package/dist/dev/media/mux-audio/{media.d.ts → hls-js.d.ts} +3 -3
  493. package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -0
  494. package/dist/dev/media/mux-audio/{media.js → hls-js.js} +2 -2
  495. package/dist/dev/media/mux-audio/hls-js.js.map +1 -0
  496. package/dist/dev/media/mux-audio/index.d.ts +1 -1
  497. package/dist/dev/media/mux-audio/index.js +1 -1
  498. package/dist/dev/media/mux-audio/spf.d.ts +14 -0
  499. package/dist/dev/media/mux-audio/spf.d.ts.map +1 -0
  500. package/dist/dev/media/mux-audio/spf.js +26 -0
  501. package/dist/dev/media/mux-audio/spf.js.map +1 -0
  502. package/dist/dev/media/mux-background-video/index.d.ts +3 -0
  503. package/dist/dev/media/mux-background-video/index.js +2 -0
  504. package/dist/dev/media/mux-data/mux-data.d.ts +7 -3
  505. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
  506. package/dist/dev/media/mux-data/mux-data.js +7 -3
  507. package/dist/dev/media/mux-data/mux-data.js.map +1 -1
  508. package/dist/dev/media/mux-video/{media.d.ts → hls-js.d.ts} +3 -3
  509. package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -0
  510. package/dist/dev/media/mux-video/hls-js.js +27 -0
  511. package/dist/dev/media/mux-video/hls-js.js.map +1 -0
  512. package/dist/dev/media/mux-video/index.d.ts +1 -1
  513. package/dist/dev/media/mux-video/index.js +1 -1
  514. package/dist/dev/media/mux-video/spf.d.ts +14 -0
  515. package/dist/dev/media/mux-video/spf.d.ts.map +1 -0
  516. package/dist/dev/media/mux-video/spf.js +27 -0
  517. package/dist/dev/media/mux-video/spf.js.map +1 -0
  518. package/dist/dev/media/mux-video/storyboard.js +43 -0
  519. package/dist/dev/media/mux-video/storyboard.js.map +1 -0
  520. package/dist/dev/media/spotify-audio/index.d.ts +2 -0
  521. package/dist/dev/media/spotify-audio/index.js +2 -0
  522. package/dist/dev/media/spotify-audio/media.d.ts +13 -0
  523. package/dist/dev/media/spotify-audio/media.d.ts.map +1 -0
  524. package/dist/dev/media/spotify-audio/media.js +40 -0
  525. package/dist/dev/media/spotify-audio/media.js.map +1 -0
  526. package/dist/dev/media/tiktok-video/index.d.ts +2 -0
  527. package/dist/dev/media/tiktok-video/index.js +2 -0
  528. package/dist/dev/media/tiktok-video/media.d.ts +13 -0
  529. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -0
  530. package/dist/dev/media/tiktok-video/media.js +38 -0
  531. package/dist/dev/media/tiktok-video/media.js.map +1 -0
  532. package/dist/dev/media/twitch-video/index.d.ts +2 -0
  533. package/dist/dev/media/twitch-video/index.js +2 -0
  534. package/dist/dev/media/twitch-video/media.d.ts +13 -0
  535. package/dist/dev/media/twitch-video/media.d.ts.map +1 -0
  536. package/dist/dev/media/twitch-video/media.js +38 -0
  537. package/dist/dev/media/twitch-video/media.js.map +1 -0
  538. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
  539. package/dist/dev/media/vimeo-video/media.js +4 -4
  540. package/dist/dev/media/vimeo-video/media.js.map +1 -1
  541. package/dist/dev/media/youtube-video/index.d.ts +2 -0
  542. package/dist/dev/media/youtube-video/index.js +2 -0
  543. package/dist/dev/media/youtube-video/media.d.ts +13 -0
  544. package/dist/dev/media/youtube-video/media.d.ts.map +1 -0
  545. package/dist/dev/media/youtube-video/media.js +37 -0
  546. package/dist/dev/media/youtube-video/media.js.map +1 -0
  547. package/dist/dev/player/container.d.ts.map +1 -1
  548. package/dist/dev/player/container.js +8 -3
  549. package/dist/dev/player/container.js.map +1 -1
  550. package/dist/dev/player/context.d.ts +7 -8
  551. package/dist/dev/player/context.d.ts.map +1 -1
  552. package/dist/dev/player/context.js +6 -10
  553. package/dist/dev/player/context.js.map +1 -1
  554. package/dist/dev/player/create-player.d.ts +6 -8
  555. package/dist/dev/player/create-player.d.ts.map +1 -1
  556. package/dist/dev/player/create-player.js +45 -14
  557. package/dist/dev/player/create-player.js.map +1 -1
  558. package/dist/dev/player/popup-group-context.js +18 -0
  559. package/dist/dev/player/popup-group-context.js.map +1 -0
  560. package/dist/dev/presets/audio/index.d.ts +2 -1
  561. package/dist/dev/presets/audio/index.js +8 -1
  562. package/dist/dev/presets/audio/index.js.map +1 -0
  563. package/dist/dev/presets/audio/minimal-skin.css +426 -295
  564. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  565. package/dist/dev/presets/audio/minimal-skin.js +12 -19
  566. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  567. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  568. package/dist/dev/presets/audio/minimal-skin.tailwind.js +81 -20
  569. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  570. package/dist/dev/presets/audio/player.d.ts +13 -0
  571. package/dist/dev/presets/audio/player.d.ts.map +1 -0
  572. package/dist/dev/presets/audio/player.js +13 -0
  573. package/dist/dev/presets/audio/player.js.map +1 -0
  574. package/dist/dev/presets/audio/skin.css +458 -341
  575. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  576. package/dist/dev/presets/audio/skin.js +13 -19
  577. package/dist/dev/presets/audio/skin.js.map +1 -1
  578. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  579. package/dist/dev/presets/audio/skin.tailwind.js +14 -19
  580. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  581. package/dist/dev/presets/background/index.d.ts +2 -1
  582. package/dist/dev/presets/background/index.js +8 -1
  583. package/dist/dev/presets/background/index.js.map +1 -0
  584. package/dist/dev/presets/background/player.d.ts +10 -0
  585. package/dist/dev/presets/background/player.d.ts.map +1 -0
  586. package/dist/dev/presets/background/player.js +13 -0
  587. package/dist/dev/presets/background/player.js.map +1 -0
  588. package/dist/dev/presets/background/skin.css +3 -3
  589. package/dist/dev/presets/live-audio/index.d.ts +2 -1
  590. package/dist/dev/presets/live-audio/index.js +8 -1
  591. package/dist/dev/presets/live-audio/index.js.map +1 -0
  592. package/dist/dev/presets/live-audio/minimal-skin.css +426 -295
  593. package/dist/dev/presets/live-audio/minimal-skin.js +2 -2
  594. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  595. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +4 -4
  596. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  597. package/dist/dev/presets/live-audio/player.d.ts +13 -0
  598. package/dist/dev/presets/live-audio/player.d.ts.map +1 -0
  599. package/dist/dev/presets/live-audio/player.js +13 -0
  600. package/dist/dev/presets/live-audio/player.js.map +1 -0
  601. package/dist/dev/presets/live-audio/skin.css +458 -341
  602. package/dist/dev/presets/live-audio/skin.js +2 -2
  603. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  604. package/dist/dev/presets/live-audio/skin.tailwind.js +4 -4
  605. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  606. package/dist/dev/presets/live-video/index.d.ts +2 -1
  607. package/dist/dev/presets/live-video/index.js +8 -1
  608. package/dist/dev/presets/live-video/index.js.map +1 -0
  609. package/dist/dev/presets/live-video/minimal-skin.css +655 -588
  610. package/dist/dev/presets/live-video/minimal-skin.js +12 -12
  611. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  612. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  613. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +27 -26
  614. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  615. package/dist/dev/presets/live-video/player.d.ts +13 -0
  616. package/dist/dev/presets/live-video/player.d.ts.map +1 -0
  617. package/dist/dev/presets/live-video/player.js +13 -0
  618. package/dist/dev/presets/live-video/player.js.map +1 -0
  619. package/dist/dev/presets/live-video/skin.css +656 -618
  620. package/dist/dev/presets/live-video/skin.js +11 -11
  621. package/dist/dev/presets/live-video/skin.js.map +1 -1
  622. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  623. package/dist/dev/presets/live-video/skin.tailwind.js +24 -112
  624. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  625. package/dist/dev/presets/video/index.d.ts +2 -1
  626. package/dist/dev/presets/video/index.js +8 -1
  627. package/dist/dev/presets/video/index.js.map +1 -0
  628. package/dist/dev/presets/video/minimal-skin.css +655 -588
  629. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  630. package/dist/dev/presets/video/minimal-skin.js +212 -211
  631. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  632. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  633. package/dist/dev/presets/video/minimal-skin.tailwind.js +226 -233
  634. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  635. package/dist/dev/presets/video/player.d.ts +13 -0
  636. package/dist/dev/presets/video/player.d.ts.map +1 -0
  637. package/dist/dev/presets/video/player.js +13 -0
  638. package/dist/dev/presets/video/player.js.map +1 -0
  639. package/dist/dev/presets/video/skin.css +656 -618
  640. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  641. package/dist/dev/presets/video/skin.js +212 -207
  642. package/dist/dev/presets/video/skin.js.map +1 -1
  643. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  644. package/dist/dev/presets/video/skin.tailwind.js +224 -227
  645. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  646. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
  647. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  648. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  649. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  650. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +4 -4
  651. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  652. package/dist/dev/skins/dist/default/default/tailwind/components/container.js +8 -0
  653. package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  654. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  655. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  656. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  657. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  658. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  659. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  660. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  661. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  662. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  663. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  664. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +8 -12
  665. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  666. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  667. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  668. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +1 -1
  669. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  670. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -1
  671. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  672. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  673. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  674. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +17 -9
  675. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  676. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  677. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  678. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  679. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  680. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  681. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  682. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +2 -2
  683. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  684. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  685. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  686. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
  687. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  688. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +6 -6
  689. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  690. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  691. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  692. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +4 -4
  693. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  694. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  695. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  696. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  697. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  698. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  699. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  700. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  701. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  702. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  703. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  704. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  705. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  706. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
  707. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  708. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  709. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  710. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
  711. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  712. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  713. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  714. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  715. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  716. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  717. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  718. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  719. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  720. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  721. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  722. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  723. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  724. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  725. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  726. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
  727. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  728. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  729. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  730. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +6 -6
  731. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
  732. package/dist/dev/ui/audio-track/use-audio-track-options.js +9 -27
  733. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  734. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +43 -0
  735. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -0
  736. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  737. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  738. package/dist/dev/ui/audio-track-radio-group/index.d.ts +2 -0
  739. package/dist/dev/ui/audio-track-radio-group/index.js +2 -0
  740. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +43 -0
  741. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -0
  742. package/dist/dev/ui/captions-radio-group/captions-radio-group.js +65 -0
  743. package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  744. package/dist/dev/ui/captions-radio-group/index.d.ts +2 -1
  745. package/dist/dev/ui/captions-radio-group/index.js +2 -1
  746. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +6 -6
  747. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  748. package/dist/dev/ui/captions-radio-group/use-captions-options.js +13 -33
  749. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  750. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts +11 -0
  751. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +1 -0
  752. package/dist/dev/ui/hooks/create-radio-options-hook.js +46 -0
  753. package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -0
  754. package/dist/dev/ui/hooks/use-slider.d.ts +2 -1
  755. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  756. package/dist/dev/ui/hooks/use-slider.js +49 -13
  757. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  758. package/dist/{default/ui/input-indicators → dev/ui/input-indicator}/use-indicator-visibility.js +1 -1
  759. package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  760. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
  761. package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  762. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  763. package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  764. package/dist/dev/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  765. package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  766. package/dist/dev/ui/menu/context.d.ts +1 -10
  767. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  768. package/dist/dev/ui/menu/context.js +1 -11
  769. package/dist/dev/ui/menu/context.js.map +1 -1
  770. package/dist/dev/ui/menu/index.parts.d.ts +3 -6
  771. package/dist/dev/ui/menu/index.parts.js +3 -9
  772. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  773. package/dist/dev/ui/menu/menu-checkbox-item.js +4 -1
  774. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  775. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  776. package/dist/dev/ui/menu/menu-content.js +78 -236
  777. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  778. package/dist/dev/ui/menu/menu-item.d.ts +0 -3
  779. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  780. package/dist/dev/ui/menu/menu-item.js +11 -18
  781. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  782. package/dist/dev/ui/menu/menu-keyboard.js +31 -0
  783. package/dist/dev/ui/menu/menu-keyboard.js.map +1 -0
  784. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  785. package/dist/dev/ui/menu/menu-radio-item.js +8 -6
  786. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  787. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  788. package/dist/dev/ui/menu/menu-root.js +46 -61
  789. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  790. package/dist/dev/ui/menu/menu-trigger.d.ts +5 -5
  791. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  792. package/dist/dev/ui/menu/menu-trigger.js +50 -87
  793. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  794. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  795. package/dist/dev/ui/mute-button/mute-button.js +2 -1
  796. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  797. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +6 -7
  798. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  799. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +15 -26
  800. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  801. package/dist/dev/ui/playback-rate-radio-group/index.d.ts +2 -0
  802. package/dist/dev/ui/playback-rate-radio-group/index.js +2 -0
  803. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +43 -0
  804. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -0
  805. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  806. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  807. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  808. package/dist/dev/ui/popover/popover-popup.js +10 -80
  809. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  810. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  811. package/dist/dev/ui/popover/popover-root.js +2 -1
  812. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  813. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  814. package/dist/dev/ui/popover/popover-trigger.js +4 -5
  815. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  816. package/dist/dev/ui/popover/use-popup-position.js +34 -0
  817. package/dist/dev/ui/popover/use-popup-position.js.map +1 -0
  818. package/dist/dev/ui/poster/poster.js +8 -4
  819. package/dist/dev/ui/poster/poster.js.map +1 -1
  820. package/dist/dev/ui/quality/use-quality-options.d.ts +6 -8
  821. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  822. package/dist/dev/ui/quality/use-quality-options.js +10 -34
  823. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  824. package/dist/dev/ui/quality-radio-group/index.d.ts +2 -0
  825. package/dist/dev/ui/quality-radio-group/index.js +2 -0
  826. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +44 -0
  827. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -0
  828. package/dist/dev/ui/quality-radio-group/quality-radio-group.js +66 -0
  829. package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  830. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +1 -1
  831. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  832. package/dist/dev/ui/slider/context.js +7 -2
  833. package/dist/dev/ui/slider/context.js.map +1 -1
  834. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  835. package/dist/dev/ui/slider/slider-preview.js +2 -3
  836. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  837. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  838. package/dist/dev/ui/slider/slider-root.js +3 -1
  839. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  840. package/dist/dev/ui/slider/slider-thumbnail.js +2 -2
  841. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  842. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  843. package/dist/dev/ui/slider/slider-value.js +3 -2
  844. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  845. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  846. package/dist/dev/ui/status-announcer/status-announcer.js +7 -4
  847. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  848. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  849. package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -2
  850. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  851. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  852. package/dist/dev/ui/time/time-value.js +13 -5
  853. package/dist/dev/ui/time/time-value.js.map +1 -1
  854. package/dist/dev/ui/time-slider/index.parts.d.ts +4 -2
  855. package/dist/dev/ui/time-slider/index.parts.js +5 -1
  856. package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
  857. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  858. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  859. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts +19 -0
  860. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts.map +1 -0
  861. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  862. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  863. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts +22 -0
  864. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts.map +1 -0
  865. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  866. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  867. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  868. package/dist/dev/ui/time-slider/time-slider-root.js +6 -4
  869. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  870. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  871. package/dist/dev/ui/tooltip/tooltip-popup.js +13 -82
  872. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  873. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  874. package/dist/dev/ui/tooltip/tooltip-root.js +5 -1
  875. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  876. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  877. package/dist/dev/ui/tooltip/tooltip-trigger.js +2 -4
  878. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  879. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +1 -1
  880. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  881. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  882. package/dist/dev/ui/volume-slider/volume-slider-root.js +10 -4
  883. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  884. package/docs/README.md +1 -1
  885. package/docs/concepts/cast.md +6 -6
  886. package/docs/concepts/features.md +9 -6
  887. package/docs/concepts/i18n.md +16 -26
  888. package/docs/concepts/media-sources.md +383 -0
  889. package/docs/concepts/mux-data.md +9 -7
  890. package/docs/concepts/overview.md +15 -18
  891. package/docs/concepts/presets.md +18 -19
  892. package/docs/concepts/skins.md +864 -859
  893. package/docs/concepts/ui-components.md +3 -3
  894. package/docs/concepts/why-videojs.md +4 -4
  895. package/docs/how-to/build-your-own-component.md +7 -5
  896. package/docs/how-to/customize-skins.md +2677 -2363
  897. package/docs/how-to/i18n-override-translations.md +3 -3
  898. package/docs/how-to/i18n-register-locale.md +3 -3
  899. package/docs/how-to/i18n-ssr.md +3 -3
  900. package/docs/how-to/i18n-switch-locale.md +3 -3
  901. package/docs/how-to/installation.md +3 -8
  902. package/docs/llms.txt +42 -39
  903. package/docs/reference/airplay-button.md +6 -6
  904. package/docs/reference/audio-track-radio-group.md +198 -29
  905. package/docs/reference/buffering-indicator.md +6 -6
  906. package/docs/reference/captions-button.md +6 -6
  907. package/docs/reference/captions-radio-group.md +206 -29
  908. package/docs/reference/cast-button.md +6 -6
  909. package/docs/reference/controls.md +6 -6
  910. package/docs/reference/create-player.md +22 -31
  911. package/docs/reference/create-translator.md +1 -1
  912. package/docs/reference/dash-video.md +14 -0
  913. package/docs/reference/feature-controls.md +13 -1
  914. package/docs/reference/feature-fullscreen.md +1 -1
  915. package/docs/reference/feature-orientation-lock.md +2 -2
  916. package/docs/reference/feature-text-tracks.md +3 -1
  917. package/docs/reference/feature-volume.md +10 -0
  918. package/docs/reference/fullscreen-button.md +6 -6
  919. package/docs/reference/get-i18n-translations.md +1 -1
  920. package/docs/reference/has-registered-locale.md +1 -1
  921. package/docs/reference/{simple-hls-audio-only.md → hls-audio.md} +5 -5
  922. package/docs/reference/{simple-hls-video.md → hls-video.md} +4 -4
  923. package/docs/reference/hlsjs-video.md +17 -9
  924. package/docs/reference/menu.md +65 -157
  925. package/docs/reference/mute-button.md +60 -18
  926. package/docs/reference/mux-audio.md +1 -107
  927. package/docs/reference/mux-video.md +1 -107
  928. package/docs/reference/native-hls-video.md +24 -0
  929. package/docs/reference/pip-button.md +6 -6
  930. package/docs/reference/play-button.md +6 -6
  931. package/docs/reference/playback-rate-button.md +6 -6
  932. package/docs/reference/playback-rate-radio-group.md +200 -29
  933. package/docs/reference/player-container.md +25 -25
  934. package/docs/reference/player-provider.md +24 -24
  935. package/docs/reference/popover.md +6 -6
  936. package/docs/reference/poster.md +6 -6
  937. package/docs/reference/quality-radio-group.md +200 -31
  938. package/docs/reference/register-i18n.md +1 -1
  939. package/docs/reference/seek-button.md +6 -6
  940. package/docs/reference/slider.md +1 -1
  941. package/docs/reference/thumbnail.md +7 -7
  942. package/docs/reference/time-slider.md +251 -7
  943. package/docs/reference/time.md +78 -34
  944. package/docs/reference/translation-phrases.md +27 -3
  945. package/docs/reference/use-container-attach.md +5 -5
  946. package/docs/reference/use-locale.md +1 -1
  947. package/docs/reference/use-media-attach.md +2 -2
  948. package/docs/reference/use-media.md +16 -10
  949. package/docs/reference/use-player-context.md +2 -7
  950. package/docs/reference/use-player.md +25 -19
  951. package/docs/reference/use-store.md +15 -15
  952. package/docs/reference/volume-slider.md +13 -11
  953. package/package.json +28 -8
  954. package/dist/default/media/mux-audio/media.js.map +0 -1
  955. package/dist/default/media/mux-video/media.js +0 -56
  956. package/dist/default/media/mux-video/media.js.map +0 -1
  957. package/dist/default/media/simple-hls-audio-only/index.js +0 -2
  958. package/dist/default/media/simple-hls-audio-only/media.js +0 -22
  959. package/dist/default/media/simple-hls-audio-only/media.js.map +0 -1
  960. package/dist/default/media/simple-hls-video/index.js +0 -2
  961. package/dist/default/media/simple-hls-video/media.js.map +0 -1
  962. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  963. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  964. package/dist/default/skins/dist/default/default/tailwind/components/root.js +0 -8
  965. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  966. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  967. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  968. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  969. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  970. package/dist/default/tailwind.css +0 -42
  971. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  972. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  973. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  974. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  975. package/dist/default/ui/menu/menu-back.js +0 -34
  976. package/dist/default/ui/menu/menu-back.js.map +0 -1
  977. package/dist/default/ui/menu/menu-item-setting-provider.js +0 -77
  978. package/dist/default/ui/menu/menu-item-setting-provider.js.map +0 -1
  979. package/dist/default/ui/menu/menu-item-value.js +0 -28
  980. package/dist/default/ui/menu/menu-item-value.js.map +0 -1
  981. package/dist/default/ui/menu/menu-view.js +0 -23
  982. package/dist/default/ui/menu/menu-view.js.map +0 -1
  983. package/dist/dev/media/mux-audio/media.d.ts.map +0 -1
  984. package/dist/dev/media/mux-audio/media.js.map +0 -1
  985. package/dist/dev/media/mux-video/media.d.ts.map +0 -1
  986. package/dist/dev/media/mux-video/media.js +0 -56
  987. package/dist/dev/media/mux-video/media.js.map +0 -1
  988. package/dist/dev/media/simple-hls-audio-only/index.d.ts +0 -2
  989. package/dist/dev/media/simple-hls-audio-only/index.js +0 -2
  990. package/dist/dev/media/simple-hls-audio-only/media.d.ts +0 -13
  991. package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +0 -1
  992. package/dist/dev/media/simple-hls-audio-only/media.js +0 -22
  993. package/dist/dev/media/simple-hls-audio-only/media.js.map +0 -1
  994. package/dist/dev/media/simple-hls-video/index.d.ts +0 -2
  995. package/dist/dev/media/simple-hls-video/index.js +0 -2
  996. package/dist/dev/media/simple-hls-video/media.d.ts +0 -13
  997. package/dist/dev/media/simple-hls-video/media.d.ts.map +0 -1
  998. package/dist/dev/media/simple-hls-video/media.js.map +0 -1
  999. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  1000. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  1001. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +0 -8
  1002. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  1003. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  1004. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  1005. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  1006. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  1007. package/dist/dev/tailwind.css +0 -42
  1008. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  1009. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  1010. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  1011. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  1012. package/dist/dev/ui/menu/menu-back.d.ts +0 -17
  1013. package/dist/dev/ui/menu/menu-back.d.ts.map +0 -1
  1014. package/dist/dev/ui/menu/menu-back.js +0 -34
  1015. package/dist/dev/ui/menu/menu-back.js.map +0 -1
  1016. package/dist/dev/ui/menu/menu-item-setting-provider.js +0 -77
  1017. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +0 -1
  1018. package/dist/dev/ui/menu/menu-item-type.d.ts +0 -5
  1019. package/dist/dev/ui/menu/menu-item-type.d.ts.map +0 -1
  1020. package/dist/dev/ui/menu/menu-item-value.d.ts +0 -12
  1021. package/dist/dev/ui/menu/menu-item-value.d.ts.map +0 -1
  1022. package/dist/dev/ui/menu/menu-item-value.js +0 -28
  1023. package/dist/dev/ui/menu/menu-item-value.js.map +0 -1
  1024. package/dist/dev/ui/menu/menu-view.d.ts +0 -13
  1025. package/dist/dev/ui/menu/menu-view.d.ts.map +0 -1
  1026. package/dist/dev/ui/menu/menu-view.js +0 -23
  1027. package/dist/dev/ui/menu/menu-view.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useAttachMedia } from "../../utils/use-attach-media.js";
4
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { forwardRef } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { HlsAudioMedia, hlsAudioMediaDefaultProps } from "@videojs/spf/hls-audio";
9
+ //#region src/media/hls-audio/media.tsx
10
+ const HlsAudio = forwardRef(function HlsAudio({ children, ...props }, ref) {
11
+ const media = useMediaInstance(HlsAudioMedia);
12
+ return /* @__PURE__ */ jsx("audio", {
13
+ ref: useComposedRefs(useAttachMedia(media), ref),
14
+ ...useSyncProps(media, props, hlsAudioMediaDefaultProps),
15
+ children
16
+ });
17
+ });
18
+ //#endregion
19
+ export { HlsAudio };
20
+
21
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/hls-audio/media.tsx"],"sourcesContent":["'use client';\n\nimport type { HlsAudioMediaProps } from '@videojs/spf/hls-audio';\nimport { HlsAudioMedia, hlsAudioMediaDefaultProps } from '@videojs/spf/hls-audio';\nimport type { AudioHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface HlsAudioProps\n extends Omit<AudioHTMLAttributes<HTMLAudioElement>, keyof HlsAudioMediaProps>,\n Partial<HlsAudioMediaProps> {\n children?: ReactNode;\n}\n\nexport const HlsAudio = forwardRef<HTMLAudioElement, HlsAudioProps>(function HlsAudio({ children, ...props }, ref) {\n const media = useMediaInstance(HlsAudioMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, hlsAudioMediaDefaultProps);\n\n return (\n <audio ref={composedRef} {...htmlProps}>\n {children}\n </audio>\n );\n});\n\nexport namespace HlsAudio {\n export type Props = HlsAudioProps;\n}\n"],"mappings":";;;;;;;;;AAiBA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,aAAa;CAK5C,OACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,KACW,GAAG,GAIvB;EAAG,GAHT,aAAa,OAAO,OAAO,yBAGN;EAClC;CACI,CAAA;AAEX,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { HlsBackgroundVideo } from "./media.js";
2
+ export { HlsBackgroundVideo };
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useAttachMedia } from "../../utils/use-attach-media.js";
4
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { forwardRef } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { HlsBackgroundVideoMedia, hlsBackgroundVideoMediaDefaultProps } from "@videojs/spf/hls-background-video";
9
+ //#region src/media/hls-background-video/media.tsx
10
+ /**
11
+ * A muted, looping, chrome-less video over the SPF background-video engine — the
12
+ * React counterpart to `<hls-background-video>`, and the replacement for the
13
+ * standalone `mux-background-video` package's component.
14
+ *
15
+ * `src` is an HLS URL and the whole surface. Capping which rendition is fetched
16
+ * is a param on that URL (`?max_resolution=720p` on a Mux stream, for one) rather
17
+ * than a prop, which keeps the renditions it excludes out of the manifest instead
18
+ * of merely unpicked.
19
+ *
20
+ * There is no structured Mux `source`: playback-ID identity, poster, and
21
+ * storyboard belong to `MuxVideo`, since none of them mean anything without
22
+ * controls to hang them on.
23
+ *
24
+ * `MuxBackgroundVideo` is this same component under the name the package it
25
+ * replaces used — an alias, not a variant.
26
+ */
27
+ const HlsBackgroundVideo = forwardRef(function HlsBackgroundVideo({ children, ...props }, ref) {
28
+ const media = useMediaInstance(HlsBackgroundVideoMedia);
29
+ const composedRef = useComposedRefs(useAttachMedia(media), ref);
30
+ return /* @__PURE__ */ jsx("video", {
31
+ ...useSyncProps(media, props, hlsBackgroundVideoMediaDefaultProps),
32
+ ref: composedRef,
33
+ muted: true,
34
+ autoPlay: true,
35
+ loop: true,
36
+ playsInline: true,
37
+ disableRemotePlayback: true,
38
+ disablePictureInPicture: true,
39
+ children
40
+ });
41
+ });
42
+ //#endregion
43
+ export { HlsBackgroundVideo };
44
+
45
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/hls-background-video/media.tsx"],"sourcesContent":["'use client';\n\nimport {\n HlsBackgroundVideoMedia,\n type HlsBackgroundVideoMediaProps,\n hlsBackgroundVideoMediaDefaultProps,\n} from '@videojs/spf/hls-background-video';\nimport type { VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\n// `src` is the only prop the Media owns, taken from the adapter rather than\n// restated here so the two can't disagree about what the surface is.\nexport interface HlsBackgroundVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof HlsBackgroundVideoMediaProps>,\n Partial<HlsBackgroundVideoMediaProps> {}\n\n/**\n * A muted, looping, chrome-less video over the SPF background-video engine — the\n * React counterpart to `<hls-background-video>`, and the replacement for the\n * standalone `mux-background-video` package's component.\n *\n * `src` is an HLS URL and the whole surface. Capping which rendition is fetched\n * is a param on that URL (`?max_resolution=720p` on a Mux stream, for one) rather\n * than a prop, which keeps the renditions it excludes out of the manifest instead\n * of merely unpicked.\n *\n * There is no structured Mux `source`: playback-ID identity, poster, and\n * storyboard belong to `MuxVideo`, since none of them mean anything without\n * controls to hang them on.\n *\n * `MuxBackgroundVideo` is this same component under the name the package it\n * replaces used — an alias, not a variant.\n */\nexport const HlsBackgroundVideo = forwardRef<HTMLVideoElement, HlsBackgroundVideoProps>(function HlsBackgroundVideo(\n { children, ...props },\n ref\n) {\n const media = useMediaInstance(HlsBackgroundVideoMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, hlsBackgroundVideoMediaDefaultProps);\n\n return (\n // The same set `<hls-background-video>` forces onto its inner video, so the\n // two platforms present the same surface: silent looping playback with no\n // affordance a UA could hang chrome on — AirPlay, Cast, and picture-in-picture\n // all being things a background video has nowhere to put.\n //\n // Applied after the spread rather than before it, unlike the generic\n // `BackgroundVideo`: they're what the component is for, and attaching the\n // Media re-applies its own anyway, so honoring `muted={false}` would only\n // look like it worked.\n <video\n {...htmlProps}\n ref={composedRef}\n muted\n autoPlay\n loop\n playsInline\n disableRemotePlayback\n disablePictureInPicture\n >\n {children}\n </video>\n );\n});\n\nexport namespace HlsBackgroundVideo {\n export type Props = HlsBackgroundVideoProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,MAAa,qBAAqB,WAAsD,SAAS,mBAC/F,EAAE,UAAU,GAAG,SACf,KACA;CACA,MAAM,QAAQ,iBAAiB,uBAAuB;CAEtD,MAAM,cAAc,gBADF,eAAe,KACW,GAAG,GAAG;CAGlD,OAUE,oBAAC,SAAD;EACE,GAbc,aAAa,OAAO,OAAO,mCAa7B;EACZ,KAAK;EACL,OAAA;EACA,UAAA;EACA,MAAA;EACA,aAAA;EACA,uBAAA;EACA,yBAAA;EAEC;CACI,CAAA;AAEX,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { HlsVideo } from "./media.js";
2
+ export { HlsVideo };
@@ -5,18 +5,17 @@ import { useMediaInstance } from "../../utils/use-media-instance.js";
5
5
  import { useSyncProps } from "../../utils/use-sync-props.js";
6
6
  import { forwardRef } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
- import { simpleHlsMediaDefaultProps } from "@videojs/spf/hls";
9
- import { SimpleHlsMedia } from "@videojs/media/dom/simple-hls";
10
- //#region src/media/simple-hls-video/media.tsx
11
- const SimpleHlsVideo = forwardRef(function SimpleHlsVideo({ children, ...props }, ref) {
12
- const media = useMediaInstance(SimpleHlsMedia);
8
+ import { HlsVideoMedia, hlsVideoMediaDefaultProps } from "@videojs/spf/hls-video";
9
+ //#region src/media/hls-video/media.tsx
10
+ const HlsVideo = forwardRef(function HlsVideo({ children, ...props }, ref) {
11
+ const media = useMediaInstance(HlsVideoMedia);
13
12
  return /* @__PURE__ */ jsx("video", {
14
13
  ref: useComposedRefs(useAttachMedia(media), ref),
15
- ...useSyncProps(media, props, simpleHlsMediaDefaultProps),
14
+ ...useSyncProps(media, props, hlsVideoMediaDefaultProps),
16
15
  children
17
16
  });
18
17
  });
19
18
  //#endregion
20
- export { SimpleHlsVideo };
19
+ export { HlsVideo };
21
20
 
22
21
  //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/hls-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { HlsVideoMediaProps } from '@videojs/spf/hls-video';\nimport { HlsVideoMedia, hlsVideoMediaDefaultProps } from '@videojs/spf/hls-video';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface HlsVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof HlsVideoMediaProps>,\n Partial<HlsVideoMediaProps> {\n children?: ReactNode;\n}\n\nexport const HlsVideo = forwardRef<HTMLVideoElement, HlsVideoProps>(function HlsVideo({ children, ...props }, ref) {\n const media = useMediaInstance(HlsVideoMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, hlsVideoMediaDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n {children}\n </video>\n );\n});\n\nexport namespace HlsVideo {\n export type Props = HlsVideoProps;\n}\n"],"mappings":";;;;;;;;;AAiBA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,aAAa;CAK5C,OACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,KACW,GAAG,GAIvB;EAAG,GAHT,aAAa,OAAO,OAAO,yBAGN;EAClC;CACI,CAAA;AAEX,CAAC"}
@@ -7,7 +7,7 @@ import { forwardRef } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  import { hlsMediaDefaultProps } from "@videojs/media/dom/hls-js";
9
9
  import { MuxMedia, muxMediaDefaultProps } from "@videojs/media/dom/mux";
10
- //#region src/media/mux-audio/media.tsx
10
+ //#region src/media/mux-audio/hls-js.tsx
11
11
  const muxAudioDefaultProps = {
12
12
  ...hlsMediaDefaultProps,
13
13
  ...muxMediaDefaultProps
@@ -23,4 +23,4 @@ const MuxAudio = forwardRef(function MuxAudio({ children, ...props }, ref) {
23
23
  //#endregion
24
24
  export { MuxAudio };
25
25
 
26
- //# sourceMappingURL=media.js.map
26
+ //# sourceMappingURL=hls-js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hls-js.js","names":[],"sources":["../../../../src/media/mux-audio/hls-js.tsx"],"sourcesContent":["'use client';\n\nimport type { HlsMediaProps } from '@videojs/media/dom/hls-js';\nimport { hlsMediaDefaultProps } from '@videojs/media/dom/hls-js';\nimport type { MuxMediaProps } from '@videojs/media/dom/mux';\nimport { MuxMedia, muxMediaDefaultProps } from '@videojs/media/dom/mux';\nimport type { AudioHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\n// `source` comes from `MuxMediaProps` only: `MuxSource` extends `HlsSource` with\n// Mux identity fields, so the narrower type has to win.\nexport interface MuxAudioProps\n extends Omit<AudioHTMLAttributes<HTMLAudioElement>, keyof HlsMediaProps | keyof MuxMediaProps>,\n Partial<Omit<HlsMediaProps, 'source'>>,\n Partial<MuxMediaProps> {\n children?: ReactNode;\n}\n\nconst muxAudioDefaultProps: Omit<HlsMediaProps, 'source'> & MuxMediaProps = {\n ...hlsMediaDefaultProps,\n ...muxMediaDefaultProps,\n};\n\nexport const MuxAudio = forwardRef<HTMLAudioElement, MuxAudioProps>(function MuxAudio({ children, ...props }, ref) {\n const media = useMediaInstance(MuxMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, muxAudioDefaultProps);\n\n return (\n <audio ref={composedRef} {...htmlProps}>\n {children}\n </audio>\n );\n});\n\nexport namespace MuxAudio {\n export type Props = MuxAudioProps;\n}\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,uBAAsE;CAC1E,GAAG;CACH,GAAG;AACL;AAEA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,QAAQ;CAKvC,OACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,KACW,GAAG,GAIvB;EAAG,GAHT,aAAa,OAAO,OAAO,oBAGN;EAClC;CACI,CAAA;AAEX,CAAC"}
@@ -1,2 +1,2 @@
1
- import { MuxAudio } from "./media.js";
1
+ import { MuxAudio } from "./hls-js.js";
2
2
  export { MuxAudio };
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useAttachMedia } from "../../utils/use-attach-media.js";
4
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { forwardRef } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { hlsAudioMediaDefaultProps } from "@videojs/spf/hls-audio";
9
+ import { MuxAudioMedia, muxMediaDefaultProps } from "@videojs/spf/mux-audio";
10
+ //#region src/media/mux-audio/spf.tsx
11
+ const muxAudioDefaultProps = {
12
+ ...hlsAudioMediaDefaultProps,
13
+ ...muxMediaDefaultProps
14
+ };
15
+ const MuxAudio = forwardRef(function MuxAudio({ children, ...props }, ref) {
16
+ const media = useMediaInstance(MuxAudioMedia);
17
+ return /* @__PURE__ */ jsx("audio", {
18
+ ref: useComposedRefs(useAttachMedia(media), ref),
19
+ ...useSyncProps(media, props, muxAudioDefaultProps),
20
+ children
21
+ });
22
+ });
23
+ //#endregion
24
+ export { MuxAudio };
25
+
26
+ //# sourceMappingURL=spf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spf.js","names":[],"sources":["../../../../src/media/mux-audio/spf.tsx"],"sourcesContent":["'use client';\n\nimport type { HlsAudioMediaProps } from '@videojs/spf/hls-audio';\nimport { hlsAudioMediaDefaultProps } from '@videojs/spf/hls-audio';\nimport type { MuxMediaProps } from '@videojs/spf/mux-audio';\nimport { MuxAudioMedia, muxMediaDefaultProps } from '@videojs/spf/mux-audio';\nimport type { AudioHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\n// `src` and `source` come from `MuxMediaProps`: the Mux Media owns both, and its\n// `source` is the structured Mux one rather than the generic engine's.\nexport interface MuxAudioProps\n extends Omit<AudioHTMLAttributes<HTMLAudioElement>, keyof HlsAudioMediaProps | keyof MuxMediaProps>,\n Partial<Omit<HlsAudioMediaProps, 'src'>>,\n Partial<MuxMediaProps> {\n children?: ReactNode;\n}\n\nconst muxAudioDefaultProps: Omit<HlsAudioMediaProps, 'src'> & MuxMediaProps = {\n ...hlsAudioMediaDefaultProps,\n ...muxMediaDefaultProps,\n};\n\nexport const MuxAudio = forwardRef<HTMLAudioElement, MuxAudioProps>(function MuxAudio({ children, ...props }, ref) {\n const media = useMediaInstance(MuxAudioMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, muxAudioDefaultProps);\n\n return (\n <audio ref={composedRef} {...htmlProps}>\n {children}\n </audio>\n );\n});\n\nexport namespace MuxAudio {\n export type Props = MuxAudioProps;\n}\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,uBAAwE;CAC5E,GAAG;CACH,GAAG;AACL;AAEA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,aAAa;CAK5C,OACE,oBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,KACW,GAAG,GAIvB;EAAG,GAHT,aAAa,OAAO,OAAO,oBAGN;EAClC;CACI,CAAA;AAEX,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { HlsBackgroundVideo } from "../hls-background-video/media.js";
2
+ export { HlsBackgroundVideo as MuxBackgroundVideo };
@@ -7,7 +7,7 @@ import { MuxData, muxDataDefaultProps } from "@videojs/media/dom/mux";
7
7
  * Adds [Mux Data](https://www.mux.com/data) monitoring to the surrounding
8
8
  * player's media.
9
9
  *
10
- * Renders nothing — place it inside the player provider as a sibling of the
10
+ * Renders nothing — place it inside the Player as a sibling of the
11
11
  * media component (e.g. `<MuxVideo />`) and it registers a `MuxData` media
12
12
  * component with the active media.
13
13
  *
@@ -15,12 +15,16 @@ import { MuxData, muxDataDefaultProps } from "@videojs/media/dom/mux";
15
15
  * as its `video_id`, which Mux attributes to the owning environment. Set
16
16
  * `envKey` to monitor sources Mux doesn't host.
17
17
  *
18
+ * Any media component works. When the media plays through an hls.js or dash.js
19
+ * engine, that engine is handed to the Mux Data SDK so the view also carries
20
+ * stream-level detail such as rendition switches and request timing.
21
+ *
18
22
  * @example
19
23
  * ```tsx
20
- * <Player.Provider>
24
+ * <Player>
21
25
  * <MuxVideo source={{ playbackId: 'abc123' }} />
22
26
  * <MuxData playerSoftwareName="mux-video" />
23
- * </Player.Provider>
27
+ * </Player>
24
28
  * ```
25
29
  */
26
30
  function MuxData$1(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"mux-data.js","names":["MuxData","MuxDataComponent"],"sources":["../../../../src/media/mux-data/mux-data.tsx"],"sourcesContent":["'use client';\n\nimport type { MuxDataProps as MuxDataComponentProps } from '@videojs/media/dom/mux';\nimport { MuxData as MuxDataComponent, muxDataDefaultProps } from '@videojs/media/dom/mux';\nimport type { ReactNode } from 'react';\n\nimport { useMediaComponent } from '../../utils/use-media-component';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport type MuxDataProps = Partial<MuxDataComponentProps>;\n\n/**\n * Adds [Mux Data](https://www.mux.com/data) monitoring to the surrounding\n * player's media.\n *\n * Renders nothing — place it inside the player provider as a sibling of the\n * media component (e.g. `<MuxVideo />`) and it registers a `MuxData` media\n * component with the active media.\n *\n * Mux-hosted playback needs no `envKey`: the view reports the Mux playback ID\n * as its `video_id`, which Mux attributes to the owning environment. Set\n * `envKey` to monitor sources Mux doesn't host.\n *\n * @example\n * ```tsx\n * <Player.Provider>\n * <MuxVideo source={{ playbackId: 'abc123' }} />\n * <MuxData playerSoftwareName=\"mux-video\" />\n * </Player.Provider>\n * ```\n */\nexport function MuxData(props: MuxDataProps): ReactNode {\n const component = useMediaComponent(MuxDataComponent);\n const { MuxDataSdk, ...rest } = props;\n\n // `useSyncProps` treats an `undefined` prop as \"reset to the default\", but\n // `MuxDataSdk={undefined}` is how consumers disable monitoring. Sync it here\n // instead: passing the prop wins even when its value is `undefined`, and only\n // omitting it falls back to the default SDK.\n const sdk = 'MuxDataSdk' in props ? MuxDataSdk : muxDataDefaultProps.MuxDataSdk;\n if (component.MuxDataSdk !== sdk) component.MuxDataSdk = sdk;\n\n useSyncProps(component, rest, muxDataDefaultProps);\n\n return null;\n}\n\nexport namespace MuxData {\n export type Props = MuxDataProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAgBA,UAAQ,OAAgC;CACtD,MAAM,YAAY,kBAAkBC,OAAgB;CACpD,MAAM,EAAE,YAAY,GAAG,SAAS;CAMhC,MAAM,MAAM,gBAAgB,QAAQ,aAAa,oBAAoB;CACrE,IAAI,UAAU,eAAe,KAAK,UAAU,aAAa;CAEzD,aAAa,WAAW,MAAM,mBAAmB;CAEjD,OAAO;AACT"}
1
+ {"version":3,"file":"mux-data.js","names":["MuxData","MuxDataComponent"],"sources":["../../../../src/media/mux-data/mux-data.tsx"],"sourcesContent":["'use client';\n\nimport type { MuxDataProps as MuxDataComponentProps } from '@videojs/media/dom/mux';\nimport { MuxData as MuxDataComponent, muxDataDefaultProps } from '@videojs/media/dom/mux';\nimport type { ReactNode } from 'react';\n\nimport { useMediaComponent } from '../../utils/use-media-component';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport type MuxDataProps = Partial<MuxDataComponentProps>;\n\n/**\n * Adds [Mux Data](https://www.mux.com/data) monitoring to the surrounding\n * player's media.\n *\n * Renders nothing — place it inside the Player as a sibling of the\n * media component (e.g. `<MuxVideo />`) and it registers a `MuxData` media\n * component with the active media.\n *\n * Mux-hosted playback needs no `envKey`: the view reports the Mux playback ID\n * as its `video_id`, which Mux attributes to the owning environment. Set\n * `envKey` to monitor sources Mux doesn't host.\n *\n * Any media component works. When the media plays through an hls.js or dash.js\n * engine, that engine is handed to the Mux Data SDK so the view also carries\n * stream-level detail such as rendition switches and request timing.\n *\n * @example\n * ```tsx\n * <Player>\n * <MuxVideo source={{ playbackId: 'abc123' }} />\n * <MuxData playerSoftwareName=\"mux-video\" />\n * </Player>\n * ```\n */\nexport function MuxData(props: MuxDataProps): ReactNode {\n const component = useMediaComponent(MuxDataComponent);\n const { MuxDataSdk, ...rest } = props;\n\n // `useSyncProps` treats an `undefined` prop as \"reset to the default\", but\n // `MuxDataSdk={undefined}` is how consumers disable monitoring. Sync it here\n // instead: passing the prop wins even when its value is `undefined`, and only\n // omitting it falls back to the default SDK.\n const sdk = 'MuxDataSdk' in props ? MuxDataSdk : muxDataDefaultProps.MuxDataSdk;\n if (component.MuxDataSdk !== sdk) component.MuxDataSdk = sdk;\n\n useSyncProps(component, rest, muxDataDefaultProps);\n\n return null;\n}\n\nexport namespace MuxData {\n export type Props = MuxDataProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,SAAgBA,UAAQ,OAAgC;CACtD,MAAM,YAAY,kBAAkBC,OAAgB;CACpD,MAAM,EAAE,YAAY,GAAG,SAAS;CAMhC,MAAM,MAAM,gBAAgB,QAAQ,aAAa,oBAAoB;CACrE,IAAI,UAAU,eAAe,KAAK,UAAU,aAAa;CAEzD,aAAa,WAAW,MAAM,mBAAmB;CAEjD,OAAO;AACT"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useAttachMedia } from "../../utils/use-attach-media.js";
4
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { MuxStoryboard } from "./storyboard.js";
7
+ import { forwardRef } from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { hlsMediaDefaultProps } from "@videojs/media/dom/hls-js";
10
+ import { MuxMedia, muxMediaDefaultProps } from "@videojs/media/dom/mux";
11
+ //#region src/media/mux-video/hls-js.tsx
12
+ const muxVideoDefaultProps = {
13
+ ...hlsMediaDefaultProps,
14
+ ...muxMediaDefaultProps
15
+ };
16
+ const MuxVideo = forwardRef(function MuxVideo({ children, ...props }, ref) {
17
+ const media = useMediaInstance(MuxMedia);
18
+ return /* @__PURE__ */ jsxs("video", {
19
+ ref: useComposedRefs(useAttachMedia(media), ref),
20
+ ...useSyncProps(media, props, muxVideoDefaultProps),
21
+ children: [/* @__PURE__ */ jsx(MuxStoryboard, { media }), children]
22
+ });
23
+ });
24
+ //#endregion
25
+ export { MuxVideo };
26
+
27
+ //# sourceMappingURL=hls-js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hls-js.js","names":[],"sources":["../../../../src/media/mux-video/hls-js.tsx"],"sourcesContent":["'use client';\n\nimport type { HlsMediaProps } from '@videojs/media/dom/hls-js';\nimport { hlsMediaDefaultProps } from '@videojs/media/dom/hls-js';\nimport type { MuxMediaProps } from '@videojs/media/dom/mux';\nimport { MuxMedia, muxMediaDefaultProps } from '@videojs/media/dom/mux';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\nimport { MuxStoryboard } from './storyboard';\n\n// `source` comes from `MuxMediaProps` only: `MuxSource` extends `HlsSource` with\n// Mux identity fields, so the narrower type has to win.\nexport interface MuxVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof HlsMediaProps | keyof MuxMediaProps>,\n Partial<Omit<HlsMediaProps, 'source'>>,\n Partial<MuxMediaProps> {\n children?: ReactNode;\n}\n\nconst muxVideoDefaultProps: Omit<HlsMediaProps, 'source'> & MuxMediaProps = {\n ...hlsMediaDefaultProps,\n ...muxMediaDefaultProps,\n};\n\nexport const MuxVideo = forwardRef<HTMLVideoElement, MuxVideoProps>(function MuxVideo({ children, ...props }, ref) {\n const media = useMediaInstance(MuxMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, muxVideoDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n <MuxStoryboard media={media} />\n {children}\n </video>\n );\n});\n\nexport namespace MuxVideo {\n export type Props = MuxVideoProps;\n}\n"],"mappings":";;;;;;;;;;;AAuBA,MAAM,uBAAsE;CAC1E,GAAG;CACH,GAAG;AACL;AAEA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,QAAQ;CAKvC,OACE,qBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,KACW,GAAG,GAIvB;EAAG,GAHT,aAAa,OAAO,OAAO,oBAGN;EAArC,UAAA,CACE,oBAAC,eAAD,EAAsB,MAAQ,CAAA,GAC7B,QACI;;AAEX,CAAC"}
@@ -1,2 +1,2 @@
1
- import { MuxVideo } from "./media.js";
1
+ import { MuxVideo } from "./hls-js.js";
2
2
  export { MuxVideo };
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useAttachMedia } from "../../utils/use-attach-media.js";
4
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { MuxStoryboard } from "./storyboard.js";
7
+ import { forwardRef } from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { hlsVideoMediaDefaultProps } from "@videojs/spf/hls-video";
10
+ import { MuxVideoMedia, muxMediaDefaultProps } from "@videojs/spf/mux-video";
11
+ //#region src/media/mux-video/spf.tsx
12
+ const muxVideoDefaultProps = {
13
+ ...hlsVideoMediaDefaultProps,
14
+ ...muxMediaDefaultProps
15
+ };
16
+ const MuxVideo = forwardRef(function MuxVideo({ children, ...props }, ref) {
17
+ const media = useMediaInstance(MuxVideoMedia);
18
+ return /* @__PURE__ */ jsxs("video", {
19
+ ref: useComposedRefs(useAttachMedia(media), ref),
20
+ ...useSyncProps(media, props, muxVideoDefaultProps),
21
+ children: [/* @__PURE__ */ jsx(MuxStoryboard, { media }), children]
22
+ });
23
+ });
24
+ //#endregion
25
+ export { MuxVideo };
26
+
27
+ //# sourceMappingURL=spf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spf.js","names":[],"sources":["../../../../src/media/mux-video/spf.tsx"],"sourcesContent":["'use client';\n\nimport type { HlsVideoMediaProps } from '@videojs/spf/hls-video';\nimport { hlsVideoMediaDefaultProps } from '@videojs/spf/hls-video';\nimport type { MuxMediaProps } from '@videojs/spf/mux-video';\nimport { MuxVideoMedia, muxMediaDefaultProps } from '@videojs/spf/mux-video';\nimport type { ReactNode, VideoHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useAttachMedia } from '../../utils/use-attach-media';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\nimport { MuxStoryboard } from './storyboard';\n\n// `src` and `source` come from `MuxMediaProps`: the Mux Media owns both, and its\n// `source` is the structured Mux one rather than the generic engine's.\nexport interface MuxVideoProps\n extends Omit<VideoHTMLAttributes<HTMLVideoElement>, keyof HlsVideoMediaProps | keyof MuxMediaProps>,\n Partial<Omit<HlsVideoMediaProps, 'src'>>,\n Partial<MuxMediaProps> {\n children?: ReactNode;\n}\n\nconst muxVideoDefaultProps: Omit<HlsVideoMediaProps, 'src'> & MuxMediaProps = {\n ...hlsVideoMediaDefaultProps,\n ...muxMediaDefaultProps,\n};\n\nexport const MuxVideo = forwardRef<HTMLVideoElement, MuxVideoProps>(function MuxVideo({ children, ...props }, ref) {\n const media = useMediaInstance(MuxVideoMedia);\n const attachRef = useAttachMedia(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const htmlProps = useSyncProps(media, props, muxVideoDefaultProps);\n\n return (\n <video ref={composedRef} {...htmlProps}>\n <MuxStoryboard media={media} />\n {children}\n </video>\n );\n});\n\nexport namespace MuxVideo {\n export type Props = MuxVideoProps;\n}\n"],"mappings":";;;;;;;;;;;AAuBA,MAAM,uBAAwE;CAC5E,GAAG;CACH,GAAG;AACL;AAEA,MAAa,WAAW,WAA4C,SAAS,SAAS,EAAE,UAAU,GAAG,SAAS,KAAK;CACjH,MAAM,QAAQ,iBAAiB,aAAa;CAK5C,OACE,qBAAC,SAAD;EAAO,KAJW,gBADF,eAAe,KACW,GAAG,GAIvB;EAAG,GAHT,aAAa,OAAO,OAAO,oBAGN;EAArC,UAAA,CACE,oBAAC,eAAD,EAAsB,MAAQ,CAAA,GAC7B,QACI;;AAEX,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { MediaStreamTypes } from "@videojs/media";
3
+ import { useCallback, useSyncExternalStore } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/media/mux-video/storyboard.tsx
6
+ /**
7
+ * Renders the storyboard track in its own component so media changes don't
8
+ * re-render the whole media component.
9
+ */
10
+ function MuxStoryboard({ media }) {
11
+ const subscribe = useCallback((onChange) => {
12
+ let cancelled = false;
13
+ let scheduled = false;
14
+ const notify = () => {
15
+ if (scheduled) return;
16
+ scheduled = true;
17
+ queueMicrotask(() => {
18
+ scheduled = false;
19
+ if (!cancelled) onChange();
20
+ });
21
+ };
22
+ media.addEventListener("streamtypechange", notify);
23
+ media.addEventListener("sourcechange", notify);
24
+ return () => {
25
+ cancelled = true;
26
+ media.removeEventListener("streamtypechange", notify);
27
+ media.removeEventListener("sourcechange", notify);
28
+ };
29
+ }, [media]);
30
+ const getSnapshot = () => media.streamType === MediaStreamTypes.LIVE ? "" : media.contentData.storyboard ?? "";
31
+ const src = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
32
+ if (!src) return null;
33
+ return /* @__PURE__ */ jsx("track", {
34
+ kind: "metadata",
35
+ label: "thumbnails",
36
+ src,
37
+ default: true
38
+ });
39
+ }
40
+ //#endregion
41
+ export { MuxStoryboard };
42
+
43
+ //# sourceMappingURL=storyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storyboard.js","names":[],"sources":["../../../../src/media/mux-video/storyboard.tsx"],"sourcesContent":["'use client';\n\nimport { type MediaStreamType, MediaStreamTypes } from '@videojs/media';\nimport type { MuxContentData } from '@videojs/media/dom/mux/source';\nimport { useCallback, useSyncExternalStore } from 'react';\n\n/**\n * What the storyboard track needs from whichever Mux Media renders it.\n *\n * Structural on purpose: the hls.js-backed `MuxMedia` and the SPF-backed one\n * satisfy it identically, so this component carries no engine.\n */\nexport interface MuxStoryboardMedia {\n readonly streamType: MediaStreamType | undefined;\n readonly contentData: MuxContentData;\n addEventListener(type: string, listener: () => void): void;\n removeEventListener(type: string, listener: () => void): void;\n}\n\n/**\n * Renders the storyboard track in its own component so media changes don't\n * re-render the whole media component.\n */\nexport function MuxStoryboard({ media }: { media: MuxStoryboardMedia }) {\n const subscribe = useCallback(\n (onChange: () => void) => {\n // `useSyncProps` writes `src` / `source` during render and those setters\n // dispatch `sourcechange` synchronously. Defer (and coalesce) notifications\n // so we never schedule an update while another component is rendering.\n let cancelled = false;\n let scheduled = false;\n const notify = () => {\n if (scheduled) return;\n scheduled = true;\n queueMicrotask(() => {\n scheduled = false;\n if (!cancelled) onChange();\n });\n };\n media.addEventListener('streamtypechange', notify);\n media.addEventListener('sourcechange', notify);\n return () => {\n cancelled = true;\n media.removeEventListener('streamtypechange', notify);\n media.removeEventListener('sourcechange', notify);\n };\n },\n [media]\n );\n\n // The stream type is detected at runtime and live streams have no storyboard.\n // The '' fallback keeps the snapshot a string rather than sometimes undefined.\n const getSnapshot = () => (media.streamType === MediaStreamTypes.LIVE ? '' : (media.contentData.storyboard ?? ''));\n const src = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n if (!src) return null;\n return <track kind=\"metadata\" label=\"thumbnails\" src={src} default />;\n}\n"],"mappings":";;;;;;;;;AAuBA,SAAgB,cAAc,EAAE,SAAwC;CACtE,MAAM,YAAY,aACf,aAAyB;EAIxB,IAAI,YAAY;EAChB,IAAI,YAAY;EAChB,MAAM,eAAe;GACnB,IAAI,WAAW;GACf,YAAY;GACZ,qBAAqB;IACnB,YAAY;IACZ,IAAI,CAAC,WAAW,SAAS;GAC3B,CAAC;EACH;EACA,MAAM,iBAAiB,oBAAoB,MAAM;EACjD,MAAM,iBAAiB,gBAAgB,MAAM;EAC7C,aAAa;GACX,YAAY;GACZ,MAAM,oBAAoB,oBAAoB,MAAM;GACpD,MAAM,oBAAoB,gBAAgB,MAAM;EAClD;CACF,GACA,CAAC,KAAK,CACR;CAIA,MAAM,oBAAqB,MAAM,eAAe,iBAAiB,OAAO,KAAM,MAAM,YAAY,cAAc;CAC9G,MAAM,MAAM,qBAAqB,WAAW,aAAa,WAAW;CAEpE,IAAI,CAAC,KAAK,OAAO;CACjB,OAAO,oBAAC,SAAD;EAAO,MAAK;EAAW,OAAM;EAAkB;EAAK,SAAA;CAAS,CAAA;AACtE"}
@@ -0,0 +1,2 @@
1
+ import { SpotifyAudio } from "./media.js";
2
+ export { SpotifyAudio };
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
4
+ import { useAttachIframe } from "../../utils/use-attach-iframe.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { forwardRef, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { SpotifyMedia, buildSpotifyIframeSrc, spotifyMediaDefaultProps } from "@videojs/media/dom/spotify";
9
+ //#region src/media/spotify-audio/media.tsx
10
+ const SpotifyAudio = forwardRef(function SpotifyAudio({ children, ...rawProps }, ref) {
11
+ const media = useMediaInstance(SpotifyMedia);
12
+ const props = { ...rawProps };
13
+ const composedRef = useComposedRefs(useAttachIframe(media), ref);
14
+ const [initialSrc] = useState(() => buildSpotifyIframeSrc(props.src || props.source?.src || "", {
15
+ ...spotifyMediaDefaultProps,
16
+ ...props
17
+ }));
18
+ const { style, ...iframeProps } = useSyncProps(media, props, spotifyMediaDefaultProps);
19
+ return /* @__PURE__ */ jsx("iframe", {
20
+ title: "Spotify audio player",
21
+ src: initialSrc || void 0,
22
+ "data-cross-origin-frame": true,
23
+ allow: "autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture",
24
+ frameBorder: 0,
25
+ width: "100%",
26
+ height: "100%",
27
+ referrerPolicy: props.source?.engine?.spotify?.referrerPolicy,
28
+ ...iframeProps,
29
+ style: props.controls ? style : {
30
+ ...style,
31
+ display: "none"
32
+ },
33
+ ref: composedRef,
34
+ children
35
+ });
36
+ });
37
+ //#endregion
38
+ export { SpotifyAudio };
39
+
40
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/spotify-audio/media.tsx"],"sourcesContent":["'use client';\n\nimport type { SpotifyMediaProps } from '@videojs/media/dom/spotify';\nimport { buildSpotifyIframeSrc, SpotifyMedia, spotifyMediaDefaultProps } from '@videojs/media/dom/spotify';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { useAttachIframe } from '../../utils/use-attach-iframe';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface SpotifyAudioProps extends Partial<SpotifyMediaProps> {\n children?: ReactNode;\n}\n\nexport const SpotifyAudio = forwardRef<HTMLIFrameElement, SpotifyAudioProps>(function SpotifyAudio(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(SpotifyMedia);\n const props: Partial<SpotifyMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name an entity, so honor it when `src` is absent.\n buildSpotifyIframeSrc(props.src || props.source?.src || '', { ...spotifyMediaDefaultProps, ...props })\n );\n const { style, ...iframeProps } = useSyncProps<SpotifyMediaProps, Record<string, unknown>>(\n media,\n props,\n spotifyMediaDefaultProps\n ) as Record<string, unknown> & { style?: CSSProperties };\n\n return (\n <iframe\n title=\"Spotify audio player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\"\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.spotify?.referrerPolicy}\n {...iframeProps}\n // Without Spotify's own chrome the embed is a transport and nothing else:\n // its player UI would otherwise show through whatever skin is drawn over it.\n // Inline so a `className` cannot put it back on screen, merged so a\n // consumer's own styles survive. A hidden iframe still loads and plays.\n style={props.controls ? style : { ...style, display: 'none' }}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace SpotifyAudio {\n export type Props = SpotifyAudioProps;\n}\n"],"mappings":";;;;;;;;;AAeA,MAAa,eAAe,WAAiD,SAAS,aACpF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,YAAY;CAC3C,MAAM,QAA8D,EAAE,GAAG,SAAS;CAElF,MAAM,cAAc,gBADF,gBAAgB,KACU,GAAG,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,sBAAsB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAA0B,GAAG;CAAM,CAAC,CACvG;CACA,MAAM,EAAE,OAAO,GAAG,gBAAgB,aAChC,OACA,OACA,wBACF;CAEA,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,SAAS;EAC/C,GAAI;EAKJ,OAAO,MAAM,WAAW,QAAQ;GAAE,GAAG;GAAO,SAAS;EAAO;EAC5D,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TikTokVideo } from "./media.js";
2
+ export { TikTokVideo };
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
4
+ import { useAttachIframe } from "../../utils/use-attach-iframe.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { forwardRef, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { TikTokMedia, buildTikTokIframeSrc, tiktokMediaDefaultProps } from "@videojs/media/dom/tiktok";
9
+ //#region src/media/tiktok-video/media.tsx
10
+ const TikTokVideo = forwardRef(function TikTokVideo({ children, ...rawProps }, ref) {
11
+ const media = useMediaInstance(TikTokMedia);
12
+ const props = { ...rawProps };
13
+ const composedRef = useComposedRefs(useAttachIframe(media), ref);
14
+ const [initialSrc] = useState(() => buildTikTokIframeSrc(props.src || props.source?.src || "", {
15
+ ...tiktokMediaDefaultProps,
16
+ ...props,
17
+ defaultMuted: !!(props.defaultMuted || props.muted)
18
+ }));
19
+ const iframeProps = useSyncProps(media, props, tiktokMediaDefaultProps);
20
+ return /* @__PURE__ */ jsx("iframe", {
21
+ title: "TikTok video player",
22
+ src: initialSrc || void 0,
23
+ "data-cross-origin-frame": true,
24
+ allow: "accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture",
25
+ allowFullScreen: true,
26
+ frameBorder: 0,
27
+ width: "100%",
28
+ height: "100%",
29
+ referrerPolicy: props.source?.engine?.tiktok?.referrerPolicy,
30
+ ...iframeProps,
31
+ ref: composedRef,
32
+ children
33
+ });
34
+ });
35
+ //#endregion
36
+ export { TikTokVideo };
37
+
38
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/tiktok-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { TikTokMediaProps } from '@videojs/media/dom/tiktok';\nimport { buildTikTokIframeSrc, TikTokMedia, tiktokMediaDefaultProps } from '@videojs/media/dom/tiktok';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { useAttachIframe } from '../../utils/use-attach-iframe';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface TikTokVideoProps extends Partial<TikTokMediaProps> {\n children?: ReactNode;\n}\n\nexport const TikTokVideo = forwardRef<HTMLIFrameElement, TikTokVideoProps>(function TikTokVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(TikTokMedia);\n const props: Partial<TikTokMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildTikTokIframeSrc(props.src || props.source?.src || '', {\n ...tiktokMediaDefaultProps,\n ...props,\n // The frame reads mute once, out of the URL it is rendered with, and either\n // prop says to start muted. Rendering it any other way than the media\n // builds it would have the media rebuild the frame on mount.\n defaultMuted: !!(props.defaultMuted || props.muted),\n })\n );\n const iframeProps = useSyncProps<TikTokMediaProps, Record<string, unknown>>(media, props, tiktokMediaDefaultProps);\n\n return (\n <iframe\n title=\"TikTok video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.tiktok?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace TikTokVideo {\n export type Props = TikTokVideoProps;\n}\n"],"mappings":";;;;;;;;;AAeA,MAAa,cAAc,WAAgD,SAAS,YAClF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,WAAW;CAC1C,MAAM,QAA6D,EAAE,GAAG,SAAS;CAEjF,MAAM,cAAc,gBADF,gBAAgB,KACU,GAAG,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,qBAAqB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EACzD,GAAG;EACH,GAAG;EAIH,cAAc,CAAC,EAAE,MAAM,gBAAgB,MAAM;CAC/C,CAAC,CACH;CACA,MAAM,cAAc,aAAwD,OAAO,OAAO,uBAAuB;CAEjH,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,QAAQ;EAC9C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TwitchVideo } from "./media.js";
2
+ export { TwitchVideo };
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
+ import { useMediaInstance } from "../../utils/use-media-instance.js";
4
+ import { useAttachIframe } from "../../utils/use-attach-iframe.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
+ import { forwardRef, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { TwitchMedia, buildTwitchIframeSrc, twitchMediaDefaultProps } from "@videojs/media/dom/twitch";
9
+ //#region src/media/twitch-video/media.tsx
10
+ const TwitchVideo = forwardRef(function TwitchVideo({ children, ...rawProps }, ref) {
11
+ const media = useMediaInstance(TwitchMedia);
12
+ const props = { ...rawProps };
13
+ const composedRef = useComposedRefs(useAttachIframe(media), ref);
14
+ const [initialSrc] = useState(() => globalThis.location ? buildTwitchIframeSrc(props.src || props.source?.src || "", {
15
+ ...twitchMediaDefaultProps,
16
+ ...props
17
+ }) : "");
18
+ const iframeProps = useSyncProps(media, props, twitchMediaDefaultProps);
19
+ return /* @__PURE__ */ jsx("iframe", {
20
+ title: "Twitch video player",
21
+ src: initialSrc || void 0,
22
+ "data-cross-origin-frame": true,
23
+ allow: "accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;",
24
+ sandbox: "allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox",
25
+ scrolling: "no",
26
+ frameBorder: 0,
27
+ width: "100%",
28
+ height: "100%",
29
+ referrerPolicy: props.source?.engine?.twitch?.referrerPolicy,
30
+ ...iframeProps,
31
+ ref: composedRef,
32
+ children
33
+ });
34
+ });
35
+ //#endregion
36
+ export { TwitchVideo };
37
+
38
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/twitch-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { TwitchMediaProps } from '@videojs/media/dom/twitch';\nimport { buildTwitchIframeSrc, TwitchMedia, twitchMediaDefaultProps } from '@videojs/media/dom/twitch';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { useAttachIframe } from '../../utils/use-attach-iframe';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface TwitchVideoProps extends Partial<TwitchMediaProps> {\n children?: ReactNode;\n}\n\nexport const TwitchVideo = forwardRef<HTMLIFrameElement, TwitchVideoProps>(function TwitchVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(TwitchMedia);\n const props: Partial<TwitchMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // Server rendering has no `location` to name as the embed's parent, and Twitch\n // refuses to play in a page its URL never named. Rendering no `src` leaves the\n // URL to `attach()`, which builds it where there is a hostname to name.\n globalThis.location\n ? // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildTwitchIframeSrc(props.src || props.source?.src || '', { ...twitchMediaDefaultProps, ...props })\n : ''\n );\n const iframeProps = useSyncProps<TwitchMediaProps, Record<string, unknown>>(media, props, twitchMediaDefaultProps);\n\n return (\n <iframe\n title=\"Twitch video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;\"\n sandbox=\"allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\"\n scrolling=\"no\"\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.twitch?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace TwitchVideo {\n export type Props = TwitchVideoProps;\n}\n"],"mappings":";;;;;;;;;AAeA,MAAa,cAAc,WAAgD,SAAS,YAClF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,WAAW;CAC1C,MAAM,QAA6D,EAAE,GAAG,SAAS;CAEjF,MAAM,cAAc,gBADF,gBAAgB,KACU,GAAG,GAAG;CAClD,MAAM,CAAC,cAAc,eAInB,WAAW,WAEP,qBAAqB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAAyB,GAAG;CAAM,CAAC,IACnG,EACN;CACA,MAAM,cAAc,aAAwD,OAAO,OAAO,uBAAuB;CAEjH,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,SAAQ;EACR,WAAU;EACV,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,QAAQ;EAC9C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
3
  import { useMediaInstance } from "../../utils/use-media-instance.js";
4
- import { useSyncProps } from "../../utils/use-sync-props.js";
5
4
  import { useAttachIframe } from "../../utils/use-attach-iframe.js";
5
+ import { useSyncProps } from "../../utils/use-sync-props.js";
6
6
  import { forwardRef, useState } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  import { VimeoMedia, buildVimeoIframeSrc, vimeoMediaDefaultProps } from "@videojs/media/dom/vimeo";
@@ -11,21 +11,21 @@ const VimeoVideo = forwardRef(function VimeoVideo({ children, ...rawProps }, ref
11
11
  const media = useMediaInstance(VimeoMedia);
12
12
  const props = { ...rawProps };
13
13
  const composedRef = useComposedRefs(useAttachIframe(media), ref);
14
- const [initialSrc] = useState(() => buildVimeoIframeSrc(props.src ?? "", {
14
+ const [initialSrc] = useState(() => buildVimeoIframeSrc(props.src || props.source?.src || "", {
15
15
  ...vimeoMediaDefaultProps,
16
16
  ...props
17
17
  }));
18
18
  const iframeProps = useSyncProps(media, props, vimeoMediaDefaultProps);
19
19
  return /* @__PURE__ */ jsx("iframe", {
20
20
  title: "Vimeo video player",
21
- src: initialSrc,
21
+ src: initialSrc || void 0,
22
22
  "data-cross-origin-frame": true,
23
23
  allow: "accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture",
24
24
  allowFullScreen: true,
25
25
  frameBorder: 0,
26
26
  width: "100%",
27
27
  height: "100%",
28
- referrerPolicy: props.config?.referrerPolicy,
28
+ referrerPolicy: props.source?.engine?.vimeo?.referrerPolicy,
29
29
  ...iframeProps,
30
30
  ref: composedRef,
31
31
  children
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/vimeo-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { VimeoMediaProps } from '@videojs/media/dom/vimeo';\nimport { buildVimeoIframeSrc, VimeoMedia, vimeoMediaDefaultProps } from '@videojs/media/dom/vimeo';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { useAttachIframe } from '../../utils/use-attach-iframe';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface VimeoVideoProps extends Partial<VimeoMediaProps> {\n children?: ReactNode;\n}\n\nexport const VimeoVideo = forwardRef<HTMLIFrameElement, VimeoVideoProps>(function VimeoVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(VimeoMedia);\n const props: Partial<VimeoMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() => buildVimeoIframeSrc(props.src ?? '', { ...vimeoMediaDefaultProps, ...props }));\n const iframeProps = useSyncProps<VimeoMediaProps, Record<string, unknown>>(media, props, vimeoMediaDefaultProps);\n\n return (\n <iframe\n title=\"Vimeo video player\"\n src={initialSrc}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.config?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace VimeoVideo {\n export type Props = VimeoVideoProps;\n}\n"],"mappings":";;;;;;;;;AAeA,MAAa,aAAa,WAA+C,SAAS,WAChF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,UAAU;CACzC,MAAM,QAA4D,EAAE,GAAG,SAAS;CAEhF,MAAM,cAAc,gBADF,gBAAgB,KACU,GAAG,GAAG;CAClD,MAAM,CAAC,cAAc,eAAe,oBAAoB,MAAM,OAAO,IAAI;EAAE,GAAG;EAAwB,GAAG;CAAM,CAAC,CAAC;CACjH,MAAM,cAAc,aAAuD,OAAO,OAAO,sBAAsB;CAE/G,OACE,oBAAC,UAAD;EACE,OAAM;EACN,KAAK;EACL,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ;EAC9B,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
1
+ {"version":3,"file":"media.js","names":[],"sources":["../../../../src/media/vimeo-video/media.tsx"],"sourcesContent":["'use client';\n\nimport type { VimeoMediaProps } from '@videojs/media/dom/vimeo';\nimport { buildVimeoIframeSrc, VimeoMedia, vimeoMediaDefaultProps } from '@videojs/media/dom/vimeo';\nimport type { ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { useAttachIframe } from '../../utils/use-attach-iframe';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { useMediaInstance } from '../../utils/use-media-instance';\nimport { useSyncProps } from '../../utils/use-sync-props';\n\nexport interface VimeoVideoProps extends Partial<VimeoMediaProps> {\n children?: ReactNode;\n}\n\nexport const VimeoVideo = forwardRef<HTMLIFrameElement, VimeoVideoProps>(function VimeoVideo(\n { children, ...rawProps },\n ref\n) {\n const media = useMediaInstance(VimeoMedia);\n const props: Partial<VimeoMediaProps> & Record<string, unknown> = { ...rawProps };\n const attachRef = useAttachIframe(media);\n const composedRef = useComposedRefs(attachRef, ref);\n const [initialSrc] = useState(() =>\n // `source.src` is the only other way to name a video, so honor it when `src` is absent.\n buildVimeoIframeSrc(props.src || props.source?.src || '', { ...vimeoMediaDefaultProps, ...props })\n );\n const iframeProps = useSyncProps<VimeoMediaProps, Record<string, unknown>>(media, props, vimeoMediaDefaultProps);\n\n return (\n <iframe\n title=\"Vimeo video player\"\n // Empty means there is no embed to point at yet; React warns about `src=\"\"`,\n // and the media builds the URL itself once a source resolves.\n src={initialSrc || undefined}\n data-cross-origin-frame\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n frameBorder={0}\n width=\"100%\"\n height=\"100%\"\n referrerPolicy={props.source?.engine?.vimeo?.referrerPolicy}\n {...iframeProps}\n ref={composedRef}\n >\n {children}\n </iframe>\n );\n});\n\nexport namespace VimeoVideo {\n export type Props = VimeoVideoProps;\n}\n"],"mappings":";;;;;;;;;AAeA,MAAa,aAAa,WAA+C,SAAS,WAChF,EAAE,UAAU,GAAG,YACf,KACA;CACA,MAAM,QAAQ,iBAAiB,UAAU;CACzC,MAAM,QAA4D,EAAE,GAAG,SAAS;CAEhF,MAAM,cAAc,gBADF,gBAAgB,KACU,GAAG,GAAG;CAClD,MAAM,CAAC,cAAc,eAEnB,oBAAoB,MAAM,OAAO,MAAM,QAAQ,OAAO,IAAI;EAAE,GAAG;EAAwB,GAAG;CAAM,CAAC,CACnG;CACA,MAAM,cAAc,aAAuD,OAAO,OAAO,sBAAsB;CAE/G,OACE,oBAAC,UAAD;EACE,OAAM;EAGN,KAAK,cAAc,KAAA;EACnB,2BAAA;EACA,OAAM;EACN,iBAAA;EACA,aAAa;EACb,OAAM;EACN,QAAO;EACP,gBAAgB,MAAM,QAAQ,QAAQ,OAAO;EAC7C,GAAI;EACJ,KAAK;EAEJ;CACK,CAAA;AAEZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { YouTubeVideo } from "./media.js";
2
+ export { YouTubeVideo };