@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,101 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import {
4
- composeRefs,
5
- createReactComponent,
6
- useSignal,
7
- type ReactElementProps,
8
- } from 'maverick.js/react';
9
-
10
- import { PosterInstance } from '../primitives/instances';
11
- import { Primitive } from '../primitives/nodes';
12
-
13
- /* -------------------------------------------------------------------------------------------------
14
- * Poster
15
- * -----------------------------------------------------------------------------------------------*/
16
-
17
- const PosterBridge = createReactComponent(PosterInstance);
18
-
19
- export interface PosterProps extends ReactElementProps<PosterInstance, HTMLImageElement> {
20
- alt?: string;
21
- asChild?: boolean;
22
- children?: React.ReactNode;
23
- ref?: React.Ref<HTMLImageElement>;
24
- }
25
-
26
- /**
27
- * Loads and displays the current media poster image. By default, the media provider's
28
- * loading strategy is respected meaning the poster won't load until the media can.
29
- *
30
- * @docs {@link https://www.vidstack.io/docs/player/components/media/poster}
31
- * @example
32
- * ```tsx
33
- * <MediaPlayer>
34
- * <MediaProvider>
35
- * <Poster src="..." alt="..." />
36
- * </MediaProvider>
37
- * </MediaPlayer>
38
- * ```
39
- */
40
- const Poster = React.forwardRef<HTMLImageElement, PosterProps>(
41
- ({ children, ...props }, forwardRef) => {
42
- return (
43
- <PosterBridge
44
- src={
45
- props.asChild && React.isValidElement(children)
46
- ? (children.props as React.ComponentProps<'img'>).src
47
- : undefined
48
- }
49
- {...(props as Omit<PosterProps, 'ref'>)}
50
- >
51
- {(props, instance) => (
52
- <PosterImg
53
- {...props}
54
- instance={instance}
55
- ref={composeRefs(props.ref as React.Ref<any>, forwardRef as any)}
56
- >
57
- {children}
58
- </PosterImg>
59
- )}
60
- </PosterBridge>
61
- );
62
- },
63
- );
64
-
65
- Poster.displayName = 'Poster';
66
- export { Poster };
67
-
68
- /* -------------------------------------------------------------------------------------------------
69
- * PosterImg
70
- * -----------------------------------------------------------------------------------------------*/
71
-
72
- interface PosterImgProps {
73
- instance: PosterInstance;
74
- children?: React.ReactNode;
75
- asChild?: boolean;
76
- ref?: React.LegacyRef<HTMLImageElement>;
77
- }
78
-
79
- const PosterImg = React.forwardRef<HTMLImageElement, PosterImgProps>(
80
- ({ instance, children, ...props }, forwardRef) => {
81
- const { src, img, alt, crossOrigin, hidden } = instance.$state,
82
- $src = useSignal(src),
83
- $alt = useSignal(alt),
84
- $crossOrigin = useSignal(crossOrigin),
85
- $hidden = useSignal(hidden);
86
- return (
87
- <Primitive.img
88
- {...props}
89
- src={$src || undefined}
90
- alt={$alt || undefined}
91
- crossOrigin={$crossOrigin || undefined}
92
- ref={composeRefs(img.set as any, forwardRef)}
93
- style={{ display: $hidden ? 'none' : undefined }}
94
- >
95
- {children}
96
- </Primitive.img>
97
- );
98
- },
99
- );
100
-
101
- PosterImg.displayName = 'PosterImg';
@@ -1,88 +0,0 @@
1
- /* -------------------------------------------------------------------------------------------------
2
- * RadioGroup
3
- * -----------------------------------------------------------------------------------------------*/
4
-
5
- import * as React from 'react';
6
-
7
- import { composeRefs, createReactComponent, type ReactElementProps } from 'maverick.js/react';
8
-
9
- import { RadioGroupInstance, RadioInstance } from '../primitives/instances';
10
- import { Primitive } from '../primitives/nodes';
11
-
12
- const RadioGroupBridge = createReactComponent(RadioGroupInstance, {
13
- events: ['onChange'],
14
- });
15
-
16
- export interface RootProps extends ReactElementProps<RadioGroupInstance> {
17
- asChild?: boolean;
18
- children?: React.ReactNode;
19
- ref?: React.Ref<RadioGroupInstance>;
20
- }
21
-
22
- /**
23
- * A radio group consists of options where only one of them can be checked. Each option is
24
- * provided as a radio (i.e., a selectable element).
25
- *
26
- * @docs {@link https://www.vidstack.io/docs/player/components/menu/radio-group}
27
- * @example
28
- * ```tsx
29
- * <RadioGroup.Root>
30
- * <RadioGroup.Item value="1080">1080p</RadioGroup.Item>
31
- * <RadioGroup.Item value="720">720p</RadioGroup.Item>
32
- * </RadioGroup.Root>
33
- * ```
34
- */
35
- const Root = React.forwardRef<RadioGroupInstance, RootProps>(
36
- ({ children, ...props }, forwardRef) => {
37
- return (
38
- <RadioGroupBridge {...props} ref={forwardRef}>
39
- {(props) => <Primitive.div {...props}>{children}</Primitive.div>}
40
- </RadioGroupBridge>
41
- );
42
- },
43
- );
44
-
45
- Root.displayName = 'RadioGroup';
46
-
47
- /* -------------------------------------------------------------------------------------------------
48
- * RadioItem
49
- * -----------------------------------------------------------------------------------------------*/
50
-
51
- const ItemBridge = createReactComponent(RadioInstance, {
52
- events: ['onChange', 'onSelect'],
53
- });
54
-
55
- export interface ItemProps extends ReactElementProps<RadioInstance> {
56
- asChild?: boolean;
57
- children?: React.ReactNode;
58
- ref?: React.Ref<HTMLElement>;
59
- }
60
-
61
- /**
62
- * A radio represents a option that a user can select inside of a radio group. Only one radio
63
- * can be checked in a group.
64
- *
65
- * @docs {@link https://www.vidstack.io/docs/player/components/menu/radio}
66
- * @example
67
- * ```tsx
68
- * <RadioGroup.Item value="1080">1080p</RadioGroup.Item>
69
- * ```
70
- */
71
- const Item = React.forwardRef<HTMLElement, ItemProps>(({ children, ...props }, forwardRef) => {
72
- return (
73
- <ItemBridge {...(props as Omit<ItemProps, 'ref'>)}>
74
- {(props) => (
75
- <Primitive.div
76
- {...props}
77
- ref={composeRefs(props.ref as React.Ref<any>, forwardRef as React.Ref<any>)}
78
- >
79
- {children}
80
- </Primitive.div>
81
- )}
82
- </ItemBridge>
83
- );
84
- });
85
-
86
- Item.displayName = 'RadioItem';
87
-
88
- export { Root, Item };
@@ -1,55 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { createReactComponent, type ReactElementProps } from 'maverick.js/react';
4
-
5
- import { AudioGainSliderInstance } from '../../primitives/instances';
6
- import { Primitive } from '../../primitives/nodes';
7
- import { Value } from './slider';
8
- import { sliderCallbacks } from './slider-callbacks';
9
-
10
- /* -------------------------------------------------------------------------------------------------
11
- * AudioGainSlider
12
- * -----------------------------------------------------------------------------------------------*/
13
-
14
- const AudioGainSliderBridge = createReactComponent(AudioGainSliderInstance, {
15
- events: sliderCallbacks,
16
- domEventsRegex: /^onMedia/,
17
- });
18
-
19
- export interface RootProps extends ReactElementProps<AudioGainSliderInstance> {
20
- asChild?: boolean;
21
- children?: React.ReactNode;
22
- ref?: React.Ref<AudioGainSliderInstance>;
23
- }
24
-
25
- /**
26
- * Versatile and user-friendly audio boost control designed for seamless cross-browser and provider
27
- * compatibility and accessibility with ARIA support. It offers a smooth user experience for both
28
- * mouse and touch interactions and is highly customizable in terms of styling. Users can
29
- * effortlessly change the audio gain within the range 0 to 100.
30
- *
31
- * @docs {@link https://www.vidstack.io/docs/player/components/sliders/audio-gain-slider}
32
- * @example
33
- * ```tsx
34
- * <AudioGainSlider.Root>
35
- * <AudioGainSlider.Track>
36
- * <AudioGainSlider.TrackFill />
37
- * </AudioGainSlider.Track>
38
- * <AudioGainSlider.Thumb />
39
- * </AudioGainSlider.Root>
40
- * ```
41
- */
42
- const Root = React.forwardRef<AudioGainSliderInstance, RootProps>(
43
- ({ children, ...props }, forwardRef) => {
44
- return (
45
- <AudioGainSliderBridge {...props} ref={forwardRef}>
46
- {(props) => <Primitive.div {...props}>{children}</Primitive.div>}
47
- </AudioGainSliderBridge>
48
- );
49
- },
50
- );
51
-
52
- Root.displayName = 'AudioGainSlider';
53
-
54
- export * from './slider';
55
- export { Root, Value };
@@ -1,54 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { createReactComponent, type ReactElementProps } from 'maverick.js/react';
4
-
5
- import { QualitySliderInstance } from '../../primitives/instances';
6
- import { Primitive } from '../../primitives/nodes';
7
- import { Value } from './slider';
8
- import { sliderCallbacks } from './slider-callbacks';
9
-
10
- /* -------------------------------------------------------------------------------------------------
11
- * QualitySlider
12
- * -----------------------------------------------------------------------------------------------*/
13
-
14
- const QualitySliderBridge = createReactComponent(QualitySliderInstance, {
15
- events: sliderCallbacks,
16
- domEventsRegex: /^onMedia/,
17
- });
18
-
19
- export interface RootProps extends ReactElementProps<QualitySliderInstance> {
20
- asChild?: boolean;
21
- children?: React.ReactNode;
22
- ref?: React.Ref<QualitySliderInstance>;
23
- }
24
-
25
- /**
26
- * Versatile and user-friendly input video quality control designed for seamless cross-browser and
27
- * provider compatibility and accessibility with ARIA support. It offers a smooth user experience
28
- * for both mouse and touch interactions and is highly customizable in terms of styling.
29
- *
30
- * @docs {@link https://www.vidstack.io/docs/player/components/sliders/quality-slider}
31
- * @example
32
- * ```tsx
33
- * <QualitySlider.Root>
34
- * <QualitySlider.Track>
35
- * <QualitySlider.TrackFill />
36
- * </QualitySlider.Track>
37
- * <QualitySlider.Thumb />
38
- * </QualitySlider.Root>
39
- * ```
40
- */
41
- const Root = React.forwardRef<QualitySliderInstance, RootProps>(
42
- ({ children, ...props }, forwardRef) => {
43
- return (
44
- <QualitySliderBridge {...props} ref={forwardRef}>
45
- {(props) => <Primitive.div {...props}>{children}</Primitive.div>}
46
- </QualitySliderBridge>
47
- );
48
- },
49
- );
50
-
51
- Root.displayName = 'QualitySlider';
52
-
53
- export * from './slider';
54
- export { Root, Value };
@@ -1,14 +0,0 @@
1
- import type { InferComponentEvents } from 'maverick.js';
2
- import type { ReactEventCallbacks } from 'maverick.js/react';
3
-
4
- import type { SliderInstance } from '../../primitives/instances';
5
-
6
- type SliderCallbacks = keyof ReactEventCallbacks<InferComponentEvents<SliderInstance>>;
7
-
8
- export const sliderCallbacks: SliderCallbacks[] = [
9
- 'onDragStart',
10
- 'onDragEnd',
11
- 'onDragValueChange',
12
- 'onValueChange',
13
- 'onPointerValueChange',
14
- ];
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { createReactComponent, type ReactElementProps } from 'maverick.js/react';
4
-
5
- import { SliderValueInstance } from '../../primitives/instances';
6
-
7
- export const SliderValueBridge = createReactComponent(SliderValueInstance);
8
-
9
- export interface SliderValueProps extends ReactElementProps<SliderValueInstance> {
10
- asChild?: boolean;
11
- children?: React.ReactNode;
12
- ref?: React.Ref<HTMLElement>;
13
- }
@@ -1,254 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import {
4
- composeRefs,
5
- createReactComponent,
6
- useSignal,
7
- type ReactElementProps,
8
- } from 'maverick.js/react';
9
-
10
- import { useSliderState } from '../../../hooks/use-slider-state';
11
- import { SliderInstance, SliderPreviewInstance } from '../../primitives/instances';
12
- import { Primitive, type PrimitivePropsWithRef } from '../../primitives/nodes';
13
- import { sliderCallbacks } from './slider-callbacks';
14
- import { SliderValueBridge, type SliderValueProps } from './slider-value';
15
-
16
- /* -------------------------------------------------------------------------------------------------
17
- * Slider
18
- * -----------------------------------------------------------------------------------------------*/
19
-
20
- const SliderBridge = createReactComponent(SliderInstance, {
21
- events: sliderCallbacks,
22
- });
23
-
24
- export interface RootProps extends ReactElementProps<SliderInstance> {
25
- asChild?: boolean;
26
- children?: React.ReactNode;
27
- ref?: React.Ref<SliderInstance>;
28
- }
29
-
30
- /**
31
- * Versatile and user-friendly input control designed for seamless cross-browser compatibility and
32
- * accessibility with ARIA support. It offers a smooth user experience for both mouse and touch
33
- * interactions and is highly customizable in terms of styling. Users can effortlessly input numeric
34
- * values within a specified range, defined by a minimum and maximum value.
35
- *
36
- * @docs {@link https://www.vidstack.io/docs/player/components/sliders/slider}
37
- * @example
38
- * ```tsx
39
- * <Slider.Root>
40
- * <Slider.Track>
41
- * <Slider.TrackFill />
42
- * </Slider.Track>
43
- * <Slider.Thumb />
44
- * </Slider.Root>
45
- * ```
46
- */
47
- const Root = React.forwardRef<SliderInstance, RootProps>(({ children, ...props }, forwardRef) => {
48
- return (
49
- <SliderBridge {...props} ref={forwardRef}>
50
- {(props) => <Primitive.div {...props}>{children}</Primitive.div>}
51
- </SliderBridge>
52
- );
53
- });
54
-
55
- Root.displayName = 'Slider';
56
-
57
- /* -------------------------------------------------------------------------------------------------
58
- * SliderThumb
59
- * -----------------------------------------------------------------------------------------------*/
60
-
61
- export interface ThumbProps extends PrimitivePropsWithRef<'div'> {}
62
-
63
- /**
64
- * Purely visual element used to display a draggable handle to the user for adjusting the value
65
- * on the slider component.
66
- *
67
- * @example
68
- * ```tsx
69
- * <Slider.Root>
70
- * <Slider.Thumb />
71
- * </Slider.Root>
72
- * ```
73
- */
74
- const Thumb = React.forwardRef<HTMLElement, ThumbProps>((props, forwardRef) => (
75
- <Primitive.div {...props} ref={forwardRef as React.Ref<any>} />
76
- ));
77
-
78
- Thumb.displayName = 'SliderThumb';
79
-
80
- /* -------------------------------------------------------------------------------------------------
81
- * SliderTrack
82
- * -----------------------------------------------------------------------------------------------*/
83
-
84
- export interface TrackProps extends PrimitivePropsWithRef<'div'> {}
85
-
86
- /**
87
- * Visual element inside the slider that serves as a horizontal or vertical bar, providing a
88
- * visual reference for the range or values that can be selected by moving the slider thumb along
89
- * it. Users can interact with the slider by dragging the thumb along the track to set a specific
90
- * value.
91
- *
92
- * @example
93
- * ```tsx
94
- * <Slider.Root>
95
- * <Slider.Track>
96
- * <Slider.TrackFill />
97
- * </Slider.Track>
98
- * </Slider.Root>
99
- * ```
100
- */
101
- const Track = React.forwardRef<HTMLElement, TrackProps>((props, forwardRef) => (
102
- <Primitive.div {...props} ref={forwardRef as React.Ref<any>} />
103
- ));
104
-
105
- Track.displayName = 'SliderTrack';
106
-
107
- /* -------------------------------------------------------------------------------------------------
108
- * SliderTrackFill
109
- * -----------------------------------------------------------------------------------------------*/
110
-
111
- export interface TrackFillProps extends PrimitivePropsWithRef<'div'> {}
112
-
113
- /**
114
- * Portion of the slider track that is visually filled or highlighted to indicate the selected or
115
- * currently chosen range or value. As the slider thumb is moved along the track, the track
116
- * fill dynamically adjusts to visually represent the portion of the track that corresponds to the
117
- * selected value or range, providing users with a clear visual indication of their selection.
118
- *
119
- * @example
120
- * ```tsx
121
- * <Slider.Root>
122
- * <Slider.Track>
123
- * <Slider.TrackFill />
124
- * </Slider.Track>
125
- * </Slider.Root>
126
- * ```
127
- */
128
- const TrackFill = React.forwardRef<HTMLElement, TrackFillProps>((props, forwardRef) => (
129
- <Primitive.div {...props} ref={forwardRef as React.Ref<any>} />
130
- ));
131
-
132
- TrackFill.displayName = 'SliderTrackFill';
133
-
134
- /* -------------------------------------------------------------------------------------------------
135
- * SliderPreview
136
- * -----------------------------------------------------------------------------------------------*/
137
-
138
- const PreviewBridge = createReactComponent(SliderPreviewInstance);
139
-
140
- export interface PreviewProps extends ReactElementProps<SliderPreviewInstance> {
141
- asChild?: boolean;
142
- children?: React.ReactNode;
143
- ref?: React.Ref<HTMLElement>;
144
- }
145
-
146
- /**
147
- * Used to provide users with a real-time or interactive preview of the value or selection they
148
- * are making as they move the slider thumb. This can include displaying the current pointer
149
- * value numerically, or displaying a thumbnail over the time slider.
150
- *
151
- * @docs {@link https://www.vidstack.io/docs/player/components/slider#preview}
152
- * @example
153
- * ```tsx
154
- * <Slider.Root>
155
- * <Slider.Preview>
156
- * <Slider.Value />
157
- * </Slider.Preview>
158
- * </Slider.Root>
159
- * ```
160
- */
161
- const Preview = React.forwardRef<HTMLElement, PreviewProps>(
162
- ({ children, ...props }, forwardRef) => {
163
- return (
164
- <PreviewBridge {...(props as Omit<PreviewProps, 'ref'>)}>
165
- {(props) => (
166
- <Primitive.div
167
- {...props}
168
- ref={composeRefs(props.ref as React.Ref<any>, forwardRef as React.Ref<any>)}
169
- >
170
- {children}
171
- </Primitive.div>
172
- )}
173
- </PreviewBridge>
174
- );
175
- },
176
- );
177
-
178
- Preview.displayName = 'SliderPreview';
179
-
180
- /* -------------------------------------------------------------------------------------------------
181
- * SliderValue
182
- * -----------------------------------------------------------------------------------------------*/
183
-
184
- export interface ValueProps extends SliderValueProps {}
185
-
186
- /**
187
- * Displays the specific numeric representation of the current or pointer value of the slider.
188
- * When a user interacts with a slider by moving its thumb along the track, the slider value
189
- * changes accordingly.
190
- *
191
- * @docs {@link https://www.vidstack.io/docs/player/components/slider#preview}
192
- * @example
193
- * ```tsx
194
- * <Slider.Root>
195
- * <Slider.Preview>
196
- * <Slider.Value />
197
- * </Slider.Preview>
198
- * </Slider.Root>
199
- * ```
200
- */
201
- const Value = React.forwardRef<HTMLElement, ValueProps>(({ children, ...props }, forwardRef) => {
202
- return (
203
- <SliderValueBridge {...(props as Omit<ValueProps, 'ref'>)}>
204
- {(props, instance) => {
205
- const $text = useSignal(() => instance.getValueText(), instance);
206
- return (
207
- <Primitive.div {...props} ref={forwardRef as React.Ref<any>}>
208
- {$text}
209
- {children}
210
- </Primitive.div>
211
- );
212
- }}
213
- </SliderValueBridge>
214
- );
215
- });
216
-
217
- Value.displayName = 'SliderValue';
218
-
219
- /* -------------------------------------------------------------------------------------------------
220
- * SliderSteps
221
- * -----------------------------------------------------------------------------------------------*/
222
-
223
- export interface StepsProps extends Omit<PrimitivePropsWithRef<'div'>, 'children'> {
224
- children: (step: number) => React.ReactNode;
225
- }
226
-
227
- /**
228
- * Visual markers that can be used to indicate value steps on the slider track.
229
- *
230
- * @example
231
- * ```tsx
232
- * <Slider.Root>
233
- * <Slider.Steps className="steps">
234
- * {(step) => <div className="step" key={String(step)}></div>}
235
- * </Slider.Steps>
236
- * </Slider.Root>
237
- * ```
238
- */
239
- const Steps = React.forwardRef<HTMLElement, StepsProps>(({ children, ...props }, forwardRef) => {
240
- const $min = useSliderState('min'),
241
- $max = useSliderState('max'),
242
- $step = useSliderState('step'),
243
- steps = ($max - $min) / $step;
244
-
245
- return (
246
- <Primitive.div {...props} ref={forwardRef as React.Ref<any>}>
247
- {Array.from({ length: Math.floor(steps) + 1 }).map((_, step) => children(step))}
248
- </Primitive.div>
249
- );
250
- });
251
-
252
- Steps.displayName = 'SliderSteps';
253
-
254
- export { Root, Thumb, Track, TrackFill, Preview, Value, Steps };
@@ -1,54 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import { createReactComponent, type ReactElementProps } from 'maverick.js/react';
4
-
5
- import { SpeedSliderInstance } from '../../primitives/instances';
6
- import { Primitive } from '../../primitives/nodes';
7
- import { Value } from './slider';
8
- import { sliderCallbacks } from './slider-callbacks';
9
-
10
- /* -------------------------------------------------------------------------------------------------
11
- * SpeedSlider
12
- * -----------------------------------------------------------------------------------------------*/
13
-
14
- const SpeedSliderBridge = createReactComponent(SpeedSliderInstance, {
15
- events: sliderCallbacks,
16
- domEventsRegex: /^onMedia/,
17
- });
18
-
19
- export interface RootProps extends ReactElementProps<SpeedSliderInstance> {
20
- asChild?: boolean;
21
- children?: React.ReactNode;
22
- ref?: React.Ref<SpeedSliderInstance>;
23
- }
24
-
25
- /**
26
- * Versatile and user-friendly input playback rate control designed for seamless cross-browser and
27
- * provider compatibility and accessibility with ARIA support. It offers a smooth user experience
28
- * for both mouse and touch interactions and is highly customizable in terms of styling.
29
- *
30
- * @docs {@link https://www.vidstack.io/docs/player/components/sliders/speed-slider}
31
- * @example
32
- * ```tsx
33
- * <SpeedSlider.Root>
34
- * <SpeedSlider.Track>
35
- * <SpeedSlider.TrackFill />
36
- * </SpeedSlider.Track>
37
- * <SpeedSlider.Thumb />
38
- * </SpeedSlider.Root>
39
- * ```
40
- */
41
- const Root = React.forwardRef<SpeedSliderInstance, RootProps>(
42
- ({ children, ...props }, forwardRef) => {
43
- return (
44
- <SpeedSliderBridge {...props} ref={forwardRef}>
45
- {(props) => <Primitive.div {...props}>{children}</Primitive.div>}
46
- </SpeedSliderBridge>
47
- );
48
- },
49
- );
50
-
51
- Root.displayName = 'SpeedSlider';
52
-
53
- export * from './slider';
54
- export { Root, Value };