@hanifhan1f/vidstack-react 1.12.13 → 1.12.14

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 (389) 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/player/vidstack-default-components.js +14 -0
  21. package/dev/player/vidstack-default-icons.js +88 -0
  22. package/dev/player/vidstack-default-layout.js +14 -0
  23. package/dev/player/vidstack-plyr-icons.js +62 -0
  24. package/dev/player/vidstack-plyr-layout.js +636 -0
  25. package/dev/player/vidstack-remotion.js +345 -0
  26. package/dev/vidstack.js +587 -0
  27. package/dom.d.ts +91 -0
  28. package/google-cast.d.ts +1422 -0
  29. package/icons.d.ts +5 -0
  30. package/index.d.ts +8 -0
  31. package/package.json +9 -60
  32. package/player/layouts/default.d.ts +11392 -0
  33. package/player/layouts/plyr.d.ts +5 -0
  34. package/player/remotion.d.ts +5 -0
  35. package/player/styles/base.css +153 -0
  36. package/player/styles/default/buffering.css +55 -0
  37. package/player/styles/default/buttons.css +175 -0
  38. package/player/styles/default/captions.css +181 -0
  39. package/player/styles/default/chapter-title.css +26 -0
  40. package/player/styles/default/controls.css +56 -0
  41. package/player/styles/default/gestures.css +19 -0
  42. package/player/styles/default/icons.css +6 -0
  43. package/player/styles/default/keyboard.css +148 -0
  44. package/player/styles/default/layouts/audio.css +417 -0
  45. package/player/styles/default/layouts/video.css +1082 -0
  46. package/player/styles/default/menus.css +959 -0
  47. package/player/styles/default/poster.css +52 -0
  48. package/player/styles/default/sliders.css +391 -0
  49. package/player/styles/default/theme.css +2461 -0
  50. package/player/styles/default/thumbnail.css +40 -0
  51. package/player/styles/default/time.css +45 -0
  52. package/player/styles/default/tooltips.css +141 -0
  53. package/player/styles/plyr/theme.css +1237 -0
  54. package/prod/chunks/vidstack-0Foyib2F.js +34 -0
  55. package/prod/chunks/vidstack-BbPEqH3g.js +11196 -0
  56. package/prod/chunks/vidstack-Bh7M8kL6.js +663 -0
  57. package/prod/chunks/vidstack-BlPINAXN.js +189 -0
  58. package/prod/chunks/vidstack-C5Rzkyfp.js +375 -0
  59. package/prod/chunks/vidstack-CBF7iUqu.js +22 -0
  60. package/prod/chunks/vidstack-CZNlvfmV.js +288 -0
  61. package/prod/chunks/vidstack-CZgUA94N.js +1979 -0
  62. package/prod/chunks/vidstack-D0XCUWbp.js +159 -0
  63. package/prod/chunks/vidstack-DTyDOhwS.js +504 -0
  64. package/prod/chunks/vidstack-DhC5F6c8.js +470 -0
  65. package/prod/chunks/vidstack-Dm1xEU9Q.js +36 -0
  66. package/prod/chunks/vidstack-Ma9rwtR0.js +386 -0
  67. package/prod/chunks/vidstack-WsodkLQg.js +1371 -0
  68. package/prod/chunks/vidstack-jIPoNqhj.js +545 -0
  69. package/prod/chunks/vidstack-krOAtKMi.js +34 -0
  70. package/prod/chunks/vidstack-vqp2QaHR.js +9 -0
  71. package/prod/chunks/vidstack-xo_SmgiV.js +84 -0
  72. package/prod/chunks/vidstack-xvxeRtaN.js +61 -0
  73. package/prod/player/vidstack-default-components.js +14 -0
  74. package/prod/player/vidstack-default-icons.js +88 -0
  75. package/prod/player/vidstack-default-layout.js +14 -0
  76. package/prod/player/vidstack-plyr-icons.js +62 -0
  77. package/prod/player/vidstack-plyr-layout.js +636 -0
  78. package/prod/player/vidstack-remotion.js +335 -0
  79. package/prod/vidstack-icons.js +435 -0
  80. package/prod/vidstack.js +648 -0
  81. package/server/chunks/vidstack-2zMSe4ym.js +1371 -0
  82. package/server/chunks/vidstack-BtqWstSj.js +375 -0
  83. package/server/chunks/vidstack-C-HdFsZi.js +84 -0
  84. package/server/chunks/vidstack-C4iWXMC-.js +545 -0
  85. package/server/chunks/vidstack-C5zFBMwg.js +386 -0
  86. package/server/chunks/vidstack-CBF7iUqu.js +22 -0
  87. package/server/chunks/vidstack-CEh38XpD.js +288 -0
  88. package/server/chunks/vidstack-CkMAeO-e.js +34 -0
  89. package/server/chunks/vidstack-Cm0qnRvu.js +11196 -0
  90. package/server/chunks/vidstack-CoGzBr_V.js +663 -0
  91. package/server/chunks/vidstack-CyFwkPiu.js +470 -0
  92. package/server/chunks/vidstack-D-hQD1eE.js +9 -0
  93. package/server/chunks/vidstack-D_bWd66h.js +2023 -0
  94. package/server/chunks/vidstack-Dm1xEU9Q.js +36 -0
  95. package/server/chunks/vidstack-DtQSvsQr.js +189 -0
  96. package/server/chunks/vidstack-jlaBqZq5.js +61 -0
  97. package/server/chunks/vidstack-krOAtKMi.js +34 -0
  98. package/server/chunks/vidstack-rWs25cS9.js +159 -0
  99. package/server/chunks/vidstack-uyCXITen.js +504 -0
  100. package/server/player/vidstack-default-components.js +14 -0
  101. package/server/player/vidstack-default-icons.js +88 -0
  102. package/server/player/vidstack-default-layout.js +14 -0
  103. package/server/player/vidstack-plyr-icons.js +62 -0
  104. package/server/player/vidstack-plyr-layout.js +636 -0
  105. package/server/player/vidstack-remotion.js +335 -0
  106. package/server/vidstack.js +648 -0
  107. package/tailwind.cjs +101 -0
  108. package/tailwind.d.cts +15 -0
  109. package/.templates/sandbox/document.css +0 -27
  110. package/.templates/sandbox/favicon-32x32.png +0 -0
  111. package/.templates/sandbox/index.html +0 -21
  112. package/.templates/sandbox/main.tsx +0 -12
  113. package/.templates/sandbox/player.css +0 -39
  114. package/.templates/sandbox/player.tsx +0 -121
  115. package/.templates/sandbox/tracks.ts +0 -23
  116. package/analyze.config.ts +0 -7
  117. package/build/build-icons.js +0 -62
  118. package/rollup.config.ts +0 -256
  119. package/src/components/announcer.tsx +0 -47
  120. package/src/components/layouts/default/audio-layout.tsx +0 -231
  121. package/src/components/layouts/default/context.ts +0 -28
  122. package/src/components/layouts/default/hooks.ts +0 -13
  123. package/src/components/layouts/default/icons.tsx +0 -225
  124. package/src/components/layouts/default/index.ts +0 -11
  125. package/src/components/layouts/default/media-layout.tsx +0 -259
  126. package/src/components/layouts/default/slots.tsx +0 -98
  127. package/src/components/layouts/default/ui/announcer.tsx +0 -22
  128. package/src/components/layouts/default/ui/buttons.tsx +0 -301
  129. package/src/components/layouts/default/ui/captions.tsx +0 -16
  130. package/src/components/layouts/default/ui/controls.tsx +0 -12
  131. package/src/components/layouts/default/ui/keyboard-display.tsx +0 -132
  132. package/src/components/layouts/default/ui/menus/accessibility-menu.tsx +0 -100
  133. package/src/components/layouts/default/ui/menus/audio-menu.tsx +0 -167
  134. package/src/components/layouts/default/ui/menus/captions-menu.tsx +0 -61
  135. package/src/components/layouts/default/ui/menus/chapters-menu.tsx +0 -132
  136. package/src/components/layouts/default/ui/menus/font-menu.tsx +0 -331
  137. package/src/components/layouts/default/ui/menus/items/menu-checkbox.tsx +0 -72
  138. package/src/components/layouts/default/ui/menus/items/menu-items.tsx +0 -135
  139. package/src/components/layouts/default/ui/menus/items/menu-slider.tsx +0 -92
  140. package/src/components/layouts/default/ui/menus/playback-menu.tsx +0 -232
  141. package/src/components/layouts/default/ui/menus/settings-menu.tsx +0 -114
  142. package/src/components/layouts/default/ui/menus/utils.ts +0 -12
  143. package/src/components/layouts/default/ui/sliders.tsx +0 -136
  144. package/src/components/layouts/default/ui/time.tsx +0 -73
  145. package/src/components/layouts/default/ui/title.tsx +0 -24
  146. package/src/components/layouts/default/ui/tooltip.tsx +0 -27
  147. package/src/components/layouts/default/ui.ts +0 -8
  148. package/src/components/layouts/default/video-layout.tsx +0 -344
  149. package/src/components/layouts/plyr/context.ts +0 -26
  150. package/src/components/layouts/plyr/icons/plyr-airplay.js +0 -1
  151. package/src/components/layouts/plyr/icons/plyr-captions-off.js +0 -1
  152. package/src/components/layouts/plyr/icons/plyr-captions-on.js +0 -1
  153. package/src/components/layouts/plyr/icons/plyr-download.js +0 -1
  154. package/src/components/layouts/plyr/icons/plyr-enter-fullscreen.js +0 -1
  155. package/src/components/layouts/plyr/icons/plyr-exit-fullscreen.js +0 -1
  156. package/src/components/layouts/plyr/icons/plyr-fast-forward.js +0 -1
  157. package/src/components/layouts/plyr/icons/plyr-muted.js +0 -1
  158. package/src/components/layouts/plyr/icons/plyr-pause.js +0 -1
  159. package/src/components/layouts/plyr/icons/plyr-pip.js +0 -1
  160. package/src/components/layouts/plyr/icons/plyr-play.js +0 -1
  161. package/src/components/layouts/plyr/icons/plyr-restart.js +0 -1
  162. package/src/components/layouts/plyr/icons/plyr-rewind.js +0 -1
  163. package/src/components/layouts/plyr/icons/plyr-settings.js +0 -1
  164. package/src/components/layouts/plyr/icons/plyr-volume.js +0 -1
  165. package/src/components/layouts/plyr/icons.tsx +0 -71
  166. package/src/components/layouts/plyr/index.ts +0 -11
  167. package/src/components/layouts/plyr/layout.tsx +0 -1024
  168. package/src/components/layouts/plyr/props.ts +0 -104
  169. package/src/components/layouts/plyr/slots.tsx +0 -52
  170. package/src/components/layouts/remotion-ui.ts +0 -13
  171. package/src/components/layouts/utils.ts +0 -17
  172. package/src/components/player-callbacks.ts +0 -67
  173. package/src/components/player.tsx +0 -67
  174. package/src/components/primitives/instances.ts +0 -92
  175. package/src/components/primitives/nodes.tsx +0 -58
  176. package/src/components/primitives/slot.tsx +0 -132
  177. package/src/components/provider.tsx +0 -187
  178. package/src/components/text-track.tsx +0 -106
  179. package/src/components/ui/buttons/airplay-button.tsx +0 -53
  180. package/src/components/ui/buttons/caption-button.tsx +0 -55
  181. package/src/components/ui/buttons/fullscreen-button.tsx +0 -55
  182. package/src/components/ui/buttons/google-cast-button.tsx +0 -53
  183. package/src/components/ui/buttons/live-button.tsx +0 -56
  184. package/src/components/ui/buttons/mute-button.tsx +0 -60
  185. package/src/components/ui/buttons/pip-button.tsx +0 -54
  186. package/src/components/ui/buttons/play-button.tsx +0 -53
  187. package/src/components/ui/buttons/seek-button.tsx +0 -55
  188. package/src/components/ui/buttons/toggle-button.tsx +0 -51
  189. package/src/components/ui/caption.tsx +0 -70
  190. package/src/components/ui/captions.tsx +0 -41
  191. package/src/components/ui/chapter-title.tsx +0 -40
  192. package/src/components/ui/controls.tsx +0 -90
  193. package/src/components/ui/gesture.tsx +0 -43
  194. package/src/components/ui/menu.tsx +0 -251
  195. package/src/components/ui/poster.tsx +0 -101
  196. package/src/components/ui/radio-group.tsx +0 -88
  197. package/src/components/ui/sliders/audio-gain-slider.tsx +0 -55
  198. package/src/components/ui/sliders/quality-slider.tsx +0 -54
  199. package/src/components/ui/sliders/slider-callbacks.ts +0 -14
  200. package/src/components/ui/sliders/slider-value.tsx +0 -13
  201. package/src/components/ui/sliders/slider.tsx +0 -254
  202. package/src/components/ui/sliders/speed-slider.tsx +0 -54
  203. package/src/components/ui/sliders/time-slider.tsx +0 -379
  204. package/src/components/ui/sliders/volume-slider.tsx +0 -55
  205. package/src/components/ui/spinner.tsx +0 -105
  206. package/src/components/ui/thumbnail.tsx +0 -82
  207. package/src/components/ui/time.tsx +0 -77
  208. package/src/components/ui/title.tsx +0 -32
  209. package/src/components/ui/tooltip.tsx +0 -135
  210. package/src/globals.d.ts +0 -3
  211. package/src/hooks/create-text-track.ts +0 -22
  212. package/src/hooks/options/use-audio-gain-options.ts +0 -75
  213. package/src/hooks/options/use-audio-options.ts +0 -71
  214. package/src/hooks/options/use-caption-options.ts +0 -95
  215. package/src/hooks/options/use-chapter-options.ts +0 -97
  216. package/src/hooks/options/use-playback-rate-options.ts +0 -75
  217. package/src/hooks/options/use-video-quality-options.ts +0 -123
  218. package/src/hooks/use-active-text-cues.ts +0 -28
  219. package/src/hooks/use-active-text-track.ts +0 -19
  220. package/src/hooks/use-chapter-title.ts +0 -12
  221. package/src/hooks/use-dom.ts +0 -121
  222. package/src/hooks/use-media-context.ts +0 -6
  223. package/src/hooks/use-media-player.ts +0 -19
  224. package/src/hooks/use-media-provider.ts +0 -31
  225. package/src/hooks/use-media-remote.ts +0 -37
  226. package/src/hooks/use-media-state.ts +0 -58
  227. package/src/hooks/use-signals.ts +0 -24
  228. package/src/hooks/use-slider-preview.ts +0 -126
  229. package/src/hooks/use-slider-state.ts +0 -63
  230. package/src/hooks/use-state.ts +0 -47
  231. package/src/hooks/use-text-cues.ts +0 -33
  232. package/src/hooks/use-thumbnails.ts +0 -69
  233. package/src/icon.ts +0 -37
  234. package/src/icons.ts +0 -754
  235. package/src/index.ts +0 -181
  236. package/src/providers/remotion/index.ts +0 -10
  237. package/src/providers/remotion/layout-engine.ts +0 -123
  238. package/src/providers/remotion/loader.ts +0 -35
  239. package/src/providers/remotion/playback-engine.ts +0 -142
  240. package/src/providers/remotion/provider.tsx +0 -514
  241. package/src/providers/remotion/type-check.ts +0 -13
  242. package/src/providers/remotion/types.ts +0 -94
  243. package/src/providers/remotion/ui/context.tsx +0 -120
  244. package/src/providers/remotion/ui/error-boundary.tsx +0 -57
  245. package/src/providers/remotion/ui/poster.tsx +0 -33
  246. package/src/providers/remotion/ui/slider-thumbnail.tsx +0 -41
  247. package/src/providers/remotion/ui/thumbnail.tsx +0 -166
  248. package/src/providers/remotion/validate.ts +0 -220
  249. package/src/source.ts +0 -5
  250. package/src/utils.ts +0 -27
  251. package/tsconfig.build.json +0 -10
  252. package/tsconfig.json +0 -11
  253. package/types/react/src/components/announcer.d.ts +0 -16
  254. package/types/react/src/components/layouts/default/audio-layout.d.ts +0 -27
  255. package/types/react/src/components/layouts/default/context.d.ts +0 -14
  256. package/types/react/src/components/layouts/default/hooks.d.ts +0 -2
  257. package/types/react/src/components/layouts/default/icons.d.ts +0 -95
  258. package/types/react/src/components/layouts/default/index.d.ts +0 -5
  259. package/types/react/src/components/layouts/default/media-layout.d.ts +0 -133
  260. package/types/react/src/components/layouts/default/slots.d.ts +0 -22
  261. package/types/react/src/components/layouts/default/ui/announcer.d.ts +0 -6
  262. package/types/react/src/components/layouts/default/ui/buttons.d.ts +0 -54
  263. package/types/react/src/components/layouts/default/ui/captions.d.ts +0 -6
  264. package/types/react/src/components/layouts/default/ui/controls.d.ts +0 -6
  265. package/types/react/src/components/layouts/default/ui/keyboard-display.d.ts +0 -8
  266. package/types/react/src/components/layouts/default/ui/menus/accessibility-menu.d.ts +0 -10
  267. package/types/react/src/components/layouts/default/ui/menus/audio-menu.d.ts +0 -10
  268. package/types/react/src/components/layouts/default/ui/menus/captions-menu.d.ts +0 -10
  269. package/types/react/src/components/layouts/default/ui/menus/chapters-menu.d.ts +0 -7
  270. package/types/react/src/components/layouts/default/ui/menus/font-menu.d.ts +0 -6
  271. package/types/react/src/components/layouts/default/ui/menus/items/menu-checkbox.d.ts +0 -13
  272. package/types/react/src/components/layouts/default/ui/menus/items/menu-items.d.ts +0 -49
  273. package/types/react/src/components/layouts/default/ui/menus/items/menu-slider.d.ts +0 -26
  274. package/types/react/src/components/layouts/default/ui/menus/playback-menu.d.ts +0 -10
  275. package/types/react/src/components/layouts/default/ui/menus/settings-menu.d.ts +0 -15
  276. package/types/react/src/components/layouts/default/ui/menus/utils.d.ts +0 -1
  277. package/types/react/src/components/layouts/default/ui/sliders.d.ts +0 -24
  278. package/types/react/src/components/layouts/default/ui/time.d.ts +0 -30
  279. package/types/react/src/components/layouts/default/ui/title.d.ts +0 -6
  280. package/types/react/src/components/layouts/default/ui/tooltip.d.ts +0 -12
  281. package/types/react/src/components/layouts/default/ui.d.ts +0 -8
  282. package/types/react/src/components/layouts/default/video-layout.d.ts +0 -47
  283. package/types/react/src/components/layouts/plyr/context.d.ts +0 -12
  284. package/types/react/src/components/layouts/plyr/icons/plyr-airplay.d.ts +0 -2
  285. package/types/react/src/components/layouts/plyr/icons/plyr-captions-off.d.ts +0 -2
  286. package/types/react/src/components/layouts/plyr/icons/plyr-captions-on.d.ts +0 -2
  287. package/types/react/src/components/layouts/plyr/icons/plyr-download.d.ts +0 -2
  288. package/types/react/src/components/layouts/plyr/icons/plyr-enter-fullscreen.d.ts +0 -2
  289. package/types/react/src/components/layouts/plyr/icons/plyr-exit-fullscreen.d.ts +0 -2
  290. package/types/react/src/components/layouts/plyr/icons/plyr-fast-forward.d.ts +0 -2
  291. package/types/react/src/components/layouts/plyr/icons/plyr-muted.d.ts +0 -2
  292. package/types/react/src/components/layouts/plyr/icons/plyr-pause.d.ts +0 -2
  293. package/types/react/src/components/layouts/plyr/icons/plyr-pip.d.ts +0 -2
  294. package/types/react/src/components/layouts/plyr/icons/plyr-play.d.ts +0 -2
  295. package/types/react/src/components/layouts/plyr/icons/plyr-restart.d.ts +0 -2
  296. package/types/react/src/components/layouts/plyr/icons/plyr-rewind.d.ts +0 -2
  297. package/types/react/src/components/layouts/plyr/icons/plyr-settings.d.ts +0 -2
  298. package/types/react/src/components/layouts/plyr/icons/plyr-volume.d.ts +0 -2
  299. package/types/react/src/components/layouts/plyr/icons.d.ts +0 -25
  300. package/types/react/src/components/layouts/plyr/index.d.ts +0 -6
  301. package/types/react/src/components/layouts/plyr/layout.d.ts +0 -17
  302. package/types/react/src/components/layouts/plyr/props.d.ts +0 -71
  303. package/types/react/src/components/layouts/plyr/slots.d.ts +0 -9
  304. package/types/react/src/components/layouts/remotion-ui.d.ts +0 -3
  305. package/types/react/src/components/layouts/utils.d.ts +0 -1
  306. package/types/react/src/components/player-callbacks.d.ts +0 -6
  307. package/types/react/src/components/player.d.ts +0 -32
  308. package/types/react/src/components/primitives/instances.d.ts +0 -83
  309. package/types/react/src/components/primitives/nodes.d.ts +0 -15
  310. package/types/react/src/components/primitives/slot.d.ts +0 -11
  311. package/types/react/src/components/provider.d.ts +0 -26
  312. package/types/react/src/components/text-track.d.ts +0 -100
  313. package/types/react/src/components/ui/buttons/airplay-button.d.ts +0 -22
  314. package/types/react/src/components/ui/buttons/caption-button.d.ts +0 -24
  315. package/types/react/src/components/ui/buttons/fullscreen-button.d.ts +0 -24
  316. package/types/react/src/components/ui/buttons/google-cast-button.d.ts +0 -22
  317. package/types/react/src/components/ui/buttons/live-button.d.ts +0 -26
  318. package/types/react/src/components/ui/buttons/mute-button.d.ts +0 -30
  319. package/types/react/src/components/ui/buttons/pip-button.d.ts +0 -24
  320. package/types/react/src/components/ui/buttons/play-button.d.ts +0 -23
  321. package/types/react/src/components/ui/buttons/seek-button.d.ts +0 -25
  322. package/types/react/src/components/ui/buttons/toggle-button.d.ts +0 -22
  323. package/types/react/src/components/ui/caption.d.ts +0 -11
  324. package/types/react/src/components/ui/captions.d.ts +0 -20
  325. package/types/react/src/components/ui/chapter-title.d.ts +0 -20
  326. package/types/react/src/components/ui/controls.d.ts +0 -40
  327. package/types/react/src/components/ui/gesture.d.ts +0 -20
  328. package/types/react/src/components/ui/menu.d.ts +0 -102
  329. package/types/react/src/components/ui/poster.d.ts +0 -25
  330. package/types/react/src/components/ui/radio-group.d.ts +0 -39
  331. package/types/react/src/components/ui/sliders/audio-gain-slider.d.ts +0 -29
  332. package/types/react/src/components/ui/sliders/quality-slider.d.ts +0 -28
  333. package/types/react/src/components/ui/sliders/slider-callbacks.d.ts +0 -6
  334. package/types/react/src/components/ui/sliders/slider-value.d.ts +0 -9
  335. package/types/react/src/components/ui/sliders/slider.d.ts +0 -134
  336. package/types/react/src/components/ui/sliders/speed-slider.d.ts +0 -28
  337. package/types/react/src/components/ui/sliders/time-slider.d.ts +0 -124
  338. package/types/react/src/components/ui/sliders/volume-slider.d.ts +0 -29
  339. package/types/react/src/components/ui/spinner.d.ts +0 -31
  340. package/types/react/src/components/ui/thumbnail.d.ts +0 -26
  341. package/types/react/src/components/ui/time.d.ts +0 -20
  342. package/types/react/src/components/ui/title.d.ts +0 -15
  343. package/types/react/src/components/ui/tooltip.d.ts +0 -63
  344. package/types/react/src/hooks/create-text-track.d.ts +0 -7
  345. package/types/react/src/hooks/options/use-audio-gain-options.d.ts +0 -22
  346. package/types/react/src/hooks/options/use-audio-options.d.ts +0 -17
  347. package/types/react/src/hooks/options/use-caption-options.d.ts +0 -24
  348. package/types/react/src/hooks/options/use-chapter-options.d.ts +0 -18
  349. package/types/react/src/hooks/options/use-playback-rate-options.d.ts +0 -22
  350. package/types/react/src/hooks/options/use-video-quality-options.d.ts +0 -35
  351. package/types/react/src/hooks/use-active-text-cues.d.ts +0 -6
  352. package/types/react/src/hooks/use-active-text-track.d.ts +0 -5
  353. package/types/react/src/hooks/use-chapter-title.d.ts +0 -4
  354. package/types/react/src/hooks/use-dom.d.ts +0 -9
  355. package/types/react/src/hooks/use-media-context.d.ts +0 -1
  356. package/types/react/src/hooks/use-media-player.d.ts +0 -7
  357. package/types/react/src/hooks/use-media-provider.d.ts +0 -7
  358. package/types/react/src/hooks/use-media-remote.d.ts +0 -12
  359. package/types/react/src/hooks/use-media-state.d.ts +0 -15
  360. package/types/react/src/hooks/use-signals.d.ts +0 -5
  361. package/types/react/src/hooks/use-slider-preview.d.ts +0 -27
  362. package/types/react/src/hooks/use-slider-state.d.ts +0 -16
  363. package/types/react/src/hooks/use-state.d.ts +0 -18
  364. package/types/react/src/hooks/use-text-cues.d.ts +0 -6
  365. package/types/react/src/hooks/use-thumbnails.d.ts +0 -16
  366. package/types/react/src/icon.d.ts +0 -17
  367. package/types/react/src/icons.d.ts +0 -215
  368. package/types/react/src/index.d.ts +0 -78
  369. package/types/react/src/providers/remotion/index.d.ts +0 -7
  370. package/types/react/src/providers/remotion/layout-engine.d.ts +0 -8
  371. package/types/react/src/providers/remotion/loader.d.ts +0 -9
  372. package/types/react/src/providers/remotion/playback-engine.d.ts +0 -11
  373. package/types/react/src/providers/remotion/provider.d.ts +0 -26
  374. package/types/react/src/providers/remotion/type-check.d.ts +0 -6
  375. package/types/react/src/providers/remotion/types.d.ts +0 -91
  376. package/types/react/src/providers/remotion/ui/context.d.ts +0 -17
  377. package/types/react/src/providers/remotion/ui/error-boundary.d.ts +0 -21
  378. package/types/react/src/providers/remotion/ui/poster.d.ts +0 -18
  379. package/types/react/src/providers/remotion/ui/slider-thumbnail.d.ts +0 -17
  380. package/types/react/src/providers/remotion/ui/thumbnail.d.ts +0 -32
  381. package/types/react/src/providers/remotion/validate.d.ts +0 -12
  382. package/types/react/src/source.d.ts +0 -3
  383. package/types/react/src/utils.d.ts +0 -3
  384. package/types/vidstack/src/core/api/src-types.d.ts +0 -50
  385. package/types/vidstack/src/utils/mime.d.ts +0 -15
  386. package/types/vidstack/src/utils/network.d.ts +0 -17
  387. package/types/vidstack/src/utils/support.d.ts +0 -72
  388. package/vite.config.ts +0 -23
  389. /package/{npm/analyze.json.d.ts → analyze.json.d.ts} +0 -0
