@videojs/react 10.0.0-beta.23 → 10.0.0-beta.24

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 (736) hide show
  1. package/README.md +6 -0
  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 +3 -5
  5. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  6. package/dist/default/icons/dist/react/default/cast-enter.js +38 -11
  7. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  8. package/dist/default/icons/dist/react/default/cast-exit.js +55 -14
  9. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  10. package/dist/default/icons/dist/react/default/check.js +22 -0
  11. package/dist/default/icons/dist/react/default/check.js.map +1 -0
  12. package/dist/default/icons/dist/react/default/chevron.js +21 -0
  13. package/dist/default/icons/dist/react/default/chevron.js.map +1 -0
  14. package/dist/default/icons/dist/react/default/fullscreen-enter.js +3 -5
  15. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  16. package/dist/default/icons/dist/react/default/fullscreen-exit.js +3 -5
  17. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  18. package/dist/default/icons/dist/react/default/pause.js +2 -3
  19. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/pip-enter.js +4 -10
  21. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/pip-exit.js +4 -10
  23. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/play.js +3 -5
  25. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/restart.js +3 -8
  27. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/seek.js +3 -5
  29. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/spinner.js +38 -117
  31. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/volume-high.js +3 -8
  33. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  34. package/dist/default/icons/dist/react/default/volume-low.js +3 -5
  35. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  36. package/dist/default/icons/dist/react/default/volume-off.js +3 -5
  37. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  38. package/dist/default/icons/dist/react/minimal/captions-off.js +1 -0
  39. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  40. package/dist/default/icons/dist/react/minimal/captions-on.js +3 -5
  41. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  42. package/dist/default/icons/dist/react/minimal/cast-enter.js +38 -7
  43. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  44. package/dist/default/icons/dist/react/minimal/cast-exit.js +56 -11
  45. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  46. package/dist/default/icons/dist/react/minimal/check.js +22 -0
  47. package/dist/default/icons/dist/react/minimal/check.js.map +1 -0
  48. package/dist/default/icons/dist/react/minimal/chevron.js +21 -0
  49. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -0
  50. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  51. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  53. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/pause.js +2 -3
  55. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -14
  57. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -14
  59. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/play.js +3 -5
  61. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/restart.js +3 -8
  63. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/seek.js +3 -5
  65. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  66. package/dist/default/icons/dist/react/minimal/spinner.js +38 -117
  67. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  68. package/dist/default/icons/dist/react/minimal/volume-high.js +3 -8
  69. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  70. package/dist/default/icons/dist/react/minimal/volume-low.js +3 -5
  71. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  72. package/dist/default/icons/dist/react/minimal/volume-off.js +3 -5
  73. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  74. package/dist/default/icons/index.js +19 -0
  75. package/dist/default/icons/minimal/index.js +19 -0
  76. package/dist/default/index.js +17 -8
  77. package/dist/default/media/simple-hls-video/index.js +2 -2
  78. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  79. package/dist/default/player/context.js +9 -1
  80. package/dist/default/player/context.js.map +1 -1
  81. package/dist/default/player/create-player.js +4 -1
  82. package/dist/default/player/create-player.js.map +1 -1
  83. package/dist/default/presets/audio/minimal-skin.css +209 -99
  84. package/dist/default/presets/audio/minimal-skin.js +107 -7
  85. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  86. package/dist/default/presets/audio/minimal-skin.tailwind.js +41 -7
  87. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  88. package/dist/default/presets/audio/skin.css +235 -99
  89. package/dist/default/presets/audio/skin.js +42 -7
  90. package/dist/default/presets/audio/skin.js.map +1 -1
  91. package/dist/default/presets/audio/skin.tailwind.js +115 -14
  92. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  93. package/dist/default/presets/live-audio/minimal-skin.css +209 -99
  94. package/dist/default/presets/live-audio/minimal-skin.js +32 -4
  95. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  96. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +32 -4
  97. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  98. package/dist/default/presets/live-audio/skin.css +235 -99
  99. package/dist/default/presets/live-audio/skin.js +9 -4
  100. package/dist/default/presets/live-audio/skin.js.map +1 -1
  101. package/dist/default/presets/live-audio/skin.tailwind.js +37 -9
  102. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  103. package/dist/default/presets/live-video/minimal-skin.css +553 -138
  104. package/dist/default/presets/live-video/minimal-skin.js +112 -4
  105. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  106. package/dist/default/presets/live-video/minimal-skin.tailwind.js +114 -4
  107. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  108. package/dist/default/presets/live-video/skin.css +563 -136
  109. package/dist/default/presets/live-video/skin.js +55 -3
  110. package/dist/default/presets/live-video/skin.js.map +1 -1
  111. package/dist/default/presets/live-video/skin.tailwind.js +201 -8
  112. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  113. package/dist/default/presets/video/minimal-skin.css +553 -138
  114. package/dist/default/presets/video/minimal-skin.js +205 -23
  115. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  116. package/dist/default/presets/video/minimal-skin.tailwind.js +209 -24
  117. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  118. package/dist/default/presets/video/skin.css +563 -136
  119. package/dist/default/presets/video/skin.js +100 -28
  120. package/dist/default/presets/video/skin.js.map +1 -1
  121. package/dist/default/presets/video/skin.tailwind.js +208 -29
  122. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  123. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  124. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  125. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  126. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  127. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -2
  128. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  129. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  130. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  131. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  132. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  133. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  134. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  135. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -0
  136. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  137. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  138. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  139. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +1 -1
  140. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  141. package/dist/default/skins/dist/default/default/tailwind/components/reset.js +7 -0
  142. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  143. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -1
  144. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  145. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +1 -1
  146. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  147. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  148. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  149. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +5 -3
  150. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  151. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  154. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  155. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  156. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  157. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  158. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  159. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  160. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  161. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  162. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  168. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  169. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  171. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  172. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  173. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  174. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  175. package/dist/default/tailwind.css +66 -0
  176. package/dist/default/ui/controls/context.js +4 -1
  177. package/dist/default/ui/controls/context.js.map +1 -1
  178. package/dist/default/ui/gesture/gesture.js +2 -1
  179. package/dist/default/ui/gesture/gesture.js.map +1 -1
  180. package/dist/default/ui/gesture/index.js +2 -0
  181. package/dist/default/ui/hotkey/hotkey.js +1 -0
  182. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  183. package/dist/default/ui/hotkey/index.js +2 -0
  184. package/dist/default/ui/input-indicators/use-indicator-visibility.js +25 -0
  185. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  186. package/dist/default/ui/input-indicators/use-input-action-subscription.js +22 -0
  187. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  188. package/dist/default/ui/input-indicators/use-input-indicator-root.js +21 -0
  189. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  190. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +40 -0
  191. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  192. package/dist/default/ui/live-button/index.js +2 -0
  193. package/dist/default/ui/live-button/live-button.js +89 -0
  194. package/dist/default/ui/live-button/live-button.js.map +1 -0
  195. package/dist/default/ui/menu/context.js +29 -0
  196. package/dist/default/ui/menu/context.js.map +1 -0
  197. package/dist/default/ui/menu/index.js +3 -0
  198. package/dist/default/ui/menu/index.parts.js +34 -0
  199. package/dist/default/ui/menu/index.parts.js.map +1 -0
  200. package/dist/default/ui/menu/menu-back.js +31 -0
  201. package/dist/default/ui/menu/menu-back.js.map +1 -0
  202. package/dist/default/ui/menu/menu-checkbox-item.js +50 -0
  203. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -0
  204. package/dist/default/ui/menu/menu-content.js +284 -0
  205. package/dist/default/ui/menu/menu-content.js.map +1 -0
  206. package/dist/default/ui/menu/menu-group.js +26 -0
  207. package/dist/default/ui/menu/menu-group.js.map +1 -0
  208. package/dist/default/ui/menu/menu-item-indicator.js +24 -0
  209. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -0
  210. package/dist/default/ui/menu/menu-item.js +53 -0
  211. package/dist/default/ui/menu/menu-item.js.map +1 -0
  212. package/dist/default/ui/menu/menu-label.js +23 -0
  213. package/dist/default/ui/menu/menu-label.js.map +1 -0
  214. package/dist/default/ui/menu/menu-radio-group.js +33 -0
  215. package/dist/default/ui/menu/menu-radio-group.js.map +1 -0
  216. package/dist/default/ui/menu/menu-radio-item.js +57 -0
  217. package/dist/default/ui/menu/menu-radio-item.js.map +1 -0
  218. package/dist/default/ui/menu/menu-root.js +136 -0
  219. package/dist/default/ui/menu/menu-root.js.map +1 -0
  220. package/dist/default/ui/menu/menu-separator.js +23 -0
  221. package/dist/default/ui/menu/menu-separator.js.map +1 -0
  222. package/dist/default/ui/menu/menu-trigger.js +124 -0
  223. package/dist/default/ui/menu/menu-trigger.js.map +1 -0
  224. package/dist/default/ui/menu/menu-view.js +23 -0
  225. package/dist/default/ui/menu/menu-view.js.map +1 -0
  226. package/dist/default/ui/playback-rate-menu/context.js +20 -0
  227. package/dist/default/ui/playback-rate-menu/context.js.map +1 -0
  228. package/dist/default/ui/playback-rate-menu/index.js +3 -0
  229. package/dist/default/ui/playback-rate-menu/index.parts.js +17 -0
  230. package/dist/default/ui/playback-rate-menu/index.parts.js.map +1 -0
  231. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +28 -0
  232. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +1 -0
  233. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +36 -0
  234. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +1 -0
  235. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +51 -0
  236. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +1 -0
  237. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +27 -0
  238. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js.map +1 -0
  239. package/dist/default/ui/popover/context.js.map +1 -1
  240. package/dist/default/ui/popover/popover-popup.js +20 -7
  241. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  242. package/dist/default/ui/popover/popover-root.js +20 -5
  243. package/dist/default/ui/popover/popover-root.js.map +1 -1
  244. package/dist/default/ui/seek-indicator/context.js +20 -0
  245. package/dist/default/ui/seek-indicator/context.js.map +1 -0
  246. package/dist/default/ui/seek-indicator/index.js +2 -0
  247. package/dist/default/ui/seek-indicator/index.parts.js +12 -0
  248. package/dist/default/ui/seek-indicator/index.parts.js.map +1 -0
  249. package/dist/default/ui/seek-indicator/seek-indicator-root.js +30 -0
  250. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  251. package/dist/default/ui/seek-indicator/seek-indicator-value.js +23 -0
  252. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  253. package/dist/default/ui/slider/context.js.map +1 -1
  254. package/dist/default/ui/status-announcer/index.js +2 -0
  255. package/dist/default/ui/status-announcer/status-announcer.js +36 -0
  256. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -0
  257. package/dist/default/ui/status-indicator/context.js +20 -0
  258. package/dist/default/ui/status-indicator/context.js.map +1 -0
  259. package/dist/default/ui/status-indicator/index.js +2 -0
  260. package/dist/default/ui/status-indicator/index.parts.js +12 -0
  261. package/dist/default/ui/status-indicator/index.parts.js.map +1 -0
  262. package/dist/default/ui/status-indicator/status-indicator-root.js +34 -0
  263. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -0
  264. package/dist/default/ui/status-indicator/status-indicator-value.js +23 -0
  265. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -0
  266. package/dist/default/ui/tooltip/context.js.map +1 -1
  267. package/dist/default/ui/tooltip/tooltip-popup.js +20 -7
  268. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  269. package/dist/default/ui/tooltip/tooltip-root.js +16 -4
  270. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  271. package/dist/default/ui/volume-indicator/context.js +20 -0
  272. package/dist/default/ui/volume-indicator/context.js.map +1 -0
  273. package/dist/default/ui/volume-indicator/index.js +2 -0
  274. package/dist/default/ui/volume-indicator/index.parts.js +14 -0
  275. package/dist/default/ui/volume-indicator/index.parts.js.map +1 -0
  276. package/dist/default/ui/volume-indicator/volume-indicator-fill.js +36 -0
  277. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  278. package/dist/default/ui/volume-indicator/volume-indicator-root.js +30 -0
  279. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  280. package/dist/default/ui/volume-indicator/volume-indicator-value.js +23 -0
  281. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  282. package/dist/default/utils/use-render.js.map +1 -1
  283. package/dist/dev/icons/dist/react/default/captions-off.js +1 -0
  284. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  285. package/dist/dev/icons/dist/react/default/captions-on.js +3 -5
  286. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  287. package/dist/dev/icons/dist/react/default/cast-enter.js +38 -11
  288. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  289. package/dist/dev/icons/dist/react/default/cast-exit.js +55 -14
  290. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  291. package/dist/dev/icons/dist/react/default/check.js +22 -0
  292. package/dist/dev/icons/dist/react/default/check.js.map +1 -0
  293. package/dist/dev/icons/dist/react/default/chevron.js +21 -0
  294. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -0
  295. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +3 -5
  296. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  297. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +3 -5
  298. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  299. package/dist/dev/icons/dist/react/default/index.d.ts +23 -0
  300. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -0
  301. package/dist/dev/icons/dist/react/default/pause.js +2 -3
  302. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  303. package/dist/dev/icons/dist/react/default/pip-enter.js +4 -10
  304. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  305. package/dist/dev/icons/dist/react/default/pip-exit.js +4 -10
  306. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  307. package/dist/dev/icons/dist/react/default/play.js +3 -5
  308. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  309. package/dist/dev/icons/dist/react/default/restart.js +3 -8
  310. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  311. package/dist/dev/icons/dist/react/default/seek.js +3 -5
  312. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  313. package/dist/dev/icons/dist/react/default/spinner.js +38 -117
  314. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  315. package/dist/dev/icons/dist/react/default/volume-high.js +3 -8
  316. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  317. package/dist/dev/icons/dist/react/default/volume-low.js +3 -5
  318. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  319. package/dist/dev/icons/dist/react/default/volume-off.js +3 -5
  320. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  321. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -0
  322. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  323. package/dist/dev/icons/dist/react/minimal/captions-on.js +3 -5
  324. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  325. package/dist/dev/icons/dist/react/minimal/cast-enter.js +38 -7
  326. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  327. package/dist/dev/icons/dist/react/minimal/cast-exit.js +56 -11
  328. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  329. package/dist/dev/icons/dist/react/minimal/check.js +22 -0
  330. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -0
  331. package/dist/dev/icons/dist/react/minimal/chevron.js +21 -0
  332. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -0
  333. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  334. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  335. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  336. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  337. package/dist/dev/icons/dist/react/minimal/index.d.ts +23 -0
  338. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -0
  339. package/dist/dev/icons/dist/react/minimal/pause.js +2 -3
  340. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  341. package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -14
  342. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  343. package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -14
  344. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  345. package/dist/dev/icons/dist/react/minimal/play.js +3 -5
  346. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  347. package/dist/dev/icons/dist/react/minimal/restart.js +3 -8
  348. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  349. package/dist/dev/icons/dist/react/minimal/seek.js +3 -5
  350. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  351. package/dist/dev/icons/dist/react/minimal/spinner.js +38 -117
  352. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  353. package/dist/dev/icons/dist/react/minimal/volume-high.js +3 -8
  354. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  355. package/dist/dev/icons/dist/react/minimal/volume-low.js +3 -5
  356. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  357. package/dist/dev/icons/dist/react/minimal/volume-off.js +3 -5
  358. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  359. package/dist/dev/icons/index.d.ts +2 -0
  360. package/dist/dev/icons/index.js +19 -0
  361. package/dist/dev/icons/minimal/index.d.ts +2 -0
  362. package/dist/dev/icons/minimal/index.js +19 -0
  363. package/dist/dev/index.d.ts +25 -8
  364. package/dist/dev/index.js +17 -8
  365. package/dist/dev/media/simple-hls-video/index.d.ts +2 -2
  366. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  367. package/dist/dev/media/simple-hls-video/index.js +2 -2
  368. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  369. package/dist/dev/player/context.d.ts +5 -2
  370. package/dist/dev/player/context.d.ts.map +1 -1
  371. package/dist/dev/player/context.js +9 -1
  372. package/dist/dev/player/context.js.map +1 -1
  373. package/dist/dev/player/create-player.d.ts.map +1 -1
  374. package/dist/dev/player/create-player.js +4 -1
  375. package/dist/dev/player/create-player.js.map +1 -1
  376. package/dist/dev/presets/audio/minimal-skin.css +209 -99
  377. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  378. package/dist/dev/presets/audio/minimal-skin.js +107 -7
  379. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  380. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  381. package/dist/dev/presets/audio/minimal-skin.tailwind.js +41 -7
  382. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  383. package/dist/dev/presets/audio/skin.css +235 -99
  384. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  385. package/dist/dev/presets/audio/skin.js +42 -7
  386. package/dist/dev/presets/audio/skin.js.map +1 -1
  387. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  388. package/dist/dev/presets/audio/skin.tailwind.js +115 -14
  389. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  390. package/dist/dev/presets/live-audio/minimal-skin.css +209 -99
  391. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  392. package/dist/dev/presets/live-audio/minimal-skin.js +32 -4
  393. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  394. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  395. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +32 -4
  396. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  397. package/dist/dev/presets/live-audio/skin.css +235 -99
  398. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  399. package/dist/dev/presets/live-audio/skin.js +9 -4
  400. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  401. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  402. package/dist/dev/presets/live-audio/skin.tailwind.js +37 -9
  403. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  404. package/dist/dev/presets/live-video/minimal-skin.css +553 -138
  405. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  406. package/dist/dev/presets/live-video/minimal-skin.js +112 -4
  407. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  408. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  409. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +114 -4
  410. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  411. package/dist/dev/presets/live-video/skin.css +563 -136
  412. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  413. package/dist/dev/presets/live-video/skin.js +55 -3
  414. package/dist/dev/presets/live-video/skin.js.map +1 -1
  415. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  416. package/dist/dev/presets/live-video/skin.tailwind.js +201 -8
  417. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  418. package/dist/dev/presets/video/minimal-skin.css +553 -138
  419. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  420. package/dist/dev/presets/video/minimal-skin.js +205 -23
  421. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  422. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  423. package/dist/dev/presets/video/minimal-skin.tailwind.js +209 -24
  424. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  425. package/dist/dev/presets/video/skin.css +563 -136
  426. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  427. package/dist/dev/presets/video/skin.js +100 -28
  428. package/dist/dev/presets/video/skin.js.map +1 -1
  429. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  430. package/dist/dev/presets/video/skin.tailwind.js +208 -29
  431. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  432. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  433. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  434. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  435. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  436. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -2
  437. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  438. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  439. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  440. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  441. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  442. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  443. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  444. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +12 -0
  445. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  446. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  447. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  448. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +1 -1
  449. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  450. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js +7 -0
  451. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  452. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -1
  453. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  454. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +1 -1
  455. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  456. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  457. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  458. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +5 -3
  459. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  460. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  461. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  462. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  463. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  464. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  465. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  466. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  467. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  468. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  469. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  470. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  471. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  472. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  473. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  474. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  475. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  476. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  477. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  478. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  479. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  480. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  481. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  482. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  483. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  484. package/dist/dev/tailwind.css +66 -0
  485. package/dist/dev/ui/controls/context.js +4 -1
  486. package/dist/dev/ui/controls/context.js.map +1 -1
  487. package/dist/dev/ui/gesture/gesture.js +2 -1
  488. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  489. package/dist/dev/ui/gesture/index.d.ts +2 -0
  490. package/dist/dev/ui/gesture/index.js +2 -0
  491. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  492. package/dist/dev/ui/hotkey/hotkey.js +1 -0
  493. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  494. package/dist/dev/ui/hotkey/index.d.ts +2 -0
  495. package/dist/dev/ui/hotkey/index.js +2 -0
  496. package/dist/dev/ui/input-indicators/use-indicator-visibility.js +25 -0
  497. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  498. package/dist/dev/ui/input-indicators/use-input-action-subscription.js +22 -0
  499. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  500. package/dist/dev/ui/input-indicators/use-input-indicator-root.js +21 -0
  501. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  502. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +40 -0
  503. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  504. package/dist/dev/ui/live-button/index.d.ts +2 -0
  505. package/dist/dev/ui/live-button/index.js +2 -0
  506. package/dist/dev/ui/live-button/live-button.d.ts +34 -0
  507. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -0
  508. package/dist/dev/ui/live-button/live-button.js +92 -0
  509. package/dist/dev/ui/live-button/live-button.js.map +1 -0
  510. package/dist/dev/ui/menu/context.d.ts +29 -0
  511. package/dist/dev/ui/menu/context.d.ts.map +1 -0
  512. package/dist/dev/ui/menu/context.js +29 -0
  513. package/dist/dev/ui/menu/context.js.map +1 -0
  514. package/dist/dev/ui/menu/index.d.ts +3 -0
  515. package/dist/dev/ui/menu/index.js +3 -0
  516. package/dist/dev/ui/menu/index.parts.d.ts +21 -0
  517. package/dist/dev/ui/menu/index.parts.d.ts.map +1 -0
  518. package/dist/dev/ui/menu/index.parts.js +34 -0
  519. package/dist/dev/ui/menu/index.parts.js.map +1 -0
  520. package/dist/dev/ui/menu/menu-back.d.ts +18 -0
  521. package/dist/dev/ui/menu/menu-back.d.ts.map +1 -0
  522. package/dist/dev/ui/menu/menu-back.js +31 -0
  523. package/dist/dev/ui/menu/menu-back.js.map +1 -0
  524. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +22 -0
  525. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -0
  526. package/dist/dev/ui/menu/menu-checkbox-item.js +50 -0
  527. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -0
  528. package/dist/dev/ui/menu/menu-content.d.ts +15 -0
  529. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -0
  530. package/dist/dev/ui/menu/menu-content.js +284 -0
  531. package/dist/dev/ui/menu/menu-content.js.map +1 -0
  532. package/dist/dev/ui/menu/menu-group.d.ts +18 -0
  533. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -0
  534. package/dist/dev/ui/menu/menu-group.js +26 -0
  535. package/dist/dev/ui/menu/menu-group.js.map +1 -0
  536. package/dist/dev/ui/menu/menu-item-indicator.d.ts +20 -0
  537. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -0
  538. package/dist/dev/ui/menu/menu-item-indicator.js +24 -0
  539. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -0
  540. package/dist/dev/ui/menu/menu-item.d.ts +20 -0
  541. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -0
  542. package/dist/dev/ui/menu/menu-item.js +53 -0
  543. package/dist/dev/ui/menu/menu-item.js.map +1 -0
  544. package/dist/dev/ui/menu/menu-label.d.ts +15 -0
  545. package/dist/dev/ui/menu/menu-label.d.ts.map +1 -0
  546. package/dist/dev/ui/menu/menu-label.js +23 -0
  547. package/dist/dev/ui/menu/menu-label.js.map +1 -0
  548. package/dist/dev/ui/menu/menu-radio-group.d.ts +22 -0
  549. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -0
  550. package/dist/dev/ui/menu/menu-radio-group.js +33 -0
  551. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -0
  552. package/dist/dev/ui/menu/menu-radio-item.d.ts +20 -0
  553. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -0
  554. package/dist/dev/ui/menu/menu-radio-item.js +57 -0
  555. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -0
  556. package/dist/dev/ui/menu/menu-root.d.ts +29 -0
  557. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -0
  558. package/dist/dev/ui/menu/menu-root.js +136 -0
  559. package/dist/dev/ui/menu/menu-root.js.map +1 -0
  560. package/dist/dev/ui/menu/menu-separator.d.ts +15 -0
  561. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -0
  562. package/dist/dev/ui/menu/menu-separator.js +23 -0
  563. package/dist/dev/ui/menu/menu-separator.js.map +1 -0
  564. package/dist/dev/ui/menu/menu-trigger.d.ts +22 -0
  565. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -0
  566. package/dist/dev/ui/menu/menu-trigger.js +124 -0
  567. package/dist/dev/ui/menu/menu-trigger.js.map +1 -0
  568. package/dist/dev/ui/menu/menu-view.d.ts +15 -0
  569. package/dist/dev/ui/menu/menu-view.d.ts.map +1 -0
  570. package/dist/dev/ui/menu/menu-view.js +23 -0
  571. package/dist/dev/ui/menu/menu-view.js.map +1 -0
  572. package/dist/dev/ui/playback-rate-menu/context.js +20 -0
  573. package/dist/dev/ui/playback-rate-menu/context.js.map +1 -0
  574. package/dist/dev/ui/playback-rate-menu/index.d.ts +3 -0
  575. package/dist/dev/ui/playback-rate-menu/index.js +3 -0
  576. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +12 -0
  577. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +1 -0
  578. package/dist/dev/ui/playback-rate-menu/index.parts.js +17 -0
  579. package/dist/dev/ui/playback-rate-menu/index.parts.js.map +1 -0
  580. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +14 -0
  581. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +1 -0
  582. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +28 -0
  583. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +1 -0
  584. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +23 -0
  585. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +1 -0
  586. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +39 -0
  587. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +1 -0
  588. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +14 -0
  589. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +1 -0
  590. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +51 -0
  591. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +1 -0
  592. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +26 -0
  593. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +1 -0
  594. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +27 -0
  595. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +1 -0
  596. package/dist/dev/ui/popover/context.d.ts +3 -1
  597. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  598. package/dist/dev/ui/popover/context.js.map +1 -1
  599. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  600. package/dist/dev/ui/popover/popover-popup.js +20 -7
  601. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  602. package/dist/dev/ui/popover/popover-root.d.ts +4 -1
  603. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  604. package/dist/dev/ui/popover/popover-root.js +20 -5
  605. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  606. package/dist/dev/ui/seek-indicator/context.js +20 -0
  607. package/dist/dev/ui/seek-indicator/context.js.map +1 -0
  608. package/dist/dev/ui/seek-indicator/index.d.ts +2 -0
  609. package/dist/dev/ui/seek-indicator/index.js +2 -0
  610. package/dist/dev/ui/seek-indicator/index.parts.d.ts +10 -0
  611. package/dist/dev/ui/seek-indicator/index.parts.d.ts.map +1 -0
  612. package/dist/dev/ui/seek-indicator/index.parts.js +12 -0
  613. package/dist/dev/ui/seek-indicator/index.parts.js.map +1 -0
  614. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +14 -0
  615. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -0
  616. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +30 -0
  617. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  618. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +13 -0
  619. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -0
  620. package/dist/dev/ui/seek-indicator/seek-indicator-value.js +23 -0
  621. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  622. package/dist/dev/ui/slider/context.js.map +1 -1
  623. package/dist/dev/ui/status-announcer/index.d.ts +2 -0
  624. package/dist/dev/ui/status-announcer/index.js +2 -0
  625. package/dist/dev/ui/status-announcer/status-announcer.d.ts +14 -0
  626. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -0
  627. package/dist/dev/ui/status-announcer/status-announcer.js +36 -0
  628. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -0
  629. package/dist/dev/ui/status-indicator/context.js +20 -0
  630. package/dist/dev/ui/status-indicator/context.js.map +1 -0
  631. package/dist/dev/ui/status-indicator/index.d.ts +2 -0
  632. package/dist/dev/ui/status-indicator/index.js +2 -0
  633. package/dist/dev/ui/status-indicator/index.parts.d.ts +10 -0
  634. package/dist/dev/ui/status-indicator/index.parts.d.ts.map +1 -0
  635. package/dist/dev/ui/status-indicator/index.parts.js +12 -0
  636. package/dist/dev/ui/status-indicator/index.parts.js.map +1 -0
  637. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +14 -0
  638. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -0
  639. package/dist/dev/ui/status-indicator/status-indicator-root.js +34 -0
  640. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -0
  641. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +13 -0
  642. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -0
  643. package/dist/dev/ui/status-indicator/status-indicator-value.js +23 -0
  644. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -0
  645. package/dist/dev/ui/tooltip/context.d.ts +3 -1
  646. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  647. package/dist/dev/ui/tooltip/context.js.map +1 -1
  648. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  649. package/dist/dev/ui/tooltip/tooltip-popup.js +20 -7
  650. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  651. package/dist/dev/ui/tooltip/tooltip-root.d.ts +4 -1
  652. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  653. package/dist/dev/ui/tooltip/tooltip-root.js +16 -4
  654. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  655. package/dist/dev/ui/volume-indicator/context.js +20 -0
  656. package/dist/dev/ui/volume-indicator/context.js.map +1 -0
  657. package/dist/dev/ui/volume-indicator/index.d.ts +2 -0
  658. package/dist/dev/ui/volume-indicator/index.js +2 -0
  659. package/dist/dev/ui/volume-indicator/index.parts.d.ts +11 -0
  660. package/dist/dev/ui/volume-indicator/index.parts.d.ts.map +1 -0
  661. package/dist/dev/ui/volume-indicator/index.parts.js +14 -0
  662. package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -0
  663. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +13 -0
  664. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -0
  665. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +36 -0
  666. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  667. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +14 -0
  668. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -0
  669. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +30 -0
  670. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  671. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +13 -0
  672. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -0
  673. package/dist/dev/ui/volume-indicator/volume-indicator-value.js +23 -0
  674. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  675. package/dist/dev/utils/use-render.js.map +1 -1
  676. package/docs/README.md +7 -0
  677. package/docs/concepts/accessibility.md +60 -0
  678. package/docs/concepts/browser-support.md +37 -0
  679. package/docs/concepts/features.md +131 -0
  680. package/docs/concepts/overview.md +119 -0
  681. package/docs/concepts/presets.md +204 -0
  682. package/docs/concepts/skins.md +2094 -0
  683. package/docs/concepts/ui-components.md +83 -0
  684. package/docs/concepts/v10-roadmap.md +75 -0
  685. package/docs/concepts/why-videojs.md +113 -0
  686. package/docs/how-to/build-with-ai.md +39 -0
  687. package/docs/how-to/build-your-own-component.md +142 -0
  688. package/docs/how-to/customize-skins.md +5990 -0
  689. package/docs/how-to/installation.md +170 -0
  690. package/docs/llms.txt +91 -0
  691. package/docs/reference/buffering-indicator.md +152 -0
  692. package/docs/reference/captions-button.md +200 -0
  693. package/docs/reference/controls.md +238 -0
  694. package/docs/reference/create-player.md +261 -0
  695. package/docs/reference/create-selector.md +59 -0
  696. package/docs/reference/feature-buffer.md +54 -0
  697. package/docs/reference/feature-controls.md +74 -0
  698. package/docs/reference/feature-error.md +65 -0
  699. package/docs/reference/feature-fullscreen.md +94 -0
  700. package/docs/reference/feature-live.md +62 -0
  701. package/docs/reference/feature-pip.md +94 -0
  702. package/docs/reference/feature-playback-rate.md +70 -0
  703. package/docs/reference/feature-playback.md +109 -0
  704. package/docs/reference/feature-remote-playback.md +74 -0
  705. package/docs/reference/feature-source.md +70 -0
  706. package/docs/reference/feature-stream-type.md +46 -0
  707. package/docs/reference/feature-text-tracks.md +104 -0
  708. package/docs/reference/feature-time.md +84 -0
  709. package/docs/reference/feature-volume.md +99 -0
  710. package/docs/reference/fullscreen-button.md +212 -0
  711. package/docs/reference/mute-button.md +276 -0
  712. package/docs/reference/pip-button.md +212 -0
  713. package/docs/reference/play-button.md +224 -0
  714. package/docs/reference/playback-rate-button.md +169 -0
  715. package/docs/reference/player-container.md +103 -0
  716. package/docs/reference/player-provider.md +102 -0
  717. package/docs/reference/popover.md +527 -0
  718. package/docs/reference/poster.md +137 -0
  719. package/docs/reference/render-element.md +196 -0
  720. package/docs/reference/seek-button.md +213 -0
  721. package/docs/reference/slider.md +826 -0
  722. package/docs/reference/thumbnail.md +322 -0
  723. package/docs/reference/time-slider.md +741 -0
  724. package/docs/reference/time.md +495 -0
  725. package/docs/reference/tooltip.md +631 -0
  726. package/docs/reference/use-button.md +124 -0
  727. package/docs/reference/use-container-attach.md +42 -0
  728. package/docs/reference/use-media-attach.md +46 -0
  729. package/docs/reference/use-media.md +11 -0
  730. package/docs/reference/use-player-context.md +93 -0
  731. package/docs/reference/use-player.md +226 -0
  732. package/docs/reference/use-selector.md +132 -0
  733. package/docs/reference/use-snapshot.md +127 -0
  734. package/docs/reference/use-store.md +257 -0
  735. package/docs/reference/volume-slider.md +716 -0
  736. package/package.json +23 -10
