@videojs/react 10.0.0-alpha.9 → 10.0.0-beta.2

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 (331) hide show
  1. package/README.md +2 -2
  2. package/dist/default/icons/dist/react/default/captions-off.js +1 -0
  3. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  4. package/dist/default/icons/dist/react/default/captions-on.js +1 -0
  5. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  6. package/dist/default/icons/dist/react/default/fullscreen-enter.js +1 -0
  7. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  8. package/dist/default/icons/dist/react/default/fullscreen-exit.js +1 -0
  9. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  10. package/dist/default/icons/dist/react/default/pause.js +1 -0
  11. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  12. package/dist/default/icons/dist/react/default/pip.js +1 -0
  13. package/dist/default/icons/dist/react/default/pip.js.map +1 -1
  14. package/dist/default/icons/dist/react/default/play.js +1 -0
  15. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  16. package/dist/default/icons/dist/react/default/restart.js +1 -0
  17. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  18. package/dist/default/icons/dist/react/default/seek.js +1 -0
  19. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/spinner.js +1 -0
  21. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/volume-high.js +1 -0
  23. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/volume-low.js +1 -0
  25. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/volume-off.js +1 -0
  27. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  28. package/dist/default/icons/dist/react/minimal/captions-off.js +1 -0
  29. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  30. package/dist/default/icons/dist/react/minimal/captions-on.js +1 -0
  31. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  32. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +1 -0
  33. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  34. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +1 -0
  35. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  36. package/dist/default/icons/dist/react/minimal/pause.js +1 -0
  37. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  38. package/dist/default/icons/dist/react/minimal/pip.js +1 -0
  39. package/dist/default/icons/dist/react/minimal/pip.js.map +1 -1
  40. package/dist/default/icons/dist/react/minimal/play.js +1 -0
  41. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  42. package/dist/default/icons/dist/react/minimal/restart.js +1 -0
  43. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  44. package/dist/default/icons/dist/react/minimal/seek.js +1 -0
  45. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  46. package/dist/default/icons/dist/react/minimal/spinner.js +1 -0
  47. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  48. package/dist/default/icons/dist/react/minimal/volume-high.js +1 -0
  49. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  50. package/dist/default/icons/dist/react/minimal/volume-low.js +1 -0
  51. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/volume-off.js +1 -0
  53. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  54. package/dist/default/index.js +3 -2
  55. package/dist/default/media/simple-hls-video/index.js +25 -0
  56. package/dist/default/media/simple-hls-video/index.js.map +1 -0
  57. package/dist/default/presets/audio/index.js +3 -1
  58. package/dist/default/presets/audio/minimal-skin.css +634 -1
  59. package/dist/default/presets/audio/minimal-skin.js +183 -3
  60. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  61. package/dist/default/presets/audio/minimal-skin.tailwind.js +238 -0
  62. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -0
  63. package/dist/default/presets/audio/skin.css +659 -2
  64. package/dist/default/presets/audio/skin.js +172 -3
  65. package/dist/default/presets/audio/skin.js.map +1 -1
  66. package/dist/default/presets/audio/skin.tailwind.js +226 -0
  67. package/dist/default/presets/audio/skin.tailwind.js.map +1 -0
  68. package/dist/default/presets/background/skin.css +13 -13
  69. package/dist/default/presets/video/minimal-skin.css +353 -234
  70. package/dist/default/presets/video/minimal-skin.js +125 -58
  71. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  72. package/dist/default/presets/video/minimal-skin.tailwind.js +141 -65
  73. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  74. package/dist/default/presets/video/skin.css +381 -259
  75. package/dist/default/presets/video/skin.js +126 -59
  76. package/dist/default/presets/video/skin.js.map +1 -1
  77. package/dist/default/presets/video/skin.tailwind.js +139 -65
  78. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  79. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +52 -0
  80. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  81. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  82. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  83. package/dist/default/skins/dist/default/default/tailwind/components/button.js +12 -0
  84. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  85. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
  86. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  87. package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
  88. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  89. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  90. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  91. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
  92. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  93. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  94. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  95. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  96. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  97. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
  98. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  99. package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
  100. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  101. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
  102. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  103. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
  104. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  105. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
  106. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  107. package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
  108. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  109. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +54 -0
  110. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  111. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +38 -0
  112. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  113. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  114. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  115. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  116. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  117. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  118. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  119. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  120. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  121. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  122. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  123. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  124. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  125. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  126. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  127. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  128. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  129. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  130. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  131. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  132. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  133. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  134. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  135. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  136. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  137. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  138. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  139. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +43 -0
  140. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  141. package/dist/default/ui/hooks/use-slider.js +1 -0
  142. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  143. package/dist/default/ui/slider/slider-root.js +5 -2
  144. package/dist/default/ui/slider/slider-root.js.map +1 -1
  145. package/dist/default/ui/time-slider/time-slider-root.js +5 -2
  146. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  147. package/dist/default/ui/volume-slider/volume-slider-root.js +5 -2
  148. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  149. package/dist/dev/icons/dist/react/default/captions-off.js +1 -0
  150. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  151. package/dist/dev/icons/dist/react/default/captions-on.js +1 -0
  152. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  153. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +1 -0
  154. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  155. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +1 -0
  156. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  157. package/dist/dev/icons/dist/react/default/pause.js +1 -0
  158. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  159. package/dist/dev/icons/dist/react/default/pip.js +1 -0
  160. package/dist/dev/icons/dist/react/default/pip.js.map +1 -1
  161. package/dist/dev/icons/dist/react/default/play.js +1 -0
  162. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  163. package/dist/dev/icons/dist/react/default/restart.js +1 -0
  164. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  165. package/dist/dev/icons/dist/react/default/seek.js +1 -0
  166. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  167. package/dist/dev/icons/dist/react/default/spinner.js +1 -0
  168. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  169. package/dist/dev/icons/dist/react/default/volume-high.js +1 -0
  170. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  171. package/dist/dev/icons/dist/react/default/volume-low.js +1 -0
  172. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  173. package/dist/dev/icons/dist/react/default/volume-off.js +1 -0
  174. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  175. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -0
  176. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  177. package/dist/dev/icons/dist/react/minimal/captions-on.js +1 -0
  178. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  179. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +1 -0
  180. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  181. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +1 -0
  182. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  183. package/dist/dev/icons/dist/react/minimal/pause.js +1 -0
  184. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  185. package/dist/dev/icons/dist/react/minimal/pip.js +1 -0
  186. package/dist/dev/icons/dist/react/minimal/pip.js.map +1 -1
  187. package/dist/dev/icons/dist/react/minimal/play.js +1 -0
  188. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  189. package/dist/dev/icons/dist/react/minimal/restart.js +1 -0
  190. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  191. package/dist/dev/icons/dist/react/minimal/seek.js +1 -0
  192. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  193. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -0
  194. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  195. package/dist/dev/icons/dist/react/minimal/volume-high.js +1 -0
  196. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  197. package/dist/dev/icons/dist/react/minimal/volume-low.js +1 -0
  198. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  199. package/dist/dev/icons/dist/react/minimal/volume-off.js +1 -0
  200. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  201. package/dist/dev/index.d.ts +2 -9
  202. package/dist/dev/index.js +3 -2
  203. package/dist/dev/media/simple-hls-video/index.d.ts +11 -0
  204. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
  205. package/dist/dev/media/simple-hls-video/index.js +25 -0
  206. package/dist/dev/media/simple-hls-video/index.js.map +1 -0
  207. package/dist/dev/presets/audio/index.d.ts +3 -1
  208. package/dist/dev/presets/audio/index.js +3 -1
  209. package/dist/dev/presets/audio/minimal-skin.css +634 -1
  210. package/dist/dev/presets/audio/minimal-skin.d.ts +2 -2
  211. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  212. package/dist/dev/presets/audio/minimal-skin.js +183 -3
  213. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  214. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts +8 -0
  215. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -0
  216. package/dist/dev/presets/audio/minimal-skin.tailwind.js +238 -0
  217. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -0
  218. package/dist/dev/presets/audio/skin.css +659 -2
  219. package/dist/dev/presets/audio/skin.d.ts +2 -2
  220. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  221. package/dist/dev/presets/audio/skin.js +172 -3
  222. package/dist/dev/presets/audio/skin.js.map +1 -1
  223. package/dist/dev/presets/audio/skin.tailwind.d.ts +8 -0
  224. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -0
  225. package/dist/dev/presets/audio/skin.tailwind.js +226 -0
  226. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -0
  227. package/dist/dev/presets/background/skin.css +13 -13
  228. package/dist/dev/presets/video/minimal-skin.css +353 -234
  229. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  230. package/dist/dev/presets/video/minimal-skin.js +125 -58
  231. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  232. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  233. package/dist/dev/presets/video/minimal-skin.tailwind.js +141 -65
  234. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  235. package/dist/dev/presets/video/skin.css +381 -259
  236. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  237. package/dist/dev/presets/video/skin.js +126 -59
  238. package/dist/dev/presets/video/skin.js.map +1 -1
  239. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  240. package/dist/dev/presets/video/skin.tailwind.js +139 -65
  241. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  242. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +52 -0
  243. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  244. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  245. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  246. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +12 -0
  247. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  248. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
  249. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  250. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
  251. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  252. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  253. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  254. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
  255. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  256. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  257. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  258. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  259. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  260. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
  261. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  262. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
  263. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  264. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
  265. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  266. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
  267. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  268. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
  269. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  270. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
  271. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  272. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +54 -0
  273. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  274. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +38 -0
  275. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  276. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  277. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  278. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  279. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  280. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  281. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  282. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  283. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  284. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  285. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  286. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  287. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  288. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  289. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  290. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  291. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  292. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  293. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  294. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  295. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  296. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  297. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  298. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  299. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  300. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  301. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  302. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +43 -0
  303. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  304. package/dist/dev/ui/alert-dialog/context.d.ts +0 -1
  305. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -1
  306. package/dist/dev/ui/hooks/use-slider.d.ts +2 -1
  307. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  308. package/dist/dev/ui/hooks/use-slider.js +1 -0
  309. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  310. package/dist/dev/ui/popover/context.d.ts +0 -1
  311. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  312. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  313. package/dist/dev/ui/slider/slider-root.js +5 -2
  314. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  315. package/dist/dev/ui/time-slider/index.parts.d.ts +0 -1
  316. package/dist/dev/ui/time-slider/time-slider-root.js +5 -2
  317. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  318. package/dist/dev/ui/tooltip/context.d.ts +0 -1
  319. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  320. package/dist/dev/ui/volume-slider/index.parts.d.ts +0 -1
  321. package/dist/dev/ui/volume-slider/volume-slider-root.js +5 -2
  322. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  323. package/package.json +6 -5
  324. package/dist/default/skins/dist/default/video/default.tailwind.js +0 -90
  325. package/dist/default/skins/dist/default/video/default.tailwind.js.map +0 -1
  326. package/dist/default/skins/dist/default/video/minimal.tailwind.js +0 -86
  327. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +0 -1
  328. package/dist/dev/skins/dist/default/video/default.tailwind.js +0 -90
  329. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +0 -1
  330. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +0 -86
  331. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/button.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/button.ts\nconst button = {\n\tbase: cn(\"items-center justify-center shrink-0 border-none cursor-pointer select-none text-center\", \"outline-2 outline-transparent -outline-offset-2\", \"font-medium text-shadow-inherit\", \"transition-[background-color,color,outline-offset,scale] duration-150 ease-out\", \"focus-visible:outline-current focus-visible:outline-offset-2\", \"disabled:cursor-not-allowed disabled:opacity-50 disabled:grayscale\", \"data-[availability=unavailable]:hidden\"),\n\ticon: cn(\"grid w-[2.375rem] aspect-square bg-transparent rounded-lg\", \"text-inherit\", \"hover:text-current/80 hover:no-underline\", \"focus-visible:text-current/80\", \"aria-expanded:text-current/80\", \"active:scale-90\"),\n\tdefault: cn(\"flex py-2 px-4 bg-white rounded-lg\", \"text-black\")\n};\n\n//#endregion\nexport { button };\n//# sourceMappingURL=button.js.map"],"mappings":";;;AAGA,MAAM,SAAS;CACd,MAAM,GAAG,2FAA2F,mDAAmD,mCAAmC,kFAAkF,gEAAgE,sEAAsE,yCAAyC;CAC3b,MAAM,GAAG,6DAA6D,gBAAgB,4CAA4C,iCAAiC,iCAAiC,kBAAkB;CACtN,SAAS,GAAG,sCAAsC,aAAa;CAC/D"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/controls.js
4
+ const controls = cn("peer/controls", "@container/media-controls", "flex items-center", "[--media-controls-current-shadow-color:oklch(from_currentColor_0_0_0/clamp(0,calc((l-0.5)*0.5),0.25))]", "[--media-controls-current-shadow-color-subtle:oklch(from_var(--media-controls-current-shadow-color)_l_c_h/calc(alpha*0.4))]", "text-shadow-[0_0_1px_var(--media-controls-current-shadow-color)]");
5
+
6
+ //#endregion
7
+ export { controls };
8
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/controls.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/controls.ts\nconst controls = cn(\"peer/controls\", \"@container/media-controls\", \"flex items-center\", \"[--media-controls-current-shadow-color:oklch(from_currentColor_0_0_0/clamp(0,calc((l-0.5)*0.5),0.25))]\", \"[--media-controls-current-shadow-color-subtle:oklch(from_var(--media-controls-current-shadow-color)_l_c_h/calc(alpha*0.4))]\", \"text-shadow-[0_0_1px_var(--media-controls-current-shadow-color)]\");\n\n//#endregion\nexport { controls };\n//# sourceMappingURL=controls.js.map"],"mappings":";;;AAGA,MAAM,WAAW,GAAG,iBAAiB,6BAA6B,qBAAqB,0GAA0G,+HAA+H,mEAAmE"}
@@ -0,0 +1,15 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/error.js
4
+ const error = {
5
+ root: "peer/error group/error flex absolute inset-0 z-20 items-center justify-center",
6
+ dialog: cn("flex flex-col gap-3 max-w-64 p-4 text-white text-sm", "text-shadow-2xs text-shadow-black/50", "transition-[opacity,scale,transform] duration-500 delay-100", "ease-[linear(0,0.034_1.5%,0.763_9.7%,1.066_13.9%,1.198_19.9%,1.184_21.8%,0.963_37.5%,0.997_50.9%,1)]", "group-data-starting-style/error:opacity-0 group-data-starting-style/error:scale-50", "group-data-ending-style/error:opacity-0 group-data-ending-style/error:scale-50", "motion-reduce:duration-100 motion-reduce:ease-out motion-reduce:delay-0"),
7
+ content: "flex flex-col gap-2 py-1.5",
8
+ title: "font-semibold leading-tight",
9
+ description: "opacity-70",
10
+ actions: "flex gap-2 *:flex-1"
11
+ };
12
+
13
+ //#endregion
14
+ export { error };
15
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/error.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/error.ts\nconst error = {\n\troot: \"peer/error group/error flex absolute inset-0 z-20 items-center justify-center\",\n\tdialog: cn(\"flex flex-col gap-3 max-w-64 p-4 text-white text-sm\", \"text-shadow-2xs text-shadow-black/50\", \"transition-[opacity,scale,transform] duration-500 delay-100\", \"ease-[linear(0,0.034_1.5%,0.763_9.7%,1.066_13.9%,1.198_19.9%,1.184_21.8%,0.963_37.5%,0.997_50.9%,1)]\", \"group-data-starting-style/error:opacity-0 group-data-starting-style/error:scale-50\", \"group-data-ending-style/error:opacity-0 group-data-ending-style/error:scale-50\", \"motion-reduce:duration-100 motion-reduce:ease-out motion-reduce:delay-0\"),\n\tcontent: \"flex flex-col gap-2 py-1.5\",\n\ttitle: \"font-semibold leading-tight\",\n\tdescription: \"opacity-70\",\n\tactions: \"flex gap-2 *:flex-1\"\n};\n\n//#endregion\nexport { error };\n//# sourceMappingURL=error.js.map"],"mappings":";;;AAGA,MAAM,QAAQ;CACb,MAAM;CACN,QAAQ,GAAG,uDAAuD,wCAAwC,+DAA+D,wGAAwG,sFAAsF,kFAAkF,0EAA0E;CACngB,SAAS;CACT,OAAO;CACP,aAAa;CACb,SAAS;CACT"}
@@ -0,0 +1,29 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/icon-state.js
2
+ const iconState = {
3
+ play: {
4
+ button: "group",
5
+ restart: "hidden opacity-0 group-data-ended:block group-data-ended:opacity-100",
6
+ play: "hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100",
7
+ pause: "hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100"
8
+ },
9
+ mute: {
10
+ button: "group",
11
+ volumeOff: "hidden opacity-0 group-data-muted:block group-data-muted:opacity-100",
12
+ volumeLow: "hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100",
13
+ volumeHigh: "hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100"
14
+ },
15
+ fullscreen: {
16
+ button: "group",
17
+ enter: "hidden opacity-0 group-not-data-fullscreen:block group-not-data-fullscreen:opacity-100",
18
+ exit: "hidden opacity-0 group-data-fullscreen:block group-data-fullscreen:opacity-100"
19
+ },
20
+ captions: {
21
+ button: "group",
22
+ off: "hidden opacity-0 group-not-data-active:block group-not-data-active:opacity-100",
23
+ on: "hidden opacity-0 group-data-active:block group-data-active:opacity-100"
24
+ }
25
+ };
26
+
27
+ //#endregion
28
+ export { iconState };
29
+ //# sourceMappingURL=icon-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-state.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/icon-state.js"],"sourcesContent":["//#region src/minimal/tailwind/components/icon-state.ts\nconst iconState = {\n\tplay: {\n\t\tbutton: \"group\",\n\t\trestart: \"hidden opacity-0 group-data-ended:block group-data-ended:opacity-100\",\n\t\tplay: \"hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100\",\n\t\tpause: \"hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100\"\n\t},\n\tmute: {\n\t\tbutton: \"group\",\n\t\tvolumeOff: \"hidden opacity-0 group-data-muted:block group-data-muted:opacity-100\",\n\t\tvolumeLow: \"hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100\",\n\t\tvolumeHigh: \"hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100\"\n\t},\n\tfullscreen: {\n\t\tbutton: \"group\",\n\t\tenter: \"hidden opacity-0 group-not-data-fullscreen:block group-not-data-fullscreen:opacity-100\",\n\t\texit: \"hidden opacity-0 group-data-fullscreen:block group-data-fullscreen:opacity-100\"\n\t},\n\tcaptions: {\n\t\tbutton: \"group\",\n\t\toff: \"hidden opacity-0 group-not-data-active:block group-not-data-active:opacity-100\",\n\t\ton: \"hidden opacity-0 group-data-active:block group-data-active:opacity-100\"\n\t}\n};\n\n//#endregion\nexport { iconState };\n//# sourceMappingURL=icon-state.js.map"],"mappings":";AACA,MAAM,YAAY;CACjB,MAAM;EACL,QAAQ;EACR,SAAS;EACT,MAAM;EACN,OAAO;EACP;CACD,MAAM;EACL,QAAQ;EACR,WAAW;EACX,WAAW;EACX,YAAY;EACZ;CACD,YAAY;EACX,QAAQ;EACR,OAAO;EACP,MAAM;EACN;CACD,UAAU;EACT,QAAQ;EACR,KAAK;EACL,IAAI;EACJ;CACD"}
@@ -0,0 +1,10 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/icon.js
4
+ const icon = cn("block [grid-area:1/1] size-4.5", "drop-shadow-[0_1px_0_var(--media-controls-current-shadow-color,oklch(0_0_0/0.25))]", "transition-discrete transition-[display,opacity] duration-150 ease-out");
5
+ const iconFlipped = "[scale:-1_1]";
6
+ const iconContainer = "relative";
7
+
8
+ //#endregion
9
+ export { icon, iconContainer, iconFlipped };
10
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/icon.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/icon.ts\nconst icon = cn(\"block [grid-area:1/1] size-4.5\", \"drop-shadow-[0_1px_0_var(--media-controls-current-shadow-color,oklch(0_0_0/0.25))]\", \"transition-discrete transition-[display,opacity] duration-150 ease-out\");\nconst iconHidden = \"hidden opacity-0\";\nconst iconFlipped = \"[scale:-1_1]\";\nconst iconContainer = \"relative\";\n\n//#endregion\nexport { icon, iconContainer, iconFlipped, iconHidden };\n//# sourceMappingURL=icon.js.map"],"mappings":";;;AAGA,MAAM,OAAO,GAAG,kCAAkC,sFAAsF,yEAAyE;AAEjN,MAAM,cAAc;AACpB,MAAM,gBAAgB"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/overlay.js
4
+ const overlay = cn("absolute inset-0 flex flex-col items-start", "pointer-events-none rounded-[inherit]", "opacity-0", "bg-linear-to-t from-black/70 via-black/50 via-[7.5rem] to-transparent", "backdrop-blur-none backdrop-saturate-120 backdrop-brightness-90", "transition-[opacity,backdrop-filter] ease-out", "duration-500 delay-500", "peer-data-visible/controls:opacity-100", "peer-data-visible/controls:duration-150", "peer-data-visible/controls:delay-0", "peer-data-open/error:opacity-100", "peer-data-open/error:duration-150", "peer-data-open/error:delay-0", "peer-data-open/error:backdrop-blur", "motion-reduce:duration-100");
5
+
6
+ //#endregion
7
+ export { overlay };
8
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/overlay.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/overlay.ts\nconst overlay = cn(\"absolute inset-0 flex flex-col items-start\", \"pointer-events-none rounded-[inherit]\", \"opacity-0\", \"bg-linear-to-t from-black/70 via-black/50 via-[7.5rem] to-transparent\", \"backdrop-blur-none backdrop-saturate-120 backdrop-brightness-90\", \"transition-[opacity,backdrop-filter] ease-out\", \"duration-500 delay-500\", \"peer-data-visible/controls:opacity-100\", \"peer-data-visible/controls:duration-150\", \"peer-data-visible/controls:delay-0\", \"peer-data-open/error:opacity-100\", \"peer-data-open/error:duration-150\", \"peer-data-open/error:delay-0\", \"peer-data-open/error:backdrop-blur\", \"motion-reduce:duration-100\");\n\n//#endregion\nexport { overlay };\n//# sourceMappingURL=overlay.js.map"],"mappings":";;;AAGA,MAAM,UAAU,GAAG,8CAA8C,yCAAyC,aAAa,yEAAyE,mEAAmE,iDAAiD,0BAA0B,0CAA0C,2CAA2C,sCAAsC,oCAAoC,qCAAqC,gCAAgC,sCAAsC,6BAA6B"}
@@ -0,0 +1,12 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/popup.js
4
+ const base = cn("m-0 border-0 text-inherit overflow-visible", "transition-[transform,scale,opacity,filter] duration-200", "data-starting-style:opacity-0 data-starting-style:scale-0 data-starting-style:blur-sm", "data-ending-style:opacity-0 data-ending-style:scale-0 data-ending-style:blur-sm", "data-instant:duration-0", "data-[side=top]:origin-bottom data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left");
5
+ const popup = {
6
+ tooltip: cn(base, "px-2 py-1 rounded-sm shadow-md shadow-black/10 bg-white/10 backdrop-blur-3xl backdrop-saturate-150 backdrop-brightness-90 text-[0.75rem] whitespace-nowrap", "[--media-tooltip-side-offset:0.5rem]"),
7
+ volume: cn(base, "py-2.5 px-1 rounded-full")
8
+ };
9
+
10
+ //#endregion
11
+ export { popup };
12
+ //# sourceMappingURL=popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/popup.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/popup.ts\nconst base = cn(\"m-0 border-0 text-inherit overflow-visible\", \"transition-[transform,scale,opacity,filter] duration-200\", \"data-starting-style:opacity-0 data-starting-style:scale-0 data-starting-style:blur-sm\", \"data-ending-style:opacity-0 data-ending-style:scale-0 data-ending-style:blur-sm\", \"data-instant:duration-0\", \"data-[side=top]:origin-bottom data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left\");\nconst popup = {\n\ttooltip: cn(base, \"px-2 py-1 rounded-sm shadow-md shadow-black/10 bg-white/10 backdrop-blur-3xl backdrop-saturate-150 backdrop-brightness-90 text-[0.75rem] whitespace-nowrap\", \"[--media-tooltip-side-offset:0.5rem]\"),\n\tvolume: cn(base, \"py-2.5 px-1 rounded-full\")\n};\n\n//#endregion\nexport { popup };\n//# sourceMappingURL=popup.js.map"],"mappings":";;;AAGA,MAAM,OAAO,GAAG,8CAA8C,4DAA4D,yFAAyF,mFAAmF,2BAA2B,0HAA0H;AAC3b,MAAM,QAAQ;CACb,SAAS,GAAG,MAAM,8JAA8J,uCAAuC;CACvN,QAAQ,GAAG,MAAM,2BAA2B;CAC5C"}
@@ -0,0 +1,8 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/root.js
4
+ const root = cn("block relative isolate @container/media-root", "rounded-(--media-border-radius,0.75rem)", "font-[Inter_Variable,Inter,ui-sans-serif,system-ui,sans-serif] text-[0.8125rem] leading-normal subpixel-antialiased", "**:box-border **:m-0", "[&_button]:font-[inherit]", "motion-safe:[interpolate-size:allow-keywords]");
5
+
6
+ //#endregion
7
+ export { root };
8
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/root.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/root.ts\nconst root = cn(\"block relative isolate @container/media-root\", \"rounded-(--media-border-radius,0.75rem)\", \"font-[Inter_Variable,Inter,ui-sans-serif,system-ui,sans-serif] text-[0.8125rem] leading-normal subpixel-antialiased\", \"**:box-border **:m-0\", \"[&_button]:font-[inherit]\", \"motion-safe:[interpolate-size:allow-keywords]\");\n\n//#endregion\nexport { root };\n//# sourceMappingURL=root.js.map"],"mappings":";;;AAGA,MAAM,OAAO,GAAG,gDAAgD,2CAA2C,uHAAuH,wBAAwB,6BAA6B,gDAAgD"}
@@ -0,0 +1,11 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/seek.js
2
+ const seek = {
3
+ button: "@max-md/media-controls:hidden",
4
+ label: "text-[0.75em] font-[480] tabular-nums",
5
+ labelForward: "absolute -right-px -bottom-0.75",
6
+ labelBackward: "absolute -left-px -bottom-0.75"
7
+ };
8
+
9
+ //#endregion
10
+ export { seek };
11
+ //# sourceMappingURL=seek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seek.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/seek.js"],"sourcesContent":["//#region src/minimal/tailwind/components/seek.ts\nconst seek = {\n\tbutton: \"@max-md/media-controls:hidden\",\n\tlabel: \"text-[0.75em] font-[480] tabular-nums\",\n\tlabelForward: \"absolute -right-px -bottom-0.75\",\n\tlabelBackward: \"absolute -left-px -bottom-0.75\"\n};\n\n//#endregion\nexport { seek };\n//# sourceMappingURL=seek.js.map"],"mappings":";AACA,MAAM,OAAO;CACZ,QAAQ;CACR,OAAO;CACP,cAAc;CACd,eAAe;CACf"}
@@ -0,0 +1,20 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/slider.js
4
+ const slider = {
5
+ root: cn("group/slider relative flex flex-1 items-center justify-center rounded-full outline-none", "data-[orientation=horizontal]:min-w-20 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-5", "data-[orientation=vertical]:w-5 data-[orientation=vertical]:h-[4.5rem]"),
6
+ track: cn("relative isolate overflow-hidden bg-current/20 rounded-[inherit] select-none", "data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-0.75", "data-[orientation=vertical]:w-0.75 data-[orientation=vertical]:h-full"),
7
+ fill: {
8
+ base: "absolute rounded-[inherit] pointer-events-none",
9
+ fill: cn("bg-current", "data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0", "data-[orientation=horizontal]:w-(--media-slider-fill,0)", "data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0", "data-[orientation=vertical]:h-(--media-slider-fill,0)"),
10
+ buffer: cn("bg-current/20 duration-250 ease-out", "data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0", "data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:w-(--media-slider-buffer,0)", "data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0", "data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:h-(--media-slider-buffer)")
11
+ },
12
+ thumb: {
13
+ base: cn("z-10 absolute size-3 -translate-x-1/2 -translate-y-1/2", "bg-current rounded-full", "shadow-[0_0_0_1px_var(--media-controls-current-shadow-color-subtle,oklch(0_0_0/0.1)),0_1px_3px_0_oklch(0_0_0/0.15),0_1px_2px_-1px_oklch(0_0_0/0.15)]", "transition-[opacity,scale,outline-offset] duration-150 ease-out select-none", "outline-2 outline-transparent -outline-offset-2", "focus-visible:outline-current focus-visible:outline-offset-2", "data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--media-slider-fill,0)", "data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:top-[calc(100%-var(--media-slider-fill,0))]"),
14
+ interactive: cn("opacity-0 scale-70 origin-center", "group-hover/slider:opacity-100 group-hover/slider:scale-100", "group-focus-within/slider:opacity-100 group-focus-within/slider:scale-100")
15
+ }
16
+ };
17
+
18
+ //#endregion
19
+ export { slider };
20
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/slider.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/slider.ts\nconst slider = {\n\troot: cn(\"group/slider relative flex flex-1 items-center justify-center rounded-full outline-none\", \"data-[orientation=horizontal]:min-w-20 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-5\", \"data-[orientation=vertical]:w-5 data-[orientation=vertical]:h-[4.5rem]\"),\n\ttrack: cn(\"relative isolate overflow-hidden bg-current/20 rounded-[inherit] select-none\", \"data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-0.75\", \"data-[orientation=vertical]:w-0.75 data-[orientation=vertical]:h-full\"),\n\tfill: {\n\t\tbase: \"absolute rounded-[inherit] pointer-events-none\",\n\t\tfill: cn(\"bg-current\", \"data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0\", \"data-[orientation=horizontal]:w-(--media-slider-fill,0)\", \"data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0\", \"data-[orientation=vertical]:h-(--media-slider-fill,0)\"),\n\t\tbuffer: cn(\"bg-current/20 duration-250 ease-out\", \"data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0\", \"data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:w-(--media-slider-buffer,0)\", \"data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0\", \"data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:h-(--media-slider-buffer)\")\n\t},\n\tthumb: {\n\t\tbase: cn(\"z-10 absolute size-3 -translate-x-1/2 -translate-y-1/2\", \"bg-current rounded-full\", \"shadow-[0_0_0_1px_var(--media-controls-current-shadow-color-subtle,oklch(0_0_0/0.1)),0_1px_3px_0_oklch(0_0_0/0.15),0_1px_2px_-1px_oklch(0_0_0/0.15)]\", \"transition-[opacity,scale,outline-offset] duration-150 ease-out select-none\", \"outline-2 outline-transparent -outline-offset-2\", \"focus-visible:outline-current focus-visible:outline-offset-2\", \"data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--media-slider-fill,0)\", \"data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:top-[calc(100%-var(--media-slider-fill,0))]\"),\n\t\tinteractive: cn(\"opacity-0 scale-70 origin-center\", \"group-hover/slider:opacity-100 group-hover/slider:scale-100\", \"group-focus-within/slider:opacity-100 group-focus-within/slider:scale-100\")\n\t}\n};\n\n//#endregion\nexport { slider };\n//# sourceMappingURL=slider.js.map"],"mappings":";;;AAGA,MAAM,SAAS;CACd,MAAM,GAAG,2FAA2F,iHAAiH,yEAAyE;CAC9R,OAAO,GAAG,gFAAgF,6EAA6E,wEAAwE;CAC/O,MAAM;EACL,MAAM;EACN,MAAM,GAAG,cAAc,gFAAgF,2DAA2D,8EAA8E,wDAAwD;EACxS,QAAQ,GAAG,uCAAuC,gFAAgF,8GAA8G,8EAA8E,wGAAwG;EACta;CACD,OAAO;EACN,MAAM,GAAG,0DAA0D,2BAA2B,wJAAwJ,+EAA+E,mDAAmD,gEAAgE,oGAAoG,+GAA+G;EAC3oB,aAAa,GAAG,oCAAoC,+DAA+D,4EAA4E;EAC/L;CACD"}
@@ -0,0 +1,14 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/time.js
4
+ const time = {
5
+ group: "flex items-center gap-1",
6
+ current: cn("hidden tabular-nums", "@md/media-controls:inline"),
7
+ separator: cn("hidden", "@md/media-controls:inline @md/media-controls:text-white/50"),
8
+ duration: cn("tabular-nums", "@md/media-controls:text-current/60"),
9
+ controls: cn("flex flex-row-reverse items-center flex-1 gap-3", "@md/media-controls:flex-row")
10
+ };
11
+
12
+ //#endregion
13
+ export { time };
14
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/time.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/time.ts\nconst time = {\n\tgroup: \"flex items-center gap-1\",\n\tcurrent: cn(\"hidden tabular-nums\", \"@md/media-controls:inline\"),\n\tseparator: cn(\"hidden\", \"@md/media-controls:inline @md/media-controls:text-white/50\"),\n\tduration: cn(\"tabular-nums\", \"@md/media-controls:text-current/60\"),\n\tcontrols: cn(\"flex flex-row-reverse items-center flex-1 gap-3\", \"@md/media-controls:flex-row\")\n};\n\n//#endregion\nexport { time };\n//# sourceMappingURL=time.js.map"],"mappings":";;;AAGA,MAAM,OAAO;CACZ,OAAO;CACP,SAAS,GAAG,uBAAuB,4BAA4B;CAC/D,WAAW,GAAG,UAAU,6DAA6D;CACrF,UAAU,GAAG,gBAAgB,qCAAqC;CAClE,UAAU,GAAG,mDAAmD,8BAA8B;CAC9F"}
@@ -0,0 +1,43 @@
1
+ import { controls as controls$1 } from "./components/controls.js";
2
+ import { popup as popup$1 } from "./components/popup.js";
3
+ import { root as root$1 } from "./components/root.js";
4
+ import { bufferingIndicator } from "./components/buffering.js";
5
+ import { button } from "./components/button.js";
6
+ import { buttonGroup } from "./components/button-group.js";
7
+ import { error } from "./components/error.js";
8
+ import { icon, iconContainer, iconFlipped } from "./components/icon.js";
9
+ import { seek } from "./components/seek.js";
10
+ import { slider as slider$1 } from "./components/slider.js";
11
+ import { time } from "./components/time.js";
12
+ import { iconState } from "./components/icon-state.js";
13
+ import { overlay } from "./components/overlay.js";
14
+ import { cn } from "@videojs/utils/style";
15
+
16
+ //#region ../skins/dist/default/minimal/tailwind/video.tailwind.js
17
+ const root = (isShadowDOM) => cn(root$1, "bg-black", "after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10", "after:inset-0 after:ring-1 after:ring-inset after:ring-black/15", "dark:after:ring-white/15", {
18
+ "[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)": isShadowDOM,
19
+ "[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]": !isShadowDOM
20
+ }, "[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]", "[&>img]:object-cover [&>img]:pointer-events-none", "[&>img]:transition-opacity [&>img]:duration-250", "[&>img:not([data-visible])]:opacity-0", "[--media-caption-track-delay:600ms]", "[--media-caption-track-y:-0.5rem]", "has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]", "has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]", !isShadowDOM ? [
21
+ "[&_video::-webkit-media-text-track-container]:transition-transform",
22
+ "[&_video::-webkit-media-text-track-container]:duration-150",
23
+ "[&_video::-webkit-media-text-track-container]:ease-out",
24
+ "[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)",
25
+ "[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)",
26
+ "[&_video::-webkit-media-text-track-container]:scale-98",
27
+ "[&_video::-webkit-media-text-track-container]:z-1",
28
+ "[&_video::-webkit-media-text-track-container]:font-[inherit]",
29
+ "motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50"
30
+ ] : [], "[&:fullscreen]:rounded-none");
31
+ const controls = cn(controls$1, "absolute bottom-0 inset-x-0", "pt-8 px-1.5 pb-1.5 gap-2", "text-white z-10", "will-change-[translate,filter,opacity]", "transition-[translate,filter,opacity] ease-out", "delay-0 duration-75", "not-data-visible:opacity-0 not-data-visible:translate-y-full", "not-data-visible:blur-sm not-data-visible:pointer-events-none", "not-data-visible:delay-500 not-data-visible:duration-500", "motion-reduce:not-data-visible:duration-100", "motion-reduce:not-data-visible:translate-y-0", "motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100", "@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3", "@sm/media-root:gap-3.5");
32
+ const slider = {
33
+ ...slider$1,
34
+ track: cn(slider$1.track, "shadow-[0_0_0_1px_oklch(0_0_0/0.05)]")
35
+ };
36
+ const popup = {
37
+ ...popup$1,
38
+ volume: cn("[--media-popover-side-offset:0.5rem] p-1 bg-transparent")
39
+ };
40
+
41
+ //#endregion
42
+ export { controls, popup, root, slider };
43
+ //# sourceMappingURL=video.tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.tailwind.js","names":[],"sources":["../../../../../../../../skins/dist/default/minimal/tailwind/video.tailwind.js"],"sourcesContent":["import { controls as controls$1 } from \"./components/controls.js\";\nimport { popup as popup$1 } from \"./components/popup.js\";\nimport { root as root$1 } from \"./components/root.js\";\nimport { bufferingIndicator } from \"./components/buffering.js\";\nimport { button } from \"./components/button.js\";\nimport { buttonGroup } from \"./components/button-group.js\";\nimport { error } from \"./components/error.js\";\nimport { icon, iconContainer, iconFlipped, iconHidden } from \"./components/icon.js\";\nimport { seek } from \"./components/seek.js\";\nimport { slider as slider$1 } from \"./components/slider.js\";\nimport { time } from \"./components/time.js\";\nimport { captions } from \"./components/captions.js\";\nimport { iconState } from \"./components/icon-state.js\";\nimport { overlay } from \"./components/overlay.js\";\nimport { tooltipState } from \"./components/tooltip-state.js\";\nimport { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/video.tailwind.ts\nconst root = (isShadowDOM) => cn(root$1, \"bg-black\", \"after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10\", \"after:inset-0 after:ring-1 after:ring-inset after:ring-black/15\", \"dark:after:ring-white/15\", {\n\t\"[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)\": isShadowDOM,\n\t\"[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]\": !isShadowDOM\n}, \"[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]\", \"[&>img]:object-cover [&>img]:pointer-events-none\", \"[&>img]:transition-opacity [&>img]:duration-250\", \"[&>img:not([data-visible])]:opacity-0\", \"[--media-caption-track-delay:600ms]\", \"[--media-caption-track-y:-0.5rem]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]\", !isShadowDOM ? [\n\t\"[&_video::-webkit-media-text-track-container]:transition-transform\",\n\t\"[&_video::-webkit-media-text-track-container]:duration-150\",\n\t\"[&_video::-webkit-media-text-track-container]:ease-out\",\n\t\"[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)\",\n\t\"[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)\",\n\t\"[&_video::-webkit-media-text-track-container]:scale-98\",\n\t\"[&_video::-webkit-media-text-track-container]:z-1\",\n\t\"[&_video::-webkit-media-text-track-container]:font-[inherit]\",\n\t\"motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50\"\n] : [], \"[&:fullscreen]:rounded-none\");\nconst controls = cn(controls$1, \"absolute bottom-0 inset-x-0\", \"pt-8 px-1.5 pb-1.5 gap-2\", \"text-white z-10\", \"will-change-[translate,filter,opacity]\", \"transition-[translate,filter,opacity] ease-out\", \"delay-0 duration-75\", \"not-data-visible:opacity-0 not-data-visible:translate-y-full\", \"not-data-visible:blur-sm not-data-visible:pointer-events-none\", \"not-data-visible:delay-500 not-data-visible:duration-500\", \"motion-reduce:not-data-visible:duration-100\", \"motion-reduce:not-data-visible:translate-y-0\", \"motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100\", \"@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3\", \"@sm/media-root:gap-3.5\");\nconst slider = {\n\t...slider$1,\n\ttrack: cn(slider$1.track, \"shadow-[0_0_0_1px_oklch(0_0_0/0.05)]\")\n};\nconst popup = {\n\t...popup$1,\n\tvolume: cn(\"[--media-popover-side-offset:0.5rem] p-1 bg-transparent\")\n};\n\n//#endregion\nexport { bufferingIndicator, button, buttonGroup, captions, controls, error, icon, iconContainer, iconFlipped, iconHidden, iconState, overlay, popup, root, seek, slider, time, tooltipState };\n//# sourceMappingURL=video.tailwind.js.map"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAM,QAAQ,gBAAgB,GAAG,QAAQ,YAAY,+EAA+E,mEAAmE,4BAA4B;CAClO,mJAAmJ;CACnJ,iFAAiF,CAAC;CAClF,EAAE,4FAA4F,oDAAoD,mDAAmD,yCAAyC,uCAAuC,qCAAqC,0EAA0E,yEAAyE,CAAC,cAAc;CAC5d;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG,EAAE,EAAE,8BAA8B;AACtC,MAAM,WAAW,GAAG,YAAY,+BAA+B,4BAA4B,mBAAmB,0CAA0C,kDAAkD,uBAAuB,gEAAgE,iEAAiE,4DAA4D,+CAA+C,gDAAgD,qFAAqF,gEAAgE,yBAAyB;AAC3qB,MAAM,SAAS;CACd,GAAG;CACH,OAAO,GAAG,SAAS,OAAO,uCAAuC;CACjE;AACD,MAAM,QAAQ;CACb,GAAG;CACH,QAAQ,GAAG,0DAA0D;CACrE"}
@@ -1,5 +1,4 @@
1
1
  import { AlertDialogApi } from "@videojs/core/dom";
