@hanifhan1f/vidstack-react 1.12.13 → 1.12.15

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 (392) hide show
  1. package/dev/chunks/vidstack-B-FM4-oZ.js +668 -0
  2. package/dev/chunks/vidstack-B92UncBI.js +61 -0
  3. package/dev/chunks/vidstack-BDiAEW1N.js +11691 -0
  4. package/dev/chunks/vidstack-BZIhWvGa.js +1371 -0
  5. package/dev/chunks/vidstack-Bfi_jCvb.js +476 -0
  6. package/dev/chunks/vidstack-CBF7iUqu.js +22 -0
  7. package/dev/chunks/vidstack-CFZ0rYJz.js +34 -0
  8. package/dev/chunks/vidstack-CM82l-7o.js +551 -0
  9. package/dev/chunks/vidstack-CvWDiSTs.js +84 -0
  10. package/dev/chunks/vidstack-CzU-uC5f.js +189 -0
  11. package/dev/chunks/vidstack-D-hQD1eE.js +9 -0
  12. package/dev/chunks/vidstack-D6_9yy0x.js +643 -0
  13. package/dev/chunks/vidstack-DJQOTrl6.js +180 -0
  14. package/dev/chunks/vidstack-DNbKNc4R.js +288 -0
  15. package/dev/chunks/vidstack-D_bWd66h.js +2023 -0
  16. package/dev/chunks/vidstack-Dm1xEU9Q.js +36 -0
  17. package/dev/chunks/vidstack-f6WXkmfP.js +375 -0
  18. package/dev/chunks/vidstack-krOAtKMi.js +34 -0
  19. package/dev/chunks/vidstack-lYFZKRUc.js +401 -0
  20. package/dev/chunks/vidstack-vz-aZSfo.js +1497 -0
  21. package/dev/player/vidstack-default-components.js +14 -0
  22. package/dev/player/vidstack-default-icons.js +88 -0
  23. package/dev/player/vidstack-default-layout.js +14 -0
  24. package/dev/player/vidstack-plyr-icons.js +62 -0
  25. package/dev/player/vidstack-plyr-layout.js +636 -0
  26. package/dev/player/vidstack-remotion.js +345 -0
  27. package/dev/vidstack.js +587 -0
  28. package/dom.d.ts +91 -0
  29. package/google-cast.d.ts +1422 -0
  30. package/icons.d.ts +5 -0
  31. package/index.d.ts +8 -0
  32. package/package.json +9 -60
  33. package/player/layouts/default.d.ts +11392 -0
  34. package/player/layouts/plyr.d.ts +5 -0
  35. package/player/remotion.d.ts +5 -0
  36. package/player/styles/base.css +153 -0
  37. package/player/styles/default/buffering.css +55 -0
  38. package/player/styles/default/buttons.css +175 -0
  39. package/player/styles/default/captions.css +181 -0
  40. package/player/styles/default/chapter-title.css +26 -0
  41. package/player/styles/default/controls.css +56 -0
  42. package/player/styles/default/gestures.css +19 -0
  43. package/player/styles/default/icons.css +6 -0
  44. package/player/styles/default/keyboard.css +148 -0
  45. package/player/styles/default/layouts/audio.css +417 -0
  46. package/player/styles/default/layouts/video.css +1082 -0
  47. package/player/styles/default/menus.css +959 -0
  48. package/player/styles/default/poster.css +52 -0
  49. package/player/styles/default/sliders.css +391 -0
  50. package/player/styles/default/theme.css +2461 -0
  51. package/player/styles/default/thumbnail.css +40 -0
  52. package/player/styles/default/time.css +45 -0
  53. package/player/styles/default/tooltips.css +141 -0
  54. package/player/styles/plyr/theme.css +1237 -0
  55. package/prod/chunks/vidstack-0Foyib2F.js +34 -0
  56. package/prod/chunks/vidstack-BbPEqH3g.js +11196 -0
  57. package/prod/chunks/vidstack-Bh7M8kL6.js +663 -0
  58. package/prod/chunks/vidstack-BlPINAXN.js +189 -0
  59. package/prod/chunks/vidstack-C5Rzkyfp.js +375 -0
  60. package/prod/chunks/vidstack-CBF7iUqu.js +22 -0
  61. package/prod/chunks/vidstack-CZNlvfmV.js +288 -0
  62. package/prod/chunks/vidstack-CZgUA94N.js +1979 -0
  63. package/prod/chunks/vidstack-Ce0Qn3e1.js +1497 -0
  64. package/prod/chunks/vidstack-D0XCUWbp.js +159 -0
  65. package/prod/chunks/vidstack-DTyDOhwS.js +504 -0
  66. package/prod/chunks/vidstack-DhC5F6c8.js +470 -0
  67. package/prod/chunks/vidstack-Dm1xEU9Q.js +36 -0
  68. package/prod/chunks/vidstack-Ma9rwtR0.js +386 -0
  69. package/prod/chunks/vidstack-WsodkLQg.js +1371 -0
  70. package/prod/chunks/vidstack-jIPoNqhj.js +545 -0
  71. package/prod/chunks/vidstack-krOAtKMi.js +34 -0
  72. package/prod/chunks/vidstack-vqp2QaHR.js +9 -0
  73. package/prod/chunks/vidstack-xo_SmgiV.js +84 -0
  74. package/prod/chunks/vidstack-xvxeRtaN.js +61 -0
  75. package/prod/player/vidstack-default-components.js +14 -0
  76. package/prod/player/vidstack-default-icons.js +88 -0
  77. package/prod/player/vidstack-default-layout.js +14 -0
  78. package/prod/player/vidstack-plyr-icons.js +62 -0
  79. package/prod/player/vidstack-plyr-layout.js +636 -0
  80. package/prod/player/vidstack-remotion.js +335 -0
  81. package/prod/vidstack-icons.js +435 -0
  82. package/prod/vidstack.js +648 -0
  83. package/server/chunks/vidstack-2zMSe4ym.js +1371 -0
  84. package/server/chunks/vidstack-BtqWstSj.js +375 -0
  85. package/server/chunks/vidstack-C-HdFsZi.js +84 -0
  86. package/server/chunks/vidstack-C4iWXMC-.js +545 -0
  87. package/server/chunks/vidstack-C5zFBMwg.js +386 -0
  88. package/server/chunks/vidstack-CBF7iUqu.js +22 -0
  89. package/server/chunks/vidstack-CEh38XpD.js +288 -0
  90. package/server/chunks/vidstack-CWR0J8Qz.js +1497 -0
  91. package/server/chunks/vidstack-CkMAeO-e.js +34 -0
  92. package/server/chunks/vidstack-Cm0qnRvu.js +11196 -0
  93. package/server/chunks/vidstack-CoGzBr_V.js +663 -0
  94. package/server/chunks/vidstack-CyFwkPiu.js +470 -0
  95. package/server/chunks/vidstack-D-hQD1eE.js +9 -0
  96. package/server/chunks/vidstack-D_bWd66h.js +2023 -0
  97. package/server/chunks/vidstack-Dm1xEU9Q.js +36 -0
  98. package/server/chunks/vidstack-DtQSvsQr.js +189 -0
  99. package/server/chunks/vidstack-jlaBqZq5.js +61 -0
  100. package/server/chunks/vidstack-krOAtKMi.js +34 -0
  101. package/server/chunks/vidstack-rWs25cS9.js +159 -0
  102. package/server/chunks/vidstack-uyCXITen.js +504 -0
  103. package/server/player/vidstack-default-components.js +14 -0
  104. package/server/player/vidstack-default-icons.js +88 -0
  105. package/server/player/vidstack-default-layout.js +14 -0
  106. package/server/player/vidstack-plyr-icons.js +62 -0
  107. package/server/player/vidstack-plyr-layout.js +636 -0
  108. package/server/player/vidstack-remotion.js +335 -0
  109. package/server/vidstack.js +648 -0
  110. package/tailwind.cjs +101 -0
  111. package/tailwind.d.cts +15 -0
  112. package/.templates/sandbox/document.css +0 -27
  113. package/.templates/sandbox/favicon-32x32.png +0 -0
  114. package/.templates/sandbox/index.html +0 -21
  115. package/.templates/sandbox/main.tsx +0 -12
  116. package/.templates/sandbox/player.css +0 -39
  117. package/.templates/sandbox/player.tsx +0 -121
  118. package/.templates/sandbox/tracks.ts +0 -23
  119. package/analyze.config.ts +0 -7
  120. package/build/build-icons.js +0 -62
  121. package/rollup.config.ts +0 -256
  122. package/src/components/announcer.tsx +0 -47
  123. package/src/components/layouts/default/audio-layout.tsx +0 -231
  124. package/src/components/layouts/default/context.ts +0 -28
  125. package/src/components/layouts/default/hooks.ts +0 -13
  126. package/src/components/layouts/default/icons.tsx +0 -225
  127. package/src/components/layouts/default/index.ts +0 -11
  128. package/src/components/layouts/default/media-layout.tsx +0 -259
  129. package/src/components/layouts/default/slots.tsx +0 -98
  130. package/src/components/layouts/default/ui/announcer.tsx +0 -22
  131. package/src/components/layouts/default/ui/buttons.tsx +0 -301
  132. package/src/components/layouts/default/ui/captions.tsx +0 -16
  133. package/src/components/layouts/default/ui/controls.tsx +0 -12
  134. package/src/components/layouts/default/ui/keyboard-display.tsx +0 -132
  135. package/src/components/layouts/default/ui/menus/accessibility-menu.tsx +0 -100
  136. package/src/components/layouts/default/ui/menus/audio-menu.tsx +0 -167
  137. package/src/components/layouts/default/ui/menus/captions-menu.tsx +0 -61
  138. package/src/components/layouts/default/ui/menus/chapters-menu.tsx +0 -132
  139. package/src/components/layouts/default/ui/menus/font-menu.tsx +0 -331
  140. package/src/components/layouts/default/ui/menus/items/menu-checkbox.tsx +0 -72
  141. package/src/components/layouts/default/ui/menus/items/menu-items.tsx +0 -135
  142. package/src/components/layouts/default/ui/menus/items/menu-slider.tsx +0 -92
  143. package/src/components/layouts/default/ui/menus/playback-menu.tsx +0 -232
  144. package/src/components/layouts/default/ui/menus/settings-menu.tsx +0 -114
  145. package/src/components/layouts/default/ui/menus/utils.ts +0 -12
  146. package/src/components/layouts/default/ui/sliders.tsx +0 -136
  147. package/src/components/layouts/default/ui/time.tsx +0 -73
  148. package/src/components/layouts/default/ui/title.tsx +0 -24
  149. package/src/components/layouts/default/ui/tooltip.tsx +0 -27
  150. package/src/components/layouts/default/ui.ts +0 -8
  151. package/src/components/layouts/default/video-layout.tsx +0 -344
  152. package/src/components/layouts/plyr/context.ts +0 -26
  153. package/src/components/layouts/plyr/icons/plyr-airplay.js +0 -1
  154. package/src/components/layouts/plyr/icons/plyr-captions-off.js +0 -1
  155. package/src/components/layouts/plyr/icons/plyr-captions-on.js +0 -1
  156. package/src/components/layouts/plyr/icons/plyr-download.js +0 -1
  157. package/src/components/layouts/plyr/icons/plyr-enter-fullscreen.js +0 -1
  158. package/src/components/layouts/plyr/icons/plyr-exit-fullscreen.js +0 -1
  159. package/src/components/layouts/plyr/icons/plyr-fast-forward.js +0 -1
  160. package/src/components/layouts/plyr/icons/plyr-muted.js +0 -1
  161. package/src/components/layouts/plyr/icons/plyr-pause.js +0 -1
  162. package/src/components/layouts/plyr/icons/plyr-pip.js +0 -1
  163. package/src/components/layouts/plyr/icons/plyr-play.js +0 -1
  164. package/src/components/layouts/plyr/icons/plyr-restart.js +0 -1
  165. package/src/components/layouts/plyr/icons/plyr-rewind.js +0 -1
  166. package/src/components/layouts/plyr/icons/plyr-settings.js +0 -1
  167. package/src/components/layouts/plyr/icons/plyr-volume.js +0 -1
  168. package/src/components/layouts/plyr/icons.tsx +0 -71
  169. package/src/components/layouts/plyr/index.ts +0 -11
  170. package/src/components/layouts/plyr/layout.tsx +0 -1024
  171. package/src/components/layouts/plyr/props.ts +0 -104
  172. package/src/components/layouts/plyr/slots.tsx +0 -52
  173. package/src/components/layouts/remotion-ui.ts +0 -13
  174. package/src/components/layouts/utils.ts +0 -17
  175. package/src/components/player-callbacks.ts +0 -67
  176. package/src/components/player.tsx +0 -67
  177. package/src/components/primitives/instances.ts +0 -92
  178. package/src/components/primitives/nodes.tsx +0 -58
  179. package/src/components/primitives/slot.tsx +0 -132
  180. package/src/components/provider.tsx +0 -187
  181. package/src/components/text-track.tsx +0 -106
  182. package/src/components/ui/buttons/airplay-button.tsx +0 -53
  183. package/src/components/ui/buttons/caption-button.tsx +0 -55
  184. package/src/components/ui/buttons/fullscreen-button.tsx +0 -55
  185. package/src/components/ui/buttons/google-cast-button.tsx +0 -53
  186. package/src/components/ui/buttons/live-button.tsx +0 -56
  187. package/src/components/ui/buttons/mute-button.tsx +0 -60
  188. package/src/components/ui/buttons/pip-button.tsx +0 -54
  189. package/src/components/ui/buttons/play-button.tsx +0 -53
  190. package/src/components/ui/buttons/seek-button.tsx +0 -55
  191. package/src/components/ui/buttons/toggle-button.tsx +0 -51
  192. package/src/components/ui/caption.tsx +0 -70
  193. package/src/components/ui/captions.tsx +0 -41
  194. package/src/components/ui/chapter-title.tsx +0 -40
  195. package/src/components/ui/controls.tsx +0 -90
  196. package/src/components/ui/gesture.tsx +0 -43
  197. package/src/components/ui/menu.tsx +0 -251
  198. package/src/components/ui/poster.tsx +0 -101
  199. package/src/components/ui/radio-group.tsx +0 -88
  200. package/src/components/ui/sliders/audio-gain-slider.tsx +0 -55
  201. package/src/components/ui/sliders/quality-slider.tsx +0 -54
  202. package/src/components/ui/sliders/slider-callbacks.ts +0 -14
  203. package/src/components/ui/sliders/slider-value.tsx +0 -13
  204. package/src/components/ui/sliders/slider.tsx +0 -254
  205. package/src/components/ui/sliders/speed-slider.tsx +0 -54
  206. package/src/components/ui/sliders/time-slider.tsx +0 -379
  207. package/src/components/ui/sliders/volume-slider.tsx +0 -55
  208. package/src/components/ui/spinner.tsx +0 -105
  209. package/src/components/ui/thumbnail.tsx +0 -82
  210. package/src/components/ui/time.tsx +0 -77
  211. package/src/components/ui/title.tsx +0 -32
  212. package/src/components/ui/tooltip.tsx +0 -135
  213. package/src/globals.d.ts +0 -3
  214. package/src/hooks/create-text-track.ts +0 -22
  215. package/src/hooks/options/use-audio-gain-options.ts +0 -75
  216. package/src/hooks/options/use-audio-options.ts +0 -71
  217. package/src/hooks/options/use-caption-options.ts +0 -95
  218. package/src/hooks/options/use-chapter-options.ts +0 -97
  219. package/src/hooks/options/use-playback-rate-options.ts +0 -75
  220. package/src/hooks/options/use-video-quality-options.ts +0 -123
  221. package/src/hooks/use-active-text-cues.ts +0 -28
  222. package/src/hooks/use-active-text-track.ts +0 -19
  223. package/src/hooks/use-chapter-title.ts +0 -12
  224. package/src/hooks/use-dom.ts +0 -121
  225. package/src/hooks/use-media-context.ts +0 -6
  226. package/src/hooks/use-media-player.ts +0 -19
  227. package/src/hooks/use-media-provider.ts +0 -31
  228. package/src/hooks/use-media-remote.ts +0 -37
  229. package/src/hooks/use-media-state.ts +0 -58
  230. package/src/hooks/use-signals.ts +0 -24
  231. package/src/hooks/use-slider-preview.ts +0 -126
  232. package/src/hooks/use-slider-state.ts +0 -63
  233. package/src/hooks/use-state.ts +0 -47
  234. package/src/hooks/use-text-cues.ts +0 -33
  235. package/src/hooks/use-thumbnails.ts +0 -69
  236. package/src/icon.ts +0 -37
  237. package/src/icons.ts +0 -754
  238. package/src/index.ts +0 -181
  239. package/src/providers/remotion/index.ts +0 -10
  240. package/src/providers/remotion/layout-engine.ts +0 -123
  241. package/src/providers/remotion/loader.ts +0 -35
  242. package/src/providers/remotion/playback-engine.ts +0 -142
  243. package/src/providers/remotion/provider.tsx +0 -514
  244. package/src/providers/remotion/type-check.ts +0 -13
  245. package/src/providers/remotion/types.ts +0 -94
  246. package/src/providers/remotion/ui/context.tsx +0 -120
  247. package/src/providers/remotion/ui/error-boundary.tsx +0 -57
  248. package/src/providers/remotion/ui/poster.tsx +0 -33
  249. package/src/providers/remotion/ui/slider-thumbnail.tsx +0 -41
  250. package/src/providers/remotion/ui/thumbnail.tsx +0 -166
  251. package/src/providers/remotion/validate.ts +0 -220
  252. package/src/source.ts +0 -5
  253. package/src/utils.ts +0 -27
  254. package/tsconfig.build.json +0 -10
  255. package/tsconfig.json +0 -11
  256. package/types/react/src/components/announcer.d.ts +0 -16
  257. package/types/react/src/components/layouts/default/audio-layout.d.ts +0 -27
  258. package/types/react/src/components/layouts/default/context.d.ts +0 -14
  259. package/types/react/src/components/layouts/default/hooks.d.ts +0 -2
  260. package/types/react/src/components/layouts/default/icons.d.ts +0 -95
  261. package/types/react/src/components/layouts/default/index.d.ts +0 -5
  262. package/types/react/src/components/layouts/default/media-layout.d.ts +0 -133
  263. package/types/react/src/components/layouts/default/slots.d.ts +0 -22
  264. package/types/react/src/components/layouts/default/ui/announcer.d.ts +0 -6
  265. package/types/react/src/components/layouts/default/ui/buttons.d.ts +0 -54
  266. package/types/react/src/components/layouts/default/ui/captions.d.ts +0 -6
  267. package/types/react/src/components/layouts/default/ui/controls.d.ts +0 -6
  268. package/types/react/src/components/layouts/default/ui/keyboard-display.d.ts +0 -8
  269. package/types/react/src/components/layouts/default/ui/menus/accessibility-menu.d.ts +0 -10
  270. package/types/react/src/components/layouts/default/ui/menus/audio-menu.d.ts +0 -10
  271. package/types/react/src/components/layouts/default/ui/menus/captions-menu.d.ts +0 -10
  272. package/types/react/src/components/layouts/default/ui/menus/chapters-menu.d.ts +0 -7
  273. package/types/react/src/components/layouts/default/ui/menus/font-menu.d.ts +0 -6
  274. package/types/react/src/components/layouts/default/ui/menus/items/menu-checkbox.d.ts +0 -13
  275. package/types/react/src/components/layouts/default/ui/menus/items/menu-items.d.ts +0 -49
  276. package/types/react/src/components/layouts/default/ui/menus/items/menu-slider.d.ts +0 -26
  277. package/types/react/src/components/layouts/default/ui/menus/playback-menu.d.ts +0 -10
  278. package/types/react/src/components/layouts/default/ui/menus/settings-menu.d.ts +0 -15
  279. package/types/react/src/components/layouts/default/ui/menus/utils.d.ts +0 -1
  280. package/types/react/src/components/layouts/default/ui/sliders.d.ts +0 -24
  281. package/types/react/src/components/layouts/default/ui/time.d.ts +0 -30
  282. package/types/react/src/components/layouts/default/ui/title.d.ts +0 -6
  283. package/types/react/src/components/layouts/default/ui/tooltip.d.ts +0 -12
  284. package/types/react/src/components/layouts/default/ui.d.ts +0 -8
  285. package/types/react/src/components/layouts/default/video-layout.d.ts +0 -47
  286. package/types/react/src/components/layouts/plyr/context.d.ts +0 -12
  287. package/types/react/src/components/layouts/plyr/icons/plyr-airplay.d.ts +0 -2
  288. package/types/react/src/components/layouts/plyr/icons/plyr-captions-off.d.ts +0 -2
  289. package/types/react/src/components/layouts/plyr/icons/plyr-captions-on.d.ts +0 -2
  290. package/types/react/src/components/layouts/plyr/icons/plyr-download.d.ts +0 -2
  291. package/types/react/src/components/layouts/plyr/icons/plyr-enter-fullscreen.d.ts +0 -2
  292. package/types/react/src/components/layouts/plyr/icons/plyr-exit-fullscreen.d.ts +0 -2
  293. package/types/react/src/components/layouts/plyr/icons/plyr-fast-forward.d.ts +0 -2
  294. package/types/react/src/components/layouts/plyr/icons/plyr-muted.d.ts +0 -2
  295. package/types/react/src/components/layouts/plyr/icons/plyr-pause.d.ts +0 -2
  296. package/types/react/src/components/layouts/plyr/icons/plyr-pip.d.ts +0 -2
  297. package/types/react/src/components/layouts/plyr/icons/plyr-play.d.ts +0 -2
  298. package/types/react/src/components/layouts/plyr/icons/plyr-restart.d.ts +0 -2
  299. package/types/react/src/components/layouts/plyr/icons/plyr-rewind.d.ts +0 -2
  300. package/types/react/src/components/layouts/plyr/icons/plyr-settings.d.ts +0 -2
  301. package/types/react/src/components/layouts/plyr/icons/plyr-volume.d.ts +0 -2
  302. package/types/react/src/components/layouts/plyr/icons.d.ts +0 -25
  303. package/types/react/src/components/layouts/plyr/index.d.ts +0 -6
  304. package/types/react/src/components/layouts/plyr/layout.d.ts +0 -17
  305. package/types/react/src/components/layouts/plyr/props.d.ts +0 -71
  306. package/types/react/src/components/layouts/plyr/slots.d.ts +0 -9
  307. package/types/react/src/components/layouts/remotion-ui.d.ts +0 -3
  308. package/types/react/src/components/layouts/utils.d.ts +0 -1
  309. package/types/react/src/components/player-callbacks.d.ts +0 -6
  310. package/types/react/src/components/player.d.ts +0 -32
  311. package/types/react/src/components/primitives/instances.d.ts +0 -83
  312. package/types/react/src/components/primitives/nodes.d.ts +0 -15
  313. package/types/react/src/components/primitives/slot.d.ts +0 -11
  314. package/types/react/src/components/provider.d.ts +0 -26
  315. package/types/react/src/components/text-track.d.ts +0 -100
  316. package/types/react/src/components/ui/buttons/airplay-button.d.ts +0 -22
  317. package/types/react/src/components/ui/buttons/caption-button.d.ts +0 -24
  318. package/types/react/src/components/ui/buttons/fullscreen-button.d.ts +0 -24
  319. package/types/react/src/components/ui/buttons/google-cast-button.d.ts +0 -22
  320. package/types/react/src/components/ui/buttons/live-button.d.ts +0 -26
  321. package/types/react/src/components/ui/buttons/mute-button.d.ts +0 -30
  322. package/types/react/src/components/ui/buttons/pip-button.d.ts +0 -24
  323. package/types/react/src/components/ui/buttons/play-button.d.ts +0 -23
  324. package/types/react/src/components/ui/buttons/seek-button.d.ts +0 -25
  325. package/types/react/src/components/ui/buttons/toggle-button.d.ts +0 -22
  326. package/types/react/src/components/ui/caption.d.ts +0 -11
  327. package/types/react/src/components/ui/captions.d.ts +0 -20
  328. package/types/react/src/components/ui/chapter-title.d.ts +0 -20
  329. package/types/react/src/components/ui/controls.d.ts +0 -40
  330. package/types/react/src/components/ui/gesture.d.ts +0 -20
  331. package/types/react/src/components/ui/menu.d.ts +0 -102
  332. package/types/react/src/components/ui/poster.d.ts +0 -25
  333. package/types/react/src/components/ui/radio-group.d.ts +0 -39
  334. package/types/react/src/components/ui/sliders/audio-gain-slider.d.ts +0 -29
  335. package/types/react/src/components/ui/sliders/quality-slider.d.ts +0 -28
  336. package/types/react/src/components/ui/sliders/slider-callbacks.d.ts +0 -6
  337. package/types/react/src/components/ui/sliders/slider-value.d.ts +0 -9
  338. package/types/react/src/components/ui/sliders/slider.d.ts +0 -134
  339. package/types/react/src/components/ui/sliders/speed-slider.d.ts +0 -28
  340. package/types/react/src/components/ui/sliders/time-slider.d.ts +0 -124
  341. package/types/react/src/components/ui/sliders/volume-slider.d.ts +0 -29
  342. package/types/react/src/components/ui/spinner.d.ts +0 -31
  343. package/types/react/src/components/ui/thumbnail.d.ts +0 -26
  344. package/types/react/src/components/ui/time.d.ts +0 -20
  345. package/types/react/src/components/ui/title.d.ts +0 -15
  346. package/types/react/src/components/ui/tooltip.d.ts +0 -63
  347. package/types/react/src/hooks/create-text-track.d.ts +0 -7
  348. package/types/react/src/hooks/options/use-audio-gain-options.d.ts +0 -22
  349. package/types/react/src/hooks/options/use-audio-options.d.ts +0 -17
  350. package/types/react/src/hooks/options/use-caption-options.d.ts +0 -24
  351. package/types/react/src/hooks/options/use-chapter-options.d.ts +0 -18
  352. package/types/react/src/hooks/options/use-playback-rate-options.d.ts +0 -22
  353. package/types/react/src/hooks/options/use-video-quality-options.d.ts +0 -35
  354. package/types/react/src/hooks/use-active-text-cues.d.ts +0 -6
  355. package/types/react/src/hooks/use-active-text-track.d.ts +0 -5
  356. package/types/react/src/hooks/use-chapter-title.d.ts +0 -4
  357. package/types/react/src/hooks/use-dom.d.ts +0 -9
  358. package/types/react/src/hooks/use-media-context.d.ts +0 -1
  359. package/types/react/src/hooks/use-media-player.d.ts +0 -7
  360. package/types/react/src/hooks/use-media-provider.d.ts +0 -7
  361. package/types/react/src/hooks/use-media-remote.d.ts +0 -12
  362. package/types/react/src/hooks/use-media-state.d.ts +0 -15
  363. package/types/react/src/hooks/use-signals.d.ts +0 -5
  364. package/types/react/src/hooks/use-slider-preview.d.ts +0 -27
  365. package/types/react/src/hooks/use-slider-state.d.ts +0 -16
  366. package/types/react/src/hooks/use-state.d.ts +0 -18
  367. package/types/react/src/hooks/use-text-cues.d.ts +0 -6
  368. package/types/react/src/hooks/use-thumbnails.d.ts +0 -16
  369. package/types/react/src/icon.d.ts +0 -17
  370. package/types/react/src/icons.d.ts +0 -215
  371. package/types/react/src/index.d.ts +0 -78
  372. package/types/react/src/providers/remotion/index.d.ts +0 -7
  373. package/types/react/src/providers/remotion/layout-engine.d.ts +0 -8
  374. package/types/react/src/providers/remotion/loader.d.ts +0 -9
  375. package/types/react/src/providers/remotion/playback-engine.d.ts +0 -11
  376. package/types/react/src/providers/remotion/provider.d.ts +0 -26
  377. package/types/react/src/providers/remotion/type-check.d.ts +0 -6
  378. package/types/react/src/providers/remotion/types.d.ts +0 -91
  379. package/types/react/src/providers/remotion/ui/context.d.ts +0 -17
  380. package/types/react/src/providers/remotion/ui/error-boundary.d.ts +0 -21
  381. package/types/react/src/providers/remotion/ui/poster.d.ts +0 -18
  382. package/types/react/src/providers/remotion/ui/slider-thumbnail.d.ts +0 -17
  383. package/types/react/src/providers/remotion/ui/thumbnail.d.ts +0 -32
  384. package/types/react/src/providers/remotion/validate.d.ts +0 -12
  385. package/types/react/src/source.d.ts +0 -3
  386. package/types/react/src/utils.d.ts +0 -3
  387. package/types/vidstack/src/core/api/src-types.d.ts +0 -50
  388. package/types/vidstack/src/utils/mime.d.ts +0 -15
  389. package/types/vidstack/src/utils/network.d.ts +0 -17
  390. package/types/vidstack/src/utils/support.d.ts +0 -72
  391. package/vite.config.ts +0 -23
  392. /package/{npm/analyze.json.d.ts → analyze.json.d.ts} +0 -0