@@ -0,0 +1,12 @@
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { SeekIndicatorRoot } from "./seek-indicator-root.js";
3
+ import { SeekIndicatorValue } from "./seek-indicator-value.js";
4
+ //#region src/ui/seek-indicator/index.parts.ts
5
+ var index_parts_exports = /* @__PURE__ */ __exportAll({
6
+ Root: () => SeekIndicatorRoot,
7
+ Value: () => SeekIndicatorValue
8
+ });
9
+ //#endregion
10
+ export { index_parts_exports };
11
+
12
+ //# sourceMappingURL=index.parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/seek-indicator/index.parts.ts"],"sourcesContent":["export { SeekIndicatorRoot as Root, type SeekIndicatorRootProps as RootProps } from './seek-indicator-root';\nexport { SeekIndicatorValue as Value, type SeekIndicatorValueProps as ValueProps } from './seek-indicator-value';\n"],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { UIComponentProps } from "../../utils/types.js";
2
+ import * as _$react from "react";
3
+ import { SeekIndicatorCore } from "@videojs/core";
4
+
5
+ //#region src/ui/seek-indicator/seek-indicator-root.d.ts
6
+ interface SeekIndicatorRootProps extends UIComponentProps<'div', SeekIndicatorCore.State>, SeekIndicatorCore.Props {}
7
+ declare const SeekIndicatorRoot: _$react.ForwardRefExoticComponent<Omit<SeekIndicatorRootProps, "ref"> & _$react.RefAttributes<HTMLDivElement>>;
8
+ declare namespace SeekIndicatorRoot {
9
+ type Props = SeekIndicatorRootProps;
10
+ type State = SeekIndicatorCore.State;
11
+ }
12
+ //#endregion
13
+ export { SeekIndicatorRoot, SeekIndicatorRootProps };
14
+ //# sourceMappingURL=seek-indicator-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seek-indicator-root.d.ts","names":[],"sources":["../../../../src/ui/seek-indicator/seek-indicator-root.tsx"],"mappings":";;;;;UAWiB,sBAAA,SACP,gBAAA,QAAwB,iBAAA,CAAkB,KAAA,GAChD,iBAAA,CAAkB,KAAA;AAAA,cAET,iBAAA,EAAiB,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,sBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAyBb,iBAAA;EAAA,KACH,KAAA,GAAQ,sBAAA;EAAA,KACR,KAAA,GAAQ,iBAAA,CAAkB,KAAA;AAAA"}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { renderElement } from "../../utils/use-render.js";
3
+ import { useInputIndicatorRoot } from "../input-indicators/use-input-indicator-root.js";
4
+ import { SeekIndicatorProvider } from "./context.js";
5
+ import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { SeekIndicatorCore, SeekIndicatorDataAttrs } from "@videojs/core";
8
+ //#region src/ui/seek-indicator/seek-indicator-root.tsx
9
+ const SeekIndicatorRoot = forwardRef(function SeekIndicatorRoot(componentProps, forwardedRef) {
10
+ const { render, className, style, closeDelay, ...elementProps } = componentProps;
11
+ const { elementRef, present, state } = useInputIndicatorRoot(() => new SeekIndicatorCore(), { closeDelay });
12
+ if (!present) return null;
13
+ return /* @__PURE__ */ jsx(SeekIndicatorProvider, {
14
+ value: { state },
15
+ children: renderElement("div", {
16
+ render,
17
+ className,
18
+ style
19
+ }, {
20
+ state,
21
+ stateAttrMap: SeekIndicatorDataAttrs,
22
+ ref: [forwardedRef, elementRef],
23
+ props: [elementProps]
24
+ })
25
+ });
26
+ });
27
+ //#endregion
28
+ export { SeekIndicatorRoot };
29
+
30
+ //# sourceMappingURL=seek-indicator-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seek-indicator-root.js","names":[],"sources":["../../../../src/ui/seek-indicator/seek-indicator-root.tsx"],"sourcesContent":["'use client';\n\nimport { SeekIndicatorCore, SeekIndicatorDataAttrs } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useInputIndicatorRoot } from '../input-indicators/use-input-indicator-root';\nimport { SeekIndicatorProvider } from './context';\n\nexport interface SeekIndicatorRootProps\n extends UIComponentProps<'div', SeekIndicatorCore.State>,\n SeekIndicatorCore.Props {}\n\nexport const SeekIndicatorRoot = forwardRef(function SeekIndicatorRoot(\n componentProps: SeekIndicatorRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, closeDelay, ...elementProps } = componentProps;\n const { elementRef, present, state } = useInputIndicatorRoot(() => new SeekIndicatorCore(), { closeDelay });\n\n if (!present) return null;\n\n return (\n <SeekIndicatorProvider value={{ state }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: SeekIndicatorDataAttrs,\n ref: [forwardedRef, elementRef],\n props: [elementProps],\n }\n )}\n </SeekIndicatorProvider>\n );\n});\n\nexport namespace SeekIndicatorRoot {\n export type Props = SeekIndicatorRootProps;\n export type State = SeekIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;AAeA,MAAa,oBAAoB,WAAW,SAAS,kBACnD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,YAAY,GAAG,iBAAiB;CAClE,MAAM,EAAE,YAAY,SAAS,UAAU,4BAA4B,IAAI,mBAAmB,EAAE,EAAE,YAAY,CAAC;AAE3G,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAAC,uBAAD;EAAuB,OAAO,EAAE,OAAO;YACpC,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,WAAW;GAC/B,OAAO,CAAC,aAAa;GACtB,CACF;EACqB,CAAA;EAE1B"}
@@ -0,0 +1,13 @@
1
+ import { UIComponentProps } from "../../utils/types.js";
2
+ import * as _$react from "react";
3
+ import { SeekIndicatorCore } from "@videojs/core";
4
+
5
+ //#region src/ui/seek-indicator/seek-indicator-value.d.ts
6
+ interface SeekIndicatorValueProps extends UIComponentProps<'div', SeekIndicatorCore.State> {}
7
+ declare const SeekIndicatorValue: _$react.ForwardRefExoticComponent<Omit<SeekIndicatorValueProps, "ref"> & _$react.RefAttributes<HTMLDivElement>>;
8
+ declare namespace SeekIndicatorValue {
9
+ type Props = SeekIndicatorValueProps;
10
+ }
11
+ //#endregion
12
+ export { SeekIndicatorValue, SeekIndicatorValueProps };
13
+ //# sourceMappingURL=seek-indicator-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seek-indicator-value.d.ts","names":[],"sources":["../../../../src/ui/seek-indicator/seek-indicator-value.tsx"],"mappings":";;;;;UAUiB,uBAAA,SAAgC,gBAAA,QAAwB,iBAAA,CAAkB,KAAA;AAAA,cAE9E,kBAAA,EAAkB,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,uBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAkBd,kBAAA;EAAA,KACH,KAAA,GAAQ,uBAAA;AAAA"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { renderElement } from "../../utils/use-render.js";
3
+ import { useSeekIndicatorContext } from "./context.js";
4
+ import { forwardRef } from "react";
5
+ import { getSeekIndicatorDisplayValue } from "@videojs/core";
6
+ //#region src/ui/seek-indicator/seek-indicator-value.tsx
7
+ const SeekIndicatorValue = forwardRef(function SeekIndicatorValue(componentProps, forwardedRef) {
8
+ const { render, className, style, ...elementProps } = componentProps;
9
+ const { state } = useSeekIndicatorContext();
10
+ return renderElement("div", {
11
+ render,
12
+ className,
13
+ style
14
+ }, {
15
+ state,
16
+ ref: forwardedRef,
17
+ props: [{ children: getSeekIndicatorDisplayValue(state) }, elementProps]
18
+ });
19
+ });
20
+ //#endregion
21
+ export { SeekIndicatorValue };
22
+
23
+ //# sourceMappingURL=seek-indicator-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seek-indicator-value.js","names":[],"sources":["../../../../src/ui/seek-indicator/seek-indicator-value.tsx"],"sourcesContent":["'use client';\n\nimport { getSeekIndicatorDisplayValue, type SeekIndicatorCore } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useSeekIndicatorContext } from './context';\n\nexport interface SeekIndicatorValueProps extends UIComponentProps<'div', SeekIndicatorCore.State> {}\n\nexport const SeekIndicatorValue = forwardRef(function SeekIndicatorValue(\n componentProps: SeekIndicatorValueProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const { state } = useSeekIndicatorContext();\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: forwardedRef,\n props: [{ children: getSeekIndicatorDisplayValue(state) }, elementProps],\n }\n );\n});\n\nexport namespace SeekIndicatorValue {\n export type Props = SeekIndicatorValueProps;\n}\n"],"mappings":";;;;;;AAYA,MAAa,qBAAqB,WAAW,SAAS,mBACpD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,EAAE,UAAU,yBAAyB;AAE3C,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,KAAK;EACL,OAAO,CAAC,EAAE,UAAU,6BAA6B,MAAM,EAAE,EAAE,aAAa;EACzE,CACF;EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/slider/context.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState, StateAttrMap } from '@videojs/core';\nimport type { SliderThumbProps } from '@videojs/core/dom';\nimport type { RefCallback } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport interface SliderContextValue {\n state: SliderState;\n /** Pointer position converted to the value domain (not 0–100 percent). */\n pointerValue: number;\n thumbRef: RefCallback<HTMLElement>;\n thumbProps: SliderThumbProps;\n stateAttrMap: StateAttrMap<SliderState>;\n getAttrs: (state: SliderState) => object;\n formatValue?: ((value: number, type: 'current' | 'pointer') => string) | undefined;\n}\n\nconst SliderContext = createContext<SliderContextValue | null>(null);\n\nexport function SliderProvider({ value, children }: { value: SliderContextValue; children: React.ReactNode }) {\n return <SliderContext.Provider value={value}>{children}</SliderContext.Provider>;\n}\n\nexport function useSliderContext(): SliderContextValue {\n const ctx = useContext(SliderContext);\n if (!ctx) throw new Error('Slider compound components must be used within a Slider.Root');\n return ctx;\n}\n"],"mappings":";;;;AAkBA,MAAM,gBAAgB,cAAyC,KAAK;AAEpE,SAAgB,eAAe,EAAE,OAAO,YAAsE;AAC5G,QAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;EAAkC,CAAA;;AAGlF,SAAgB,mBAAuC;CACrD,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,+DAA+D;AACzF,QAAO"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/slider/context.tsx"],"sourcesContent":["'use client';\n\nimport type { SliderState, StateAttrMap } from '@videojs/core';\nimport type { SliderThumbProps } from '@videojs/core/dom';\nimport type { ProviderProps, RefCallback } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport interface SliderContextValue {\n state: SliderState;\n /** Pointer position converted to the value domain (not 0–100 percent). */\n pointerValue: number;\n thumbRef: RefCallback<HTMLElement>;\n thumbProps: SliderThumbProps;\n stateAttrMap: StateAttrMap<SliderState>;\n getAttrs: (state: SliderState) => object;\n formatValue?: ((value: number, type: 'current' | 'pointer') => string) | undefined;\n}\n\nconst SliderContext = createContext<SliderContextValue | null>(null);\n\ntype SliderProviderProps = ProviderProps<SliderContextValue>;\n\nexport function SliderProvider({ value, children }: SliderProviderProps) {\n return <SliderContext.Provider value={value}>{children}</SliderContext.Provider>;\n}\n\nexport function useSliderContext(): SliderContextValue {\n const ctx = useContext(SliderContext);\n if (!ctx) throw new Error('Slider compound components must be used within a Slider.Root');\n return ctx;\n}\n"],"mappings":";;;;AAkBA,MAAM,gBAAgB,cAAyC,KAAK;AAIpE,SAAgB,eAAe,EAAE,OAAO,YAAiC;AACvE,QAAO,oBAAC,cAAc,UAAf;EAA+B;EAAQ;EAAkC,CAAA;;AAGlF,SAAgB,mBAAuC;CACrD,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,+DAA+D;AACzF,QAAO"}
@@ -0,0 +1,2 @@
1
+ import { StatusAnnouncer, StatusAnnouncerProps } from "./status-announcer.js";
2
+ export { StatusAnnouncer, StatusAnnouncerProps };
@@ -0,0 +1,2 @@
1
+ import { StatusAnnouncer } from "./status-announcer.js";
2
+ export { StatusAnnouncer };
@@ -0,0 +1,14 @@
1
+ import { UIComponentProps } from "../../utils/types.js";
2
+ import * as _$react from "react";
3
+ import { StatusAnnouncerCore } from "@videojs/core";
4
+
5
+ //#region src/ui/status-announcer/status-announcer.d.ts
6
+ interface StatusAnnouncerProps extends UIComponentProps<'div', StatusAnnouncerCore.State>, StatusAnnouncerCore.Props {}
7
+ declare const StatusAnnouncer: _$react.ForwardRefExoticComponent<Omit<StatusAnnouncerProps, "ref"> & _$react.RefAttributes<HTMLDivElement>>;
8
+ declare namespace StatusAnnouncer {
9
+ type Props = StatusAnnouncerProps;
10
+ type State = StatusAnnouncerCore.State;
11
+ }
12
+ //#endregion
13
+ export { StatusAnnouncer, StatusAnnouncerProps };
14
+ //# sourceMappingURL=status-announcer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-announcer.d.ts","names":[],"sources":["../../../../src/ui/status-announcer/status-announcer.tsx"],"mappings":";;;;;UAWiB,oBAAA,SACP,gBAAA,QAAwB,mBAAA,CAAoB,KAAA,GAClD,mBAAA,CAAoB,KAAA;AAAA,cAEX,eAAA,EAAe,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,oBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAoCX,eAAA;EAAA,KACH,KAAA,GAAQ,oBAAA;EAAA,KACR,KAAA,GAAQ,mBAAA,CAAoB,KAAA;AAAA"}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { useDestroy } from "../../utils/use-destroy.js";
3
+ import { renderElement } from "../../utils/use-render.js";
4
+ import { useInputActionSubscription } from "../input-indicators/use-input-action-subscription.js";
5
+ import { forwardRef, useState, useSyncExternalStore } from "react";
6
+ import { StatusAnnouncerCore } from "@videojs/core";
7
+ //#region src/ui/status-announcer/status-announcer.tsx
8
+ const StatusAnnouncer = forwardRef(function StatusAnnouncer(componentProps, forwardedRef) {
9
+ const { render, className, style, closeDelay, labels, ...elementProps } = componentProps;
10
+ const [core] = useState(() => new StatusAnnouncerCore());
11
+ useDestroy(core);
12
+ core.setProps({
13
+ closeDelay,
14
+ labels
15
+ });
16
+ useInputActionSubscription((event, snapshot) => {
17
+ core.processEvent(event, snapshot);
18
+ });
19
+ const state = useSyncExternalStore((callback) => core.state.subscribe(callback), () => core.state.current, () => core.state.current);
20
+ return renderElement("div", {
21
+ render,
22
+ className,
23
+ style
24
+ }, {
25
+ state,
26
+ ref: forwardedRef,
27
+ props: [{
28
+ role: "status",
29
+ "aria-label": state.label ?? void 0
30
+ }, elementProps]
31
+ });
32
+ });
33
+ //#endregion
34
+ export { StatusAnnouncer };
35
+
36
+ //# sourceMappingURL=status-announcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-announcer.js","names":[],"sources":["../../../../src/ui/status-announcer/status-announcer.tsx"],"sourcesContent":["'use client';\n\nimport { StatusAnnouncerCore } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState, useSyncExternalStore } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { renderElement } from '../../utils/use-render';\nimport { useInputActionSubscription } from '../input-indicators/use-input-action-subscription';\n\nexport interface StatusAnnouncerProps\n extends UIComponentProps<'div', StatusAnnouncerCore.State>,\n StatusAnnouncerCore.Props {}\n\nexport const StatusAnnouncer = forwardRef(function StatusAnnouncer(\n componentProps: StatusAnnouncerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, closeDelay, labels, ...elementProps } = componentProps;\n const [core] = useState(() => new StatusAnnouncerCore());\n useDestroy(core);\n core.setProps({ closeDelay, labels });\n\n useInputActionSubscription((event, snapshot) => {\n core.processEvent(event, snapshot);\n });\n\n const state = useSyncExternalStore(\n (callback) => core.state.subscribe(callback),\n () => core.state.current,\n () => core.state.current\n );\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: forwardedRef,\n props: [\n {\n role: 'status',\n 'aria-label': state.label ?? undefined,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace StatusAnnouncer {\n export type Props = StatusAnnouncerProps;\n export type State = StatusAnnouncerCore.State;\n}\n"],"mappings":";;;;;;;AAeA,MAAa,kBAAkB,WAAW,SAAS,gBACjD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,YAAY,QAAQ,GAAG,iBAAiB;CAC1E,MAAM,CAAC,QAAQ,eAAe,IAAI,qBAAqB,CAAC;AACxD,YAAW,KAAK;AAChB,MAAK,SAAS;EAAE;EAAY;EAAQ,CAAC;AAErC,6BAA4B,OAAO,aAAa;AAC9C,OAAK,aAAa,OAAO,SAAS;GAClC;CAEF,MAAM,QAAQ,sBACX,aAAa,KAAK,MAAM,UAAU,SAAS,QACtC,KAAK,MAAM,eACX,KAAK,MAAM,QAClB;AAED,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,KAAK;EACL,OAAO,CACL;GACE,MAAM;GACN,cAAc,MAAM,SAAS,KAAA;GAC9B,EACD,aACD;EACF,CACF;EACD"}
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/ui/status-indicator/context.tsx
5
+ const StatusIndicatorContext = createContext(null);
6
+ function StatusIndicatorProvider({ value, children }) {
7
+ return /* @__PURE__ */ jsx(StatusIndicatorContext.Provider, {
8
+ value,
9
+ children
10
+ });
11
+ }
12
+ function useStatusIndicatorContext() {
13
+ const ctx = useContext(StatusIndicatorContext);
14
+ if (!ctx) throw new Error("StatusIndicator child compounds must be used within a StatusIndicator.Root");
15
+ return ctx;
16
+ }
17
+ //#endregion
18
+ export { StatusIndicatorProvider, useStatusIndicatorContext };
19
+
20
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/status-indicator/context.tsx"],"sourcesContent":["'use client';\n\nimport type { StatusIndicatorCore } from '@videojs/core';\nimport { createContext, type ProviderProps, useContext } from 'react';\n\nexport interface StatusIndicatorContextValue {\n state: StatusIndicatorCore.State;\n}\n\nconst StatusIndicatorContext = createContext<StatusIndicatorContextValue | null>(null);\n\nexport function StatusIndicatorProvider({ value, children }: ProviderProps<StatusIndicatorContextValue>) {\n return <StatusIndicatorContext.Provider value={value}>{children}</StatusIndicatorContext.Provider>;\n}\n\nexport function useStatusIndicatorContext(): StatusIndicatorContextValue {\n const ctx = useContext(StatusIndicatorContext);\n if (!ctx) throw new Error('StatusIndicator child compounds must be used within a StatusIndicator.Root');\n return ctx;\n}\n"],"mappings":";;;;AASA,MAAM,yBAAyB,cAAkD,KAAK;AAEtF,SAAgB,wBAAwB,EAAE,OAAO,YAAwD;AACvG,QAAO,oBAAC,uBAAuB,UAAxB;EAAwC;EAAQ;EAA2C,CAAA;;AAGpG,SAAgB,4BAAyD;CACvE,MAAM,MAAM,WAAW,uBAAuB;AAC9C,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,6EAA6E;AACvG,QAAO"}
@@ -0,0 +1,2 @@
1
+ import { index_parts_d_exports } from "./index.parts.js";
2
+ export { index_parts_d_exports as StatusIndicator };
@@ -0,0 +1,2 @@
1
+ import { index_parts_exports } from "./index.parts.js";
2
+ export { index_parts_exports as StatusIndicator };
@@ -0,0 +1,10 @@
1
+ import { StatusIndicatorRoot, StatusIndicatorRootProps } from "./status-indicator-root.js";
2
+ import { StatusIndicatorValue, StatusIndicatorValueProps } from "./status-indicator-value.js";
3
+
4
+ //#region src/ui/status-indicator/index.parts.d.ts
5
+ declare namespace index_parts_d_exports {
6
+ export { StatusIndicatorRoot as Root, StatusIndicatorRootProps as RootProps, StatusIndicatorValue as Value, StatusIndicatorValueProps as ValueProps };
7
+ }
8
+ //#endregion
9
+ export { index_parts_d_exports };
10
+ //# sourceMappingURL=index.parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.parts.d.ts","names":[],"sources":["../../../../src/ui/status-indicator/index.parts.ts"],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { StatusIndicatorRoot } from "./status-indicator-root.js";
3
+ import { StatusIndicatorValue } from "./status-indicator-value.js";
4
+ //#region src/ui/status-indicator/index.parts.ts
5
+ var index_parts_exports = /* @__PURE__ */ __exportAll({
6
+ Root: () => StatusIndicatorRoot,
7
+ Value: () => StatusIndicatorValue
8
+ });
9
+ //#endregion
10
+ export { index_parts_exports };
11
+
12
+ //# sourceMappingURL=index.parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/status-indicator/index.parts.ts"],"sourcesContent":["export {\n StatusIndicatorRoot as Root,\n type StatusIndicatorRootProps as RootProps,\n} from './status-indicator-root';\nexport {\n StatusIndicatorValue as Value,\n type StatusIndicatorValueProps as ValueProps,\n} from './status-indicator-value';\n"],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { UIComponentProps } from "../../utils/types.js";
2
+ import * as _$react from "react";
3
+ import { StatusIndicatorCore } from "@videojs/core";
4
+
5
+ //#region src/ui/status-indicator/status-indicator-root.d.ts
6
+ interface StatusIndicatorRootProps extends UIComponentProps<'div', StatusIndicatorCore.State>, StatusIndicatorCore.Props {}
7
+ declare const StatusIndicatorRoot: _$react.ForwardRefExoticComponent<Omit<StatusIndicatorRootProps, "ref"> & _$react.RefAttributes<HTMLDivElement>>;
8
+ declare namespace StatusIndicatorRoot {
9
+ type Props = StatusIndicatorRootProps;
10
+ type State = StatusIndicatorCore.State;
11
+ }
12
+ //#endregion
13
+ export { StatusIndicatorRoot, StatusIndicatorRootProps };
14
+ //# sourceMappingURL=status-indicator-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-indicator-root.d.ts","names":[],"sources":["../../../../src/ui/status-indicator/status-indicator-root.tsx"],"mappings":";;;;;UAWiB,wBAAA,SACP,gBAAA,QAAwB,mBAAA,CAAoB,KAAA,GAClD,mBAAA,CAAoB,KAAA;AAAA,cAEX,mBAAA,EAAmB,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,wBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBA6Bf,mBAAA;EAAA,KACH,KAAA,GAAQ,wBAAA;EAAA,KACR,KAAA,GAAQ,mBAAA,CAAoB,KAAA;AAAA"}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { renderElement } from "../../utils/use-render.js";
3
+ import { useInputIndicatorRoot } from "../input-indicators/use-input-indicator-root.js";
4
+ import { StatusIndicatorProvider } from "./context.js";
5
+ import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { StatusIndicatorCore, StatusIndicatorDataAttrs } from "@videojs/core";
8
+ //#region src/ui/status-indicator/status-indicator-root.tsx
9
+ const StatusIndicatorRoot = forwardRef(function StatusIndicatorRoot(componentProps, forwardedRef) {
10
+ const { render, className, style, actions, closeDelay, labels, ...elementProps } = componentProps;
11
+ const { elementRef, present, state } = useInputIndicatorRoot(() => new StatusIndicatorCore(), {
12
+ actions,
13
+ closeDelay,
14
+ labels
15
+ });
16
+ if (!present) return null;
17
+ return /* @__PURE__ */ jsx(StatusIndicatorProvider, {
18
+ value: { state },
19
+ children: renderElement("div", {
20
+ render,
21
+ className,
22
+ style
23
+ }, {
24
+ state,
25
+ stateAttrMap: StatusIndicatorDataAttrs,
26
+ ref: [forwardedRef, elementRef],
27
+ props: [elementProps]
28
+ })
29
+ });
30
+ });
31
+ //#endregion
32
+ export { StatusIndicatorRoot };
33
+
34
+ //# sourceMappingURL=status-indicator-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-indicator-root.js","names":[],"sources":["../../../../src/ui/status-indicator/status-indicator-root.tsx"],"sourcesContent":["'use client';\n\nimport { StatusIndicatorCore, StatusIndicatorDataAttrs } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useInputIndicatorRoot } from '../input-indicators/use-input-indicator-root';\nimport { StatusIndicatorProvider } from './context';\n\nexport interface StatusIndicatorRootProps\n extends UIComponentProps<'div', StatusIndicatorCore.State>,\n StatusIndicatorCore.Props {}\n\nexport const StatusIndicatorRoot = forwardRef(function StatusIndicatorRoot(\n componentProps: StatusIndicatorRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, actions, closeDelay, labels, ...elementProps } = componentProps;\n const { elementRef, present, state } = useInputIndicatorRoot(() => new StatusIndicatorCore(), {\n actions,\n closeDelay,\n labels,\n });\n\n if (!present) return null;\n\n return (\n <StatusIndicatorProvider value={{ state }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: StatusIndicatorDataAttrs,\n ref: [forwardedRef, elementRef],\n props: [elementProps],\n }\n )}\n </StatusIndicatorProvider>\n );\n});\n\nexport namespace StatusIndicatorRoot {\n export type Props = StatusIndicatorRootProps;\n export type State = StatusIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;AAeA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,SAAS,YAAY,QAAQ,GAAG,iBAAiB;CACnF,MAAM,EAAE,YAAY,SAAS,UAAU,4BAA4B,IAAI,qBAAqB,EAAE;EAC5F;EACA;EACA;EACD,CAAC;AAEF,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAAC,yBAAD;EAAyB,OAAO,EAAE,OAAO;YACtC,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,WAAW;GAC/B,OAAO,CAAC,aAAa;GACtB,CACF;EACuB,CAAA;EAE5B"}
@@ -0,0 +1,13 @@
1
+ import { UIComponentProps } from "../../utils/types.js";
2
+ import * as _$react from "react";
3
+ import { StatusIndicatorCore } from "@videojs/core";
4
+
5
+ //#region src/ui/status-indicator/status-indicator-value.d.ts
6
+ interface StatusIndicatorValueProps extends UIComponentProps<'span', StatusIndicatorCore.State> {}
7
+ declare const StatusIndicatorValue: _$react.ForwardRefExoticComponent<Omit<StatusIndicatorValueProps, "ref"> & _$react.RefAttributes<HTMLSpanElement>>;
8
+ declare namespace StatusIndicatorValue {
9
+ type Props = StatusIndicatorValueProps;
10
+ }
11
+ //#endregion
12
+ export { StatusIndicatorValue, StatusIndicatorValueProps };
13
+ //# sourceMappingURL=status-indicator-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-indicator-value.d.ts","names":[],"sources":["../../../../src/ui/status-indicator/status-indicator-value.tsx"],"mappings":";;;;;UAUiB,yBAAA,SAAkC,gBAAA,SAAyB,mBAAA,CAAoB,KAAA;AAAA,cAEnF,oBAAA,EAAoB,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,yBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,eAAA;AAAA,kBAkBhB,oBAAA;EAAA,KACH,KAAA,GAAQ,yBAAA;AAAA"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { renderElement } from "../../utils/use-render.js";
3
+ import { useStatusIndicatorContext } from "./context.js";
4
+ import { forwardRef } from "react";
5
+ import { getStatusIndicatorDisplayValue } from "@videojs/core";
6
+ //#region src/ui/status-indicator/status-indicator-value.tsx
7
+ const StatusIndicatorValue = forwardRef(function StatusIndicatorValue(componentProps, forwardedRef) {
8
+ const { render, className, style, ...elementProps } = componentProps;
9
+ const { state } = useStatusIndicatorContext();
10
+ return renderElement("span", {
11
+ render,
12
+ className,
13
+ style
14
+ }, {
15
+ state,
16
+ ref: forwardedRef,
17
+ props: [{ children: getStatusIndicatorDisplayValue(state) }, elementProps]
18
+ });
19
+ });
20
+ //#endregion
21
+ export { StatusIndicatorValue };
22
+
23
+ //# sourceMappingURL=status-indicator-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-indicator-value.js","names":[],"sources":["../../../../src/ui/status-indicator/status-indicator-value.tsx"],"sourcesContent":["'use client';\n\nimport { getStatusIndicatorDisplayValue, type StatusIndicatorCore } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useStatusIndicatorContext } from './context';\n\nexport interface StatusIndicatorValueProps extends UIComponentProps<'span', StatusIndicatorCore.State> {}\n\nexport const StatusIndicatorValue = forwardRef(function StatusIndicatorValue(\n componentProps: StatusIndicatorValueProps,\n forwardedRef: ForwardedRef<HTMLSpanElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const { state } = useStatusIndicatorContext();\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: forwardedRef,\n props: [{ children: getStatusIndicatorDisplayValue(state) }, elementProps],\n }\n );\n});\n\nexport namespace StatusIndicatorValue {\n export type Props = StatusIndicatorValueProps;\n}\n"],"mappings":";;;;;;AAYA,MAAa,uBAAuB,WAAW,SAAS,qBACtD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,EAAE,UAAU,2BAA2B;AAE7C,QAAO,cACL,QACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,KAAK;EACL,OAAO,CAAC,EAAE,UAAU,+BAA+B,MAAM,EAAE,EAAE,aAAa;EAC3E,CACF;EACD"}
@@ -1,4 +1,4 @@
1
- import { TooltipApi } from "@videojs/core/dom";
1
+ import { MediaContainer, PositioningBoundary, TooltipApi } from "@videojs/core/dom";
2
2
  import { StateAttrMap as StateAttrMap$1, TooltipCore } from "@videojs/core";