2
- import "react";
3
2
  import { AlertDialogCore, StateAttrMap as StateAttrMap$1 } from "@videojs/core";
4
3
 
5
4
  //#region src/ui/alert-dialog/context.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/context.tsx"],"mappings":";;;;;UAMiB,uBAAA;EACf,IAAA,EAAM,eAAA;EACN,MAAA,EAAQ,cAAA;EACR,KAAA,EAAO,eAAA,CAAgB,KAAA;EACvB,YAAA,EAAc,cAAA,CAAa,eAAA,CAAgB,KAAA;AAAA;AAAA,iBAO7B,qBAAA,CAAA,GAAyB,uBAAA"}
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/context.tsx"],"mappings":";;;;UAMiB,uBAAA;EACf,IAAA,EAAM,eAAA;EACN,MAAA,EAAQ,cAAA;EACR,KAAA,EAAO,eAAA,CAAgB,KAAA;EACvB,YAAA,EAAc,cAAA,CAAa,eAAA,CAAgB,KAAA;AAAA;AAAA,iBAO7B,qBAAA,CAAA,GAAyB,uBAAA"}
@@ -1,4 +1,4 @@
1
- import { SliderOptions, SliderRootProps, SliderThumbProps } from "@videojs/core/dom";
1
+ import { SliderOptions, SliderRootProps, SliderRootStyle, SliderThumbProps } from "@videojs/core/dom";
2
2
  import { SliderInput, SliderState } from "@videojs/core";