@@ -0,0 +1,668 @@
1
+ "use client"
2
+
3
+ import * as React from 'react';
4
+ import { useReactContext, createReactComponent, composeRefs, useSignal, noop, useStateContext, signal, effect, isString } from './vidstack-D_bWd66h.js';
5
+ import { mediaContext, AirPlayButtonInstance, Primitive, PlayButtonInstance, CaptionButtonInstance, FullscreenButtonInstance, MuteButtonInstance, PIPButtonInstance, SeekButtonInstance, LiveButtonInstance, SliderValueInstance, SliderInstance, SliderPreviewInstance, useSliderState, VolumeSliderInstance, IS_SERVER, ThumbnailInstance, TimeSliderInstance, SliderChaptersInstance, SliderThumbnailInstance, SliderVideoInstance, mediaState, RadioGroupInstance, RadioInstance, MenuInstance, MenuButtonInstance, useMediaState, MenuItemsInstance, MenuItemInstance, GestureInstance, TimeInstance, isTrackCaptionKind } from './vidstack-BDiAEW1N.js';
6
+ import { createPortal } from 'react-dom';
7
+
8
+ function useMediaContext() {
9
+ return useReactContext(mediaContext);
10
+ }
11
+
12
+ const AirPlayButtonBridge = createReactComponent(AirPlayButtonInstance, {
13
+ domEventsRegex: /^onMedia/
14
+ });
15
+ const AirPlayButton = React.forwardRef(
16
+ ({ children, ...props }, forwardRef) => {
17
+ return /* @__PURE__ */ React.createElement(AirPlayButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
18
+ Primitive.button,
19
+ {
20
+ ...props2,
21
+ ref: composeRefs(props2.ref, forwardRef)
22
+ },
23
+ children
24
+ ));
25
+ }
26
+ );
27
+ AirPlayButton.displayName = "AirPlayButton";
28
+
29
+ const PlayButtonBridge = createReactComponent(PlayButtonInstance, {
30
+ domEventsRegex: /^onMedia/
31
+ });
32
+ const PlayButton = React.forwardRef(
33
+ ({ children, ...props }, forwardRef) => {
34
+ return /* @__PURE__ */ React.createElement(PlayButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
35
+ Primitive.button,
36
+ {
37
+ ...props2,
38
+ ref: composeRefs(props2.ref, forwardRef)
39
+ },
40
+ children
41
+ ));
42
+ }
43
+ );
44
+ PlayButton.displayName = "PlayButton";
45
+
46
+ const CaptionButtonBridge = createReactComponent(CaptionButtonInstance, {
47
+ domEventsRegex: /^onMedia/
48
+ });
49
+ const CaptionButton = React.forwardRef(
50
+ ({ children, ...props }, forwardRef) => {
51
+ return /* @__PURE__ */ React.createElement(CaptionButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
52
+ Primitive.button,
53
+ {
54
+ ...props2,
55
+ ref: composeRefs(props2.ref, forwardRef)
56
+ },
57
+ children
58
+ ));
59
+ }
60
+ );
61
+ CaptionButton.displayName = "CaptionButton";
62
+
63
+ const FullscreenButtonBridge = createReactComponent(FullscreenButtonInstance, {
64
+ domEventsRegex: /^onMedia/
65
+ });
66
+ const FullscreenButton = React.forwardRef(
67
+ ({ children, ...props }, forwardRef) => {
68
+ return /* @__PURE__ */ React.createElement(FullscreenButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
69
+ Primitive.button,
70
+ {
71
+ ...props2,
72
+ ref: composeRefs(props2.ref, forwardRef)
73
+ },
74
+ children
75
+ ));
76
+ }
77
+ );
78
+ FullscreenButton.displayName = "FullscreenButton";
79
+
80
+ const MuteButtonBridge = createReactComponent(MuteButtonInstance, {
81
+ domEventsRegex: /^onMedia/
82
+ });
83
+ const MuteButton = React.forwardRef(
84
+ ({ children, ...props }, forwardRef) => {
85
+ return /* @__PURE__ */ React.createElement(MuteButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
86
+ Primitive.button,
87
+ {
88
+ ...props2,
89
+ ref: composeRefs(props2.ref, forwardRef)
90
+ },
91
+ children
92
+ ));
93
+ }
94
+ );
95
+ MuteButton.displayName = "MuteButton";
96
+
97
+ const PIPButtonBridge = createReactComponent(PIPButtonInstance, {
98
+ domEventsRegex: /^onMedia/
99
+ });
100
+ const PIPButton = React.forwardRef(
101
+ ({ children, ...props }, forwardRef) => {
102
+ return /* @__PURE__ */ React.createElement(PIPButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
103
+ Primitive.button,
104
+ {
105
+ ...props2,
106
+ ref: composeRefs(props2.ref, forwardRef)
107
+ },
108
+ children
109
+ ));
110
+ }
111
+ );
112
+ PIPButton.displayName = "PIPButton";
113
+
114
+ const SeekButtonBridge = createReactComponent(SeekButtonInstance, {
115
+ domEventsRegex: /^onMedia/
116
+ });
117
+ const SeekButton = React.forwardRef(
118
+ ({ children, ...props }, forwardRef) => {
119
+ return /* @__PURE__ */ React.createElement(SeekButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
120
+ Primitive.button,
121
+ {
122
+ ...props2,
123
+ ref: composeRefs(props2.ref, forwardRef)
124
+ },
125
+ children
126
+ ));
127
+ }
128
+ );
129
+ SeekButton.displayName = "SeekButton";
130
+
131
+ const LiveButtonBridge = createReactComponent(LiveButtonInstance, {
132
+ domEventsRegex: /^onMedia/
133
+ });
134
+ const LiveButton = React.forwardRef(
135
+ ({ children, ...props }, forwardRef) => {
136
+ return /* @__PURE__ */ React.createElement(LiveButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
137
+ Primitive.button,
138
+ {
139
+ ...props2,
140
+ ref: composeRefs(props2.ref, forwardRef)
141
+ },
142
+ children
143
+ ));
144
+ }
145
+ );
146
+ LiveButton.displayName = "LiveButton";
147
+
148
+ const sliderCallbacks = [
149
+ "onDragStart",
150
+ "onDragEnd",
151
+ "onDragValueChange",
152
+ "onValueChange",
153
+ "onPointerValueChange"
154
+ ];
155
+
156
+ const SliderValueBridge = createReactComponent(SliderValueInstance);
157
+
158
+ const SliderBridge = createReactComponent(SliderInstance, {
159
+ events: sliderCallbacks
160
+ });
161
+ const Root$5 = React.forwardRef(({ children, ...props }, forwardRef) => {
162
+ return /* @__PURE__ */ React.createElement(SliderBridge, { ...props, ref: forwardRef }, (props2) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props2 }, children));
163
+ });
164
+ Root$5.displayName = "Slider";
165
+ const Thumb = React.forwardRef((props, forwardRef) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }));
166
+ Thumb.displayName = "SliderThumb";
167
+ const Track = React.forwardRef((props, forwardRef) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }));
168
+ Track.displayName = "SliderTrack";
169
+ const TrackFill = React.forwardRef((props, forwardRef) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }));
170
+ TrackFill.displayName = "SliderTrackFill";
171
+ const PreviewBridge = createReactComponent(SliderPreviewInstance);
172
+ const Preview = React.forwardRef(
173
+ ({ children, ...props }, forwardRef) => {
174
+ return /* @__PURE__ */ React.createElement(PreviewBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
175
+ Primitive.div,
176
+ {
177
+ ...props2,
178
+ ref: composeRefs(props2.ref, forwardRef)
179
+ },
180
+ children
181
+ ));
182
+ }
183
+ );
184
+ Preview.displayName = "SliderPreview";
185
+ const Value = React.forwardRef(({ children, ...props }, forwardRef) => {
186
+ return /* @__PURE__ */ React.createElement(SliderValueBridge, { ...props }, (props2, instance) => {
187
+ const $text = useSignal(() => instance.getValueText(), instance);
188
+ return /* @__PURE__ */ React.createElement(Primitive.div, { ...props2, ref: forwardRef }, $text, children);
189
+ });
190
+ });
191
+ Value.displayName = "SliderValue";
192
+ const Steps = React.forwardRef(({ children, ...props }, forwardRef) => {
193
+ const $min = useSliderState("min"), $max = useSliderState("max"), $step = useSliderState("step"), steps = ($max - $min) / $step;
194
+ return /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }, Array.from({ length: Math.floor(steps) + 1 }).map((_, step) => children(step)));
195
+ });
196
+ Steps.displayName = "SliderSteps";
197
+
198
+ var slider = /*#__PURE__*/Object.freeze({
199
+ __proto__: null,
200
+ Preview: Preview,
201
+ Root: Root$5,
202
+ Steps: Steps,
203
+ Thumb: Thumb,
204
+ Track: Track,
205
+ TrackFill: TrackFill,
206
+ Value: Value
207
+ });
208
+
209
+ const VolumeSliderBridge = createReactComponent(VolumeSliderInstance, {
210
+ events: sliderCallbacks,
211
+ domEventsRegex: /^onMedia/
212
+ });
213
+ const Root$4 = React.forwardRef(
214
+ ({ children, ...props }, forwardRef) => {
215
+ return /* @__PURE__ */ React.createElement(VolumeSliderBridge, { ...props, ref: forwardRef }, (props2) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props2 }, children));
216
+ }
217
+ );
218
+ Root$4.displayName = "VolumeSlider";
219
+
220
+ var volumeSlider = /*#__PURE__*/Object.freeze({
221
+ __proto__: null,
222
+ Preview: Preview,
223
+ Root: Root$4,
224
+ Steps: Steps,
225
+ Thumb: Thumb,
226
+ Track: Track,
227
+ TrackFill: TrackFill,
228
+ Value: Value
229
+ });
230
+
231
+ function createVTTCue(startTime = 0, endTime = 0, text = "") {
232
+ if (IS_SERVER) {
233
+ return {
234
+ startTime,
235
+ endTime,
236
+ text,
237
+ addEventListener: noop,
238
+ removeEventListener: noop,
239
+ dispatchEvent: noop
240
+ };
241
+ }
242
+ return new window.VTTCue(startTime, endTime, text);
243
+ }
244
+ function appendParamsToURL(baseUrl, params) {
245
+ const url = new URL(baseUrl);
246
+ for (const key of Object.keys(params)) {
247
+ url.searchParams.set(key, params[key] + "");
248
+ }
249
+ return url.toString();
250
+ }
251
+
252
+ const ThumbnailBridge = createReactComponent(ThumbnailInstance);
253
+ const Root$3 = React.forwardRef(({ children, ...props }, forwardRef) => {
254
+ return /* @__PURE__ */ React.createElement(ThumbnailBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
255
+ Primitive.div,
256
+ {
257
+ ...props2,
258
+ ref: composeRefs(props2.ref, forwardRef)
259
+ },
260
+ children
261
+ ));
262
+ });
263
+ Root$3.displayName = "Thumbnail";
264
+ const Img = React.forwardRef(({ children, ...props }, forwardRef) => {
265
+ const { src, img, crossOrigin } = useStateContext(ThumbnailInstance.state), $src = useSignal(src), $crossOrigin = useSignal(crossOrigin);
266
+ return /* @__PURE__ */ React.createElement(
267
+ Primitive.img,
268
+ {
269
+ crossOrigin: $crossOrigin,
270
+ ...props,
271
+ src: $src || void 0,
272
+ ref: composeRefs(img.set, forwardRef)
273
+ },
274
+ children
275
+ );
276
+ });
277
+ Img.displayName = "ThumbnailImg";
278
+
279
+ var thumbnail = /*#__PURE__*/Object.freeze({
280
+ __proto__: null,
281
+ Img: Img,
282
+ Root: Root$3
283
+ });
284
+
285
+ const TimeSliderContext = React.createContext({
286
+ $chapters: signal(null)
287
+ });
288
+ TimeSliderContext.displayName = "TimeSliderContext";
289
+ const TimeSliderBridge = createReactComponent(TimeSliderInstance, {
290
+ events: sliderCallbacks,
291
+ domEventsRegex: /^onMedia/
292
+ });
293
+ const Root$2 = React.forwardRef(
294
+ ({ children, ...props }, forwardRef) => {
295
+ const $chapters = React.useMemo(() => signal(null), []);
296
+ return /* @__PURE__ */ React.createElement(TimeSliderContext.Provider, { value: { $chapters } }, /* @__PURE__ */ React.createElement(TimeSliderBridge, { ...props, ref: forwardRef }, (props2) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props2 }, children)));
297
+ }
298
+ );
299
+ Root$2.displayName = "TimeSlider";
300
+ const SliderChaptersBridge = createReactComponent(SliderChaptersInstance);
301
+ const Chapters = React.forwardRef(
302
+ ({ children, ...props }, forwardRef) => {
303
+ return /* @__PURE__ */ React.createElement(SliderChaptersBridge, { ...props }, (props2, instance) => /* @__PURE__ */ React.createElement(
304
+ Primitive.div,
305
+ {
306
+ ...props2,
307
+ ref: composeRefs(props2.ref, forwardRef)
308
+ },
309
+ /* @__PURE__ */ React.createElement(ChapterTracks, { instance }, children)
310
+ ));
311
+ }
312
+ );
313
+ Chapters.displayName = "SliderChapters";
314
+ function ChapterTracks({ instance, children }) {
315
+ const $cues = useSignal(() => instance.cues, instance), refs = React.useRef([]), emptyCue = React.useRef(null), { $chapters } = React.useContext(TimeSliderContext);
316
+ if (!emptyCue.current) {
317
+ emptyCue.current = createVTTCue();
318
+ }
319
+ React.useEffect(() => {
320
+ $chapters.set(instance);
321
+ return () => void $chapters.set(null);
322
+ }, [instance]);
323
+ React.useEffect(() => {
324
+ instance.setRefs(refs.current);
325
+ }, [$cues]);
326
+ return children($cues.length ? $cues : [emptyCue.current], (el) => {
327
+ if (!el) {
328
+ refs.current.length = 0;
329
+ return;
330
+ }
331
+ refs.current.push(el);
332
+ });
333
+ }
334
+ ChapterTracks.displayName = "SliderChapterTracks";
335
+ const ChapterTitle = React.forwardRef(
336
+ ({ children, ...props }, forwardRef) => {
337
+ const { $chapters } = React.useContext(TimeSliderContext), [title, setTitle] = React.useState();
338
+ React.useEffect(() => {
339
+ return effect(() => {
340
+ const chapters = $chapters(), cue = chapters?.activePointerCue || chapters?.activeCue;
341
+ setTitle(cue?.text || "");
342
+ });
343
+ }, []);
344
+ return /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }, title, children);
345
+ }
346
+ );
347
+ ChapterTitle.displayName = "SliderChapterTitle";
348
+ const Progress = React.forwardRef((props, forwardRef) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }));
349
+ Progress.displayName = "SliderProgress";
350
+ const SliderThumbnailBridge = createReactComponent(SliderThumbnailInstance);
351
+ const ThumbnailRoot = React.forwardRef(
352
+ ({ children, ...props }, forwardRef) => {
353
+ return /* @__PURE__ */ React.createElement(SliderThumbnailBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props2, ref: composeRefs(props2.ref, forwardRef) }, children));
354
+ }
355
+ );
356
+ ThumbnailRoot.displayName = "SliderThumbnail";
357
+ const Thumbnail = {
358
+ Root: ThumbnailRoot,
359
+ Img: Img
360
+ };
361
+ const VideoBridge = createReactComponent(SliderVideoInstance, {
362
+ events: ["onCanPlay", "onError"]
363
+ });
364
+ const Video = React.forwardRef(
365
+ ({ children, ...props }, forwardRef) => {
366
+ return /* @__PURE__ */ React.createElement(VideoBridge, { ...props }, (props2, instance) => /* @__PURE__ */ React.createElement(
367
+ VideoProvider,
368
+ {
369
+ ...props2,
370
+ instance,
371
+ ref: composeRefs(props2.ref, forwardRef)
372
+ },
373
+ children
374
+ ));
375
+ }
376
+ );
377
+ Video.displayName = "SliderVideo";
378
+ const VideoProvider = React.forwardRef(
379
+ ({ instance, children, ...props }, forwardRef) => {
380
+ const { canLoad } = useStateContext(mediaState), { src, video, crossOrigin } = instance.$state, $src = useSignal(src), $canLoad = useSignal(canLoad), $crossOrigin = useSignal(crossOrigin);
381
+ return /* @__PURE__ */ React.createElement(
382
+ Primitive.video,
383
+ {
384
+ style: { maxWidth: "unset" },
385
+ ...props,
386
+ src: $src || void 0,
387
+ muted: true,
388
+ playsInline: true,
389
+ preload: $canLoad ? "auto" : "none",
390
+ crossOrigin: $crossOrigin || void 0,
391
+ ref: composeRefs(video.set, forwardRef)
392
+ },
393
+ children
394
+ );
395
+ }
396
+ );
397
+ VideoProvider.displayName = "SliderVideoProvider";
398
+
399
+ var timeSlider = /*#__PURE__*/Object.freeze({
400
+ __proto__: null,
401
+ ChapterTitle: ChapterTitle,
402
+ Chapters: Chapters,
403
+ Preview: Preview,
404
+ Progress: Progress,
405
+ Root: Root$2,
406
+ Steps: Steps,
407
+ Thumb: Thumb,
408
+ Thumbnail: Thumbnail,
409
+ Track: Track,
410
+ TrackFill: TrackFill,
411
+ Value: Value,
412
+ Video: Video
413
+ });
414
+
415
+ const RadioGroupBridge = createReactComponent(RadioGroupInstance, {
416
+ events: ["onChange"]
417
+ });
418
+ const Root$1 = React.forwardRef(
419
+ ({ children, ...props }, forwardRef) => {
420
+ return /* @__PURE__ */ React.createElement(RadioGroupBridge, { ...props, ref: forwardRef }, (props2) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props2 }, children));
421
+ }
422
+ );
423
+ Root$1.displayName = "RadioGroup";
424
+ const ItemBridge$1 = createReactComponent(RadioInstance, {
425
+ events: ["onChange", "onSelect"]
426
+ });
427
+ const Item$1 = React.forwardRef(({ children, ...props }, forwardRef) => {
428
+ return /* @__PURE__ */ React.createElement(ItemBridge$1, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
429
+ Primitive.div,
430
+ {
431
+ ...props2,
432
+ ref: composeRefs(props2.ref, forwardRef)
433
+ },
434
+ children
435
+ ));
436
+ });
437
+ Item$1.displayName = "RadioItem";
438
+
439
+ var radioGroup = /*#__PURE__*/Object.freeze({
440
+ __proto__: null,
441
+ Item: Item$1,
442
+ Root: Root$1
443
+ });
444
+
445
+ const MenuBridge = createReactComponent(MenuInstance, {
446
+ events: ["onOpen", "onClose"],
447
+ domEventsRegex: /^onMedia/
448
+ });
449
+ const Root = React.forwardRef(({ children, ...props }, forwardRef) => {
450
+ return /* @__PURE__ */ React.createElement(MenuBridge, { ...props, ref: forwardRef }, (props2, instance) => /* @__PURE__ */ React.createElement(
451
+ Primitive.div,
452
+ {
453
+ ...props2,
454
+ style: { display: !instance.isSubmenu ? "contents" : void 0, ...props2.style }
455
+ },
456
+ children
457
+ ));
458
+ });
459
+ Root.displayName = "Menu";
460
+ const ButtonBridge = createReactComponent(MenuButtonInstance, {
461
+ events: ["onSelect"]
462
+ });
463
+ const Button = React.forwardRef(
464
+ ({ children, ...props }, forwardRef) => {
465
+ return /* @__PURE__ */ React.createElement(ButtonBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
466
+ Primitive.button,
467
+ {
468
+ ...props2,
469
+ ref: composeRefs(props2.ref, forwardRef)
470
+ },
471
+ children
472
+ ));
473
+ }
474
+ );
475
+ Button.displayName = "MenuButton";
476
+ const Portal = React.forwardRef(
477
+ ({ container = null, disabled = false, children, ...props }, forwardRef) => {
478
+ let fullscreen = useMediaState("fullscreen"), shouldPortal = disabled === "fullscreen" ? !fullscreen : !disabled;
479
+ const target = React.useMemo(() => {
480
+ if (IS_SERVER) return null;
481
+ const node = isString(container) ? document.querySelector(container) : container;
482
+ return node ?? document.body;
483
+ }, [container]);
484
+ return !target || !shouldPortal ? children : createPortal(
485
+ /* @__PURE__ */ React.createElement(
486
+ Primitive.div,
487
+ {
488
+ ...props,
489
+ style: { display: "contents", ...props.style },
490
+ ref: forwardRef
491
+ },
492
+ children
493
+ ),
494
+ target
495
+ );
496
+ }
497
+ );
498
+ Portal.displayName = "MenuPortal";
499
+ const ItemsBridge = createReactComponent(MenuItemsInstance);
500
+ const Items = React.forwardRef(({ children, ...props }, forwardRef) => {
501
+ return /* @__PURE__ */ React.createElement(ItemsBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
502
+ Primitive.div,
503
+ {
504
+ ...props2,
505
+ ref: composeRefs(props2.ref, forwardRef)
506
+ },
507
+ children
508
+ ));
509
+ });
510
+ Items.displayName = "MenuItems";
511
+ const ItemBridge = createReactComponent(MenuItemInstance);
512
+ const Item = React.forwardRef(({ children, ...props }, forwardRef) => {
513
+ return /* @__PURE__ */ React.createElement(ItemBridge, { ...props }, (props2) => /* @__PURE__ */ React.createElement(
514
+ Primitive.div,
515
+ {
516
+ ...props2,
517
+ ref: composeRefs(props2.ref, forwardRef)
518
+ },
519
+ children
520
+ ));
521
+ });
522
+ Item.displayName = "MenuItem";
523
+
524
+ var menu = /*#__PURE__*/Object.freeze({
525
+ __proto__: null,
526
+ Button: Button,
527
+ Content: Items,
528
+ Item: Item,
529
+ Items: Items,
530
+ Portal: Portal,
531
+ Radio: Item$1,
532
+ RadioGroup: Root$1,
533
+ Root: Root
534
+ });
535
+
536
+ const GestureBridge = createReactComponent(GestureInstance, {
537
+ events: ["onWillTrigger", "onTrigger"]
538
+ });
539
+ const Gesture = React.forwardRef(
540
+ ({ children, ...props }, forwardRef) => {
541
+ return /* @__PURE__ */ React.createElement(GestureBridge, { ...props, ref: forwardRef }, (props2) => /* @__PURE__ */ React.createElement(Primitive.div, { ...props2 }, children));
542
+ }
543
+ );
544
+ Gesture.displayName = "Gesture";
545
+
546
+ const TimeBridge = createReactComponent(TimeInstance);
547
+ const Time = React.forwardRef(({ children, ...props }, forwardRef) => {
548
+ return /* @__PURE__ */ React.createElement(TimeBridge, { ...props }, (props2, instance) => /* @__PURE__ */ React.createElement(
549
+ TimeText,
550
+ {
551
+ ...props2,
552
+ instance,
553
+ ref: composeRefs(props2.ref, forwardRef)
554
+ },
555
+ children
556
+ ));
557
+ });
558
+ Time.displayName = "Time";
559
+ const TimeText = React.forwardRef(
560
+ ({ instance, children, ...props }, forwardRef) => {
561
+ const { timeText } = instance.$state, $timeText = useSignal(timeText);
562
+ return /* @__PURE__ */ React.createElement(Primitive.div, { ...props, ref: forwardRef }, $timeText, children);
563
+ }
564
+ );
565
+ TimeText.displayName = "TimeText";
566
+
567
+ function useMediaPlayer() {
568
+ const context = useMediaContext();
569
+ if (!context) {
570
+ throw Error(
571
+ "[vidstack] no media context was found - was this called outside of `<MediaPlayer>`?"
572
+ );
573
+ }
574
+ return context?.player || null;
575
+ }
576
+
577
+ function useAudioOptions() {
578
+ const media = useMediaContext(), { audioTracks, audioTrack } = media.$state, $audioTracks = useSignal(audioTracks);
579
+ useSignal(audioTrack);
580
+ return React.useMemo(() => {
581
+ const options = $audioTracks.map((track) => ({
582
+ track,
583
+ label: track.label,
584
+ value: getTrackValue$1(track),
585
+ get selected() {
586
+ return audioTrack() === track;
587
+ },
588
+ select(trigger) {
589
+ const index = audioTracks().indexOf(track);
590
+ if (index >= 0) media.remote.changeAudioTrack(index, trigger);
591
+ }
592
+ }));
593
+ Object.defineProperty(options, "disabled", {
594
+ get() {
595
+ return options.length <= 1;
596
+ }
597
+ });
598
+ Object.defineProperty(options, "selectedTrack", {
599
+ get() {
600
+ return audioTrack();
601
+ }
602
+ });
603
+ Object.defineProperty(options, "selectedValue", {
604
+ get() {
605
+ const track = audioTrack();
606
+ return track ? getTrackValue$1(track) : void 0;
607
+ }
608
+ });
609
+ return options;
610
+ }, [$audioTracks]);
611
+ }
612
+ function getTrackValue$1(track) {
613
+ return track.label.toLowerCase();
614
+ }
615
+
616
+ function useCaptionOptions({ off = true } = {}) {
617
+ const media = useMediaContext(), { textTracks, textTrack } = media.$state, $textTracks = useSignal(textTracks);
618
+ useSignal(textTrack);
619
+ return React.useMemo(() => {
620
+ const captionTracks = $textTracks.filter(isTrackCaptionKind), options = captionTracks.map((track) => ({
621
+ track,
622
+ label: track.label,
623
+ value: getTrackValue(track),
624
+ get selected() {
625
+ return textTrack() === track;
626
+ },
627
+ select(trigger) {
628
+ const index = textTracks().indexOf(track);
629
+ if (index >= 0) media.remote.changeTextTrackMode(index, "showing", trigger);
630
+ }
631
+ }));
632
+ if (off) {
633
+ options.unshift({
634
+ track: null,
635
+ label: isString(off) ? off : "Off",
636
+ value: "off",
637
+ get selected() {
638
+ return !textTrack();
639
+ },
640
+ select(trigger) {
641
+ media.remote.toggleCaptions(trigger);
642
+ }
643
+ });
644
+ }
645
+ Object.defineProperty(options, "disabled", {
646
+ get() {
647
+ return !captionTracks.length;
648
+ }
649
+ });
650
+ Object.defineProperty(options, "selectedTrack", {
651
+ get() {
652
+ return textTrack();
653
+ }
654
+ });
655
+ Object.defineProperty(options, "selectedValue", {
656
+ get() {
657
+ const track = textTrack();
658
+ return track ? getTrackValue(track) : "off";
659
+ }
660
+ });
661
+ return options;
662
+ }, [$textTracks]);
663
+ }
664
+ function getTrackValue(track) {
665
+ return track.id + ":" + track.kind + "-" + track.label.toLowerCase();
666
+ }
667
+
668
+ export { AirPlayButton, Button, CaptionButton, ChapterTitle, Chapters, FullscreenButton, Gesture, Img, Item$1 as Item, Items, LiveButton, MuteButton, PIPButton, PlayButton, Portal, Preview, Progress, Root$3 as Root, Root$2 as Root$1, Root as Root$2, Root$1 as Root$3, Root$4, Root$5, SeekButton, Steps, Thumb, Thumbnail, Time, Track, TrackFill, Value, appendParamsToURL, menu, radioGroup, slider, sliderCallbacks, thumbnail, timeSlider, useAudioOptions, useCaptionOptions, useMediaContext, useMediaPlayer, volumeSlider };