3
3
 
4
4
  //#region src/ui/tooltip/context.d.ts
@@ -11,6 +11,8 @@ interface TooltipContextValue {
11
11
  popupId: string;
12
12
  content: string | undefined;
13
13
  setContent: (content: string | undefined) => void;
14
+ boundary: PositioningBoundary;
15
+ container: MediaContainer | null;
14
16
  }
15
17
  declare function useTooltipContext(): TooltipContextValue;
16
18
  declare function useOptionalTooltipContext(): TooltipContextValue | null;
@@ -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;EACA,OAAA;EACA,UAAA,GAAa,OAAA;AAAA;AAAA,iBAOC,iBAAA,CAAA,GAAqB,mBAAA;AAAA,iBAMrB,yBAAA,CAAA,GAA6B,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;EACA,OAAA;EACA,UAAA,GAAa,OAAA;EACb,QAAA,EAAU,mBAAA;EACV,SAAA,EAAW,cAAA;AAAA;AAAA,iBAOG,iBAAA,CAAA,GAAqB,mBAAA;AAAA,iBAMrB,yBAAA,CAAA,GAA6B,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/tooltip/context.tsx"],"sourcesContent":["'use client';\n\nimport type { StateAttrMap, TooltipCore } from '@videojs/core';\nimport type { TooltipApi } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface TooltipContextValue {\n core: TooltipCore;\n tooltip: TooltipApi;\n state: TooltipCore.State;\n stateAttrMap: StateAttrMap<TooltipCore.State>;\n anchorName: string;\n popupId: string;\n content: string | undefined;\n setContent: (content: string | undefined) => void;\n}\n\nconst TooltipContext = createContext<TooltipContextValue | null>(null);\n\nexport const TooltipContextProvider = TooltipContext.Provider;\n\nexport function useTooltipContext(): TooltipContextValue {\n const ctx = useContext(TooltipContext);\n if (!ctx) throw new Error('Tooltip compound components must be used within a Tooltip.Root');\n return ctx;\n}\n\nexport function useOptionalTooltipContext(): TooltipContextValue | null {\n return useContext(TooltipContext);\n}\n"],"mappings":";;;AAiBA,MAAM,iBAAiB,cAA0C,KAAK;AAEtE,MAAa,yBAAyB,eAAe;AAErD,SAAgB,oBAAyC;CACvD,MAAM,MAAM,WAAW,eAAe;AACtC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,iEAAiE;AAC3F,QAAO;;AAGT,SAAgB,4BAAwD;AACtE,QAAO,WAAW,eAAe"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/tooltip/context.tsx"],"sourcesContent":["'use client';\n\nimport type { StateAttrMap, TooltipCore } from '@videojs/core';\nimport type { MediaContainer, PositioningBoundary, TooltipApi } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface TooltipContextValue {\n core: TooltipCore;\n tooltip: TooltipApi;\n state: TooltipCore.State;\n stateAttrMap: StateAttrMap<TooltipCore.State>;\n anchorName: string;\n popupId: string;\n content: string | undefined;\n setContent: (content: string | undefined) => void;\n boundary: PositioningBoundary;\n container: MediaContainer | null;\n}\n\nconst TooltipContext = createContext<TooltipContextValue | null>(null);\n\nexport const TooltipContextProvider = TooltipContext.Provider;\n\nexport function useTooltipContext(): TooltipContextValue {\n const ctx = useContext(TooltipContext);\n if (!ctx) throw new Error('Tooltip compound components must be used within a Tooltip.Root');\n return ctx;\n}\n\nexport function useOptionalTooltipContext(): TooltipContextValue | null {\n return useContext(TooltipContext);\n}\n"],"mappings":";;;AAmBA,MAAM,iBAAiB,cAA0C,KAAK;AAEtE,MAAa,yBAAyB,eAAe;AAErD,SAAgB,oBAAyC;CACvD,MAAM,MAAM,WAAW,eAAe;AACtC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,iEAAiE;AAC3F,QAAO;;AAGT,SAAgB,4BAAwD;AACtE,QAAO,WAAW,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-popup.d.ts","names":[],"sources":["../../../../src/ui/tooltip/tooltip-popup.tsx"],"mappings":";;;;;UAciB,iBAAA,SAA0B,gBAAA,QAAwB,YAAA;;cAKtD,YAAA,EAAY,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,iBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAoJR,YAAA;EAAA,KACH,KAAA,GAAQ,iBAAA;EAAA,KACR,KAAA,GAAQ,YAAA;AAAA"}
1
+ {"version":3,"file":"tooltip-popup.d.ts","names":[],"sources":["../../../../src/ui/tooltip/tooltip-popup.tsx"],"mappings":";;;;;UAqBiB,iBAAA,SAA0B,gBAAA,QAAwB,YAAA;;cAKtD,YAAA,EAAY,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,iBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA;AAAA,kBAgKR,YAAA;EAAA,KACH,KAAA,GAAQ,iBAAA;EAAA,KACR,KAAA,GAAQ,YAAA;AAAA"}
@@ -2,7 +2,7 @@
2
2
  import { useComposedRefs } from "../../utils/use-composed-refs.js";