3
3
 
4
4
  //#region src/ui/hooks/use-slider.d.ts
@@ -17,6 +17,7 @@ interface UseSliderReturnValue<State extends SliderState = SliderState> {
17
17
  rootRef: React.RefCallback<HTMLElement>;
18
18
  thumbRef: React.RefCallback<HTMLElement>;
19
19
  rootProps: SliderRootProps;
20
+ rootStyle: SliderRootStyle;
20
21
  thumbProps: SliderThumbProps;
21
22
  }
22
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"use-slider.d.ts","names":[],"sources":["../../../../src/ui/hooks/use-slider.ts"],"mappings":";;;;UAiBiB,gBAAA,eAA+B,WAAA,GAAc,WAAA,UACpD,IAAA,CACN,aAAA;EAUF,YAAA,GAAe,KAAA,EAAO,WAAA,KAAgB,KAAA;EACtC,WAAA;EACA,QAAA;EAd+B;EAgB/B,aAAA,KAAkB,UAAA,UAAoB,SAAA,UAAmB,SAAA;EAhBG;EAkB5D,UAAA,GAAa,KAAA,EAAO,KAAA,KAAU,MAAA;AAAA;AAAA,UAGf,oBAAA,eAAmC,WAAA,GAAc,WAAA;EAChE,KAAA,EAAO,KAAA;EACP,OAAA,EAAS,MAAA;EACT,OAAA,EAAS,KAAA,CAAM,WAAA,CAAY,WAAA;EAC3B,QAAA,EAAU,KAAA,CAAM,WAAA,CAAY,WAAA;EAC5B,SAAA,EAAW,eAAA;EACX,UAAA,EAAY,gBAAA;AAAA;;;;;;;;iBAUE,SAAA,eAAwB,WAAA,GAAc,WAAA,CAAA,CACpD,OAAA,EAAS,gBAAA,CAAiB,KAAA,IACzB,oBAAA,CAAqB,KAAA;AAAA,kBAmEP,SAAA;EAAA,KACH,OAAA,GAAU,gBAAA;EAAA,KACV,WAAA,GAAc,oBAAA;AAAA"}
1
+ {"version":3,"file":"use-slider.d.ts","names":[],"sources":["../../../../src/ui/hooks/use-slider.ts"],"mappings":";;;;UAkBiB,gBAAA,eAA+B,WAAA,GAAc,WAAA,UACpD,IAAA,CACN,aAAA;EAUF,YAAA,GAAe,KAAA,EAAO,WAAA,KAAgB,KAAA;EACtC,WAAA;EACA,QAAA;EAd+B;EAgB/B,aAAA,KAAkB,UAAA,UAAoB,SAAA,UAAmB,SAAA;EAhBG;EAkB5D,UAAA,GAAa,KAAA,EAAO,KAAA,KAAU,MAAA;AAAA;AAAA,UAGf,oBAAA,eAAmC,WAAA,GAAc,WAAA;EAChE,KAAA,EAAO,KAAA;EACP,OAAA,EAAS,MAAA;EACT,OAAA,EAAS,KAAA,CAAM,WAAA,CAAY,WAAA;EAC3B,QAAA,EAAU,KAAA,CAAM,WAAA,CAAY,WAAA;EAC5B,SAAA,EAAW,eAAA;EACX,SAAA,EAAW,eAAA;EACX,UAAA,EAAY,gBAAA;AAAA;;;;;;;;iBAUE,SAAA,eAAwB,WAAA,GAAc,WAAA,CAAA,CACpD,OAAA,EAAS,gBAAA,CAAiB,KAAA,IACzB,oBAAA,CAAqB,KAAA;AAAA,kBAoEP,SAAA;EAAA,KACH,OAAA,GAAU,gBAAA;EAAA,KACV,WAAA,GAAc,oBAAA;AAAA"}
@@ -55,6 +55,7 @@ function useSlider(options) {
55
55
  thumbElementRef.current = element;
56
56
  }, []),