@@ -1,32 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { useMediaState } from '../../hooks/use-media-state';
4
- import { Primitive, type PrimitivePropsWithRef } from '../primitives/nodes';
5
-
6
- /* -------------------------------------------------------------------------------------------------
7
- * Title
8
- * -----------------------------------------------------------------------------------------------*/
9
-
10
- export interface TitleProps extends PrimitivePropsWithRef<'span'> {}
11
-
12
- /**
13
- * This component is used to load and display the current media title.
14
- *
15
- * @docs {@link https://www.vidstack.io/docs/player/components/display/title}
16
- * @example
17
- * ```tsx
18
- * <Title />
19
- * ```
20
- */
21
- const Title = React.forwardRef<HTMLElement, TitleProps>(({ children, ...props }, forwardRef) => {
22
- const $title = useMediaState('title');
23
- return (
24
- <Primitive.span {...props} ref={forwardRef as React.Ref<any>}>
25
- {$title}
26
- {children}
27
- </Primitive.span>
28
- );
29
- });
30
-
31
- Title.displayName = 'Title';
32
- export { Title };
@@ -1,135 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import {
4
- composeRefs,
5
- createReactComponent,
6
- type ReactElementProps,
7
- type ReactProps,
8
- } from 'maverick.js/react';
9
-
10
- import {
11
- TooltipContentInstance,
12
- TooltipInstance,
13
- TooltipTriggerInstance,
14
- } from '../primitives/instances';
15
- import { Primitive } from '../primitives/nodes';
16
-
17
- /* -------------------------------------------------------------------------------------------------
18
- * Tooltip
19
- * -----------------------------------------------------------------------------------------------*/
20
-
21
- const TooltipBridge = createReactComponent(TooltipInstance);
22
-
23
- export interface RootProps extends ReactProps<TooltipInstance> {
24
- asChild?: boolean;
25
- children: React.ReactNode;
26
- }
27
-
28
- /**
29
- * A contextual text bubble that displays a description for an element that appears on pointer
30
- * hover or keyboard focus.
31
- *
32
- * @docs {@link https://www.vidstack.io/docs/player/components/tooltip}
33
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tooltip_role}
34
- * @example
35
- * ```tsx
36
- * <Tooltip.Root>
37
- * <Tooltip.Trigger></Tooltip.Trigger>
38
- * <Tooltip.Content></Tooltip.Content>
39
- * </Tooltip.Root>
40
- * ```
41
- */
42
- function Root({ children, ...props }: RootProps) {
43
- return <TooltipBridge {...props}>{children}</TooltipBridge>;
44
- }
45
-
46
- Root.displayName = 'Tooltip';
47
-
48
- /* -------------------------------------------------------------------------------------------------
49
- * TooltipTrigger
50
- * -----------------------------------------------------------------------------------------------*/
51
-
52
- const TriggerBridge = createReactComponent(TooltipTriggerInstance);
53
-
54
- export interface TriggerProps extends ReactElementProps<TooltipTriggerInstance> {
55
- asChild?: boolean;
56
- children?: React.ReactNode;
57
- ref?: React.Ref<HTMLButtonElement>;
58
- }
59
-
60
- /**
61
- * Wraps the element that will trigger showing/hiding the tooltip on hover or keyboard focus. The
62
- * tooltip content is positioned relative to this element.
63
- *
64
- * @docs {@link https://www.vidstack.io/docs/player/components/tooltip}
65
- * @example
66
- * ```tsx
67
- * <Tooltip.Root>
68
- * <Tooltip.Trigger></Tooltip.Trigger>
69
- * <Tooltip.Content></Tooltip.Content>
70
- * </Tooltip.Root>
71
- * ```
72
- */
73
- const Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(
74
- ({ children, ...props }, forwardRef) => {
75
- return (
76
- <TriggerBridge {...(props as Omit<TriggerProps, 'ref'>)}>
77
- {(props) => (
78
- <Primitive.button
79
- {...props}
80
- ref={composeRefs(props.ref as React.Ref<any>, forwardRef as React.Ref<any>)}
81
- >
82
- {children}
83
- </Primitive.button>
84
- )}
85
- </TriggerBridge>
86
- );
87
- },
88
- );
89
-
90
- Trigger.displayName = 'TooltipTrigger';
91
-
92
- /* -------------------------------------------------------------------------------------------------
93
- * TooltipContent
94
- * -----------------------------------------------------------------------------------------------*/
95
-
96
- const ContentBridge = createReactComponent(TooltipContentInstance);
97
-
98
- export interface ContentProps extends ReactElementProps<TooltipContentInstance> {
99
- asChild?: boolean;
100
- children?: React.ReactNode;
101
- ref?: React.Ref<HTMLElement>;
102
- }
103
-
104
- /**
105
- * This component contains the content that is visible when the tooltip trigger is interacted with.
106
- *
107
- * @docs {@link https://www.vidstack.io/docs/player/components/tooltip}
108
- * @example
109
- * ```tsx
110
- * <Tooltip.Root>
111
- * <Tooltip.Trigger></Tooltip.Trigger>
112
- * <Tooltip.Content></Tooltip.Content>
113
- * </Tooltip.Root>
114
- * ```
115
- */
116
- const Content = React.forwardRef<HTMLElement, ContentProps>(
117
- ({ children, ...props }, forwardRef) => {
118
- return (
119
- <ContentBridge {...(props as Omit<ContentProps, 'ref'>)}>
120
- {(props) => (
121
- <Primitive.div
122
- {...props}
123
- ref={composeRefs(props.ref as React.Ref<any>, forwardRef as React.Ref<any>)}
124
- >
125
- {children}
126
- </Primitive.div>
127
- )}
128
- </ContentBridge>
129
- );
130
- },
131
- );
132
-
133
- Content.displayName = 'TooltipContent';
134
-
135
- export { Root, Trigger, Content };
package/src/globals.d.ts DELETED
@@ -1,3 +0,0 @@
1
- /// <reference path="../../vidstack/src/globals.d.ts" />
2
-
3
- export {};
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { TextTrack, type TextTrackInit } from 'vidstack';
4
-
5
- import { useMediaContext } from './use-media-context';
6
-
7
- /**
8
- * Creates a new `TextTrack` object and adds it to the player.
9
- *
10
- * @docs {@link https://www.vidstack.io/docs/player/api/hooks/create-text-track}
11
- */
12
- export function createTextTrack(init: TextTrackInit) {
13
- const media = useMediaContext(),
14
- track = React.useMemo(() => new TextTrack(init), Object.values(init));
15
-
16
- React.useEffect(() => {
17
- media.textTracks.add(track);
18
- return () => void media.textTracks.remove(track);
19
- }, [track]);
20
-
21
- return track;
22
- }
@@ -1,75 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { useSignal } from 'maverick.js/react';
4
- import { DEFAULT_AUDIO_GAINS } from 'vidstack';
5
-
6
- import { useMediaContext } from '../use-media-context';
7
-
8
- /**
9
- * @docs {@link https://www.vidstack.io/docs/player/api/hooks/use-audio-gain-options}
10
- */
11
- export function useAudioGainOptions({
12
- gains = DEFAULT_AUDIO_GAINS,
13
- disabledLabel = 'disabled',
14
- }: UseAudioGainOptions = {}): AudioGainOptions {
15
- const media = useMediaContext(),
16
- { audioGain, canSetAudioGain } = media.$state;
17
-
18
- useSignal(audioGain);
19
- useSignal(canSetAudioGain);
20
-
21
- return React.useMemo(() => {
22
- const options = gains.map<AudioGainOption>((opt) => {
23
- const label =
24
- typeof opt === 'number'
25
- ? opt === 1 && disabledLabel
26
- ? disabledLabel
27
- : opt * 100 + '%'
28
- : opt.label,
29
- gain = typeof opt === 'number' ? opt : opt.gain;
30
- return {
31
- label,
32
- value: gain.toString(),
33
- gain,
34
- get selected() {
35
- return audioGain() === gain;
36
- },
37
- select(trigger) {
38
- media.remote.changeAudioGain(gain, trigger);
39
- },
40
- };
41
- });
42
-
43
- Object.defineProperty(options, 'disabled', {
44
- get() {
45
- return !canSetAudioGain() || !options.length;
46
- },
47
- });
48
-
49
- Object.defineProperty(options, 'selectedValue', {
50
- get() {
51
- return audioGain()?.toString();
52
- },
53
- });
54
-
55
- return options as AudioGainOptions;
56
- }, [gains]);
57
- }
58
-
59
- export interface UseAudioGainOptions {
60
- gains?: (number | { label: string; gain: number })[];
61
- disabledLabel?: string | null;
62
- }
63
-
64
- export type AudioGainOptions = AudioGainOption[] & {
65
- readonly disabled: boolean;
66
- readonly selectedValue: string | undefined;
67
- };
68
-
69
- export interface AudioGainOption {
70
- readonly label: string;
71
- readonly value: string;
72
- readonly gain: number;
73
- readonly selected: boolean;
74
- select(trigger?: Event): void;
75
- }
@@ -1,71 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { useSignal } from 'maverick.js/react';
4
- import { type AudioTrack } from 'vidstack';
5
-
6
- import { useMediaContext } from '../use-media-context';
7
-
8
- /**
9
- * @docs {@link https://www.vidstack.io/docs/player/api/hooks/use-audio-options}
10
- */
11
- export function useAudioOptions(): AudioOptions {
12
- const media = useMediaContext(),
13
- { audioTracks, audioTrack } = media.$state,
14
- $audioTracks = useSignal(audioTracks);
15
-
16
- useSignal(audioTrack);
17
-
18
- return React.useMemo(() => {
19
- const options = $audioTracks.map<AudioOption>((track) => ({
20
- track,
21
- label: track.label,
22
- value: getTrackValue(track),
23
- get selected() {
24
- return audioTrack() === track;
25
- },
26
- select(trigger) {
27
- const index = audioTracks().indexOf(track);
28
- if (index >= 0) media.remote.changeAudioTrack(index, trigger);
29
- },
30
- }));
31
-
32
- Object.defineProperty(options, 'disabled', {
33
- get() {
34
- return options.length <= 1;
35
- },
36
- });
37
-
38
- Object.defineProperty(options, 'selectedTrack', {
39
- get() {
40
- return audioTrack();
41
- },
42
- });
43
-
44
- Object.defineProperty(options, 'selectedValue', {
45
- get() {
46
- const track = audioTrack();
47
- return track ? getTrackValue(track) : undefined;
48
- },
49
- });
50
-
51
- return options as AudioOptions;
52
- }, [$audioTracks]);
53
- }
54
-
55
- export type AudioOptions = AudioOption[] & {
56
- readonly disabled: boolean;
57
- readonly selectedTrack: AudioTrack | null;
58
- readonly selectedValue: string | undefined;
59
- };
60
-
61
- export interface AudioOption {
62
- readonly track: AudioTrack;
63
- readonly label: string;
64
- readonly value: string;
65
- readonly selected: boolean;
66
- select(trigger?: Event): void;
67
- }
68
-
69
- function getTrackValue(track: AudioTrack) {
70
- return track.label.toLowerCase();
71
- }
@@ -1,95 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { useSignal } from 'maverick.js/react';
4
- import { isString } from 'maverick.js/std';
5
- import { isTrackCaptionKind, type TextTrack } from 'vidstack';
6
-
7
- import { useMediaContext } from '../use-media-context';
8
-
9
- /**
10
- * @docs {@link https://www.vidstack.io/docs/player/api/hooks/use-caption-options}
11
- */
12
- export function useCaptionOptions({ off = true }: UseCaptionOptions = {}): CaptionOptions {
13
- const media = useMediaContext(),
14
- { textTracks, textTrack } = media.$state,
15
- $textTracks = useSignal(textTracks);
16
-
17
- useSignal(textTrack);
18
-
19
- return React.useMemo(() => {
20
- const captionTracks = $textTracks.filter(isTrackCaptionKind),
21
- options = captionTracks.map<CaptionOption>((track) => ({
22
- track,
23
- label: track.label,
24
- value: getTrackValue(track),
25
- get selected() {
26
- return textTrack() === track;
27
- },
28
- select(trigger) {
29
- const index = textTracks().indexOf(track);
30
- if (index >= 0) media.remote.changeTextTrackMode(index, 'showing', trigger);
31
- },
32
- }));
33
-
34
- if (off) {
35
- options.unshift({
36
- track: null,
37
- label: isString(off) ? off : 'Off',
38
- value: 'off',
39
- get selected() {
40
- return !textTrack();
41
- },
42
- select(trigger) {
43
- media.remote.toggleCaptions(trigger);
44
- },
45
- });
46
- }
47
-
48
- Object.defineProperty(options, 'disabled', {
49
- get() {
50
- return !captionTracks.length;
51
- },
52
- });
53
-
54
- Object.defineProperty(options, 'selectedTrack', {
55
- get() {
56
- return textTrack();
57
- },
58
- });
59
-
60
- Object.defineProperty(options, 'selectedValue', {
61
- get() {
62
- const track = textTrack();
63
- return track ? getTrackValue(track) : 'off';
64
- },
65
- });
66
-
67
- return options as CaptionOptions;
68
- }, [$textTracks]);
69
- }
70
-
71
- export interface UseCaptionOptions {
72
- /**
73
- * Whether an option should be included for turning off all captions. A string can be provided
74
- * to specify the label.
75
- */
76
- off?: boolean | string;
77
- }
78
-
79
- export type CaptionOptions = CaptionOption[] & {
80
- readonly disabled: boolean;
81
- readonly selectedTrack: TextTrack | null;
82
- readonly selectedValue: string;
83
- };
84
-
85
- export interface CaptionOption {
86
- readonly track: TextTrack | null;
87
- readonly label: string;
88
- readonly value: string;
89
- readonly selected: boolean;
90
- select(trigger?: Event): void;
91
- }
92
-
93
- function getTrackValue(track: TextTrack) {
94
- return track.id + ':' + track.kind + '-' + track.label.toLowerCase();
95
- }
@@ -1,97 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { effect, type StopEffect } from 'maverick.js';
4
- import { useSignal } from 'maverick.js/react';
5
- import type { VTTCue } from 'media-captions';
6
- import { formatSpokenTime, formatTime } from 'vidstack';
7
-
8
- import { useActiveTextCues } from '../use-active-text-cues';
9
- import { useActiveTextTrack } from '../use-active-text-track';
10
- import { useMediaContext } from '../use-media-context';
11
- import { useTextCues } from '../use-text-cues';
12
-
13
- /**
14
- * @docs {@link https://www.vidstack.io/docs/player/api/hooks/use-chapter-options}
15
- */
16
- export function useChapterOptions(): ChapterOptions {
17
- const media = useMediaContext(),
18
- track = useActiveTextTrack('chapters'),
19
- cues = useTextCues(track),
20
- $startTime = useSignal(media.$state.seekableStart),
21
- $endTime = useSignal(media.$state.seekableEnd);
22
-
23
- useActiveTextCues(track);
24
-
25
- return React.useMemo(() => {
26
- const options = track
27
- ? cues
28
- .filter((cue) => cue.startTime <= $endTime && cue.endTime >= $startTime)
29
- .map<ChapterOption>((cue, i) => {
30
- let currentRef: HTMLElement | null = null,
31
- stopProgressEffect: StopEffect | undefined;
32
- return {
33
- cue,
34
- label: cue.text,
35
- value: i.toString(),
36
- startTimeText: formatTime(Math.max(0, cue.startTime - $startTime)),
37
- durationText: formatSpokenTime(
38
- Math.min($endTime, cue.endTime) - Math.max($startTime, cue.startTime),
39
- ),
40
- get selected() {
41
- return cue === track.activeCues[0];
42
- },
43
- setProgressVar(ref) {
44
- if (!ref || cue !== track.activeCues[0]) {
45
- stopProgressEffect?.();
46
- stopProgressEffect = undefined;
47
- ref?.style.setProperty('--progress', '0%');
48
- currentRef = null;
49
- return;
50
- }
51
-
52
- if (currentRef === ref) return;
53
- currentRef = ref;
54
-
55
- stopProgressEffect?.();
56
- stopProgressEffect = effect(() => {
57
- const { realCurrentTime } = media.$state,
58
- time = realCurrentTime(),
59
- cueStartTime = Math.max($startTime, cue.startTime),
60
- duration = Math.min($endTime, cue.endTime) - cueStartTime,
61
- progress = (Math.max(0, time - cueStartTime) / duration) * 100;
62
-
63
- ref.style.setProperty('--progress', progress.toFixed(3) + '%');
64
- });
65
- },
66
- select(trigger) {
67
- media.remote.seek(cue.startTime - $startTime, trigger);
68
- },
69
- };
70
- })
71
- : [];
72
-
73
- Object.defineProperty(options, 'selectedValue', {
74
- get() {
75
- const index = options.findIndex((option) => option.selected);
76
- return (index >= 0 ? index : 0).toString();
77
- },
78
- });
79
-
80
- return options as ChapterOptions;
81
- }, [cues, $startTime, $endTime]);
82
- }
83
-
84
- export type ChapterOptions = ChapterOption[] & {
85
- readonly selectedValue: string | undefined;
86
- };
87
-
88
- export interface ChapterOption {
89
- readonly cue: VTTCue;
90
- readonly label: string;
91
- readonly value: string;
92
- readonly selected: boolean;
93
- readonly startTimeText: string;
94
- readonly durationText: string;
95
- select(trigger?: Event): void;
96
- setProgressVar(ref: HTMLElement | null): void;
97
- }
@@ -1,75 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { useSignal } from 'maverick.js/react';
4
- import { DEFAULT_PLAYBACK_RATES } from 'vidstack';
5
-
6
- import { useMediaContext } from '../use-media-context';
7
-
8
- /**
9
- * @docs {@link https://www.vidstack.io/docs/player/api/hooks/use-playback-rate-options}
10
- */
11
- export function usePlaybackRateOptions({
12
- rates = DEFAULT_PLAYBACK_RATES,
13
- normalLabel = 'Normal',
14
- }: UsePlaybackRateOptions = {}): PlaybackRateOptions {
15
- const media = useMediaContext(),
16
- { playbackRate, canSetPlaybackRate } = media.$state;
17
-
18
- useSignal(playbackRate);
19
- useSignal(canSetPlaybackRate);
20
-
21
- return React.useMemo(() => {
22
- const options = rates.map<PlaybackRateOption>((opt) => {
23
- const label =
24
- typeof opt === 'number'
25
- ? opt === 1 && normalLabel
26
- ? normalLabel
27
- : opt + 'x'
28
- : opt.label,
29
- rate = typeof opt === 'number' ? opt : opt.rate;
30
- return {
31
- label,
32
- value: rate.toString(),
33
- rate,
34
- get selected() {
35
- return playbackRate() === rate;
36
- },
37
- select(trigger) {
38
- media.remote.changePlaybackRate(rate, trigger);
39
- },
40
- };
41
- });
42
-
43
- Object.defineProperty(options, 'disabled', {
44
- get() {
45
- return !canSetPlaybackRate() || !options.length;
46
- },
47
- });
48
-
49
- Object.defineProperty(options, 'selectedValue', {
50
- get() {
51
- return playbackRate().toString();
52
- },
53
- });
54
-
55
- return options as PlaybackRateOptions;
56
- }, [rates]);
57
- }
58
-
59
- export interface UsePlaybackRateOptions {
60
- rates?: (number | { label: string; rate: number })[];
61
- normalLabel?: string | null;
62
- }
63
-
64
- export type PlaybackRateOptions = PlaybackRateOption[] & {
65
- readonly disabled: boolean;
66
- readonly selectedValue: string | undefined;
67
- };
68
-
69
- export interface PlaybackRateOption {
70
- readonly label: string;
71
- readonly value: string;
72
- readonly rate: number;
73
- readonly selected: boolean;
74
- select(trigger?: Event): void;
75
- }