3
3
  import { renderElement } from "../../utils/use-render.js";
4
4
  import { useTooltipContext } from "./context.js";
5
- import { getAnchorPositionStyle, getPopupPositionRect, resolveOffsets } from "@videojs/core/dom";
5
+ import { getAnchorPositionStyle, getPopupPositionRect, getPositioningBoundaryRect, isEventWithinElement, resolveOffsets, resolvePositioningBoundary } from "@videojs/core/dom";
6
6
  import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
7
7
  import { TooltipCSSVars } from "@videojs/core";
8
8
  import { supportsAnchorPositioning } from "@videojs/utils/dom";
@@ -14,7 +14,7 @@ const POPUP_RESET = {
14
14
  };
15
15
  /** Container for the tooltip content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */
16
16
  const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style, ...elementProps }, forwardedRef) {
17
- const { core, tooltip, state, stateAttrMap, anchorName, popupId, content } = useTooltipContext();
17
+ const { core, tooltip, state, stateAttrMap, anchorName, popupId, content, boundary, container } = useTooltipContext();
18
18
  const internalRef = useRef(null);
19
19
  const composedRef = useComposedRefs(forwardedRef, useCallback((el) => {
20
20
  tooltip.setPopupElement(el);
@@ -31,7 +31,6 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
31
31
  }, [anchorName, posOpts]);
32
32
  const [manualStyle, setManualStyle] = useState(null);
33
33
  useLayoutEffect(() => {
34
- if (supportsAnchorPositioning()) return;
35
34
  if (!state.open) {
36
35
  setManualStyle(null);
37
36
  return;
@@ -40,13 +39,24 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
40
39
  const triggerEl = tooltip.triggerElement;
41
40
  const popupEl = internalRef.current;
42
41
  if (!triggerEl || !popupEl) return;
43
- setManualStyle(getAnchorPositionStyle(anchorName, posOpts, triggerEl.getBoundingClientRect(), getPopupPositionRect(popupEl), document.documentElement.getBoundingClientRect(), resolveOffsets(popupEl, TooltipCSSVars), TooltipCSSVars));
42
+ const triggerRect = triggerEl.getBoundingClientRect();
43
+ const boundaryElement = resolvePositioningBoundary(boundary, {
44
+ container,
45
+ root: popupEl.getRootNode()
46
+ });
47
+ const { positionAnchor: _, ...nextStyle } = getAnchorPositionStyle(anchorName, posOpts, triggerRect, supportsAnchorPositioning() ? void 0 : getPopupPositionRect(popupEl), getPositioningBoundaryRect(boundaryElement), resolveOffsets(popupEl, TooltipCSSVars), TooltipCSSVars);
48
+ setManualStyle(nextStyle);
44
49
  }
45
50
  measure();
46
51
  const triggerEl = tooltip.triggerElement;
47
52
  const popupEl = internalRef.current;
53
+ const boundaryElement = popupEl ? resolvePositioningBoundary(boundary, {
54
+ container,
55
+ root: popupEl.getRootNode()
56
+ }) : null;
48
57
  let rafId = 0;
49
- function reposition() {
58
+ function reposition(event) {
59
+ if (event && isEventWithinElement(event, internalRef.current)) return;
50
60
  cancelAnimationFrame(rafId);
51
61
  rafId = requestAnimationFrame(measure);
52
62
  }
@@ -56,6 +66,7 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
56
66
  }) : null;
57
67
  if (triggerEl && resizeObserver) resizeObserver.observe(triggerEl);
58
68
  if (popupEl && resizeObserver) resizeObserver.observe(popupEl);
69
+ if (boundaryElement && resizeObserver) resizeObserver.observe(boundaryElement);
59
70
  window.addEventListener("scroll", reposition, {
60
71
  capture: true,
61
72
  passive: true
@@ -71,9 +82,11 @@ const TooltipPopup = forwardRef(function TooltipPopup({ render, className, style
71
82
  state.open,
72
83
  anchorName,
73
84
  posOpts,
74
- tooltip
85
+ tooltip,
86
+ boundary,
87
+ container
75
88
  ]);
76
- const positioningStyle = anchorStyle ?? manualStyle ?? POPUP_RESET;
89
+ const positioningStyle = manualStyle ?? anchorStyle ?? POPUP_RESET;
77
90
  if (!state.open) return null;
78
91
  const { onFocusOut, ...restPopupProps } = tooltip.popupProps;
79
92
  return renderElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-popup.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-popup.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\nimport { TooltipCSSVars } from '@videojs/core';\nimport { getAnchorPositionStyle, getPopupPositionRect, resolveOffsets } from '@videojs/core/dom';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipPopupProps extends UIComponentProps<'div', TooltipState> {}\n\nconst POPUP_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\n\n/** Container for the tooltip content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */\nexport const TooltipPopup = forwardRef<HTMLDivElement, TooltipPopupProps>(function TooltipPopup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, tooltip, state, stateAttrMap, anchorName, popupId, content } = useTooltipContext();\n const internalRef = useRef<HTMLDivElement>(null);\n\n const popupRef = useCallback(\n (el: HTMLDivElement | null) => {\n tooltip.setPopupElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [tooltip, anchorName]\n );\n\n const composedRef = useComposedRefs(forwardedRef, popupRef, internalRef);\n\n // --- Positioning ---\n\n const posOpts = useMemo(() => ({ side: state.side, align: state.align }), [state.side, state.align]);\n\n // CSS Anchor Positioning — computed from state, no measurement needed.\n // `position-anchor` is set imperatively in the ref callback above\n // because React's style prop silently drops unrecognised CSS properties.\n const anchorStyle = useMemo(() => {\n if (!supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(\n anchorName,\n posOpts,\n undefined,\n undefined,\n undefined,\n undefined,\n TooltipCSSVars\n );\n return rest as CSSProperties;\n }, [anchorName, posOpts]);\n\n // Manual fallback — measure rects after layout, before paint.\n const [manualStyle, setManualStyle] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (supportsAnchorPositioning()) return;\n if (!state.open) {\n setManualStyle(null);\n return;\n }\n\n function measure(): void {\n const triggerEl = tooltip.triggerElement;\n const popupEl = internalRef.current;\n if (!triggerEl || !popupEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popupRect = getPopupPositionRect(popupEl);\n const boundaryRect = document.documentElement.getBoundingClientRect();\n const offsets = resolveOffsets(popupEl, TooltipCSSVars);\n\n setManualStyle(\n getAnchorPositionStyle(\n anchorName,\n posOpts,\n triggerRect,\n popupRect,\n boundaryRect,\n offsets,\n TooltipCSSVars\n ) as CSSProperties\n );\n }\n\n measure();\n const triggerEl = tooltip.triggerElement;\n const popupEl = internalRef.current;\n\n let rafId = 0;\n function reposition(): void {\n cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(measure);\n }\n\n // Re-measure after the tooltip has entered the top layer and whenever\n // its own size or the trigger size changes.\n reposition();\n\n const resizeObserver =\n typeof ResizeObserver === 'function'\n ? new ResizeObserver(() => {\n reposition();\n })\n : null;\n\n if (triggerEl && resizeObserver) {\n resizeObserver.observe(triggerEl);\n }\n\n if (popupEl && resizeObserver) {\n resizeObserver.observe(popupEl);\n }\n\n window.addEventListener('scroll', reposition, { capture: true, passive: true });\n window.addEventListener('resize', reposition);\n\n return () => {\n cancelAnimationFrame(rafId);\n resizeObserver?.disconnect();\n window.removeEventListener('scroll', reposition, true);\n window.removeEventListener('resize', reposition);\n };\n }, [state.open, anchorName, posOpts, tooltip]);\n\n // Anchor path uses computed styles; manual path uses measured styles;\n // fallback resets UA [popover] defaults until positioning is computed.\n const positioningStyle = anchorStyle ?? manualStyle ?? POPUP_RESET;\n\n // --- Visibility ---\n\n if (!state.open) {\n return null;\n }\n\n // Remap DOM focus events to React synthetic event names.\n const { onFocusOut, ...restPopupProps } = tooltip.popupProps;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: composedRef,\n props: [\n {\n id: popupId,\n style: positioningStyle,\n ...core.getPopupAttrs(state),\n },\n // Forwarded content as default children — explicit children override.\n { children: content },\n { ...restPopupProps, onBlur: onFocusOut },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace TooltipPopup {\n export type Props = TooltipPopupProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAM,cAA6B;CAAE,UAAU;CAAS,OAAO;CAAQ,QAAQ;CAAG;;AAGlF,MAAa,eAAe,WAA8C,SAAS,aACjF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,MAAM,SAAS,OAAO,cAAc,YAAY,SAAS,YAAY,mBAAmB;CAChG,MAAM,cAAc,OAAuB,KAAK;CAYhD,MAAM,cAAc,gBAAgB,cAVnB,aACd,OAA8B;AAC7B,UAAQ,gBAAgB,GAAG;AAC3B,MAAI,MAAM,2BAA2B,CACnC,IAAG,MAAM,YAAY,mBAAmB,KAAK,aAAa;IAG9D,CAAC,SAAS,WAAW,CACtB,EAE2D,YAAY;CAIxE,MAAM,UAAU,eAAe;EAAE,MAAM,MAAM;EAAM,OAAO,MAAM;EAAO,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC;CAKpG,MAAM,cAAc,cAAc;AAChC,MAAI,CAAC,2BAA2B,CAAE,QAAO;EACzC,MAAM,EAAE,gBAAgB,GAAG,GAAG,SAAS,uBACrC,YACA,SACA,KAAA,GACA,KAAA,GACA,KAAA,GACA,KAAA,GACA,eACD;AACD,SAAO;IACN,CAAC,YAAY,QAAQ,CAAC;CAGzB,MAAM,CAAC,aAAa,kBAAkB,SAA+B,KAAK;AAE1E,uBAAsB;AACpB,MAAI,2BAA2B,CAAE;AACjC,MAAI,CAAC,MAAM,MAAM;AACf,kBAAe,KAAK;AACpB;;EAGF,SAAS,UAAgB;GACvB,MAAM,YAAY,QAAQ;GAC1B,MAAM,UAAU,YAAY;AAC5B,OAAI,CAAC,aAAa,CAAC,QAAS;AAO5B,kBACE,uBACE,YACA,SARgB,UAAU,uBAAuB,EACnC,qBAAqB,QAAQ,EAC1B,SAAS,gBAAgB,uBAAuB,EACrD,eAAe,SAAS,eAAe,EAUnD,eACD,CACF;;AAGH,WAAS;EACT,MAAM,YAAY,QAAQ;EAC1B,MAAM,UAAU,YAAY;EAE5B,IAAI,QAAQ;EACZ,SAAS,aAAmB;AAC1B,wBAAqB,MAAM;AAC3B,WAAQ,sBAAsB,QAAQ;;AAKxC,cAAY;EAEZ,MAAM,iBACJ,OAAO,mBAAmB,aACtB,IAAI,qBAAqB;AACvB,eAAY;IACZ,GACF;AAEN,MAAI,aAAa,eACf,gBAAe,QAAQ,UAAU;AAGnC,MAAI,WAAW,eACb,gBAAe,QAAQ,QAAQ;AAGjC,SAAO,iBAAiB,UAAU,YAAY;GAAE,SAAS;GAAM,SAAS;GAAM,CAAC;AAC/E,SAAO,iBAAiB,UAAU,WAAW;AAE7C,eAAa;AACX,wBAAqB,MAAM;AAC3B,mBAAgB,YAAY;AAC5B,UAAO,oBAAoB,UAAU,YAAY,KAAK;AACtD,UAAO,oBAAoB,UAAU,WAAW;;IAEjD;EAAC,MAAM;EAAM;EAAY;EAAS;EAAQ,CAAC;CAI9C,MAAM,mBAAmB,eAAe,eAAe;AAIvD,KAAI,CAAC,MAAM,KACT,QAAO;CAIT,MAAM,EAAE,YAAY,GAAG,mBAAmB,QAAQ;AAElD,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO;GACL;IACE,IAAI;IACJ,OAAO;IACP,GAAG,KAAK,cAAc,MAAM;IAC7B;GAED,EAAE,UAAU,SAAS;GACrB;IAAE,GAAG;IAAgB,QAAQ;IAAY;GACzC;GACD;EACF,CACF;EACD"}
1
+ {"version":3,"file":"tooltip-popup.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-popup.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\nimport { TooltipCSSVars } from '@videojs/core';\nimport {\n getAnchorPositionStyle,\n getPopupPositionRect,\n getPositioningBoundaryRect,\n isEventWithinElement,\n resolveOffsets,\n resolvePositioningBoundary,\n} from '@videojs/core/dom';\nimport { supportsAnchorPositioning } from '@videojs/utils/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipPopupProps extends UIComponentProps<'div', TooltipState> {}\n\nconst POPUP_RESET: CSSProperties = { position: 'fixed', inset: 'auto', margin: 0 };\n\n/** Container for the tooltip content. Positioned relative to the trigger using CSS anchor positioning with a JavaScript fallback. */\nexport const TooltipPopup = forwardRef<HTMLDivElement, TooltipPopupProps>(function TooltipPopup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, tooltip, state, stateAttrMap, anchorName, popupId, content, boundary, container } = useTooltipContext();\n const internalRef = useRef<HTMLDivElement>(null);\n\n const popupRef = useCallback(\n (el: HTMLDivElement | null) => {\n tooltip.setPopupElement(el);\n if (el && supportsAnchorPositioning()) {\n el.style.setProperty('position-anchor', `--${anchorName}`);\n }\n },\n [tooltip, anchorName]\n );\n\n const composedRef = useComposedRefs(forwardedRef, popupRef, internalRef);\n\n // --- Positioning ---\n\n const posOpts = useMemo(() => ({ side: state.side, align: state.align }), [state.side, state.align]);\n\n // CSS Anchor Positioning — computed from state, no measurement needed.\n // `position-anchor` is set imperatively in the ref callback above\n // because React's style prop silently drops unrecognised CSS properties.\n const anchorStyle = useMemo(() => {\n if (!supportsAnchorPositioning()) return null;\n const { positionAnchor: _, ...rest } = getAnchorPositionStyle(\n anchorName,\n posOpts,\n undefined,\n undefined,\n undefined,\n undefined,\n TooltipCSSVars\n );\n return rest as CSSProperties;\n }, [anchorName, posOpts]);\n\n // Manual fallback — measure rects after layout, before paint.\n const [manualStyle, setManualStyle] = useState<CSSProperties | null>(null);\n\n useLayoutEffect(() => {\n if (!state.open) {\n setManualStyle(null);\n return;\n }\n\n function measure(): void {\n const triggerEl = tooltip.triggerElement;\n const popupEl = internalRef.current;\n if (!triggerEl || !popupEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const root = popupEl.getRootNode() as Document | ShadowRoot;\n const boundaryElement = resolvePositioningBoundary(boundary, { container, root });\n const popupRect = supportsAnchorPositioning() ? undefined : getPopupPositionRect(popupEl);\n const boundaryRect = getPositioningBoundaryRect(boundaryElement);\n const offsets = resolveOffsets(popupEl, TooltipCSSVars);\n\n const { positionAnchor: _, ...nextStyle } = getAnchorPositionStyle(\n anchorName,\n posOpts,\n triggerRect,\n popupRect,\n boundaryRect,\n offsets,\n TooltipCSSVars\n );\n\n setManualStyle(nextStyle as CSSProperties);\n }\n\n measure();\n const triggerEl = tooltip.triggerElement;\n const popupEl = internalRef.current;\n const boundaryElement = popupEl\n ? resolvePositioningBoundary(boundary, {\n container,\n root: popupEl.getRootNode() as Document | ShadowRoot,\n })\n : null;\n\n let rafId = 0;\n function reposition(event?: Event): void {\n if (event && isEventWithinElement(event, internalRef.current)) return;\n\n cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(measure);\n }\n\n // Re-measure after the tooltip has entered the top layer and whenever\n // its own size or the trigger size changes.\n reposition();\n\n const resizeObserver =\n typeof ResizeObserver === 'function'\n ? new ResizeObserver(() => {\n reposition();\n })\n : null;\n\n if (triggerEl && resizeObserver) {\n resizeObserver.observe(triggerEl);\n }\n\n if (popupEl && resizeObserver) {\n resizeObserver.observe(popupEl);\n }\n if (boundaryElement && resizeObserver) {\n resizeObserver.observe(boundaryElement);\n }\n\n window.addEventListener('scroll', reposition, { capture: true, passive: true });\n window.addEventListener('resize', reposition);\n\n return () => {\n cancelAnimationFrame(rafId);\n resizeObserver?.disconnect();\n window.removeEventListener('scroll', reposition, true);\n window.removeEventListener('resize', reposition);\n };\n }, [state.open, anchorName, posOpts, tooltip, boundary, container]);\n\n // Anchor path uses computed styles; manual path uses measured styles;\n // fallback resets UA [popover] defaults until positioning is computed.\n const positioningStyle = manualStyle ?? anchorStyle ?? POPUP_RESET;\n\n // --- Visibility ---\n\n if (!state.open) {\n return null;\n }\n\n // Remap DOM focus events to React synthetic event names.\n const { onFocusOut, ...restPopupProps } = tooltip.popupProps;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: composedRef,\n props: [\n {\n id: popupId,\n style: positioningStyle,\n ...core.getPopupAttrs(state),\n },\n // Forwarded content as default children — explicit children override.\n { children: content },\n { ...restPopupProps, onBlur: onFocusOut },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace TooltipPopup {\n export type Props = TooltipPopupProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;;;;;AAuBA,MAAM,cAA6B;CAAE,UAAU;CAAS,OAAO;CAAQ,QAAQ;CAAG;;AAGlF,MAAa,eAAe,WAA8C,SAAS,aACjF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,MAAM,SAAS,OAAO,cAAc,YAAY,SAAS,SAAS,UAAU,cAAc,mBAAmB;CACrH,MAAM,cAAc,OAAuB,KAAK;CAYhD,MAAM,cAAc,gBAAgB,cAVnB,aACd,OAA8B;AAC7B,UAAQ,gBAAgB,GAAG;AAC3B,MAAI,MAAM,2BAA2B,CACnC,IAAG,MAAM,YAAY,mBAAmB,KAAK,aAAa;IAG9D,CAAC,SAAS,WAAW,CACtB,EAE2D,YAAY;CAIxE,MAAM,UAAU,eAAe;EAAE,MAAM,MAAM;EAAM,OAAO,MAAM;EAAO,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC;CAKpG,MAAM,cAAc,cAAc;AAChC,MAAI,CAAC,2BAA2B,CAAE,QAAO;EACzC,MAAM,EAAE,gBAAgB,GAAG,GAAG,SAAS,uBACrC,YACA,SACA,KAAA,GACA,KAAA,GACA,KAAA,GACA,KAAA,GACA,eACD;AACD,SAAO;IACN,CAAC,YAAY,QAAQ,CAAC;CAGzB,MAAM,CAAC,aAAa,kBAAkB,SAA+B,KAAK;AAE1E,uBAAsB;AACpB,MAAI,CAAC,MAAM,MAAM;AACf,kBAAe,KAAK;AACpB;;EAGF,SAAS,UAAgB;GACvB,MAAM,YAAY,QAAQ;GAC1B,MAAM,UAAU,YAAY;AAC5B,OAAI,CAAC,aAAa,CAAC,QAAS;GAE5B,MAAM,cAAc,UAAU,uBAAuB;GAErD,MAAM,kBAAkB,2BAA2B,UAAU;IAAE;IAAW,MAD7D,QAAQ,aAAa;IAC8C,CAAC;GAKjF,MAAM,EAAE,gBAAgB,GAAG,GAAG,cAAc,uBAC1C,YACA,SACA,aAPgB,2BAA2B,GAAG,KAAA,IAAY,qBAAqB,QAAQ,EACpE,2BAA2B,gBAAgB,EAChD,eAAe,SAAS,eAAe,EASrD,eACD;AAED,kBAAe,UAA2B;;AAG5C,WAAS;EACT,MAAM,YAAY,QAAQ;EAC1B,MAAM,UAAU,YAAY;EAC5B,MAAM,kBAAkB,UACpB,2BAA2B,UAAU;GACnC;GACA,MAAM,QAAQ,aAAa;GAC5B,CAAC,GACF;EAEJ,IAAI,QAAQ;EACZ,SAAS,WAAW,OAAqB;AACvC,OAAI,SAAS,qBAAqB,OAAO,YAAY,QAAQ,CAAE;AAE/D,wBAAqB,MAAM;AAC3B,WAAQ,sBAAsB,QAAQ;;AAKxC,cAAY;EAEZ,MAAM,iBACJ,OAAO,mBAAmB,aACtB,IAAI,qBAAqB;AACvB,eAAY;IACZ,GACF;AAEN,MAAI,aAAa,eACf,gBAAe,QAAQ,UAAU;AAGnC,MAAI,WAAW,eACb,gBAAe,QAAQ,QAAQ;AAEjC,MAAI,mBAAmB,eACrB,gBAAe,QAAQ,gBAAgB;AAGzC,SAAO,iBAAiB,UAAU,YAAY;GAAE,SAAS;GAAM,SAAS;GAAM,CAAC;AAC/E,SAAO,iBAAiB,UAAU,WAAW;AAE7C,eAAa;AACX,wBAAqB,MAAM;AAC3B,mBAAgB,YAAY;AAC5B,UAAO,oBAAoB,UAAU,YAAY,KAAK;AACtD,UAAO,oBAAoB,UAAU,WAAW;;IAEjD;EAAC,MAAM;EAAM;EAAY;EAAS;EAAS;EAAU;EAAU,CAAC;CAInE,MAAM,mBAAmB,eAAe,eAAe;AAIvD,KAAI,CAAC,MAAM,KACT,QAAO;CAIT,MAAM,EAAE,YAAY,GAAG,mBAAmB,QAAQ;AAElD,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO;GACL;IACE,IAAI;IACJ,OAAO;IACP,GAAG,KAAK,cAAc,MAAM;IAC7B;GAED,EAAE,UAAU,SAAS;GACrB;IAAE,GAAG;IAAgB,QAAQ;IAAY;GACzC;GACD;EACF,CACF;EACD"}
@@ -1,9 +1,11 @@
1
- import { TooltipChangeDetails } from "@videojs/core/dom";
1
+ import { PositioningBoundary, TooltipChangeDetails } from "@videojs/core/dom";
2
2
  import { ReactNode } from "react";
3
3
  import { TooltipProps } from "@videojs/core";
4
4
 
5
5
  //#region src/ui/tooltip/tooltip-root.d.ts
6
6
  interface TooltipRootProps extends TooltipProps {
7
+ /** Boundary used to constrain the popup size. */
8
+ boundary?: PositioningBoundary;
7
9
  /** Called when the tooltip open state changes (fires immediately, before animations). */
8
10
  onOpenChange?: (open: boolean, details: TooltipChangeDetails) => void;
9
11
  /** Called after open/close animations complete. */
@@ -19,6 +21,7 @@ declare function TooltipRoot({
19
21
  closeDelay,
20
22
  disableHoverablePopup,
21
23
  disabled,
24
+ boundary,
22
25
  children,
23
26
  ...coreProps
24
27
  }: TooltipRootProps): ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-root.d.ts","names":[],"sources":["../../../../src/ui/tooltip/tooltip-root.tsx"],"mappings":";;;;;UAciB,gBAAA,SAAyB,YAAA;;EAExC,YAAA,IAAgB,IAAA,WAAe,OAAA,EAAS,oBAAA;EAFR;EAIhC,oBAAA,IAAwB,IAAA;EACxB,QAAA,GAAW,SAAA;AAAA;AAAA,iBAGG,WAAA,CAAA;EACd,IAAA,EAAM,cAAA;EACN,WAAA;EACA,YAAA,EAAc,gBAAA;EACd,oBAAA,EAAsB,wBAAA;EACtB,KAAA;EACA,UAAA;EACA,qBAAA;EACA,QAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAmB,SAAA;AAAA,kBA4EL,WAAA;EAAA,KACH,KAAA,GAAQ,gBAAA;AAAA"}
1
+ {"version":3,"file":"tooltip-root.d.ts","names":[],"sources":["../../../../src/ui/tooltip/tooltip-root.tsx"],"mappings":";;;;;UAqBiB,gBAAA,SAAyB,YAAA;;EAExC,QAAA,GAAW,mBAAA;EAFqB;EAIhC,YAAA,IAAgB,IAAA,WAAe,OAAA,EAAS,oBAAA;EAF7B;EAIX,oBAAA,IAAwB,IAAA;EACxB,QAAA,GAAW,SAAA;AAAA;AAAA,iBAGG,WAAA,CAAA;EACd,IAAA,EAAM,cAAA;EACN,WAAA;EACA,YAAA,EAAc,gBAAA;EACd,oBAAA,EAAsB,wBAAA;EACtB,KAAA;EACA,UAAA;EACA,qBAAA;EACA,QAAA;EACA,QAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,gBAAA,GAAmB,SAAA;AAAA,kBAgGL,WAAA;EAAA,KACH,KAAA,GAAQ,gBAAA;AAAA"}