@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
@@ -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 };