57
57
  rootProps: slider.rootProps,
58
+ rootStyle: slider.rootStyle,
58
59
  thumbProps: slider.thumbProps
59
60
  };
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-slider.js","names":[],"sources":["../../../../src/ui/hooks/use-slider.ts"],"sourcesContent":["'use client';\n\nimport type { SliderInput, SliderState } from '@videojs/core';\nimport {\n createSlider,\n type SliderApi,\n type SliderOptions,\n type SliderRootProps,\n type SliderThumbProps,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isRTL } from '@videojs/utils/dom';\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useForceRender } from '../../utils/use-force-render';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseSliderOptions<State extends SliderState = SliderState>\n extends Pick<\n SliderOptions,\n | 'getPercent'\n | 'getStepPercent'\n | 'getLargeStepPercent'\n | 'commitThrottle'\n | 'onValueChange'\n | 'onValueCommit'\n | 'onDragStart'\n | 'onDragEnd'\n > {\n computeState: (input: SliderInput) => State;\n orientation?: 'horizontal' | 'vertical' | undefined;\n disabled?: boolean | undefined;\n /** Adjust a raw 0–100 percent for thumb alignment. Called for fill and pointer percents. */\n adjustPercent?: ((rawPercent: number, thumbSize: number, trackSize: number) => number) | undefined;\n /** Compute CSS variable map from the (possibly alignment-adjusted) state. */\n getCSSVars: (state: State) => Record<string, string>;\n}\n\nexport interface UseSliderReturnValue<State extends SliderState = SliderState> {\n state: State;\n cssVars: Record<string, string>;\n rootRef: React.RefCallback<HTMLElement>;\n thumbRef: React.RefCallback<HTMLElement>;\n rootProps: SliderRootProps;\n thumbProps: SliderThumbProps;\n}\n\n/**\n * Manages slider input lifecycle for React.\n *\n * Wraps `createSlider()` from `@videojs/core/dom` and subscribes to its\n * input state via `useSnapshot`. Returns split props for the root\n * (pointer events) and thumb (keyboard/focus) elements.\n */\nexport function useSlider<State extends SliderState = SliderState>(\n options: UseSliderOptions<State>\n): UseSliderReturnValue<State> {\n const optionsRef = useLatestRef(options);\n\n const rootElementRef = useRef<HTMLElement | null>(null);\n const thumbElementRef = useRef<HTMLElement | null>(null);\n const forceRender = useForceRender();\n\n // Lazy-init the slider handle. Stable across re-renders.\n const [slider] = useState<SliderApi>(() => {\n const stableOptions: SliderOptions = {\n getElement: () => rootElementRef.current!,\n getThumbElement: () => thumbElementRef.current,\n getOrientation: () => optionsRef.current.orientation ?? 'horizontal',\n isRTL: () => (rootElementRef.current ? isRTL(rootElementRef.current) : false),\n isDisabled: () => optionsRef.current.disabled ?? false,\n getPercent: () => optionsRef.current.getPercent(),\n getStepPercent: () => optionsRef.current.getStepPercent(),\n getLargeStepPercent: () => optionsRef.current.getLargeStepPercent(),\n commitThrottle: optionsRef.current.commitThrottle,\n adjustPercent: optionsRef.current.adjustPercent,\n onValueChange: (percent) => optionsRef.current.onValueChange?.(percent),\n onValueCommit: (percent) => optionsRef.current.onValueCommit?.(percent),\n onDragStart: () => optionsRef.current.onDragStart?.(),\n onDragEnd: () => optionsRef.current.onDragEnd?.(),\n };\n\n return createSlider(stableOptions);\n });\n\n useDestroy(slider);\n\n // Subscribe to slider input state.\n const input = useSnapshot(slider.input);\n\n // Compute derived state from input + caller-provided projection.\n const state = options.computeState(input);\n\n // Force a synchronous re-render after mount so edge thumb alignment\n // can read DOM measurements from the now-populated element refs.\n useLayoutEffect(() => {\n if (state.thumbAlignment === 'edge' && rootElementRef.current && thumbElementRef.current) {\n forceRender();\n }\n }, [state.thumbAlignment]);\n\n // Adjust CSS var percents for edge thumb alignment using live DOM measurements.\n const cssVars = options.getCSSVars(slider.adjustForAlignment(state));\n\n // Ref callbacks for root and thumb elements.\n const rootRef = useCallback((element: HTMLElement | null) => {\n rootElementRef.current = element;\n }, []);\n\n const thumbRef = useCallback((element: HTMLElement | null) => {\n thumbElementRef.current = element;\n }, []);\n\n return {\n state,\n cssVars,\n rootRef,\n thumbRef,\n rootProps: slider.rootProps,\n thumbProps: slider.thumbProps,\n };\n}\n\nexport namespace useSlider {\n export type Options = UseSliderOptions;\n export type ReturnValue = UseSliderReturnValue;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAsDA,SAAgB,UACd,SAC6B;CAC7B,MAAM,aAAa,aAAa,QAAQ;CAExC,MAAM,iBAAiB,OAA2B,KAAK;CACvD,MAAM,kBAAkB,OAA2B,KAAK;CACxD,MAAM,cAAc,gBAAgB;CAGpC,MAAM,CAAC,UAAU,eAA0B;AAkBzC,SAAO,aAjB8B;GACnC,kBAAkB,eAAe;GACjC,uBAAuB,gBAAgB;GACvC,sBAAsB,WAAW,QAAQ,eAAe;GACxD,aAAc,eAAe,UAAU,MAAM,eAAe,QAAQ,GAAG;GACvE,kBAAkB,WAAW,QAAQ,YAAY;GACjD,kBAAkB,WAAW,QAAQ,YAAY;GACjD,sBAAsB,WAAW,QAAQ,gBAAgB;GACzD,2BAA2B,WAAW,QAAQ,qBAAqB;GACnE,gBAAgB,WAAW,QAAQ;GACnC,eAAe,WAAW,QAAQ;GAClC,gBAAgB,YAAY,WAAW,QAAQ,gBAAgB,QAAQ;GACvE,gBAAgB,YAAY,WAAW,QAAQ,gBAAgB,QAAQ;GACvE,mBAAmB,WAAW,QAAQ,eAAe;GACrD,iBAAiB,WAAW,QAAQ,aAAa;GAClD,CAEiC;GAClC;AAEF,YAAW,OAAO;CAGlB,MAAM,QAAQ,YAAY,OAAO,MAAM;CAGvC,MAAM,QAAQ,QAAQ,aAAa,MAAM;AAIzC,uBAAsB;AACpB,MAAI,MAAM,mBAAmB,UAAU,eAAe,WAAW,gBAAgB,QAC/E,cAAa;IAEd,CAAC,MAAM,eAAe,CAAC;AAc1B,QAAO;EACL;EACA,SAbc,QAAQ,WAAW,OAAO,mBAAmB,MAAM,CAAC;EAclE,SAXc,aAAa,YAAgC;AAC3D,kBAAe,UAAU;KACxB,EAAE,CAAC;EAUJ,UARe,aAAa,YAAgC;AAC5D,mBAAgB,UAAU;KACzB,EAAE,CAAC;EAOJ,WAAW,OAAO;EAClB,YAAY,OAAO;EACpB"}
1
+ {"version":3,"file":"use-slider.js","names":[],"sources":["../../../../src/ui/hooks/use-slider.ts"],"sourcesContent":["'use client';\n\nimport type { SliderInput, SliderState } from '@videojs/core';\nimport {\n createSlider,\n type SliderApi,\n type SliderOptions,\n type SliderRootProps,\n type SliderRootStyle,\n type SliderThumbProps,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isRTL } from '@videojs/utils/dom';\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useForceRender } from '../../utils/use-force-render';\nimport { useLatestRef } from '../../utils/use-latest-ref';\n\nexport interface UseSliderOptions<State extends SliderState = SliderState>\n extends Pick<\n SliderOptions,\n | 'getPercent'\n | 'getStepPercent'\n | 'getLargeStepPercent'\n | 'commitThrottle'\n | 'onValueChange'\n | 'onValueCommit'\n | 'onDragStart'\n | 'onDragEnd'\n > {\n computeState: (input: SliderInput) => State;\n orientation?: 'horizontal' | 'vertical' | undefined;\n disabled?: boolean | undefined;\n /** Adjust a raw 0–100 percent for thumb alignment. Called for fill and pointer percents. */\n adjustPercent?: ((rawPercent: number, thumbSize: number, trackSize: number) => number) | undefined;\n /** Compute CSS variable map from the (possibly alignment-adjusted) state. */\n getCSSVars: (state: State) => Record<string, string>;\n}\n\nexport interface UseSliderReturnValue<State extends SliderState = SliderState> {\n state: State;\n cssVars: Record<string, string>;\n rootRef: React.RefCallback<HTMLElement>;\n thumbRef: React.RefCallback<HTMLElement>;\n rootProps: SliderRootProps;\n rootStyle: SliderRootStyle;\n thumbProps: SliderThumbProps;\n}\n\n/**\n * Manages slider input lifecycle for React.\n *\n * Wraps `createSlider()` from `@videojs/core/dom` and subscribes to its\n * input state via `useSnapshot`. Returns split props for the root\n * (pointer events) and thumb (keyboard/focus) elements.\n */\nexport function useSlider<State extends SliderState = SliderState>(\n options: UseSliderOptions<State>\n): UseSliderReturnValue<State> {\n const optionsRef = useLatestRef(options);\n\n const rootElementRef = useRef<HTMLElement | null>(null);\n const thumbElementRef = useRef<HTMLElement | null>(null);\n const forceRender = useForceRender();\n\n // Lazy-init the slider handle. Stable across re-renders.\n const [slider] = useState<SliderApi>(() => {\n const stableOptions: SliderOptions = {\n getElement: () => rootElementRef.current!,\n getThumbElement: () => thumbElementRef.current,\n getOrientation: () => optionsRef.current.orientation ?? 'horizontal',\n isRTL: () => (rootElementRef.current ? isRTL(rootElementRef.current) : false),\n isDisabled: () => optionsRef.current.disabled ?? false,\n getPercent: () => optionsRef.current.getPercent(),\n getStepPercent: () => optionsRef.current.getStepPercent(),\n getLargeStepPercent: () => optionsRef.current.getLargeStepPercent(),\n commitThrottle: optionsRef.current.commitThrottle,\n adjustPercent: optionsRef.current.adjustPercent,\n onValueChange: (percent) => optionsRef.current.onValueChange?.(percent),\n onValueCommit: (percent) => optionsRef.current.onValueCommit?.(percent),\n onDragStart: () => optionsRef.current.onDragStart?.(),\n onDragEnd: () => optionsRef.current.onDragEnd?.(),\n };\n\n return createSlider(stableOptions);\n });\n\n useDestroy(slider);\n\n // Subscribe to slider input state.\n const input = useSnapshot(slider.input);\n\n // Compute derived state from input + caller-provided projection.\n const state = options.computeState(input);\n\n // Force a synchronous re-render after mount so edge thumb alignment\n // can read DOM measurements from the now-populated element refs.\n useLayoutEffect(() => {\n if (state.thumbAlignment === 'edge' && rootElementRef.current && thumbElementRef.current) {\n forceRender();\n }\n }, [state.thumbAlignment]);\n\n // Adjust CSS var percents for edge thumb alignment using live DOM measurements.\n const cssVars = options.getCSSVars(slider.adjustForAlignment(state));\n\n // Ref callbacks for root and thumb elements.\n const rootRef = useCallback((element: HTMLElement | null) => {\n rootElementRef.current = element;\n }, []);\n\n const thumbRef = useCallback((element: HTMLElement | null) => {\n thumbElementRef.current = element;\n }, []);\n\n return {\n state,\n cssVars,\n rootRef,\n thumbRef,\n rootProps: slider.rootProps,\n rootStyle: slider.rootStyle,\n thumbProps: slider.thumbProps,\n };\n}\n\nexport namespace useSlider {\n export type Options = UseSliderOptions;\n export type ReturnValue = UseSliderReturnValue;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAwDA,SAAgB,UACd,SAC6B;CAC7B,MAAM,aAAa,aAAa,QAAQ;CAExC,MAAM,iBAAiB,OAA2B,KAAK;CACvD,MAAM,kBAAkB,OAA2B,KAAK;CACxD,MAAM,cAAc,gBAAgB;CAGpC,MAAM,CAAC,UAAU,eAA0B;AAkBzC,SAAO,aAjB8B;GACnC,kBAAkB,eAAe;GACjC,uBAAuB,gBAAgB;GACvC,sBAAsB,WAAW,QAAQ,eAAe;GACxD,aAAc,eAAe,UAAU,MAAM,eAAe,QAAQ,GAAG;GACvE,kBAAkB,WAAW,QAAQ,YAAY;GACjD,kBAAkB,WAAW,QAAQ,YAAY;GACjD,sBAAsB,WAAW,QAAQ,gBAAgB;GACzD,2BAA2B,WAAW,QAAQ,qBAAqB;GACnE,gBAAgB,WAAW,QAAQ;GACnC,eAAe,WAAW,QAAQ;GAClC,gBAAgB,YAAY,WAAW,QAAQ,gBAAgB,QAAQ;GACvE,gBAAgB,YAAY,WAAW,QAAQ,gBAAgB,QAAQ;GACvE,mBAAmB,WAAW,QAAQ,eAAe;GACrD,iBAAiB,WAAW,QAAQ,aAAa;GAClD,CAEiC;GAClC;AAEF,YAAW,OAAO;CAGlB,MAAM,QAAQ,YAAY,OAAO,MAAM;CAGvC,MAAM,QAAQ,QAAQ,aAAa,MAAM;AAIzC,uBAAsB;AACpB,MAAI,MAAM,mBAAmB,UAAU,eAAe,WAAW,gBAAgB,QAC/E,cAAa;IAEd,CAAC,MAAM,eAAe,CAAC;AAc1B,QAAO;EACL;EACA,SAbc,QAAQ,WAAW,OAAO,mBAAmB,MAAM,CAAC;EAclE,SAXc,aAAa,YAAgC;AAC3D,kBAAe,UAAU;KACxB,EAAE,CAAC;EAUJ,UARe,aAAa,YAAgC;AAC5D,mBAAgB,UAAU;KACzB,EAAE,CAAC;EAOJ,WAAW,OAAO;EAClB,WAAW,OAAO;EAClB,YAAY,OAAO;EACpB"}
@@ -1,5 +1,4 @@
1
1
  import { PopoverApi } from "@videojs/core/dom";
2
- import "react";
3
2
  import { PopoverCore, StateAttrMap as StateAttrMap$1 } from "@videojs/core";
4
3
 
5
4
  //#region src/ui/popover/context.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/popover/context.tsx"],"mappings":";;;;;UAMiB,mBAAA;EACf,IAAA,EAAM,WAAA;EACN,OAAA,EAAS,UAAA;EACT,KAAA,EAAO,WAAA,CAAY,KAAA;EACnB,YAAA,EAAc,cAAA,CAAa,WAAA,CAAY,KAAA;EACvC,UAAA;EACA,OAAA;AAAA;AAAA,iBAOc,iBAAA,CAAA,GAAqB,mBAAA"}
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/popover/context.tsx"],"mappings":";;;;UAMiB,mBAAA;EACf,IAAA,EAAM,WAAA;EACN,OAAA,EAAS,UAAA;EACT,KAAA,EAAO,WAAA,CAAY,KAAA;EACnB,YAAA,EAAc,cAAA,CAAa,WAAA,CAAY,KAAA;EACvC,UAAA;EACA,OAAA;AAAA;AAAA,iBAOc,iBAAA,CAAA,GAAqB,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"slider-root.d.ts","names":[],"sources":["../../../../src/ui/slider/slider-root.tsx"],"mappings":";;;;;UAYiB,eAAA,SAAwB,gBAAA,QAAwB,UAAA,CAAW,KAAA,GAAQ,UAAA,CAAW,KAAA;EAC7F,aAAA,KAAkB,KAAA;EAClB,aAAA,KAAkB,KAAA;EAClB,WAAA;EACA,SAAA;AAAA;AAAA,cAGW,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,eAAA,WAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBA+EN,UAAA;EAAA,KACH,KAAA,GAAQ,eAAA;EAAA,KACR,KAAA,GAAQ,UAAA,CAAW,KAAA;AAAA"}
1
+ {"version":3,"file":"slider-root.d.ts","names":[],"sources":["../../../../src/ui/slider/slider-root.tsx"],"mappings":";;;;;UAYiB,eAAA,SAAwB,gBAAA,QAAwB,UAAA,CAAW,KAAA,GAAQ,UAAA,CAAW,KAAA;EAC7F,aAAA,KAAkB,KAAA;EAClB,aAAA,KAAkB,KAAA;EAClB,WAAA;EACA,SAAA;AAAA;AAAA,cAGW,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,eAAA,WAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAgFN,UAAA;EAAA,KACH,KAAA,GAAQ,eAAA;EAAA,KACR,KAAA,GAAQ,UAAA,CAAW,KAAA;AAAA"}
@@ -22,7 +22,7 @@ const SliderRoot = forwardRef(function SliderRoot(componentProps, forwardedRef)
22
22
  disabled,
23
23
  thumbAlignment
24
24
  });
25
- const { state, cssVars, rootRef, thumbRef: sliderThumbRef, rootProps, thumbProps } = useSlider({
25
+ const { state, cssVars, rootRef, thumbRef: sliderThumbRef, rootProps, rootStyle, thumbProps } = useSlider({
26
26
  computeState: (input) => {
27
27
  core.setInput(input);
28
28
  return core.getSliderState(value);
@@ -58,7 +58,10 @@ const SliderRoot = forwardRef(function SliderRoot(componentProps, forwardedRef)
58
58
  stateAttrMap: SliderDataAttrs,
59
59
  ref: [forwardedRef, rootRef],
60
60
  props: [
61
- { style: cssVars },
61
+ { style: {
62
+ ...cssVars,
63
+ ...rootStyle
64
+ } },
62
65
  rootProps,
63
66
  elementProps
64
67
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"slider-root.js","names":[],"sources":["../../../../src/ui/slider/slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { SliderCore, SliderDataAttrs } from '@videojs/core';\nimport { getSliderCSSVars } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from './context';\n\nexport interface SliderRootProps extends UIComponentProps<'div', SliderCore.State>, SliderCore.Props {\n onValueChange?: ((value: number) => void) | undefined;\n onValueCommit?: ((value: number) => void) | undefined;\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const SliderRoot = forwardRef(function SliderRoot(\n componentProps: SliderRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const {\n render,\n className,\n style,\n label,\n min,\n max,\n step,\n largeStep,\n orientation,\n disabled,\n thumbAlignment,\n value = 0,\n onValueChange,\n onValueCommit,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const [core] = useState(() => new SliderCore());\n core.setProps({ label, min, max, step, largeStep, orientation, disabled, thumbAlignment });\n\n const {\n state,\n cssVars,\n rootRef,\n thumbRef: sliderThumbRef,\n rootProps,\n thumbProps,\n } = useSlider({\n computeState: (input) => {\n core.setInput(input);\n return core.getSliderState(value);\n },\n getPercent: () => core.percentFromValue(value),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: (percent) => onValueChange?.(core.valueFromPercent(percent)),\n onValueCommit: (percent) => onValueCommit?.(core.valueFromPercent(percent)),\n onDragStart,\n onDragEnd,\n });\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef: sliderThumbRef,\n thumbProps,\n stateAttrMap: SliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState),\n formatValue: undefined,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: cssVars }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n});\n\nexport namespace SliderRoot {\n export type Props = SliderRootProps;\n export type State = SliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,aAAa,WAAW,SAAS,WAC5C,gBACA,cACA;CACA,MAAM,EACJ,QACA,WACA,OACA,OACA,KACA,KACA,MACA,WACA,aACA,UACA,gBACA,QAAQ,GACR,eACA,eACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,CAAC;AAC/C,MAAK,SAAS;EAAE;EAAO;EAAK;EAAK;EAAM;EAAW;EAAa;EAAU;EAAgB,CAAC;CAE1F,MAAM,EACJ,OACA,SACA,SACA,UAAU,gBACV,WACA,eACE,UAAU;EACZ,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,UAAO,KAAK,eAAe,MAAM;;EAEnC,kBAAkB,KAAK,iBAAiB,MAAM;EAC9C,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY,gBAAgB,KAAK,iBAAiB,QAAQ,CAAC;EAC3E,gBAAgB,YAAY,gBAAgB,KAAK,iBAAiB,QAAQ,CAAC;EAC3E;EACA;EACD,CAAC;AAEF,QACE,oBAAC;EACC,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD,UAAU;GACV;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAY;GACrD,aAAa;GACd;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO,SAAS;IAAE;IAAW;IAAa;GACrD,CACF;GACc;EAEnB"}
1
+ {"version":3,"file":"slider-root.js","names":[],"sources":["../../../../src/ui/slider/slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { SliderCore, SliderDataAttrs } from '@videojs/core';\nimport { getSliderCSSVars } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from './context';\n\nexport interface SliderRootProps extends UIComponentProps<'div', SliderCore.State>, SliderCore.Props {\n onValueChange?: ((value: number) => void) | undefined;\n onValueCommit?: ((value: number) => void) | undefined;\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const SliderRoot = forwardRef(function SliderRoot(\n componentProps: SliderRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const {\n render,\n className,\n style,\n label,\n min,\n max,\n step,\n largeStep,\n orientation,\n disabled,\n thumbAlignment,\n value = 0,\n onValueChange,\n onValueCommit,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const [core] = useState(() => new SliderCore());\n core.setProps({ label, min, max, step, largeStep, orientation, disabled, thumbAlignment });\n\n const {\n state,\n cssVars,\n rootRef,\n thumbRef: sliderThumbRef,\n rootProps,\n rootStyle,\n thumbProps,\n } = useSlider({\n computeState: (input) => {\n core.setInput(input);\n return core.getSliderState(value);\n },\n getPercent: () => core.percentFromValue(value),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: (percent) => onValueChange?.(core.valueFromPercent(percent)),\n onValueCommit: (percent) => onValueCommit?.(core.valueFromPercent(percent)),\n onDragStart,\n onDragEnd,\n });\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef: sliderThumbRef,\n thumbProps,\n stateAttrMap: SliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState),\n formatValue: undefined,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n});\n\nexport namespace SliderRoot {\n export type Props = SliderRootProps;\n export type State = SliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,aAAa,WAAW,SAAS,WAC5C,gBACA,cACA;CACA,MAAM,EACJ,QACA,WACA,OACA,OACA,KACA,KACA,MACA,WACA,aACA,UACA,gBACA,QAAQ,GACR,eACA,eACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,CAAC;AAC/C,MAAK,SAAS;EAAE;EAAO;EAAK;EAAK;EAAM;EAAW;EAAa;EAAU;EAAgB,CAAC;CAE1F,MAAM,EACJ,OACA,SACA,SACA,UAAU,gBACV,WACA,WACA,eACE,UAAU;EACZ,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,UAAO,KAAK,eAAe,MAAM;;EAEnC,kBAAkB,KAAK,iBAAiB,MAAM;EAC9C,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY,gBAAgB,KAAK,iBAAiB,QAAQ,CAAC;EAC3E,gBAAgB,YAAY,gBAAgB,KAAK,iBAAiB,QAAQ,CAAC;EAC3E;EACA;EACD,CAAC;AAEF,QACE,oBAAC;EACC,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD,UAAU;GACV;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAY;GACrD,aAAa;GACd;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;KAAW,EAAE;IAAE;IAAW;IAAa;GAC1E,CACF;GACc;EAEnB"}
@@ -4,7 +4,6 @@ import { SliderPreview, SliderPreviewProps } from "../slider/slider-preview.js";
4
4
  import { SliderThumb, SliderThumbProps } from "../slider/slider-thumb.js";
5
5
  import { SliderTrack, SliderTrackProps } from "../slider/slider-track.js";
6
6
  import { SliderValue, SliderValueProps } from "../slider/slider-value.js";
7
- import "../slider/index.parts.js";
8
7
  import { TimeSliderRoot, TimeSliderRootProps } from "./time-slider-root.js";
9
8
 
10
9
  //#region src/ui/time-slider/index.parts.d.ts
@@ -31,7 +31,7 @@ const TimeSliderRoot = forwardRef(function TimeSliderRoot(componentProps, forwar
31
31
  ...buffer
32
32
  } : null);
33
33
  const duration = time?.duration ?? 0;
34
- const { state, cssVars, rootRef, thumbRef, rootProps, thumbProps } = useSlider({
34
+ const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider({
35
35
  computeState: (input) => {
36
36
  core.setInput(input);
37
37
  if (!time || !buffer) core.setMedia({
@@ -86,7 +86,10 @@ const TimeSliderRoot = forwardRef(function TimeSliderRoot(componentProps, forwar
86
86
  stateAttrMap: TimeSliderDataAttrs,
87
87
  ref: [forwardedRef, rootRef],
88
88
  props: [
89
- { style: cssVars },
89
+ { style: {
90
+ ...cssVars,
91
+ ...rootStyle
92
+ } },
90
93
  rootProps,
91
94
  elementProps
92
95
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"time-slider-root.js","names":[],"sources":["../../../../src/ui/time-slider/time-slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { TimeSliderCore, TimeSliderDataAttrs } from '@videojs/core';\nimport { getTimeSliderCSSVars, logMissingFeature, selectBuffer, selectTime } from '@videojs/core/dom';\nimport { formatTime } from '@videojs/utils/time';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopSeek = (): Promise<number> => Promise.resolve(0);\n\nexport interface TimeSliderRootProps extends UIComponentProps<'div', TimeSliderCore.State>, TimeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const TimeSliderRoot = forwardRef<HTMLDivElement, TimeSliderRootProps>(\n function TimeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n commitThrottle = TimeSliderCore.defaultProps.commitThrottle,\n step = TimeSliderCore.defaultProps.step,\n largeStep = TimeSliderCore.defaultProps.largeStep,\n orientation,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n\n const [core] = useState(() => new TimeSliderCore());\n core.setProps({ label, step, largeStep, orientation, disabled, thumbAlignment });\n\n // Keep a ref to the latest media state for callbacks that fire outside the render cycle.\n const mediaRef = useLatestRef(time && buffer ? { ...time, ...buffer } : null);\n\n const duration = time?.duration ?? 0;\n\n const { state, cssVars, rootRef, thumbRef, rootProps, thumbProps } = useSlider<TimeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n if (!time || !buffer) {\n core.setMedia({\n currentTime: 0,\n duration: 0,\n seeking: false,\n seek: noopSeek,\n buffered: [],\n seekable: [],\n });\n } else {\n core.setMedia({ ...time, ...buffer });\n }\n\n return core.getState();\n },\n getPercent: () => (duration > 0 ? ((time?.currentTime ?? 0) / duration) * 100 : 0),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n commitThrottle,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getTimeSliderCSSVars,\n onValueCommit: (percent) => {\n const media = mediaRef.current;\n if (media) media.seek(core.valueFromPercent(percent));\n },\n onDragStart,\n onDragEnd,\n });\n\n if (!time) {\n if (__DEV__) logMissingFeature('TimeSlider', 'time');\n return null;\n }\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef,\n thumbProps,\n stateAttrMap: TimeSliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState as TimeSliderCore.State),\n formatValue: (value) => formatTime(value, duration),\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: TimeSliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: cssVars }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace TimeSliderRoot {\n export type Props = TimeSliderRootProps;\n export type State = TimeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,iBAAkC,QAAQ,QAAQ,EAAE;AAO1D,MAAa,iBAAiB,WAC5B,SAAS,eAAe,gBAAgB,cAAc;CACpD,MAAM,EACJ,QACA,WACA,OACA,OACA,iBAAiB,eAAe,aAAa,gBAC7C,OAAO,eAAe,aAAa,MACnC,YAAY,eAAe,aAAa,WACxC,aACA,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,OAAO,UAAU,WAAW;CAClC,MAAM,SAAS,UAAU,aAAa;CAEtC,MAAM,CAAC,QAAQ,eAAe,IAAI,gBAAgB,CAAC;AACnD,MAAK,SAAS;EAAE;EAAO;EAAM;EAAW;EAAa;EAAU;EAAgB,CAAC;CAGhF,MAAM,WAAW,aAAa,QAAQ,SAAS;EAAE,GAAG;EAAM,GAAG;EAAQ,GAAG,KAAK;CAE7E,MAAM,WAAW,MAAM,YAAY;CAEnC,MAAM,EAAE,OAAO,SAAS,SAAS,UAAU,WAAW,eAAe,UAAgC;EACnG,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,OAAI,CAAC,QAAQ,CAAC,OACZ,MAAK,SAAS;IACZ,aAAa;IACb,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU,EAAE;IACZ,UAAU,EAAE;IACb,CAAC;OAEF,MAAK,SAAS;IAAE,GAAG;IAAM,GAAG;IAAQ,CAAC;AAGvC,UAAO,KAAK,UAAU;;EAExB,kBAAmB,WAAW,KAAM,MAAM,eAAe,KAAK,WAAY,MAAM;EAChF,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY;GAC1B,MAAM,QAAQ,SAAS;AACvB,OAAI,MAAO,OAAM,KAAK,KAAK,iBAAiB,QAAQ,CAAC;;EAEvD;EACA;EACD,CAAC;AAEF,KAAI,CAAC,MAAM;AACI,oBAAkB,cAAc,OAAO;AACpD,SAAO;;AAGT,QACE,oBAAC;EACC,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD;GACA;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAoC;GAC7E,cAAc,UAAU,WAAW,OAAO,SAAS;GACpD;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO,SAAS;IAAE;IAAW;IAAa;GACrD,CACF;GACc;EAGtB"}
1
+ {"version":3,"file":"time-slider-root.js","names":[],"sources":["../../../../src/ui/time-slider/time-slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { TimeSliderCore, TimeSliderDataAttrs } from '@videojs/core';\nimport { getTimeSliderCSSVars, logMissingFeature, selectBuffer, selectTime } from '@videojs/core/dom';\nimport { formatTime } from '@videojs/utils/time';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopSeek = (): Promise<number> => Promise.resolve(0);\n\nexport interface TimeSliderRootProps extends UIComponentProps<'div', TimeSliderCore.State>, TimeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const TimeSliderRoot = forwardRef<HTMLDivElement, TimeSliderRootProps>(\n function TimeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n commitThrottle = TimeSliderCore.defaultProps.commitThrottle,\n step = TimeSliderCore.defaultProps.step,\n largeStep = TimeSliderCore.defaultProps.largeStep,\n orientation,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n\n const [core] = useState(() => new TimeSliderCore());\n core.setProps({ label, step, largeStep, orientation, disabled, thumbAlignment });\n\n // Keep a ref to the latest media state for callbacks that fire outside the render cycle.\n const mediaRef = useLatestRef(time && buffer ? { ...time, ...buffer } : null);\n\n const duration = time?.duration ?? 0;\n\n const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider<TimeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n if (!time || !buffer) {\n core.setMedia({\n currentTime: 0,\n duration: 0,\n seeking: false,\n seek: noopSeek,\n buffered: [],\n seekable: [],\n });\n } else {\n core.setMedia({ ...time, ...buffer });\n }\n\n return core.getState();\n },\n getPercent: () => (duration > 0 ? ((time?.currentTime ?? 0) / duration) * 100 : 0),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n commitThrottle,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getTimeSliderCSSVars,\n onValueCommit: (percent) => {\n const media = mediaRef.current;\n if (media) media.seek(core.valueFromPercent(percent));\n },\n onDragStart,\n onDragEnd,\n });\n\n if (!time) {\n if (__DEV__) logMissingFeature('TimeSlider', 'time');\n return null;\n }\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef,\n thumbProps,\n stateAttrMap: TimeSliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState as TimeSliderCore.State),\n formatValue: (value) => formatTime(value, duration),\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: TimeSliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace TimeSliderRoot {\n export type Props = TimeSliderRootProps;\n export type State = TimeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,iBAAkC,QAAQ,QAAQ,EAAE;AAO1D,MAAa,iBAAiB,WAC5B,SAAS,eAAe,gBAAgB,cAAc;CACpD,MAAM,EACJ,QACA,WACA,OACA,OACA,iBAAiB,eAAe,aAAa,gBAC7C,OAAO,eAAe,aAAa,MACnC,YAAY,eAAe,aAAa,WACxC,aACA,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,OAAO,UAAU,WAAW;CAClC,MAAM,SAAS,UAAU,aAAa;CAEtC,MAAM,CAAC,QAAQ,eAAe,IAAI,gBAAgB,CAAC;AACnD,MAAK,SAAS;EAAE;EAAO;EAAM;EAAW;EAAa;EAAU;EAAgB,CAAC;CAGhF,MAAM,WAAW,aAAa,QAAQ,SAAS;EAAE,GAAG;EAAM,GAAG;EAAQ,GAAG,KAAK;CAE7E,MAAM,WAAW,MAAM,YAAY;CAEnC,MAAM,EAAE,OAAO,SAAS,SAAS,UAAU,WAAW,WAAW,eAAe,UAAgC;EAC9G,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,OAAI,CAAC,QAAQ,CAAC,OACZ,MAAK,SAAS;IACZ,aAAa;IACb,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU,EAAE;IACZ,UAAU,EAAE;IACb,CAAC;OAEF,MAAK,SAAS;IAAE,GAAG;IAAM,GAAG;IAAQ,CAAC;AAGvC,UAAO,KAAK,UAAU;;EAExB,kBAAmB,WAAW,KAAM,MAAM,eAAe,KAAK,WAAY,MAAM;EAChF,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY;GAC1B,MAAM,QAAQ,SAAS;AACvB,OAAI,MAAO,OAAM,KAAK,KAAK,iBAAiB,QAAQ,CAAC;;EAEvD;EACA;EACD,CAAC;AAEF,KAAI,CAAC,MAAM;AACI,oBAAkB,cAAc,OAAO;AACpD,SAAO;;AAGT,QACE,oBAAC;EACC,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD;GACA;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAoC;GAC7E,cAAc,UAAU,WAAW,OAAO,SAAS;GACpD;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;KAAW,EAAE;IAAE;IAAW;IAAa;GAC1E,CACF;GACc;EAGtB"}
@@ -1,5 +1,4 @@
1
1
  import { TooltipApi } from "@videojs/core/dom";
2
- import "react";
3
2
  import { StateAttrMap as StateAttrMap$1, TooltipCore } from "@videojs/core";
4
3
 
5
4
  //#region src/ui/tooltip/context.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/tooltip/context.tsx"],"mappings":";;;;;UAMiB,mBAAA;EACf,IAAA,EAAM,WAAA;EACN,OAAA,EAAS,UAAA;EACT,KAAA,EAAO,WAAA,CAAY,KAAA;EACnB,YAAA,EAAc,cAAA,CAAa,WAAA,CAAY,KAAA;EACvC,UAAA;EACA,OAAA;AAAA;AAAA,iBAOc,iBAAA,CAAA,GAAqB,mBAAA"}
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/tooltip/context.tsx"],"mappings":";;;;UAMiB,mBAAA;EACf,IAAA,EAAM,WAAA;EACN,OAAA,EAAS,UAAA;EACT,KAAA,EAAO,WAAA,CAAY,KAAA;EACnB,YAAA,EAAc,cAAA,CAAa,WAAA,CAAY,KAAA;EACvC,UAAA;EACA,OAAA;AAAA;AAAA,iBAOc,iBAAA,CAAA,GAAqB,mBAAA"}
@@ -3,7 +3,6 @@ import { SliderPreview, SliderPreviewProps } from "../slider/slider-preview.js";
3
3
  import { SliderThumb, SliderThumbProps } from "../slider/slider-thumb.js";
4
4
  import { SliderTrack, SliderTrackProps } from "../slider/slider-track.js";
5
5
  import { SliderValue, SliderValueProps } from "../slider/slider-value.js";
6
- import "../slider/index.parts.js";
7
6
  import { VolumeSliderRoot, VolumeSliderRootProps } from "./volume-slider-root.js";
8
7
 
9
8
  //#region src/ui/volume-slider/index.parts.d.ts
@@ -31,7 +31,7 @@ const VolumeSliderRoot = forwardRef(function VolumeSliderRoot(componentProps, fo
31
31
  thumbAlignment
32
32
  });
33
33
  const volumeRef = useLatestRef(volume);
34
- const { state, cssVars, rootRef, thumbRef, rootProps, thumbProps } = useSlider({
34
+ const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider({
35
35
  computeState: (input) => {
36
36
  core.setInput(input);
37
37
  core.setMedia(volume ?? noopVolume);
@@ -76,7 +76,10 @@ const VolumeSliderRoot = forwardRef(function VolumeSliderRoot(componentProps, fo
76
76
  stateAttrMap: SliderDataAttrs,
77
77
  ref: [forwardedRef, rootRef],
78
78
  props: [
79
- { style: cssVars },
79
+ { style: {
80
+ ...cssVars,
81
+ ...rootStyle
82
+ } },
80
83
  rootProps,
81
84
  elementProps
82
85
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"volume-slider-root.js","names":[],"sources":["../../../../src/ui/volume-slider/volume-slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { SliderDataAttrs, VolumeSliderCore } from '@videojs/core';\nimport { getSliderCSSVars, logMissingFeature, selectVolume } from '@videojs/core/dom';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopVolume = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported' as const,\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumeSliderRootProps extends UIComponentProps<'div', VolumeSliderCore.State>, VolumeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const VolumeSliderRoot = forwardRef<HTMLDivElement, VolumeSliderRootProps>(\n function VolumeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n orientation,\n step = VolumeSliderCore.defaultProps.step,\n largeStep = VolumeSliderCore.defaultProps.largeStep,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const volume = usePlayer(selectVolume);\n\n const [core] = useState(() => new VolumeSliderCore());\n core.setProps({ label, orientation, step, largeStep, disabled, thumbAlignment });\n\n // Keep a ref to the latest volume state for callbacks.\n const volumeRef = useLatestRef(volume);\n\n const { state, cssVars, rootRef, thumbRef, rootProps, thumbProps } = useSlider<VolumeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n core.setMedia(volume ?? noopVolume);\n return core.getState();\n },\n getPercent: () => (volume ? volume.volume * 100 : 0),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: (percent) => {\n volumeRef.current?.setVolume(percent / 100);\n },\n onValueCommit: (percent) => {\n volumeRef.current?.setVolume(percent / 100);\n },\n onDragStart,\n onDragEnd,\n });\n\n if (!volume) {\n if (__DEV__) logMissingFeature('VolumeSlider', 'volume');\n return null;\n }\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef,\n thumbProps,\n stateAttrMap: SliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState as VolumeSliderCore.State),\n formatValue: (value) => `${Math.round(value)}%`,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: cssVars }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace VolumeSliderRoot {\n export type Props = VolumeSliderRootProps;\n export type State = VolumeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAM,aAAa;CACjB,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,iBAAiB;CACjB,mBAAmB;CACpB;AAOD,MAAa,mBAAmB,WAC9B,SAAS,iBAAiB,gBAAgB,cAAc;CACtD,MAAM,EACJ,QACA,WACA,OACA,OACA,aACA,OAAO,iBAAiB,aAAa,MACrC,YAAY,iBAAiB,aAAa,WAC1C,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,SAAS,UAAU,aAAa;CAEtC,MAAM,CAAC,QAAQ,eAAe,IAAI,kBAAkB,CAAC;AACrD,MAAK,SAAS;EAAE;EAAO;EAAa;EAAM;EAAW;EAAU;EAAgB,CAAC;CAGhF,MAAM,YAAY,aAAa,OAAO;CAEtC,MAAM,EAAE,OAAO,SAAS,SAAS,UAAU,WAAW,eAAe,UAAkC;EACrG,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,QAAK,SAAS,UAAU,WAAW;AACnC,UAAO,KAAK,UAAU;;EAExB,kBAAmB,SAAS,OAAO,SAAS,MAAM;EAClD,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY;AAC1B,aAAU,SAAS,UAAU,UAAU,IAAI;;EAE7C,gBAAgB,YAAY;AAC1B,aAAU,SAAS,UAAU,UAAU,IAAI;;EAE7C;EACA;EACD,CAAC;AAEF,KAAI,CAAC,QAAQ;AACE,oBAAkB,gBAAgB,SAAS;AACxD,SAAO;;AAGT,QACE,oBAAC;EACC,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD;GACA;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAsC;GAC/E,cAAc,UAAU,GAAG,KAAK,MAAM,MAAM,CAAC;GAC9C;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO,SAAS;IAAE;IAAW;IAAa;GACrD,CACF;GACc;EAGtB"}
1
+ {"version":3,"file":"volume-slider-root.js","names":[],"sources":["../../../../src/ui/volume-slider/volume-slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { SliderDataAttrs, VolumeSliderCore } from '@videojs/core';\nimport { getSliderCSSVars, logMissingFeature, selectVolume } from '@videojs/core/dom';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopVolume = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported' as const,\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumeSliderRootProps extends UIComponentProps<'div', VolumeSliderCore.State>, VolumeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const VolumeSliderRoot = forwardRef<HTMLDivElement, VolumeSliderRootProps>(\n function VolumeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n orientation,\n step = VolumeSliderCore.defaultProps.step,\n largeStep = VolumeSliderCore.defaultProps.largeStep,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const volume = usePlayer(selectVolume);\n\n const [core] = useState(() => new VolumeSliderCore());\n core.setProps({ label, orientation, step, largeStep, disabled, thumbAlignment });\n\n // Keep a ref to the latest volume state for callbacks.\n const volumeRef = useLatestRef(volume);\n\n const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider<VolumeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n core.setMedia(volume ?? noopVolume);\n return core.getState();\n },\n getPercent: () => (volume ? volume.volume * 100 : 0),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: (percent) => {\n volumeRef.current?.setVolume(percent / 100);\n },\n onValueCommit: (percent) => {\n volumeRef.current?.setVolume(percent / 100);\n },\n onDragStart,\n onDragEnd,\n });\n\n if (!volume) {\n if (__DEV__) logMissingFeature('VolumeSlider', 'volume');\n return null;\n }\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef,\n thumbProps,\n stateAttrMap: SliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState as VolumeSliderCore.State),\n formatValue: (value) => `${Math.round(value)}%`,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace VolumeSliderRoot {\n export type Props = VolumeSliderRootProps;\n export type State = VolumeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAM,aAAa;CACjB,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,iBAAiB;CACjB,mBAAmB;CACpB;AAOD,MAAa,mBAAmB,WAC9B,SAAS,iBAAiB,gBAAgB,cAAc;CACtD,MAAM,EACJ,QACA,WACA,OACA,OACA,aACA,OAAO,iBAAiB,aAAa,MACrC,YAAY,iBAAiB,aAAa,WAC1C,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,SAAS,UAAU,aAAa;CAEtC,MAAM,CAAC,QAAQ,eAAe,IAAI,kBAAkB,CAAC;AACrD,MAAK,SAAS;EAAE;EAAO;EAAa;EAAM;EAAW;EAAU;EAAgB,CAAC;CAGhF,MAAM,YAAY,aAAa,OAAO;CAEtC,MAAM,EAAE,OAAO,SAAS,SAAS,UAAU,WAAW,WAAW,eAAe,UAAkC;EAChH,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,QAAK,SAAS,UAAU,WAAW;AACnC,UAAO,KAAK,UAAU;;EAExB,kBAAmB,SAAS,OAAO,SAAS,MAAM;EAClD,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY;AAC1B,aAAU,SAAS,UAAU,UAAU,IAAI;;EAE7C,gBAAgB,YAAY;AAC1B,aAAU,SAAS,UAAU,UAAU,IAAI;;EAE7C;EACA;EACD,CAAC;AAEF,KAAI,CAAC,QAAQ;AACE,oBAAkB,gBAAgB,SAAS;AACxD,SAAO;;AAGT,QACE,oBAAC;EACC,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD;GACA;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAsC;GAC/E,cAAc,UAAU,GAAG,KAAK,MAAM,MAAM,CAAC;GAC9C;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;KAAW,EAAE;IAAE;IAAW;IAAa;GAC1E,CACF;GACc;EAGtB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@videojs/react",
3
3
  "type": "module",
4
- "version": "10.0.0-alpha.9",
4
+ "version": "10.0.0-beta.2",
5
5
  "description": "React library for building media players",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -65,9 +65,10 @@
65
65
  "react": ">=16.8.0"
66
66
  },
67
67
  "dependencies": {
68
- "@videojs/core": "10.0.0-alpha.9",
69
- "@videojs/utils": "10.0.0-alpha.9",
70
- "@videojs/store": "10.0.0-alpha.9"
68
+ "@videojs/spf": "10.0.0-beta.2",
69
+ "@videojs/core": "10.0.0-beta.2",
70
+ "@videojs/store": "10.0.0-beta.2",
71
+ "@videojs/utils": "10.0.0-beta.2"
71
72
  },
72
73
  "devDependencies": {
73
74
  "@testing-library/react": "^16.3.0",
@@ -79,7 +80,7 @@
79
80
  "typescript": "^5.9.3",
80
81
  "vitest": "^3.2.4",
81
82
  "@videojs/skins": "10.0.0-alpha.4",
82
- "@videojs/icons": "10.0.0-alpha.9"
83
+ "@videojs/icons": "10.0.0-beta.2"
83
84
  },
84
85
  "publishConfig": {
85
86
  "access": "public"