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

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 (1797) hide show
  1. package/dist/default/i18n/context.js +36 -0
  2. package/dist/default/i18n/context.js.map +1 -0
  3. package/dist/default/i18n/create-i18n.js +76 -0
  4. package/dist/default/i18n/create-i18n.js.map +1 -0
  5. package/dist/default/i18n/get-provider-root-props.js +40 -0
  6. package/dist/default/i18n/get-provider-root-props.js.map +1 -0
  7. package/dist/default/i18n/index.js +5 -0
  8. package/dist/default/i18n/locales/all/register.js +8 -0
  9. package/dist/default/i18n/locales/all/register.js.map +1 -0
  10. package/dist/default/i18n/locales/all.js +2 -0
  11. package/dist/default/i18n/locales/ar/register.js +8 -0
  12. package/dist/default/i18n/locales/ar/register.js.map +1 -0
  13. package/dist/default/i18n/locales/ar.js +2 -0
  14. package/dist/default/i18n/locales/az/register.js +8 -0
  15. package/dist/default/i18n/locales/az/register.js.map +1 -0
  16. package/dist/default/i18n/locales/az.js +2 -0
  17. package/dist/default/i18n/locales/bg/register.js +8 -0
  18. package/dist/default/i18n/locales/bg/register.js.map +1 -0
  19. package/dist/default/i18n/locales/bg.js +2 -0
  20. package/dist/default/i18n/locales/bn/register.js +8 -0
  21. package/dist/default/i18n/locales/bn/register.js.map +1 -0
  22. package/dist/default/i18n/locales/bn.js +2 -0
  23. package/dist/default/i18n/locales/bs/register.js +8 -0
  24. package/dist/default/i18n/locales/bs/register.js.map +1 -0
  25. package/dist/default/i18n/locales/bs.js +2 -0
  26. package/dist/default/i18n/locales/ca/register.js +8 -0
  27. package/dist/default/i18n/locales/ca/register.js.map +1 -0
  28. package/dist/default/i18n/locales/ca.js +2 -0
  29. package/dist/default/i18n/locales/cs/register.js +8 -0
  30. package/dist/default/i18n/locales/cs/register.js.map +1 -0
  31. package/dist/default/i18n/locales/cs.js +2 -0
  32. package/dist/default/i18n/locales/cy/register.js +8 -0
  33. package/dist/default/i18n/locales/cy/register.js.map +1 -0
  34. package/dist/default/i18n/locales/cy.js +2 -0
  35. package/dist/default/i18n/locales/da/register.js +8 -0
  36. package/dist/default/i18n/locales/da/register.js.map +1 -0
  37. package/dist/default/i18n/locales/da.js +2 -0
  38. package/dist/default/i18n/locales/de/register.js +8 -0
  39. package/dist/default/i18n/locales/de/register.js.map +1 -0
  40. package/dist/default/i18n/locales/de.js +2 -0
  41. package/dist/default/i18n/locales/el/register.js +8 -0
  42. package/dist/default/i18n/locales/el/register.js.map +1 -0
  43. package/dist/default/i18n/locales/el.js +2 -0
  44. package/dist/default/i18n/locales/en/register.js +8 -0
  45. package/dist/default/i18n/locales/en/register.js.map +1 -0
  46. package/dist/default/i18n/locales/en.js +2 -0
  47. package/dist/default/i18n/locales/es/register.js +8 -0
  48. package/dist/default/i18n/locales/es/register.js.map +1 -0
  49. package/dist/default/i18n/locales/es.js +2 -0
  50. package/dist/default/i18n/locales/et/register.js +8 -0
  51. package/dist/default/i18n/locales/et/register.js.map +1 -0
  52. package/dist/default/i18n/locales/et.js +2 -0
  53. package/dist/default/i18n/locales/eu/register.js +8 -0
  54. package/dist/default/i18n/locales/eu/register.js.map +1 -0
  55. package/dist/default/i18n/locales/eu.js +2 -0
  56. package/dist/default/i18n/locales/fa/register.js +8 -0
  57. package/dist/default/i18n/locales/fa/register.js.map +1 -0
  58. package/dist/default/i18n/locales/fa.js +2 -0
  59. package/dist/default/i18n/locales/fi/register.js +8 -0
  60. package/dist/default/i18n/locales/fi/register.js.map +1 -0
  61. package/dist/default/i18n/locales/fi.js +2 -0
  62. package/dist/default/i18n/locales/fr/register.js +8 -0
  63. package/dist/default/i18n/locales/fr/register.js.map +1 -0
  64. package/dist/default/i18n/locales/fr.js +2 -0
  65. package/dist/default/i18n/locales/gd/register.js +8 -0
  66. package/dist/default/i18n/locales/gd/register.js.map +1 -0
  67. package/dist/default/i18n/locales/gd.js +2 -0
  68. package/dist/default/i18n/locales/gl/register.js +8 -0
  69. package/dist/default/i18n/locales/gl/register.js.map +1 -0
  70. package/dist/default/i18n/locales/gl.js +2 -0
  71. package/dist/default/i18n/locales/he/register.js +8 -0
  72. package/dist/default/i18n/locales/he/register.js.map +1 -0
  73. package/dist/default/i18n/locales/he.js +2 -0
  74. package/dist/default/i18n/locales/hi/register.js +8 -0
  75. package/dist/default/i18n/locales/hi/register.js.map +1 -0
  76. package/dist/default/i18n/locales/hi.js +2 -0
  77. package/dist/default/i18n/locales/hr/register.js +8 -0
  78. package/dist/default/i18n/locales/hr/register.js.map +1 -0
  79. package/dist/default/i18n/locales/hr.js +2 -0
  80. package/dist/default/i18n/locales/hu/register.js +8 -0
  81. package/dist/default/i18n/locales/hu/register.js.map +1 -0
  82. package/dist/default/i18n/locales/hu.js +2 -0
  83. package/dist/default/i18n/locales/it/register.js +8 -0
  84. package/dist/default/i18n/locales/it/register.js.map +1 -0
  85. package/dist/default/i18n/locales/it.js +2 -0
  86. package/dist/default/i18n/locales/ja/register.js +8 -0
  87. package/dist/default/i18n/locales/ja/register.js.map +1 -0
  88. package/dist/default/i18n/locales/ja.js +2 -0
  89. package/dist/default/i18n/locales/ko/register.js +8 -0
  90. package/dist/default/i18n/locales/ko/register.js.map +1 -0
  91. package/dist/default/i18n/locales/ko.js +2 -0
  92. package/dist/default/i18n/locales/lv/register.js +8 -0
  93. package/dist/default/i18n/locales/lv/register.js.map +1 -0
  94. package/dist/default/i18n/locales/lv.js +2 -0
  95. package/dist/default/i18n/locales/mr/register.js +8 -0
  96. package/dist/default/i18n/locales/mr/register.js.map +1 -0
  97. package/dist/default/i18n/locales/mr.js +2 -0
  98. package/dist/default/i18n/locales/nb/register.js +8 -0
  99. package/dist/default/i18n/locales/nb/register.js.map +1 -0
  100. package/dist/default/i18n/locales/nb.js +2 -0
  101. package/dist/default/i18n/locales/ne/register.js +8 -0
  102. package/dist/default/i18n/locales/ne/register.js.map +1 -0
  103. package/dist/default/i18n/locales/ne.js +2 -0
  104. package/dist/default/i18n/locales/nl/register.js +8 -0
  105. package/dist/default/i18n/locales/nl/register.js.map +1 -0
  106. package/dist/default/i18n/locales/nl.js +2 -0
  107. package/dist/default/i18n/locales/nn/register.js +8 -0
  108. package/dist/default/i18n/locales/nn/register.js.map +1 -0
  109. package/dist/default/i18n/locales/nn.js +2 -0
  110. package/dist/default/i18n/locales/oc/register.js +8 -0
  111. package/dist/default/i18n/locales/oc/register.js.map +1 -0
  112. package/dist/default/i18n/locales/oc.js +2 -0
  113. package/dist/default/i18n/locales/pl/register.js +8 -0
  114. package/dist/default/i18n/locales/pl/register.js.map +1 -0
  115. package/dist/default/i18n/locales/pl.js +2 -0
  116. package/dist/default/i18n/locales/pt/register.js +8 -0
  117. package/dist/default/i18n/locales/pt/register.js.map +1 -0
  118. package/dist/default/i18n/locales/pt-BR/register.js +8 -0
  119. package/dist/default/i18n/locales/pt-BR/register.js.map +1 -0
  120. package/dist/default/i18n/locales/pt-BR.js +2 -0
  121. package/dist/default/i18n/locales/pt-PT/register.js +8 -0
  122. package/dist/default/i18n/locales/pt-PT/register.js.map +1 -0
  123. package/dist/default/i18n/locales/pt-PT.js +2 -0
  124. package/dist/default/i18n/locales/pt.js +2 -0
  125. package/dist/default/i18n/locales/ro/register.js +8 -0
  126. package/dist/default/i18n/locales/ro/register.js.map +1 -0
  127. package/dist/default/i18n/locales/ro.js +2 -0
  128. package/dist/default/i18n/locales/ru/register.js +8 -0
  129. package/dist/default/i18n/locales/ru/register.js.map +1 -0
  130. package/dist/default/i18n/locales/ru.js +2 -0
  131. package/dist/default/i18n/locales/sk/register.js +8 -0
  132. package/dist/default/i18n/locales/sk/register.js.map +1 -0
  133. package/dist/default/i18n/locales/sk.js +2 -0
  134. package/dist/default/i18n/locales/sl/register.js +8 -0
  135. package/dist/default/i18n/locales/sl/register.js.map +1 -0
  136. package/dist/default/i18n/locales/sl.js +2 -0
  137. package/dist/default/i18n/locales/sr/register.js +8 -0
  138. package/dist/default/i18n/locales/sr/register.js.map +1 -0
  139. package/dist/default/i18n/locales/sr.js +2 -0
  140. package/dist/default/i18n/locales/sv/register.js +8 -0
  141. package/dist/default/i18n/locales/sv/register.js.map +1 -0
  142. package/dist/default/i18n/locales/sv.js +2 -0
  143. package/dist/default/i18n/locales/te/register.js +8 -0
  144. package/dist/default/i18n/locales/te/register.js.map +1 -0
  145. package/dist/default/i18n/locales/te.js +2 -0
  146. package/dist/default/i18n/locales/th/register.js +8 -0
  147. package/dist/default/i18n/locales/th/register.js.map +1 -0
  148. package/dist/default/i18n/locales/th.js +2 -0
  149. package/dist/default/i18n/locales/tr/register.js +8 -0
  150. package/dist/default/i18n/locales/tr/register.js.map +1 -0
  151. package/dist/default/i18n/locales/tr.js +2 -0
  152. package/dist/default/i18n/locales/uk/register.js +8 -0
  153. package/dist/default/i18n/locales/uk/register.js.map +1 -0
  154. package/dist/default/i18n/locales/uk.js +2 -0
  155. package/dist/default/i18n/locales/vi/register.js +8 -0
  156. package/dist/default/i18n/locales/vi/register.js.map +1 -0
  157. package/dist/default/i18n/locales/vi.js +2 -0
  158. package/dist/default/i18n/locales/zh/register.js +8 -0
  159. package/dist/default/i18n/locales/zh/register.js.map +1 -0
  160. package/dist/default/i18n/locales/zh-CN/register.js +8 -0
  161. package/dist/default/i18n/locales/zh-CN/register.js.map +1 -0
  162. package/dist/default/i18n/locales/zh-CN.js +2 -0
  163. package/dist/default/i18n/locales/zh-TW/register.js +8 -0
  164. package/dist/default/i18n/locales/zh-TW/register.js.map +1 -0
  165. package/dist/default/i18n/locales/zh-TW.js +2 -0
  166. package/dist/default/i18n/locales/zh.js +2 -0
  167. package/dist/default/i18n/use-ambient-lang.js +15 -0
  168. package/dist/default/i18n/use-ambient-lang.js.map +1 -0
  169. package/dist/default/i18n/use-lang-root-element.js +28 -0
  170. package/dist/default/i18n/use-lang-root-element.js.map +1 -0
  171. package/dist/default/i18n/use-lazy-translations.js +37 -0
  172. package/dist/default/i18n/use-lazy-translations.js.map +1 -0
  173. package/dist/default/i18n/use-locale-root-notifications.js +27 -0
  174. package/dist/default/i18n/use-locale-root-notifications.js.map +1 -0
  175. package/dist/default/i18n/use-merged-translations.js +22 -0
  176. package/dist/default/i18n/use-merged-translations.js.map +1 -0
  177. package/dist/default/i18n/use-registry-epoch.js +14 -0
  178. package/dist/default/i18n/use-registry-epoch.js.map +1 -0
  179. package/dist/default/icons/dist/react/default/airplay-enter.js +16 -0
  180. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -0
  181. package/dist/default/icons/dist/react/default/airplay-exit.js +28 -0
  182. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -0
  183. package/dist/default/icons/dist/react/default/captions-off.js +5 -0
  184. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  185. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  186. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  187. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  188. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  189. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  190. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  191. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  192. package/dist/default/icons/dist/react/default/gear.js +16 -0
  193. package/dist/default/icons/dist/react/default/gear.js.map +1 -0
  194. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  195. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  196. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  197. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  198. package/dist/default/icons/dist/react/default/quality.js +16 -0
  199. package/dist/default/icons/dist/react/default/quality.js.map +1 -0
  200. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  201. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  202. package/dist/default/icons/dist/react/default/speech.js +19 -0
  203. package/dist/default/icons/dist/react/default/speech.js.map +1 -0
  204. package/dist/default/icons/dist/react/default/speed.js +52 -0
  205. package/dist/default/icons/dist/react/default/speed.js.map +1 -0
  206. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  207. package/dist/default/icons/dist/react/default/switches.js +19 -0
  208. package/dist/default/icons/dist/react/default/switches.js.map +1 -0
  209. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  210. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  211. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  212. package/dist/default/icons/dist/react/minimal/airplay-enter.js +16 -0
  213. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -0
  214. package/dist/default/icons/dist/react/minimal/airplay-exit.js +28 -0
  215. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -0
  216. package/dist/default/icons/dist/react/minimal/captions-off.js +5 -0
  217. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  218. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  219. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  220. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  221. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  222. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  223. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  224. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  225. package/dist/default/icons/dist/react/minimal/gear.js +16 -0
  226. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -0
  227. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  228. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  229. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  230. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  231. package/dist/default/icons/dist/react/minimal/quality.js +16 -0
  232. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -0
  233. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  234. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  235. package/dist/default/icons/dist/react/minimal/speech.js +54 -0
  236. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -0
  237. package/dist/default/icons/dist/react/minimal/speed.js +52 -0
  238. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -0
  239. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  240. package/dist/default/icons/dist/react/minimal/switches.js +19 -0
  241. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -0
  242. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  243. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  244. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  245. package/dist/default/icons/index.js +8 -1
  246. package/dist/default/icons/minimal/index.js +8 -1
  247. package/dist/default/index.js +28 -18
  248. package/dist/default/media/audio.js.map +1 -1
  249. package/dist/default/media/background-video/index.js +1 -25
  250. package/dist/default/media/background-video/media.js +26 -0
  251. package/dist/default/media/background-video/{index.js.map → media.js.map} +1 -1
  252. package/dist/default/media/dash-video/index.js +1 -20
  253. package/dist/default/media/dash-video/media.js +21 -0
  254. package/dist/default/media/dash-video/media.js.map +1 -0
  255. package/dist/default/media/google-cast/google-cast.js +28 -0
  256. package/dist/default/media/google-cast/google-cast.js.map +1 -0
  257. package/dist/default/media/google-cast/index.js +2 -0
  258. package/dist/default/media/hlsjs-video/index.js +2 -0
  259. package/dist/{dev/media/hls-video/index.js → default/media/hlsjs-video/media.js} +6 -6
  260. package/dist/default/media/hlsjs-video/media.js.map +1 -0
  261. package/dist/default/media/mux-audio/index.js +1 -20
  262. package/dist/default/media/mux-audio/media.js +26 -0
  263. package/dist/default/media/mux-audio/media.js.map +1 -0
  264. package/dist/default/media/mux-data/index.js +2 -0
  265. package/dist/default/media/mux-data/mux-data.js +37 -0
  266. package/dist/default/media/mux-data/mux-data.js.map +1 -0
  267. package/dist/default/media/mux-video/index.js +1 -20
  268. package/dist/default/media/mux-video/media.js +56 -0
  269. package/dist/default/media/mux-video/media.js.map +1 -0
  270. package/dist/default/media/native-hls-video/index.js +1 -20
  271. package/dist/default/media/native-hls-video/media.js +21 -0
  272. package/dist/default/media/native-hls-video/media.js.map +1 -0
  273. package/dist/default/media/simple-hls-audio-only/index.js +2 -0
  274. package/dist/default/media/simple-hls-audio-only/media.js +22 -0
  275. package/dist/default/media/simple-hls-audio-only/media.js.map +1 -0
  276. package/dist/default/media/simple-hls-video/index.js +1 -21
  277. package/dist/default/media/simple-hls-video/media.js +22 -0
  278. package/dist/default/media/simple-hls-video/media.js.map +1 -0
  279. package/dist/default/media/video.js.map +1 -1
  280. package/dist/default/media/vimeo-video/index.js +2 -0
  281. package/dist/default/media/vimeo-video/media.js +37 -0
  282. package/dist/default/media/vimeo-video/media.js.map +1 -0
  283. package/dist/default/player/container.js +41 -0
  284. package/dist/default/player/container.js.map +1 -0
  285. package/dist/default/player/context.js +2 -25
  286. package/dist/default/player/context.js.map +1 -1
  287. package/dist/default/player/create-player.js +15 -5
  288. package/dist/default/player/create-player.js.map +1 -1
  289. package/dist/default/presets/audio/minimal-skin.css +592 -232
  290. package/dist/default/presets/audio/minimal-skin.js +81 -53
  291. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  292. package/dist/default/presets/audio/minimal-skin.tailwind.js +82 -55
  293. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  294. package/dist/default/presets/audio/skin.css +618 -290
  295. package/dist/default/presets/audio/skin.js +81 -53
  296. package/dist/default/presets/audio/skin.js.map +1 -1
  297. package/dist/default/presets/audio/skin.tailwind.js +85 -58
  298. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  299. package/dist/default/presets/background/index.js +1 -1
  300. package/dist/default/presets/background/skin.js.map +1 -1
  301. package/dist/default/presets/live-audio/index.js +2 -2
  302. package/dist/default/presets/live-audio/minimal-skin.css +592 -232
  303. package/dist/default/presets/live-audio/minimal-skin.js +33 -24
  304. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  305. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +35 -27
  306. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  307. package/dist/default/presets/live-audio/skin.css +618 -290
  308. package/dist/default/presets/live-audio/skin.js +39 -26
  309. package/dist/default/presets/live-audio/skin.js.map +1 -1
  310. package/dist/default/presets/live-audio/skin.tailwind.js +35 -26
  311. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  312. package/dist/default/presets/live-video/minimal-skin.css +816 -426
  313. package/dist/default/presets/live-video/minimal-skin.js +121 -39
  314. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  315. package/dist/default/presets/live-video/minimal-skin.tailwind.js +123 -41
  316. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  317. package/dist/default/presets/live-video/skin.css +913 -506
  318. package/dist/default/presets/live-video/skin.js +156 -76
  319. package/dist/default/presets/live-video/skin.js.map +1 -1
  320. package/dist/default/presets/live-video/skin.tailwind.js +156 -77
  321. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  322. package/dist/default/presets/video/minimal-skin.css +816 -426
  323. package/dist/default/presets/video/minimal-skin.js +305 -108
  324. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  325. package/dist/default/presets/video/minimal-skin.tailwind.js +309 -113
  326. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  327. package/dist/default/presets/video/skin.css +913 -506
  328. package/dist/default/presets/video/skin.js +374 -161
  329. package/dist/default/presets/video/skin.js.map +1 -1
  330. package/dist/default/presets/video/skin.tailwind.js +342 -142
  331. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  332. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +24 -13
  333. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  334. package/dist/default/skins/dist/default/default/tailwind/components/badge.js +6 -0
  335. package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
  336. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -4
  337. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  338. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -2
  339. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  340. package/dist/default/skins/dist/default/default/tailwind/components/button.js +8 -3
  341. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  342. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  343. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  344. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  345. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  346. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  347. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  348. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +11 -11
  349. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
  350. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +30 -4
  351. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  352. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  353. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  354. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  355. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -3
  356. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  357. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +7 -1
  358. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  359. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
  360. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  361. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  362. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
  363. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  364. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +7 -5
  365. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  366. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  367. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  368. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
  369. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
  370. package/dist/default/skins/dist/default/default/tailwind/components/time.js +3 -3
  371. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  372. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +42 -25
  373. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  374. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +25 -13
  375. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  376. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
  377. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
  378. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  379. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  380. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  381. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  382. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +13 -3
  383. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  384. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  385. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  386. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  387. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  388. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  389. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +13 -13
  390. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
  391. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +29 -4
  392. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  393. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  394. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  395. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  396. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
  397. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  398. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
  399. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  400. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
  401. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  402. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  403. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  404. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  405. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +6 -4
  406. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  407. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
  408. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
  409. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  410. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  411. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +40 -23
  412. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  413. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +17 -2
  414. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  415. package/dist/default/tailwind.css +0 -24
  416. package/dist/default/ui/airplay-button/airplay-button.js +18 -0
  417. package/dist/default/ui/airplay-button/airplay-button.js.map +1 -0
  418. package/dist/default/ui/airplay-button/index.js +2 -0
  419. package/dist/default/ui/alert-dialog/alert-dialog-close.js +1 -1
  420. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  421. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  422. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +1 -1
  423. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  424. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  425. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  426. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  427. package/dist/default/ui/alert-dialog/index.parts.js +1 -1
  428. package/dist/default/ui/audio-track/index.js +2 -0
  429. package/dist/default/ui/audio-track/use-audio-track-options.js +40 -0
  430. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -0
  431. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  432. package/dist/default/ui/captions-button/captions-button.js +2 -1
  433. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  434. package/dist/default/ui/captions-radio-group/index.js +2 -0
  435. package/dist/default/ui/captions-radio-group/use-captions-options.js +48 -0
  436. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -0
  437. package/dist/default/ui/cast-button/cast-button.js +2 -1
  438. package/dist/default/ui/cast-button/cast-button.js.map +1 -1
  439. package/dist/default/ui/controls/context.js.map +1 -1
  440. package/dist/default/ui/controls/controls-group.js.map +1 -1
  441. package/dist/default/ui/controls/controls-root.js +5 -1
  442. package/dist/default/ui/controls/controls-root.js.map +1 -1
  443. package/dist/default/ui/controls/index.parts.js +1 -1
  444. package/dist/default/ui/create-context-part.js.map +1 -1
  445. package/dist/default/ui/create-media-button.js +41 -15
  446. package/dist/default/ui/create-media-button.js.map +1 -1
  447. package/dist/default/ui/error-dialog/context.js.map +1 -1
  448. package/dist/default/ui/error-dialog/error-dialog-close.js +36 -0
  449. package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -0
  450. package/dist/default/ui/error-dialog/error-dialog-description.js +8 -3
  451. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
  452. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
  453. package/dist/default/ui/error-dialog/error-dialog-title.js +30 -0
  454. package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -0
  455. package/dist/default/ui/error-dialog/index.parts.js +5 -5
  456. package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
  457. package/dist/default/ui/fullscreen-button/fullscreen-button.js +2 -1
  458. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  459. package/dist/default/ui/gesture/gesture.js.map +1 -1
  460. package/dist/default/ui/gesture/use-doubletap-gesture.js +1 -2
  461. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
  462. package/dist/default/ui/gesture/use-tap-gesture.js +1 -2
  463. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
  464. package/dist/default/ui/hooks/use-button.js.map +1 -1
  465. package/dist/default/ui/hooks/use-positioned-state.js +39 -0
  466. package/dist/default/ui/hooks/use-positioned-state.js.map +1 -0
  467. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  468. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  469. package/dist/default/ui/hotkey/use-hotkey-shortcut.js +28 -0
  470. package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
  471. package/dist/default/ui/hotkey/use-hotkey.js +1 -2
  472. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
  473. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -1
  474. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -1
  475. package/dist/default/ui/input-indicators/use-input-indicator-root.js +2 -2
  476. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -1
  477. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +7 -4
  478. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
  479. package/dist/default/ui/live-button/live-button.js +10 -6
  480. package/dist/default/ui/live-button/live-button.js.map +1 -1
  481. package/dist/default/ui/menu/context.js +16 -1
  482. package/dist/default/ui/menu/context.js.map +1 -1
  483. package/dist/default/ui/menu/index.parts.js +5 -3
  484. package/dist/default/ui/menu/index.parts.js.map +1 -1
  485. package/dist/default/ui/menu/menu-back.js +6 -3
  486. package/dist/default/ui/menu/menu-back.js.map +1 -1
  487. package/dist/default/ui/menu/menu-checkbox-item.js +1 -2
  488. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  489. package/dist/default/ui/menu/menu-content.js +44 -12
  490. package/dist/default/ui/menu/menu-content.js.map +1 -1
  491. package/dist/default/ui/menu/menu-group-label.js +29 -0
  492. package/dist/default/ui/menu/menu-group-label.js.map +1 -0
  493. package/dist/default/ui/menu/menu-group.js +7 -9
  494. package/dist/default/ui/menu/menu-group.js.map +1 -1
  495. package/dist/default/ui/menu/menu-item-indicator.js +1 -2
  496. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
  497. package/dist/default/ui/menu/menu-item-setting-provider.js +77 -0
  498. package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -0
  499. package/dist/default/ui/menu/menu-item-value.js +28 -0
  500. package/dist/default/ui/menu/menu-item-value.js.map +1 -0
  501. package/dist/default/ui/menu/menu-item.js +44 -23
  502. package/dist/default/ui/menu/menu-item.js.map +1 -1
  503. package/dist/default/ui/menu/menu-radio-group.js +6 -9
  504. package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
  505. package/dist/default/ui/menu/menu-radio-item.js +1 -2
  506. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  507. package/dist/default/ui/menu/menu-root.js +8 -3
  508. package/dist/default/ui/menu/menu-root.js.map +1 -1
  509. package/dist/default/ui/menu/menu-separator.js +1 -2
  510. package/dist/default/ui/menu/menu-separator.js.map +1 -1
  511. package/dist/default/ui/menu/menu-trigger.js +85 -29
  512. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  513. package/dist/default/ui/menu/menu-view.js.map +1 -1
  514. package/dist/default/ui/menu/use-menu-group.js +31 -0
  515. package/dist/default/ui/menu/use-menu-group.js.map +1 -0
  516. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  517. package/dist/default/ui/pip-button/pip-button.js +2 -1
  518. package/dist/default/ui/pip-button/pip-button.js.map +1 -1
  519. package/dist/default/ui/play-button/play-button.js.map +1 -1
  520. package/dist/default/ui/playback-rate/index.js +2 -0
  521. package/dist/default/ui/playback-rate/use-playback-rate-options.js +40 -0
  522. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -0
  523. package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -1
  524. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  525. package/dist/default/ui/popover/context.js.map +1 -1
  526. package/dist/default/ui/popover/index.parts.js +1 -1
  527. package/dist/default/ui/popover/popover-arrow.js.map +1 -1
  528. package/dist/default/ui/popover/popover-popup.js +21 -11
  529. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  530. package/dist/default/ui/popover/popover-root.js +6 -2
  531. package/dist/default/ui/popover/popover-root.js.map +1 -1
  532. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  533. package/dist/default/ui/poster/poster.js +17 -3
  534. package/dist/default/ui/poster/poster.js.map +1 -1
  535. package/dist/default/ui/quality/index.js +2 -0
  536. package/dist/default/ui/quality/use-quality-options.js +47 -0
  537. package/dist/default/ui/quality/use-quality-options.js.map +1 -0
  538. package/dist/default/ui/seek-button/seek-button.js +3 -1
  539. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  540. package/dist/default/ui/seek-indicator/context.js.map +1 -1
  541. package/dist/default/ui/seek-indicator/index.parts.js +1 -1
  542. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  543. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -1
  544. package/dist/default/ui/slider/context.js.map +1 -1
  545. package/dist/default/ui/slider/index.parts.js +1 -1
  546. package/dist/default/ui/slider/slider-buffer.js.map +1 -1
  547. package/dist/default/ui/slider/slider-fill.js.map +1 -1
  548. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  549. package/dist/default/ui/slider/slider-root.js +10 -1
  550. package/dist/default/ui/slider/slider-root.js.map +1 -1
  551. package/dist/default/ui/slider/slider-thumb.js.map +1 -1
  552. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  553. package/dist/default/ui/slider/slider-track.js.map +1 -1
  554. package/dist/default/ui/slider/slider-value.js.map +1 -1
  555. package/dist/default/ui/status-announcer/status-announcer.js +19 -10
  556. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  557. package/dist/default/ui/status-indicator/context.js.map +1 -1
  558. package/dist/default/ui/status-indicator/index.parts.js +1 -1
  559. package/dist/default/ui/status-indicator/status-indicator-root.js +4 -3
  560. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  561. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -1
  562. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  563. package/dist/default/ui/time/index.parts.js +1 -1
  564. package/dist/default/ui/time/time-group.js.map +1 -1
  565. package/dist/default/ui/time/time-separator.js.map +1 -1
  566. package/dist/default/ui/time/time-value.js +41 -5
  567. package/dist/default/ui/time/time-value.js.map +1 -1
  568. package/dist/default/ui/time-slider/index.parts.js +1 -1
  569. package/dist/default/ui/time-slider/time-slider-root.js +32 -7
  570. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  571. package/dist/default/ui/tooltip/context.js.map +1 -1
  572. package/dist/default/ui/tooltip/group-context.js.map +1 -1
  573. package/dist/default/ui/tooltip/index.parts.js +5 -1
  574. package/dist/default/ui/tooltip/index.parts.js.map +1 -1
  575. package/dist/default/ui/tooltip/tooltip-arrow.js +1 -1
  576. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
  577. package/dist/default/ui/tooltip/tooltip-label.js +24 -0
  578. package/dist/default/ui/tooltip/tooltip-label.js.map +1 -0
  579. package/dist/default/ui/tooltip/tooltip-popup.js +28 -14
  580. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  581. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  582. package/dist/default/ui/tooltip/tooltip-root.js +7 -3
  583. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  584. package/dist/default/ui/tooltip/tooltip-shortcut.js +25 -0
  585. package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -0
  586. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  587. package/dist/default/ui/volume-indicator/context.js.map +1 -1
  588. package/dist/default/ui/volume-indicator/index.parts.js +1 -1
  589. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  590. package/dist/default/ui/volume-indicator/volume-indicator-root.js +6 -2
  591. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  592. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -1
  593. package/dist/default/ui/volume-slider/index.parts.js +1 -1
  594. package/dist/default/ui/volume-slider/volume-slider-root.js +14 -2
  595. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  596. package/dist/default/utils/merge-props.js.map +1 -1
  597. package/dist/default/utils/use-attach-iframe.js +14 -0
  598. package/dist/default/utils/use-attach-iframe.js.map +1 -0
  599. package/dist/default/utils/use-attach-media.js.map +1 -1
  600. package/dist/default/utils/use-composed-refs.js.map +1 -1
  601. package/dist/default/utils/use-destroy.js.map +1 -1
  602. package/dist/default/utils/use-force-render.js.map +1 -1
  603. package/dist/default/utils/use-latest-ref.js.map +1 -1
  604. package/dist/default/utils/use-media-component.js +29 -0
  605. package/dist/default/utils/use-media-component.js.map +1 -0
  606. package/dist/default/utils/use-media-instance.js +11 -3
  607. package/dist/default/utils/use-media-instance.js.map +1 -1
  608. package/dist/default/utils/use-render.js +1 -1
  609. package/dist/default/utils/use-render.js.map +1 -1
  610. package/dist/default/utils/use-safe-id.js.map +1 -1
  611. package/dist/default/utils/use-sync-props.js +11 -2
  612. package/dist/default/utils/use-sync-props.js.map +1 -1
  613. package/dist/dev/i18n/context.d.ts +29 -0
  614. package/dist/dev/i18n/context.d.ts.map +1 -0
  615. package/dist/dev/i18n/context.js +36 -0
  616. package/dist/dev/i18n/context.js.map +1 -0
  617. package/dist/dev/i18n/create-i18n.d.ts +61 -0
  618. package/dist/dev/i18n/create-i18n.d.ts.map +1 -0
  619. package/dist/dev/i18n/create-i18n.js +76 -0
  620. package/dist/dev/i18n/create-i18n.js.map +1 -0
  621. package/dist/dev/i18n/get-provider-root-props.js +40 -0
  622. package/dist/dev/i18n/get-provider-root-props.js.map +1 -0
  623. package/dist/dev/i18n/index.d.ts +4 -0
  624. package/dist/dev/i18n/index.js +5 -0
  625. package/dist/dev/i18n/locales/all/register.d.ts +1 -0
  626. package/dist/dev/i18n/locales/all/register.js +8 -0
  627. package/dist/dev/i18n/locales/all/register.js.map +1 -0
  628. package/dist/dev/i18n/locales/all.d.ts +2 -0
  629. package/dist/dev/i18n/locales/all.js +2 -0
  630. package/dist/dev/i18n/locales/ar/register.d.ts +1 -0
  631. package/dist/dev/i18n/locales/ar/register.js +8 -0
  632. package/dist/dev/i18n/locales/ar/register.js.map +1 -0
  633. package/dist/dev/i18n/locales/ar.d.ts +2 -0
  634. package/dist/dev/i18n/locales/ar.js +2 -0
  635. package/dist/dev/i18n/locales/az/register.d.ts +1 -0
  636. package/dist/dev/i18n/locales/az/register.js +8 -0
  637. package/dist/dev/i18n/locales/az/register.js.map +1 -0
  638. package/dist/dev/i18n/locales/az.d.ts +2 -0
  639. package/dist/dev/i18n/locales/az.js +2 -0
  640. package/dist/dev/i18n/locales/bg/register.d.ts +1 -0
  641. package/dist/dev/i18n/locales/bg/register.js +8 -0
  642. package/dist/dev/i18n/locales/bg/register.js.map +1 -0
  643. package/dist/dev/i18n/locales/bg.d.ts +2 -0
  644. package/dist/dev/i18n/locales/bg.js +2 -0
  645. package/dist/dev/i18n/locales/bn/register.d.ts +1 -0
  646. package/dist/dev/i18n/locales/bn/register.js +8 -0
  647. package/dist/dev/i18n/locales/bn/register.js.map +1 -0
  648. package/dist/dev/i18n/locales/bn.d.ts +2 -0
  649. package/dist/dev/i18n/locales/bn.js +2 -0
  650. package/dist/dev/i18n/locales/bs/register.d.ts +1 -0
  651. package/dist/dev/i18n/locales/bs/register.js +8 -0
  652. package/dist/dev/i18n/locales/bs/register.js.map +1 -0
  653. package/dist/dev/i18n/locales/bs.d.ts +2 -0
  654. package/dist/dev/i18n/locales/bs.js +2 -0
  655. package/dist/dev/i18n/locales/ca/register.d.ts +1 -0
  656. package/dist/dev/i18n/locales/ca/register.js +8 -0
  657. package/dist/dev/i18n/locales/ca/register.js.map +1 -0
  658. package/dist/dev/i18n/locales/ca.d.ts +2 -0
  659. package/dist/dev/i18n/locales/ca.js +2 -0
  660. package/dist/dev/i18n/locales/cs/register.d.ts +1 -0
  661. package/dist/dev/i18n/locales/cs/register.js +8 -0
  662. package/dist/dev/i18n/locales/cs/register.js.map +1 -0
  663. package/dist/dev/i18n/locales/cs.d.ts +2 -0
  664. package/dist/dev/i18n/locales/cs.js +2 -0
  665. package/dist/dev/i18n/locales/cy/register.d.ts +1 -0
  666. package/dist/dev/i18n/locales/cy/register.js +8 -0
  667. package/dist/dev/i18n/locales/cy/register.js.map +1 -0
  668. package/dist/dev/i18n/locales/cy.d.ts +2 -0
  669. package/dist/dev/i18n/locales/cy.js +2 -0
  670. package/dist/dev/i18n/locales/da/register.d.ts +1 -0
  671. package/dist/dev/i18n/locales/da/register.js +8 -0
  672. package/dist/dev/i18n/locales/da/register.js.map +1 -0
  673. package/dist/dev/i18n/locales/da.d.ts +2 -0
  674. package/dist/dev/i18n/locales/da.js +2 -0
  675. package/dist/dev/i18n/locales/de/register.d.ts +1 -0
  676. package/dist/dev/i18n/locales/de/register.js +8 -0
  677. package/dist/dev/i18n/locales/de/register.js.map +1 -0
  678. package/dist/dev/i18n/locales/de.d.ts +2 -0
  679. package/dist/dev/i18n/locales/de.js +2 -0
  680. package/dist/dev/i18n/locales/el/register.d.ts +1 -0
  681. package/dist/dev/i18n/locales/el/register.js +8 -0
  682. package/dist/dev/i18n/locales/el/register.js.map +1 -0
  683. package/dist/dev/i18n/locales/el.d.ts +2 -0
  684. package/dist/dev/i18n/locales/el.js +2 -0
  685. package/dist/dev/i18n/locales/en/register.d.ts +1 -0
  686. package/dist/dev/i18n/locales/en/register.js +8 -0
  687. package/dist/dev/i18n/locales/en/register.js.map +1 -0
  688. package/dist/dev/i18n/locales/en.d.ts +2 -0
  689. package/dist/dev/i18n/locales/en.js +2 -0
  690. package/dist/dev/i18n/locales/es/register.d.ts +1 -0
  691. package/dist/dev/i18n/locales/es/register.js +8 -0
  692. package/dist/dev/i18n/locales/es/register.js.map +1 -0
  693. package/dist/dev/i18n/locales/es.d.ts +2 -0
  694. package/dist/dev/i18n/locales/es.js +2 -0
  695. package/dist/dev/i18n/locales/et/register.d.ts +1 -0
  696. package/dist/dev/i18n/locales/et/register.js +8 -0
  697. package/dist/dev/i18n/locales/et/register.js.map +1 -0
  698. package/dist/dev/i18n/locales/et.d.ts +2 -0
  699. package/dist/dev/i18n/locales/et.js +2 -0
  700. package/dist/dev/i18n/locales/eu/register.d.ts +1 -0
  701. package/dist/dev/i18n/locales/eu/register.js +8 -0
  702. package/dist/dev/i18n/locales/eu/register.js.map +1 -0
  703. package/dist/dev/i18n/locales/eu.d.ts +2 -0
  704. package/dist/dev/i18n/locales/eu.js +2 -0
  705. package/dist/dev/i18n/locales/fa/register.d.ts +1 -0
  706. package/dist/dev/i18n/locales/fa/register.js +8 -0
  707. package/dist/dev/i18n/locales/fa/register.js.map +1 -0
  708. package/dist/dev/i18n/locales/fa.d.ts +2 -0
  709. package/dist/dev/i18n/locales/fa.js +2 -0
  710. package/dist/dev/i18n/locales/fi/register.d.ts +1 -0
  711. package/dist/dev/i18n/locales/fi/register.js +8 -0
  712. package/dist/dev/i18n/locales/fi/register.js.map +1 -0
  713. package/dist/dev/i18n/locales/fi.d.ts +2 -0
  714. package/dist/dev/i18n/locales/fi.js +2 -0
  715. package/dist/dev/i18n/locales/fr/register.d.ts +1 -0
  716. package/dist/dev/i18n/locales/fr/register.js +8 -0
  717. package/dist/dev/i18n/locales/fr/register.js.map +1 -0
  718. package/dist/dev/i18n/locales/fr.d.ts +2 -0
  719. package/dist/dev/i18n/locales/fr.js +2 -0
  720. package/dist/dev/i18n/locales/gd/register.d.ts +1 -0
  721. package/dist/dev/i18n/locales/gd/register.js +8 -0
  722. package/dist/dev/i18n/locales/gd/register.js.map +1 -0
  723. package/dist/dev/i18n/locales/gd.d.ts +2 -0
  724. package/dist/dev/i18n/locales/gd.js +2 -0
  725. package/dist/dev/i18n/locales/gl/register.d.ts +1 -0
  726. package/dist/dev/i18n/locales/gl/register.js +8 -0
  727. package/dist/dev/i18n/locales/gl/register.js.map +1 -0
  728. package/dist/dev/i18n/locales/gl.d.ts +2 -0
  729. package/dist/dev/i18n/locales/gl.js +2 -0
  730. package/dist/dev/i18n/locales/he/register.d.ts +1 -0
  731. package/dist/dev/i18n/locales/he/register.js +8 -0
  732. package/dist/dev/i18n/locales/he/register.js.map +1 -0
  733. package/dist/dev/i18n/locales/he.d.ts +2 -0
  734. package/dist/dev/i18n/locales/he.js +2 -0
  735. package/dist/dev/i18n/locales/hi/register.d.ts +1 -0
  736. package/dist/dev/i18n/locales/hi/register.js +8 -0
  737. package/dist/dev/i18n/locales/hi/register.js.map +1 -0
  738. package/dist/dev/i18n/locales/hi.d.ts +2 -0
  739. package/dist/dev/i18n/locales/hi.js +2 -0
  740. package/dist/dev/i18n/locales/hr/register.d.ts +1 -0
  741. package/dist/dev/i18n/locales/hr/register.js +8 -0
  742. package/dist/dev/i18n/locales/hr/register.js.map +1 -0
  743. package/dist/dev/i18n/locales/hr.d.ts +2 -0
  744. package/dist/dev/i18n/locales/hr.js +2 -0
  745. package/dist/dev/i18n/locales/hu/register.d.ts +1 -0
  746. package/dist/dev/i18n/locales/hu/register.js +8 -0
  747. package/dist/dev/i18n/locales/hu/register.js.map +1 -0
  748. package/dist/dev/i18n/locales/hu.d.ts +2 -0
  749. package/dist/dev/i18n/locales/hu.js +2 -0
  750. package/dist/dev/i18n/locales/it/register.d.ts +1 -0
  751. package/dist/dev/i18n/locales/it/register.js +8 -0
  752. package/dist/dev/i18n/locales/it/register.js.map +1 -0
  753. package/dist/dev/i18n/locales/it.d.ts +2 -0
  754. package/dist/dev/i18n/locales/it.js +2 -0
  755. package/dist/dev/i18n/locales/ja/register.d.ts +1 -0
  756. package/dist/dev/i18n/locales/ja/register.js +8 -0
  757. package/dist/dev/i18n/locales/ja/register.js.map +1 -0
  758. package/dist/dev/i18n/locales/ja.d.ts +2 -0
  759. package/dist/dev/i18n/locales/ja.js +2 -0
  760. package/dist/dev/i18n/locales/ko/register.d.ts +1 -0
  761. package/dist/dev/i18n/locales/ko/register.js +8 -0
  762. package/dist/dev/i18n/locales/ko/register.js.map +1 -0
  763. package/dist/dev/i18n/locales/ko.d.ts +2 -0
  764. package/dist/dev/i18n/locales/ko.js +2 -0
  765. package/dist/dev/i18n/locales/lv/register.d.ts +1 -0
  766. package/dist/dev/i18n/locales/lv/register.js +8 -0
  767. package/dist/dev/i18n/locales/lv/register.js.map +1 -0
  768. package/dist/dev/i18n/locales/lv.d.ts +2 -0
  769. package/dist/dev/i18n/locales/lv.js +2 -0
  770. package/dist/dev/i18n/locales/mr/register.d.ts +1 -0
  771. package/dist/dev/i18n/locales/mr/register.js +8 -0
  772. package/dist/dev/i18n/locales/mr/register.js.map +1 -0
  773. package/dist/dev/i18n/locales/mr.d.ts +2 -0
  774. package/dist/dev/i18n/locales/mr.js +2 -0
  775. package/dist/dev/i18n/locales/nb/register.d.ts +1 -0
  776. package/dist/dev/i18n/locales/nb/register.js +8 -0
  777. package/dist/dev/i18n/locales/nb/register.js.map +1 -0
  778. package/dist/dev/i18n/locales/nb.d.ts +2 -0
  779. package/dist/dev/i18n/locales/nb.js +2 -0
  780. package/dist/dev/i18n/locales/ne/register.d.ts +1 -0
  781. package/dist/dev/i18n/locales/ne/register.js +8 -0
  782. package/dist/dev/i18n/locales/ne/register.js.map +1 -0
  783. package/dist/dev/i18n/locales/ne.d.ts +2 -0
  784. package/dist/dev/i18n/locales/ne.js +2 -0
  785. package/dist/dev/i18n/locales/nl/register.d.ts +1 -0
  786. package/dist/dev/i18n/locales/nl/register.js +8 -0
  787. package/dist/dev/i18n/locales/nl/register.js.map +1 -0
  788. package/dist/dev/i18n/locales/nl.d.ts +2 -0
  789. package/dist/dev/i18n/locales/nl.js +2 -0
  790. package/dist/dev/i18n/locales/nn/register.d.ts +1 -0
  791. package/dist/dev/i18n/locales/nn/register.js +8 -0
  792. package/dist/dev/i18n/locales/nn/register.js.map +1 -0
  793. package/dist/dev/i18n/locales/nn.d.ts +2 -0
  794. package/dist/dev/i18n/locales/nn.js +2 -0
  795. package/dist/dev/i18n/locales/oc/register.d.ts +1 -0
  796. package/dist/dev/i18n/locales/oc/register.js +8 -0
  797. package/dist/dev/i18n/locales/oc/register.js.map +1 -0
  798. package/dist/dev/i18n/locales/oc.d.ts +2 -0
  799. package/dist/dev/i18n/locales/oc.js +2 -0
  800. package/dist/dev/i18n/locales/pl/register.d.ts +1 -0
  801. package/dist/dev/i18n/locales/pl/register.js +8 -0
  802. package/dist/dev/i18n/locales/pl/register.js.map +1 -0
  803. package/dist/dev/i18n/locales/pl.d.ts +2 -0
  804. package/dist/dev/i18n/locales/pl.js +2 -0
  805. package/dist/dev/i18n/locales/pt/register.d.ts +1 -0
  806. package/dist/dev/i18n/locales/pt/register.js +8 -0
  807. package/dist/dev/i18n/locales/pt/register.js.map +1 -0
  808. package/dist/dev/i18n/locales/pt-BR/register.d.ts +1 -0
  809. package/dist/dev/i18n/locales/pt-BR/register.js +8 -0
  810. package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -0
  811. package/dist/dev/i18n/locales/pt-BR.d.ts +2 -0
  812. package/dist/dev/i18n/locales/pt-BR.js +2 -0
  813. package/dist/dev/i18n/locales/pt-PT/register.d.ts +1 -0
  814. package/dist/dev/i18n/locales/pt-PT/register.js +8 -0
  815. package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -0
  816. package/dist/dev/i18n/locales/pt-PT.d.ts +2 -0
  817. package/dist/dev/i18n/locales/pt-PT.js +2 -0
  818. package/dist/dev/i18n/locales/pt.d.ts +2 -0
  819. package/dist/dev/i18n/locales/pt.js +2 -0
  820. package/dist/dev/i18n/locales/ro/register.d.ts +1 -0
  821. package/dist/dev/i18n/locales/ro/register.js +8 -0
  822. package/dist/dev/i18n/locales/ro/register.js.map +1 -0
  823. package/dist/dev/i18n/locales/ro.d.ts +2 -0
  824. package/dist/dev/i18n/locales/ro.js +2 -0
  825. package/dist/dev/i18n/locales/ru/register.d.ts +1 -0
  826. package/dist/dev/i18n/locales/ru/register.js +8 -0
  827. package/dist/dev/i18n/locales/ru/register.js.map +1 -0
  828. package/dist/dev/i18n/locales/ru.d.ts +2 -0
  829. package/dist/dev/i18n/locales/ru.js +2 -0
  830. package/dist/dev/i18n/locales/sk/register.d.ts +1 -0
  831. package/dist/dev/i18n/locales/sk/register.js +8 -0
  832. package/dist/dev/i18n/locales/sk/register.js.map +1 -0
  833. package/dist/dev/i18n/locales/sk.d.ts +2 -0
  834. package/dist/dev/i18n/locales/sk.js +2 -0
  835. package/dist/dev/i18n/locales/sl/register.d.ts +1 -0
  836. package/dist/dev/i18n/locales/sl/register.js +8 -0
  837. package/dist/dev/i18n/locales/sl/register.js.map +1 -0
  838. package/dist/dev/i18n/locales/sl.d.ts +2 -0
  839. package/dist/dev/i18n/locales/sl.js +2 -0
  840. package/dist/dev/i18n/locales/sr/register.d.ts +1 -0
  841. package/dist/dev/i18n/locales/sr/register.js +8 -0
  842. package/dist/dev/i18n/locales/sr/register.js.map +1 -0
  843. package/dist/dev/i18n/locales/sr.d.ts +2 -0
  844. package/dist/dev/i18n/locales/sr.js +2 -0
  845. package/dist/dev/i18n/locales/sv/register.d.ts +1 -0
  846. package/dist/dev/i18n/locales/sv/register.js +8 -0
  847. package/dist/dev/i18n/locales/sv/register.js.map +1 -0
  848. package/dist/dev/i18n/locales/sv.d.ts +2 -0
  849. package/dist/dev/i18n/locales/sv.js +2 -0
  850. package/dist/dev/i18n/locales/te/register.d.ts +1 -0
  851. package/dist/dev/i18n/locales/te/register.js +8 -0
  852. package/dist/dev/i18n/locales/te/register.js.map +1 -0
  853. package/dist/dev/i18n/locales/te.d.ts +2 -0
  854. package/dist/dev/i18n/locales/te.js +2 -0
  855. package/dist/dev/i18n/locales/th/register.d.ts +1 -0
  856. package/dist/dev/i18n/locales/th/register.js +8 -0
  857. package/dist/dev/i18n/locales/th/register.js.map +1 -0
  858. package/dist/dev/i18n/locales/th.d.ts +2 -0
  859. package/dist/dev/i18n/locales/th.js +2 -0
  860. package/dist/dev/i18n/locales/tr/register.d.ts +1 -0
  861. package/dist/dev/i18n/locales/tr/register.js +8 -0
  862. package/dist/dev/i18n/locales/tr/register.js.map +1 -0
  863. package/dist/dev/i18n/locales/tr.d.ts +2 -0
  864. package/dist/dev/i18n/locales/tr.js +2 -0
  865. package/dist/dev/i18n/locales/uk/register.d.ts +1 -0
  866. package/dist/dev/i18n/locales/uk/register.js +8 -0
  867. package/dist/dev/i18n/locales/uk/register.js.map +1 -0
  868. package/dist/dev/i18n/locales/uk.d.ts +2 -0
  869. package/dist/dev/i18n/locales/uk.js +2 -0
  870. package/dist/dev/i18n/locales/vi/register.d.ts +1 -0
  871. package/dist/dev/i18n/locales/vi/register.js +8 -0
  872. package/dist/dev/i18n/locales/vi/register.js.map +1 -0
  873. package/dist/dev/i18n/locales/vi.d.ts +2 -0
  874. package/dist/dev/i18n/locales/vi.js +2 -0
  875. package/dist/dev/i18n/locales/zh/register.d.ts +1 -0
  876. package/dist/dev/i18n/locales/zh/register.js +8 -0
  877. package/dist/dev/i18n/locales/zh/register.js.map +1 -0
  878. package/dist/dev/i18n/locales/zh-CN/register.d.ts +1 -0
  879. package/dist/dev/i18n/locales/zh-CN/register.js +8 -0
  880. package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -0
  881. package/dist/dev/i18n/locales/zh-CN.d.ts +2 -0
  882. package/dist/dev/i18n/locales/zh-CN.js +2 -0
  883. package/dist/dev/i18n/locales/zh-TW/register.d.ts +1 -0
  884. package/dist/dev/i18n/locales/zh-TW/register.js +8 -0
  885. package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -0
  886. package/dist/dev/i18n/locales/zh-TW.d.ts +2 -0
  887. package/dist/dev/i18n/locales/zh-TW.js +2 -0
  888. package/dist/dev/i18n/locales/zh.d.ts +2 -0
  889. package/dist/dev/i18n/locales/zh.js +2 -0
  890. package/dist/dev/i18n/use-ambient-lang.js +15 -0
  891. package/dist/dev/i18n/use-ambient-lang.js.map +1 -0
  892. package/dist/dev/i18n/use-lang-root-element.js +28 -0
  893. package/dist/dev/i18n/use-lang-root-element.js.map +1 -0
  894. package/dist/dev/i18n/use-lazy-translations.js +37 -0
  895. package/dist/dev/i18n/use-lazy-translations.js.map +1 -0
  896. package/dist/dev/i18n/use-locale-root-notifications.js +27 -0
  897. package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -0
  898. package/dist/dev/i18n/use-merged-translations.js +22 -0
  899. package/dist/dev/i18n/use-merged-translations.js.map +1 -0
  900. package/dist/dev/i18n/use-registry-epoch.js +14 -0
  901. package/dist/dev/i18n/use-registry-epoch.js.map +1 -0
  902. package/dist/dev/icons/dist/react/default/airplay-enter.js +16 -0
  903. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -0
  904. package/dist/dev/icons/dist/react/default/airplay-exit.js +28 -0
  905. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -0
  906. package/dist/dev/icons/dist/react/default/captions-off.js +5 -0
  907. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  908. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  909. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  910. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  911. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  912. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  913. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  914. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  915. package/dist/dev/icons/dist/react/default/gear.js +16 -0
  916. package/dist/dev/icons/dist/react/default/gear.js.map +1 -0
  917. package/dist/dev/icons/dist/react/default/index.d.ts +8 -1
  918. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -1
  919. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  920. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  921. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  922. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  923. package/dist/dev/icons/dist/react/default/quality.js +16 -0
  924. package/dist/dev/icons/dist/react/default/quality.js.map +1 -0
  925. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  926. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  927. package/dist/dev/icons/dist/react/default/speech.js +19 -0
  928. package/dist/dev/icons/dist/react/default/speech.js.map +1 -0
  929. package/dist/dev/icons/dist/react/default/speed.js +52 -0
  930. package/dist/dev/icons/dist/react/default/speed.js.map +1 -0
  931. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  932. package/dist/dev/icons/dist/react/default/switches.js +19 -0
  933. package/dist/dev/icons/dist/react/default/switches.js.map +1 -0
  934. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  935. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  936. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  937. package/dist/dev/icons/dist/react/minimal/airplay-enter.js +16 -0
  938. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -0
  939. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +28 -0
  940. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -0
  941. package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -0
  942. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  943. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  944. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  945. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  946. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  947. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  948. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  949. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  950. package/dist/dev/icons/dist/react/minimal/gear.js +16 -0
  951. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -0
  952. package/dist/dev/icons/dist/react/minimal/index.d.ts +8 -1
  953. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -1
  954. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  955. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  956. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  957. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  958. package/dist/dev/icons/dist/react/minimal/quality.js +16 -0
  959. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -0
  960. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  961. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  962. package/dist/dev/icons/dist/react/minimal/speech.js +54 -0
  963. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -0
  964. package/dist/dev/icons/dist/react/minimal/speed.js +52 -0
  965. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -0
  966. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  967. package/dist/dev/icons/dist/react/minimal/switches.js +19 -0
  968. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -0
  969. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  970. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  971. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  972. package/dist/dev/icons/index.d.ts +2 -2
  973. package/dist/dev/icons/index.js +8 -1
  974. package/dist/dev/icons/minimal/index.d.ts +2 -2
  975. package/dist/dev/icons/minimal/index.js +8 -1
  976. package/dist/dev/index.d.ts +43 -16
  977. package/dist/dev/index.js +28 -18
  978. package/dist/dev/media/audio.d.ts +1 -3
  979. package/dist/dev/media/audio.d.ts.map +1 -1
  980. package/dist/dev/media/audio.js.map +1 -1
  981. package/dist/dev/media/background-video/index.d.ts +2 -12
  982. package/dist/dev/media/background-video/index.js +1 -25
  983. package/dist/dev/media/background-video/media.d.ts +10 -0
  984. package/dist/dev/media/background-video/media.d.ts.map +1 -0
  985. package/dist/dev/media/background-video/media.js +26 -0
  986. package/dist/dev/media/background-video/{index.js.map → media.js.map} +1 -1
  987. package/dist/dev/media/dash-video/index.d.ts +2 -15
  988. package/dist/dev/media/dash-video/index.js +1 -20
  989. package/dist/dev/media/dash-video/media.d.ts +13 -0
  990. package/dist/dev/media/dash-video/media.d.ts.map +1 -0
  991. package/dist/dev/media/dash-video/media.js +21 -0
  992. package/dist/dev/media/dash-video/media.js.map +1 -0
  993. package/dist/dev/media/google-cast/google-cast.d.ts +26 -0
  994. package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -0
  995. package/dist/dev/media/google-cast/google-cast.js +28 -0
  996. package/dist/dev/media/google-cast/google-cast.js.map +1 -0
  997. package/dist/dev/media/google-cast/index.d.ts +2 -0
  998. package/dist/dev/media/google-cast/index.js +2 -0
  999. package/dist/dev/media/hlsjs-video/index.d.ts +2 -0
  1000. package/dist/dev/media/hlsjs-video/index.js +2 -0
  1001. package/dist/dev/media/hlsjs-video/media.d.ts +13 -0
  1002. package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -0
  1003. package/dist/{default/media/hls-video/index.js → dev/media/hlsjs-video/media.js} +6 -6
  1004. package/dist/dev/media/hlsjs-video/media.js.map +1 -0
  1005. package/dist/dev/media/mux-audio/index.d.ts +2 -15
  1006. package/dist/dev/media/mux-audio/index.js +1 -20
  1007. package/dist/dev/media/mux-audio/media.d.ts +14 -0
  1008. package/dist/dev/media/mux-audio/media.d.ts.map +1 -0
  1009. package/dist/dev/media/mux-audio/media.js +26 -0
  1010. package/dist/dev/media/mux-audio/media.js.map +1 -0
  1011. package/dist/dev/media/mux-data/index.d.ts +2 -0
  1012. package/dist/dev/media/mux-data/index.js +2 -0
  1013. package/dist/dev/media/mux-data/mux-data.d.ts +31 -0
  1014. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -0
  1015. package/dist/dev/media/mux-data/mux-data.js +37 -0
  1016. package/dist/dev/media/mux-data/mux-data.js.map +1 -0
  1017. package/dist/dev/media/mux-video/index.d.ts +2 -15
  1018. package/dist/dev/media/mux-video/index.js +1 -20
  1019. package/dist/dev/media/mux-video/media.d.ts +14 -0
  1020. package/dist/dev/media/mux-video/media.d.ts.map +1 -0
  1021. package/dist/dev/media/mux-video/media.js +56 -0
  1022. package/dist/dev/media/mux-video/media.js.map +1 -0
  1023. package/dist/dev/media/native-hls-video/index.d.ts +2 -15
  1024. package/dist/dev/media/native-hls-video/index.js +1 -20
  1025. package/dist/dev/media/native-hls-video/media.d.ts +13 -0
  1026. package/dist/dev/media/native-hls-video/media.d.ts.map +1 -0
  1027. package/dist/dev/media/native-hls-video/media.js +21 -0
  1028. package/dist/dev/media/native-hls-video/media.js.map +1 -0
  1029. package/dist/dev/media/simple-hls-audio-only/index.d.ts +2 -0
  1030. package/dist/dev/media/simple-hls-audio-only/index.js +2 -0
  1031. package/dist/dev/media/simple-hls-audio-only/media.d.ts +13 -0
  1032. package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +1 -0
  1033. package/dist/dev/media/simple-hls-audio-only/media.js +22 -0
  1034. package/dist/dev/media/simple-hls-audio-only/media.js.map +1 -0
  1035. package/dist/dev/media/simple-hls-video/index.d.ts +2 -15
  1036. package/dist/dev/media/simple-hls-video/index.js +1 -21
  1037. package/dist/dev/media/simple-hls-video/media.d.ts +13 -0
  1038. package/dist/dev/media/simple-hls-video/media.d.ts.map +1 -0
  1039. package/dist/dev/media/simple-hls-video/media.js +22 -0
  1040. package/dist/dev/media/simple-hls-video/media.js.map +1 -0
  1041. package/dist/dev/media/video.d.ts +1 -3
  1042. package/dist/dev/media/video.d.ts.map +1 -1
  1043. package/dist/dev/media/video.js.map +1 -1
  1044. package/dist/dev/media/vimeo-video/index.d.ts +2 -0
  1045. package/dist/dev/media/vimeo-video/index.js +2 -0
  1046. package/dist/dev/media/vimeo-video/media.d.ts +13 -0
  1047. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -0
  1048. package/dist/dev/media/vimeo-video/media.js +37 -0
  1049. package/dist/dev/media/vimeo-video/media.js.map +1 -0
  1050. package/dist/dev/player/container.d.ts +12 -0
  1051. package/dist/dev/player/container.d.ts.map +1 -0
  1052. package/dist/dev/player/container.js +41 -0
  1053. package/dist/dev/player/container.js.map +1 -0
  1054. package/dist/dev/player/context.d.ts +15 -16
  1055. package/dist/dev/player/context.d.ts.map +1 -1
  1056. package/dist/dev/player/context.js +2 -25
  1057. package/dist/dev/player/context.js.map +1 -1
  1058. package/dist/dev/player/create-player.d.ts +4 -4
  1059. package/dist/dev/player/create-player.d.ts.map +1 -1
  1060. package/dist/dev/player/create-player.js +15 -5
  1061. package/dist/dev/player/create-player.js.map +1 -1
  1062. package/dist/dev/presets/audio/minimal-skin.css +592 -232
  1063. package/dist/dev/presets/audio/minimal-skin.d.ts +0 -1
  1064. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  1065. package/dist/dev/presets/audio/minimal-skin.js +81 -53
  1066. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  1067. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts +0 -1
  1068. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  1069. package/dist/dev/presets/audio/minimal-skin.tailwind.js +82 -55
  1070. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  1071. package/dist/dev/presets/audio/skin.css +618 -290
  1072. package/dist/dev/presets/audio/skin.d.ts +0 -1
  1073. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  1074. package/dist/dev/presets/audio/skin.js +81 -53
  1075. package/dist/dev/presets/audio/skin.js.map +1 -1
  1076. package/dist/dev/presets/audio/skin.tailwind.d.ts +0 -1
  1077. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  1078. package/dist/dev/presets/audio/skin.tailwind.js +85 -58
  1079. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  1080. package/dist/dev/presets/background/index.d.ts +2 -1
  1081. package/dist/dev/presets/background/index.js +1 -1
  1082. package/dist/dev/presets/background/skin.d.ts +1 -3
  1083. package/dist/dev/presets/background/skin.d.ts.map +1 -1
  1084. package/dist/dev/presets/background/skin.js.map +1 -1
  1085. package/dist/dev/presets/live-audio/index.d.ts +2 -2
  1086. package/dist/dev/presets/live-audio/index.js +2 -2
  1087. package/dist/dev/presets/live-audio/minimal-skin.css +592 -232
  1088. package/dist/dev/presets/live-audio/minimal-skin.d.ts +0 -1
  1089. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  1090. package/dist/dev/presets/live-audio/minimal-skin.js +33 -24
  1091. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  1092. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts +0 -1
  1093. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  1094. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +35 -27
  1095. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  1096. package/dist/dev/presets/live-audio/skin.css +618 -290
  1097. package/dist/dev/presets/live-audio/skin.d.ts +4 -2
  1098. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  1099. package/dist/dev/presets/live-audio/skin.js +39 -26
  1100. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  1101. package/dist/dev/presets/live-audio/skin.tailwind.d.ts +0 -1
  1102. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  1103. package/dist/dev/presets/live-audio/skin.tailwind.js +35 -26
  1104. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  1105. package/dist/dev/presets/live-video/minimal-skin.css +816 -426
  1106. package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -8
  1107. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  1108. package/dist/dev/presets/live-video/minimal-skin.js +121 -39
  1109. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  1110. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts +0 -1
  1111. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  1112. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +123 -41
  1113. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  1114. package/dist/dev/presets/live-video/skin.css +913 -506
  1115. package/dist/dev/presets/live-video/skin.d.ts +0 -7
  1116. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  1117. package/dist/dev/presets/live-video/skin.js +156 -76
  1118. package/dist/dev/presets/live-video/skin.js.map +1 -1
  1119. package/dist/dev/presets/live-video/skin.tailwind.d.ts +0 -1
  1120. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  1121. package/dist/dev/presets/live-video/skin.tailwind.js +156 -77
  1122. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  1123. package/dist/dev/presets/types.d.ts +3 -1
  1124. package/dist/dev/presets/types.d.ts.map +1 -1
  1125. package/dist/dev/presets/video/minimal-skin.css +816 -426
  1126. package/dist/dev/presets/video/minimal-skin.d.ts +0 -1
  1127. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  1128. package/dist/dev/presets/video/minimal-skin.js +305 -108
  1129. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  1130. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +0 -1
  1131. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  1132. package/dist/dev/presets/video/minimal-skin.tailwind.js +309 -113
  1133. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  1134. package/dist/dev/presets/video/skin.css +913 -506
  1135. package/dist/dev/presets/video/skin.d.ts +0 -1
  1136. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  1137. package/dist/dev/presets/video/skin.js +374 -161
  1138. package/dist/dev/presets/video/skin.js.map +1 -1
  1139. package/dist/dev/presets/video/skin.tailwind.d.ts +0 -1
  1140. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  1141. package/dist/dev/presets/video/skin.tailwind.js +342 -142
  1142. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  1143. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +24 -13
  1144. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  1145. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +6 -0
  1146. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
  1147. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -4
  1148. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  1149. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +1 -2
  1150. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  1151. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +8 -3
  1152. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  1153. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  1154. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  1155. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  1156. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  1157. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  1158. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  1159. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +11 -11
  1160. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
  1161. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +30 -4
  1162. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  1163. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  1164. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  1165. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  1166. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -3
  1167. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  1168. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +7 -1
  1169. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  1170. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
  1171. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  1172. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  1173. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
  1174. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  1175. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +7 -5
  1176. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  1177. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  1178. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  1179. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
  1180. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
  1181. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +3 -3
  1182. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  1183. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +42 -25
  1184. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  1185. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +25 -13
  1186. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  1187. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
  1188. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
  1189. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  1190. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  1191. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  1192. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  1193. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +13 -3
  1194. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  1195. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  1196. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  1197. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  1198. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  1199. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  1200. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +13 -13
  1201. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
  1202. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +29 -4
  1203. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  1204. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  1205. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  1206. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  1207. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
  1208. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  1209. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
  1210. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  1211. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
  1212. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  1213. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  1214. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  1215. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  1216. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +6 -4
  1217. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  1218. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
  1219. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
  1220. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  1221. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  1222. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +40 -23
  1223. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  1224. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +17 -2
  1225. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  1226. package/dist/dev/tailwind.css +0 -24
  1227. package/dist/dev/ui/airplay-button/airplay-button.d.ts +13 -0
  1228. package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -0
  1229. package/dist/dev/ui/airplay-button/airplay-button.js +18 -0
  1230. package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -0
  1231. package/dist/dev/ui/airplay-button/index.d.ts +2 -0
  1232. package/dist/dev/ui/airplay-button/index.js +2 -0
  1233. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +1 -3
  1234. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -1
  1235. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +1 -1
  1236. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  1237. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +1 -3
  1238. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -1
  1239. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  1240. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +1 -3
  1241. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -1
  1242. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +1 -1
  1243. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  1244. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +1 -8
  1245. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
  1246. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  1247. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +1 -3
  1248. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -1
  1249. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  1250. package/dist/dev/ui/alert-dialog/context.d.ts +0 -1
  1251. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -1
  1252. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  1253. package/dist/dev/ui/alert-dialog/index.parts.d.ts +1 -3
  1254. package/dist/dev/ui/alert-dialog/index.parts.js +1 -1
  1255. package/dist/dev/ui/audio-track/index.d.ts +2 -0
  1256. package/dist/dev/ui/audio-track/index.js +2 -0
  1257. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +30 -0
  1258. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -0
  1259. package/dist/dev/ui/audio-track/use-audio-track-options.js +43 -0
  1260. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -0
  1261. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +1 -3
  1262. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  1263. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  1264. package/dist/dev/ui/captions-button/captions-button.d.ts +1 -3
  1265. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  1266. package/dist/dev/ui/captions-button/captions-button.js +2 -1
  1267. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  1268. package/dist/dev/ui/captions-radio-group/index.d.ts +2 -0
  1269. package/dist/dev/ui/captions-radio-group/index.js +2 -0
  1270. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +32 -0
  1271. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -0
  1272. package/dist/dev/ui/captions-radio-group/use-captions-options.js +51 -0
  1273. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -0
  1274. package/dist/dev/ui/cast-button/cast-button.d.ts +1 -3
  1275. package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -1
  1276. package/dist/dev/ui/cast-button/cast-button.js +2 -1
  1277. package/dist/dev/ui/cast-button/cast-button.js.map +1 -1
  1278. package/dist/dev/ui/controls/context.js.map +1 -1
  1279. package/dist/dev/ui/controls/controls-group.d.ts +1 -3
  1280. package/dist/dev/ui/controls/controls-group.d.ts.map +1 -1
  1281. package/dist/dev/ui/controls/controls-group.js.map +1 -1
  1282. package/dist/dev/ui/controls/controls-root.d.ts +1 -3
  1283. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
  1284. package/dist/dev/ui/controls/controls-root.js +5 -1
  1285. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  1286. package/dist/dev/ui/controls/index.parts.d.ts +1 -3
  1287. package/dist/dev/ui/controls/index.parts.js +1 -1
  1288. package/dist/dev/ui/create-context-part.js.map +1 -1
  1289. package/dist/dev/ui/create-media-button.js +43 -15
  1290. package/dist/dev/ui/create-media-button.js.map +1 -1
  1291. package/dist/dev/ui/error-dialog/context.d.ts +2 -3
  1292. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
  1293. package/dist/dev/ui/error-dialog/context.js.map +1 -1
  1294. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +12 -0
  1295. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -0
  1296. package/dist/dev/ui/error-dialog/error-dialog-close.js +36 -0
  1297. package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -0
  1298. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +1 -3
  1299. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
  1300. package/dist/dev/ui/error-dialog/error-dialog-description.js +8 -3
  1301. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
  1302. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -4
  1303. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
  1304. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
  1305. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +12 -0
  1306. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -0
  1307. package/dist/dev/ui/error-dialog/error-dialog-title.js +30 -0
  1308. package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -0
  1309. package/dist/dev/ui/error-dialog/index.parts.d.ts +4 -6
  1310. package/dist/dev/ui/error-dialog/index.parts.js +5 -5
  1311. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
  1312. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +1 -3
  1313. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  1314. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +2 -1
  1315. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  1316. package/dist/dev/ui/gesture/gesture.d.ts +1 -9
  1317. package/dist/dev/ui/gesture/gesture.d.ts.map +1 -1
  1318. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  1319. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +0 -1
  1320. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
  1321. package/dist/dev/ui/gesture/use-doubletap-gesture.js +1 -2
  1322. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
  1323. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +0 -1
  1324. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
  1325. package/dist/dev/ui/gesture/use-tap-gesture.js +1 -2
  1326. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
  1327. package/dist/dev/ui/hooks/use-button.d.ts +3 -3
  1328. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
  1329. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  1330. package/dist/dev/ui/hooks/use-positioned-state.js +39 -0
  1331. package/dist/dev/ui/hooks/use-positioned-state.js.map +1 -0
  1332. package/dist/dev/ui/hooks/use-slider.d.ts +1 -2
  1333. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  1334. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  1335. package/dist/dev/ui/hotkey/hotkey.d.ts +1 -8
  1336. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  1337. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  1338. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +6 -0
  1339. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -0
  1340. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +28 -0
  1341. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
  1342. package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
  1343. package/dist/dev/ui/hotkey/use-hotkey.js +1 -2
  1344. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
  1345. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -1
  1346. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -1
  1347. package/dist/dev/ui/input-indicators/use-input-indicator-root.js +2 -2
  1348. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -1
  1349. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +7 -4
  1350. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
  1351. package/dist/dev/ui/live-button/live-button.d.ts +2 -5
  1352. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
  1353. package/dist/dev/ui/live-button/live-button.js +10 -6
  1354. package/dist/dev/ui/live-button/live-button.js.map +1 -1
  1355. package/dist/dev/ui/menu/context.d.ts +2 -1
  1356. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  1357. package/dist/dev/ui/menu/context.js +16 -1
  1358. package/dist/dev/ui/menu/context.js.map +1 -1
  1359. package/dist/dev/ui/menu/index.parts.d.ts +4 -5
  1360. package/dist/dev/ui/menu/index.parts.js +5 -3
  1361. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  1362. package/dist/dev/ui/menu/menu-back.d.ts +3 -4
  1363. package/dist/dev/ui/menu/menu-back.d.ts.map +1 -1
  1364. package/dist/dev/ui/menu/menu-back.js +6 -3
  1365. package/dist/dev/ui/menu/menu-back.js.map +1 -1
  1366. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +1 -3
  1367. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
  1368. package/dist/dev/ui/menu/menu-checkbox-item.js +1 -2
  1369. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  1370. package/dist/dev/ui/menu/menu-content.d.ts +1 -3
  1371. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  1372. package/dist/dev/ui/menu/menu-content.js +44 -12
  1373. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  1374. package/dist/dev/ui/menu/menu-group-label.d.ts +13 -0
  1375. package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -0
  1376. package/dist/dev/ui/menu/menu-group-label.js +29 -0
  1377. package/dist/dev/ui/menu/menu-group-label.js.map +1 -0
  1378. package/dist/dev/ui/menu/menu-group.d.ts +2 -7
  1379. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
  1380. package/dist/dev/ui/menu/menu-group.js +7 -9
  1381. package/dist/dev/ui/menu/menu-group.js.map +1 -1
  1382. package/dist/dev/ui/menu/menu-item-indicator.d.ts +1 -3
  1383. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
  1384. package/dist/dev/ui/menu/menu-item-indicator.js +1 -2
  1385. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
  1386. package/dist/dev/ui/menu/menu-item-setting-provider.js +77 -0
  1387. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -0
  1388. package/dist/dev/ui/menu/menu-item-type.d.ts +5 -0
  1389. package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -0
  1390. package/dist/dev/ui/menu/menu-item-value.d.ts +12 -0
  1391. package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -0
  1392. package/dist/dev/ui/menu/menu-item-value.js +28 -0
  1393. package/dist/dev/ui/menu/menu-item-value.js.map +1 -0
  1394. package/dist/dev/ui/menu/menu-item.d.ts +4 -3
  1395. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  1396. package/dist/dev/ui/menu/menu-item.js +44 -23
  1397. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  1398. package/dist/dev/ui/menu/menu-radio-group.d.ts +1 -5
  1399. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
  1400. package/dist/dev/ui/menu/menu-radio-group.js +6 -9
  1401. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
  1402. package/dist/dev/ui/menu/menu-radio-item.d.ts +1 -3
  1403. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  1404. package/dist/dev/ui/menu/menu-radio-item.js +1 -2
  1405. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  1406. package/dist/dev/ui/menu/menu-root.d.ts +1 -10
  1407. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  1408. package/dist/dev/ui/menu/menu-root.js +8 -3
  1409. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  1410. package/dist/dev/ui/menu/menu-separator.d.ts +1 -3
  1411. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
  1412. package/dist/dev/ui/menu/menu-separator.js +1 -2
  1413. package/dist/dev/ui/menu/menu-separator.js.map +1 -1
  1414. package/dist/dev/ui/menu/menu-trigger.d.ts +6 -5
  1415. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  1416. package/dist/dev/ui/menu/menu-trigger.js +85 -29
  1417. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  1418. package/dist/dev/ui/menu/menu-view.d.ts +1 -3
  1419. package/dist/dev/ui/menu/menu-view.d.ts.map +1 -1
  1420. package/dist/dev/ui/menu/menu-view.js.map +1 -1
  1421. package/dist/dev/ui/menu/use-menu-group.js +31 -0
  1422. package/dist/dev/ui/menu/use-menu-group.js.map +1 -0
  1423. package/dist/dev/ui/mute-button/mute-button.d.ts +1 -3
  1424. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  1425. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  1426. package/dist/dev/ui/pip-button/pip-button.d.ts +1 -3
  1427. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
  1428. package/dist/dev/ui/pip-button/pip-button.js +2 -1
  1429. package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
  1430. package/dist/dev/ui/play-button/play-button.d.ts +1 -3
  1431. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
  1432. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  1433. package/dist/dev/ui/playback-rate/index.d.ts +2 -0
  1434. package/dist/dev/ui/playback-rate/index.js +2 -0
  1435. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +33 -0
  1436. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -0
  1437. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +43 -0
  1438. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -0
  1439. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +1 -3
  1440. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  1441. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -1
  1442. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  1443. package/dist/dev/ui/popover/context.d.ts +2 -1
  1444. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  1445. package/dist/dev/ui/popover/context.js.map +1 -1
  1446. package/dist/dev/ui/popover/index.parts.d.ts +1 -3
  1447. package/dist/dev/ui/popover/index.parts.js +1 -1
  1448. package/dist/dev/ui/popover/popover-arrow.d.ts +1 -3
  1449. package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -1
  1450. package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
  1451. package/dist/dev/ui/popover/popover-popup.d.ts +1 -3
  1452. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  1453. package/dist/dev/ui/popover/popover-popup.js +21 -11
  1454. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  1455. package/dist/dev/ui/popover/popover-root.d.ts +1 -13
  1456. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  1457. package/dist/dev/ui/popover/popover-root.js +6 -2
  1458. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  1459. package/dist/dev/ui/popover/popover-trigger.d.ts +1 -3
  1460. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  1461. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  1462. package/dist/dev/ui/poster/poster.d.ts +1 -3
  1463. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  1464. package/dist/dev/ui/poster/poster.js +17 -3
  1465. package/dist/dev/ui/poster/poster.js.map +1 -1
  1466. package/dist/dev/ui/quality/index.d.ts +2 -0
  1467. package/dist/dev/ui/quality/index.js +2 -0
  1468. package/dist/dev/ui/quality/use-quality-options.d.ts +33 -0
  1469. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -0
  1470. package/dist/dev/ui/quality/use-quality-options.js +50 -0
  1471. package/dist/dev/ui/quality/use-quality-options.js.map +1 -0
  1472. package/dist/dev/ui/seek-button/seek-button.d.ts +1 -3
  1473. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
  1474. package/dist/dev/ui/seek-button/seek-button.js +3 -1
  1475. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  1476. package/dist/dev/ui/seek-indicator/context.js.map +1 -1
  1477. package/dist/dev/ui/seek-indicator/index.parts.d.ts +1 -3
  1478. package/dist/dev/ui/seek-indicator/index.parts.js +1 -1
  1479. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +1 -3
  1480. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
  1481. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  1482. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +1 -3
  1483. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -1
  1484. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -1
  1485. package/dist/dev/ui/slider/context.js.map +1 -1
  1486. package/dist/dev/ui/slider/index.parts.d.ts +1 -3
  1487. package/dist/dev/ui/slider/index.parts.js +1 -1
  1488. package/dist/dev/ui/slider/slider-buffer.d.ts +1 -3
  1489. package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -1
  1490. package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
  1491. package/dist/dev/ui/slider/slider-fill.d.ts +1 -3
  1492. package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -1
  1493. package/dist/dev/ui/slider/slider-fill.js.map +1 -1
  1494. package/dist/dev/ui/slider/slider-preview.d.ts +1 -3
  1495. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  1496. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  1497. package/dist/dev/ui/slider/slider-root.d.ts +1 -3
  1498. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  1499. package/dist/dev/ui/slider/slider-root.js +10 -1
  1500. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  1501. package/dist/dev/ui/slider/slider-thumb.d.ts +1 -3
  1502. package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -1
  1503. package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
  1504. package/dist/dev/ui/slider/slider-thumbnail.d.ts +1 -3
  1505. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
  1506. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  1507. package/dist/dev/ui/slider/slider-track.d.ts +1 -3
  1508. package/dist/dev/ui/slider/slider-track.d.ts.map +1 -1
  1509. package/dist/dev/ui/slider/slider-track.js.map +1 -1
  1510. package/dist/dev/ui/slider/slider-value.d.ts +1 -3
  1511. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  1512. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  1513. package/dist/dev/ui/status-announcer/status-announcer.d.ts +2 -4
  1514. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  1515. package/dist/dev/ui/status-announcer/status-announcer.js +19 -10
  1516. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  1517. package/dist/dev/ui/status-indicator/context.js.map +1 -1
  1518. package/dist/dev/ui/status-indicator/index.parts.d.ts +1 -3
  1519. package/dist/dev/ui/status-indicator/index.parts.js +1 -1
  1520. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +2 -4
  1521. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  1522. package/dist/dev/ui/status-indicator/status-indicator-root.js +4 -3
  1523. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  1524. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +1 -3
  1525. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -1
  1526. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -1
  1527. package/dist/dev/ui/thumbnail/thumbnail.d.ts +1 -3
  1528. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  1529. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  1530. package/dist/dev/ui/time/index.parts.d.ts +1 -3
  1531. package/dist/dev/ui/time/index.parts.js +1 -1
  1532. package/dist/dev/ui/time/time-group.d.ts +1 -3
  1533. package/dist/dev/ui/time/time-group.d.ts.map +1 -1
  1534. package/dist/dev/ui/time/time-group.js.map +1 -1
  1535. package/dist/dev/ui/time/time-separator.d.ts +1 -3
  1536. package/dist/dev/ui/time/time-separator.d.ts.map +1 -1
  1537. package/dist/dev/ui/time/time-separator.js.map +1 -1
  1538. package/dist/dev/ui/time/time-value.d.ts +1 -3
  1539. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  1540. package/dist/dev/ui/time/time-value.js +41 -5
  1541. package/dist/dev/ui/time/time-value.js.map +1 -1
  1542. package/dist/dev/ui/time-slider/index.parts.d.ts +2 -3
  1543. package/dist/dev/ui/time-slider/index.parts.js +1 -1
  1544. package/dist/dev/ui/time-slider/time-slider-root.d.ts +1 -3
  1545. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  1546. package/dist/dev/ui/time-slider/time-slider-root.js +32 -7
  1547. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  1548. package/dist/dev/ui/tooltip/context.d.ts +9 -4
  1549. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  1550. package/dist/dev/ui/tooltip/context.js.map +1 -1
  1551. package/dist/dev/ui/tooltip/group-context.js.map +1 -1
  1552. package/dist/dev/ui/tooltip/index.d.ts +2 -2
  1553. package/dist/dev/ui/tooltip/index.parts.d.ts +4 -4
  1554. package/dist/dev/ui/tooltip/index.parts.js +5 -1
  1555. package/dist/dev/ui/tooltip/index.parts.js.map +1 -1
  1556. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +1 -3
  1557. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -1
  1558. package/dist/dev/ui/tooltip/tooltip-arrow.js +1 -1
  1559. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
  1560. package/dist/dev/ui/tooltip/tooltip-label.d.ts +13 -0
  1561. package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -0
  1562. package/dist/dev/ui/tooltip/tooltip-label.js +24 -0
  1563. package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -0
  1564. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +1 -3
  1565. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  1566. package/dist/dev/ui/tooltip/tooltip-popup.js +28 -14
  1567. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  1568. package/dist/dev/ui/tooltip/tooltip-provider.d.ts +1 -7
  1569. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
  1570. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  1571. package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -14
  1572. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  1573. package/dist/dev/ui/tooltip/tooltip-root.js +7 -3
  1574. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  1575. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +13 -0
  1576. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -0
  1577. package/dist/dev/ui/tooltip/tooltip-shortcut.js +25 -0
  1578. package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -0
  1579. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +1 -3
  1580. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  1581. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  1582. package/dist/dev/ui/volume-indicator/context.js.map +1 -1
  1583. package/dist/dev/ui/volume-indicator/index.parts.d.ts +1 -3
  1584. package/dist/dev/ui/volume-indicator/index.parts.js +1 -1
  1585. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +1 -3
  1586. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -1
  1587. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  1588. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +2 -4
  1589. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
  1590. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +6 -2
  1591. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  1592. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +1 -3
  1593. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -1
  1594. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -1
  1595. package/dist/dev/ui/volume-slider/index.parts.d.ts +2 -3
  1596. package/dist/dev/ui/volume-slider/index.parts.js +1 -1
  1597. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts +1 -3
  1598. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  1599. package/dist/dev/ui/volume-slider/volume-slider-root.js +14 -2
  1600. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  1601. package/dist/dev/utils/merge-props.d.ts +0 -1
  1602. package/dist/dev/utils/merge-props.d.ts.map +1 -1
  1603. package/dist/dev/utils/merge-props.js.map +1 -1
  1604. package/dist/dev/utils/types.d.ts +5 -3
  1605. package/dist/dev/utils/types.d.ts.map +1 -1
  1606. package/dist/dev/utils/use-attach-iframe.js +14 -0
  1607. package/dist/dev/utils/use-attach-iframe.js.map +1 -0
  1608. package/dist/dev/utils/use-attach-media.d.ts +1 -2
  1609. package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
  1610. package/dist/dev/utils/use-attach-media.js.map +1 -1
  1611. package/dist/dev/utils/use-composed-refs.d.ts +0 -1
  1612. package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
  1613. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  1614. package/dist/dev/utils/use-destroy.d.ts.map +1 -1
  1615. package/dist/dev/utils/use-destroy.js.map +1 -1
  1616. package/dist/dev/utils/use-force-render.js.map +1 -1
  1617. package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
  1618. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  1619. package/dist/dev/utils/use-media-component.d.ts +17 -0
  1620. package/dist/dev/utils/use-media-component.d.ts.map +1 -0
  1621. package/dist/dev/utils/use-media-component.js +29 -0
  1622. package/dist/dev/utils/use-media-component.js.map +1 -0
  1623. package/dist/dev/utils/use-media-instance.d.ts +8 -4
  1624. package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
  1625. package/dist/dev/utils/use-media-instance.js +11 -3
  1626. package/dist/dev/utils/use-media-instance.js.map +1 -1
  1627. package/dist/dev/utils/use-render.d.ts +1 -2
  1628. package/dist/dev/utils/use-render.d.ts.map +1 -1
  1629. package/dist/dev/utils/use-render.js +1 -1
  1630. package/dist/dev/utils/use-render.js.map +1 -1
  1631. package/dist/dev/utils/use-safe-id.js.map +1 -1
  1632. package/dist/dev/utils/use-sync-props.js +11 -2
  1633. package/dist/dev/utils/use-sync-props.js.map +1 -1
  1634. package/docs/README.md +1 -1
  1635. package/docs/concepts/accessibility.md +8 -0
  1636. package/docs/concepts/browser-support.md +1 -1
  1637. package/docs/concepts/cast.md +131 -0
  1638. package/docs/concepts/features.md +13 -5
  1639. package/docs/concepts/i18n.md +327 -0
  1640. package/docs/concepts/mux-data.md +84 -0
  1641. package/docs/concepts/overview.md +4 -4
  1642. package/docs/concepts/presets.md +32 -6
  1643. package/docs/concepts/security.md +32 -0
  1644. package/docs/concepts/skins.md +1350 -658
  1645. package/docs/concepts/why-videojs.md +1 -1
  1646. package/docs/how-to/build-with-ai.md +7 -7
  1647. package/docs/how-to/build-your-own-component.md +3 -3
  1648. package/docs/how-to/customize-skins.md +3869 -1790
  1649. package/docs/how-to/i18n-override-translations.md +114 -0
  1650. package/docs/how-to/i18n-register-locale.md +74 -0
  1651. package/docs/how-to/i18n-ssr.md +104 -0
  1652. package/docs/how-to/i18n-switch-locale.md +170 -0
  1653. package/docs/how-to/installation.md +18 -37
  1654. package/docs/llms.txt +52 -3
  1655. package/docs/reference/airplay-button.md +298 -0
  1656. package/docs/reference/audio-track-radio-group.md +194 -0
  1657. package/docs/reference/background-video.md +76 -0
  1658. package/docs/reference/buffering-indicator.md +1 -7
  1659. package/docs/reference/captions-button.md +71 -18
  1660. package/docs/reference/captions-radio-group.md +195 -0
  1661. package/docs/reference/cast-button.md +283 -0
  1662. package/docs/reference/controls.md +1 -7
  1663. package/docs/reference/create-i18n.md +84 -0
  1664. package/docs/reference/create-player.md +1 -6
  1665. package/docs/reference/create-translator.md +63 -0
  1666. package/docs/reference/dash-video.md +55 -0
  1667. package/docs/reference/feature-audio-track.md +60 -0
  1668. package/docs/reference/feature-error.md +1 -1
  1669. package/docs/reference/feature-fullscreen.md +20 -3
  1670. package/docs/reference/feature-orientation-lock.md +35 -0
  1671. package/docs/reference/feature-quality.md +70 -0
  1672. package/docs/reference/feature-remote-playback.md +3 -1
  1673. package/docs/reference/feature-text-tracks.md +13 -3
  1674. package/docs/reference/fullscreen-button.md +52 -23
  1675. package/docs/reference/get-i18n-translations.md +58 -0
  1676. package/docs/reference/google-cast.md +69 -0
  1677. package/docs/reference/has-registered-locale.md +47 -0
  1678. package/docs/reference/hlsjs-video.md +91 -0
  1679. package/docs/reference/i18n-provider.md +25 -0
  1680. package/docs/reference/menu.md +1296 -0
  1681. package/docs/reference/mute-button.md +5 -17
  1682. package/docs/reference/mux-audio.md +153 -0
  1683. package/docs/reference/mux-data.md +93 -0
  1684. package/docs/reference/mux-video.md +226 -0
  1685. package/docs/reference/native-hls-video.md +79 -0
  1686. package/docs/reference/on-i18n-registry-change.md +49 -0
  1687. package/docs/reference/pip-button.md +52 -23
  1688. package/docs/reference/play-button.md +6 -11
  1689. package/docs/reference/playback-rate-button.md +20 -10
  1690. package/docs/reference/playback-rate-radio-group.md +194 -0
  1691. package/docs/reference/player-container.md +9 -3
  1692. package/docs/reference/player-provider.md +3 -1
  1693. package/docs/reference/popover.md +20 -13
  1694. package/docs/reference/poster.md +1 -4
  1695. package/docs/reference/quality-radio-group.md +208 -0
  1696. package/docs/reference/register-i18n.md +64 -0
  1697. package/docs/reference/seek-button.md +4 -10
  1698. package/docs/reference/simple-hls-audio-only.md +41 -0
  1699. package/docs/reference/simple-hls-video.md +41 -0
  1700. package/docs/reference/slider.md +2 -2
  1701. package/docs/reference/thumbnail.md +1 -1
  1702. package/docs/reference/time-slider.md +17 -11
  1703. package/docs/reference/time.md +31 -37
  1704. package/docs/reference/tooltip.md +99 -13
  1705. package/docs/reference/translation-phrases.md +429 -0
  1706. package/docs/reference/use-audio-track-options.md +59 -0
  1707. package/docs/reference/use-captions-options.md +59 -0
  1708. package/docs/reference/use-locale.md +124 -0
  1709. package/docs/reference/use-media-attach.md +2 -2
  1710. package/docs/reference/use-media.md +97 -2
  1711. package/docs/reference/use-playback-rate-options.md +59 -0
  1712. package/docs/reference/use-player-context.md +6 -4
  1713. package/docs/reference/use-player.md +18 -15
  1714. package/docs/reference/use-quality-options.md +59 -0
  1715. package/docs/reference/use-selector.md +1 -1
  1716. package/docs/reference/use-snapshot.md +3 -3
  1717. package/docs/reference/use-store.md +2 -14
  1718. package/docs/reference/use-translator.md +119 -0
  1719. package/docs/reference/volume-slider.md +6 -12
  1720. package/package.json +26 -13
  1721. package/dist/default/media/dash-video/index.js.map +0 -1
  1722. package/dist/default/media/hls-video/index.js.map +0 -1
  1723. package/dist/default/media/mux-audio/index.js.map +0 -1
  1724. package/dist/default/media/mux-video/index.js.map +0 -1
  1725. package/dist/default/media/native-hls-video/index.js.map +0 -1
  1726. package/dist/default/media/simple-hls-video/index.js.map +0 -1
  1727. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +0 -12
  1728. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
  1729. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
  1730. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
  1731. package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +0 -16
  1732. package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
  1733. package/dist/default/ui/menu/menu-label.js +0 -23
  1734. package/dist/default/ui/menu/menu-label.js.map +0 -1
  1735. package/dist/default/ui/playback-rate-menu/context.js +0 -20
  1736. package/dist/default/ui/playback-rate-menu/context.js.map +0 -1
  1737. package/dist/default/ui/playback-rate-menu/index.js +0 -3
  1738. package/dist/default/ui/playback-rate-menu/index.parts.js +0 -17
  1739. package/dist/default/ui/playback-rate-menu/index.parts.js.map +0 -1
  1740. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
  1741. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
  1742. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +0 -36
  1743. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
  1744. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
  1745. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
  1746. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
  1747. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
  1748. package/dist/dev/media/background-video/index.d.ts.map +0 -1
  1749. package/dist/dev/media/dash-video/index.d.ts.map +0 -1
  1750. package/dist/dev/media/dash-video/index.js.map +0 -1
  1751. package/dist/dev/media/hls-video/index.d.ts +0 -15
  1752. package/dist/dev/media/hls-video/index.d.ts.map +0 -1
  1753. package/dist/dev/media/hls-video/index.js.map +0 -1
  1754. package/dist/dev/media/mux-audio/index.d.ts.map +0 -1
  1755. package/dist/dev/media/mux-audio/index.js.map +0 -1
  1756. package/dist/dev/media/mux-video/index.d.ts.map +0 -1
  1757. package/dist/dev/media/mux-video/index.js.map +0 -1
  1758. package/dist/dev/media/native-hls-video/index.d.ts.map +0 -1
  1759. package/dist/dev/media/native-hls-video/index.js.map +0 -1
  1760. package/dist/dev/media/simple-hls-video/index.d.ts.map +0 -1
  1761. package/dist/dev/media/simple-hls-video/index.js.map +0 -1
  1762. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +0 -12
  1763. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
  1764. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
  1765. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
  1766. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +0 -5
  1767. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +0 -1
  1768. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +0 -16
  1769. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
  1770. package/dist/dev/ui/menu/menu-label.d.ts +0 -15
  1771. package/dist/dev/ui/menu/menu-label.d.ts.map +0 -1
  1772. package/dist/dev/ui/menu/menu-label.js +0 -23
  1773. package/dist/dev/ui/menu/menu-label.js.map +0 -1
  1774. package/dist/dev/ui/playback-rate-menu/context.js +0 -20
  1775. package/dist/dev/ui/playback-rate-menu/context.js.map +0 -1
  1776. package/dist/dev/ui/playback-rate-menu/index.d.ts +0 -3
  1777. package/dist/dev/ui/playback-rate-menu/index.js +0 -3
  1778. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +0 -12
  1779. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +0 -1
  1780. package/dist/dev/ui/playback-rate-menu/index.parts.js +0 -17
  1781. package/dist/dev/ui/playback-rate-menu/index.parts.js.map +0 -1
  1782. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +0 -14
  1783. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +0 -1
  1784. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +0 -28
  1785. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +0 -1
  1786. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +0 -23
  1787. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +0 -1
  1788. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +0 -39
  1789. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +0 -1
  1790. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +0 -14
  1791. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +0 -1
  1792. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +0 -51
  1793. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +0 -1
  1794. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +0 -26
  1795. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +0 -1
  1796. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +0 -27
  1797. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +0 -1
@@ -1,21 +1,30 @@
1
1
  "use client";
2
+ import { useLocale, useTranslator } from "../../i18n/context.js";
3
+ import { useContainer, usePlayer } from "../../player/context.js";
2
4
  import { useDestroy } from "../../utils/use-destroy.js";
3
5
  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";
6
+ import { isSliderFocused, subscribeToStatusAnnouncer } from "@videojs/core/dom";
7
+ import { forwardRef, useEffect, useState, useSyncExternalStore } from "react";
8
+ import { StatusAnnouncerCore, createStatusAnnouncerLabels } from "@videojs/core";
7
9
  //#region src/ui/status-announcer/status-announcer.tsx
8
10
  const StatusAnnouncer = forwardRef(function StatusAnnouncer(componentProps, forwardedRef) {
9
11
  const { render, className, style, closeDelay, labels, ...elementProps } = componentProps;
12
+ const translator = useTranslator();
13
+ const locale = useLocale();
10
14
  const [core] = useState(() => new StatusAnnouncerCore());
15
+ const store = usePlayer();
16
+ const container = useContainer();
11
17
  useDestroy(core);
12
18
  core.setProps({
13
19
  closeDelay,
14
- labels
15
- });
16
- useInputActionSubscription((event, snapshot) => {
17
- core.processEvent(event, snapshot);
20
+ labels: {
21
+ ...createStatusAnnouncerLabels(translator, locale),
22
+ ...labels
23
+ },
24
+ shouldAnnounceSeek: () => !container || !isSliderFocused(container),
25
+ shouldAnnounceVolume: () => !container || !isSliderFocused(container)
18
26
  });
27
+ useEffect(() => subscribeToStatusAnnouncer(store, core), [core, store]);
19
28
  const state = useSyncExternalStore((callback) => core.state.subscribe(callback), () => core.state.current, () => core.state.current);
20
29
  return renderElement("div", {
21
30
  render,
@@ -24,10 +33,10 @@ const StatusAnnouncer = forwardRef(function StatusAnnouncer(componentProps, forw
24
33
  }, {
25
34
  state,
26
35
  ref: forwardedRef,
27
- props: [{
36
+ props: [elementProps, {
28
37
  role: "status",
29
- "aria-label": state.label ?? void 0
30
- }, elementProps]
38
+ children: state.label ?? ""
39
+ }]
31
40
  });
32
41
  });
33
42
  //#endregion
@@ -1 +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"}
1
+ {"version":3,"file":"status-announcer.js","names":[],"sources":["../../../../src/ui/status-announcer/status-announcer.tsx"],"sourcesContent":["'use client';\n\nimport { createStatusAnnouncerLabels, StatusAnnouncerCore } from '@videojs/core';\nimport { isSliderFocused, subscribeToStatusAnnouncer } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useEffect, useState, useSyncExternalStore } from 'react';\nimport { useLocale, useTranslator } from '../../i18n/context';\nimport { useContainer, usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface StatusAnnouncerProps\n extends UIComponentProps<'div', StatusAnnouncerCore.State>,\n Pick<StatusAnnouncerCore.Props, 'closeDelay' | 'labels'> {}\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 translator = useTranslator();\n const locale = useLocale();\n const [core] = useState(() => new StatusAnnouncerCore());\n const store = usePlayer();\n const container = useContainer();\n useDestroy(core);\n core.setProps({\n closeDelay,\n labels: {\n ...createStatusAnnouncerLabels(translator, locale),\n ...labels,\n },\n shouldAnnounceSeek: () => !container || !isSliderFocused(container),\n shouldAnnounceVolume: () => !container || !isSliderFocused(container),\n });\n\n useEffect(() => subscribeToStatusAnnouncer(store, core), [core, store]);\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 elementProps,\n {\n role: 'status',\n children: state.label ?? '',\n },\n ],\n }\n );\n});\n\nexport namespace StatusAnnouncer {\n export type Props = StatusAnnouncerProps;\n export type State = StatusAnnouncerCore.State;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAa,kBAAkB,WAAW,SAAS,gBACjD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,YAAY,QAAQ,GAAG,iBAAiB;CAC1E,MAAM,aAAa,cAAc;CACjC,MAAM,SAAS,UAAU;CACzB,MAAM,CAAC,QAAQ,eAAe,IAAI,oBAAoB,CAAC;CACvD,MAAM,QAAQ,UAAU;CACxB,MAAM,YAAY,aAAa;CAC/B,WAAW,IAAI;CACf,KAAK,SAAS;EACZ;EACA,QAAQ;GACN,GAAG,4BAA4B,YAAY,MAAM;GACjD,GAAG;EACL;EACA,0BAA0B,CAAC,aAAa,CAAC,gBAAgB,SAAS;EAClE,4BAA4B,CAAC,aAAa,CAAC,gBAAgB,SAAS;CACtE,CAAC;CAED,gBAAgB,2BAA2B,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;CAEtE,MAAM,QAAQ,sBACX,aAAa,KAAK,MAAM,UAAU,QAAQ,SACrC,KAAK,MAAM,eACX,KAAK,MAAM,OACnB;CAEA,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK;EACL,OAAO,CACL,cACA;GACE,MAAM;GACN,UAAU,MAAM,SAAS;EAC3B,CACF;CACF,CACF;AACF,CAAC"}
@@ -1 +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"}
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,IAAI;AAErF,SAAgB,wBAAwB,EAAE,OAAO,YAAwD;CACvG,OAAO,oBAAC,uBAAuB,UAAxB;EAAwC;EAAQ;CAA0C,CAAA;AACnG;AAEA,SAAgB,4BAAyD;CACvE,MAAM,MAAM,WAAW,sBAAsB;CAC7C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,4EAA4E;CACtG,OAAO;AACT"}
@@ -7,6 +7,6 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
7
7
  Value: () => StatusIndicatorValue
8
8
  });
9
9
  //#endregion
10
- export { index_parts_exports };
10
+ export { StatusIndicatorRoot as Root, StatusIndicatorValue as Value, index_parts_exports };
11
11
 
12
12
  //# sourceMappingURL=index.parts.js.map
@@ -1,17 +1,18 @@
1
1
  "use client";
2
+ import { useTranslator } from "../../i18n/context.js";
2
3
  import { renderElement } from "../../utils/use-render.js";
3
4
  import { useInputIndicatorRoot } from "../input-indicators/use-input-indicator-root.js";
4
5
  import { StatusIndicatorProvider } from "./context.js";
5
6
  import { forwardRef } from "react";
6
7
  import { jsx } from "react/jsx-runtime";
7
- import { StatusIndicatorCore, StatusIndicatorDataAttrs } from "@videojs/core";
8
+ import { StatusIndicatorCore, StatusIndicatorDataAttrs, createInputIndicatorLabels } from "@videojs/core";
8
9
  //#region src/ui/status-indicator/status-indicator-root.tsx
9
10
  const StatusIndicatorRoot = forwardRef(function StatusIndicatorRoot(componentProps, forwardedRef) {
10
- const { render, className, style, actions, closeDelay, labels, ...elementProps } = componentProps;
11
+ const { render, className, style, actions, closeDelay, ...elementProps } = componentProps;
11
12
  const { elementRef, present, state } = useInputIndicatorRoot(() => new StatusIndicatorCore(), {
12
13
  actions,
13
14
  closeDelay,
14
- labels
15
+ labels: createInputIndicatorLabels(useTranslator())
15
16
  });
16
17
  if (!present) return null;
17
18
  return /* @__PURE__ */ jsx(StatusIndicatorProvider, {
@@ -1 +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"}
1
+ {"version":3,"file":"status-indicator-root.js","names":[],"sources":["../../../../src/ui/status-indicator/status-indicator-root.tsx"],"sourcesContent":["'use client';\n\nimport { createInputIndicatorLabels, StatusIndicatorCore, StatusIndicatorDataAttrs } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\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 Omit<StatusIndicatorCore.Props, 'labels'> {}\n\nexport const StatusIndicatorRoot = forwardRef(function StatusIndicatorRoot(\n componentProps: StatusIndicatorRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, actions, closeDelay, ...elementProps } = componentProps;\n const translator = useTranslator();\n const { elementRef, present, state } = useInputIndicatorRoot(() => new StatusIndicatorCore(), {\n actions,\n closeDelay,\n labels: createInputIndicatorLabels(translator),\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":";;;;;;;;;AAgBA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,SAAS,YAAY,GAAG,iBAAiB;CAE3E,MAAM,EAAE,YAAY,SAAS,UAAU,4BAA4B,IAAI,oBAAoB,GAAG;EAC5F;EACA;EACA,QAAQ,2BAJS,cAI2B,CAAC;CAC/C,CAAC;CAED,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,oBAAC,yBAAD;EAAyB,OAAO,EAAE,MAAM;EACrC,UAAA,cACC,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,UAAU;GAC9B,OAAO,CAAC,YAAY;EACtB,CACF;CACuB,CAAA;AAE7B,CAAC"}
@@ -1 +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
+ {"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,0BAA0B;CAE5C,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK;EACL,OAAO,CAAC,EAAE,UAAU,+BAA+B,KAAK,EAAE,GAAG,YAAY;CAC3E,CACF;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnail.js","names":[],"sources":["../../../../src/ui/thumbnail/thumbnail.tsx"],"sourcesContent":["'use client';\n\nimport {\n mapCuesToThumbnails,\n ThumbnailCore,\n ThumbnailDataAttrs,\n type ThumbnailFetchPriority,\n type ThumbnailImage,\n} from '@videojs/core';\nimport { createThumbnail, selectTextTrack } from '@videojs/core/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useOptionalPlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface ThumbnailProps extends UIComponentProps<'div', ThumbnailCore.State>, ThumbnailCore.Props {\n /** Pre-parsed thumbnail images — bypasses the automatic `<track>` detection. */\n thumbnails?: ThumbnailImage[] | undefined;\n}\n\nexport const Thumbnail = forwardRef<HTMLDivElement, ThumbnailProps>(function Thumbnail(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n time = 0,\n thumbnails: externalThumbnails,\n crossOrigin,\n loading,\n fetchPriority,\n ...elementProps\n } = componentProps;\n\n const [core] = useState(() => new ThumbnailCore());\n const divRef = useRef<HTMLDivElement>(null);\n const imgRef = useRef<HTMLImageElement>(null);\n const textTrack = useOptionalPlayer(selectTextTrack);\n\n // Force re-render when the handle's state changes (img load/error, resize).\n const [, setRenderToken] = useState(0);\n\n const [handle] = useState(() =>\n createThumbnail({\n getContainer: () => divRef.current,\n getImg: () => imgRef.current,\n onStateChange: () => setRenderToken((n) => n + 1),\n })\n );\n\n useDestroy(handle, () => handle.connect());\n\n // Resolve thumbnails: external prop takes priority over auto <track> path.\n const thumbnails = useMemo(() => {\n if (externalThumbnails && externalThumbnails.length > 0) return externalThumbnails;\n return textTrack && textTrack.thumbnailCues.length > 0\n ? mapCuesToThumbnails(textTrack.thumbnailCues, textTrack.thumbnailTrackSrc ?? undefined)\n : [];\n }, [externalThumbnails, textTrack]);\n\n const thumbnail = useMemo(() => core.findActiveThumbnail(thumbnails, time), [core, thumbnails, time]);\n\n // Track src changes via the handle.\n handle.updateSrc(thumbnail?.url);\n\n const state = core.getState(handle.loading, handle.error, thumbnail);\n\n // Compute styles declaratively from resize result.\n let containerStyle: CSSProperties = { overflow: 'hidden' };\n let imgStyle: CSSProperties | undefined;\n\n if (thumbnail && handle.naturalWidth && handle.naturalHeight) {\n const constraints = handle.readConstraints();\n const result = core.resize(thumbnail, handle.naturalWidth, handle.naturalHeight, constraints);\n\n if (result) {\n containerStyle = {\n overflow: 'hidden',\n width: result.containerWidth,\n height: result.containerHeight,\n };\n imgStyle = {\n width: result.imageWidth,\n height: result.imageHeight,\n maxWidth: 'none',\n transform:\n result.offsetX || result.offsetY ? `translate(-${result.offsetX}px, -${result.offsetY}px)` : undefined,\n };\n }\n }\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: ThumbnailDataAttrs,\n ref: [forwardedRef, divRef],\n props: [\n core.getAttrs(state),\n { style: containerStyle },\n elementProps,\n {\n children: (\n <img\n ref={imgRef}\n alt=\"\"\n aria-hidden=\"true\"\n decoding=\"async\"\n src={thumbnail?.url}\n crossOrigin={crossOrigin === '' || crossOrigin === null ? undefined : crossOrigin}\n loading={loading}\n style={imgStyle}\n // React's types omit `| undefined` from fetchPriority — cast to satisfy exactOptionalPropertyTypes.\n fetchPriority={fetchPriority as ThumbnailFetchPriority}\n />\n ),\n },\n ],\n }\n );\n});\n\nexport namespace Thumbnail {\n export type Props = ThumbnailProps;\n export type State = ThumbnailCore.State;\n}\n"],"mappings":";;;;;;;;;AAuBA,MAAa,YAAY,WAA2C,SAAS,UAAU,gBAAgB,cAAc;CACnH,MAAM,EACJ,QACA,WACA,OACA,OAAO,GACP,YAAY,oBACZ,aACA,SACA,eACA,GAAG,iBACD;CAEJ,MAAM,CAAC,QAAQ,eAAe,IAAI,eAAe,CAAC;CAClD,MAAM,SAAS,OAAuB,KAAK;CAC3C,MAAM,SAAS,OAAyB,KAAK;CAC7C,MAAM,YAAY,kBAAkB,gBAAgB;CAGpD,MAAM,GAAG,kBAAkB,SAAS,EAAE;CAEtC,MAAM,CAAC,UAAU,eACf,gBAAgB;EACd,oBAAoB,OAAO;EAC3B,cAAc,OAAO;EACrB,qBAAqB,gBAAgB,MAAM,IAAI,EAAE;EAClD,CAAC,CACH;AAED,YAAW,cAAc,OAAO,SAAS,CAAC;CAG1C,MAAM,aAAa,cAAc;AAC/B,MAAI,sBAAsB,mBAAmB,SAAS,EAAG,QAAO;AAChE,SAAO,aAAa,UAAU,cAAc,SAAS,IACjD,oBAAoB,UAAU,eAAe,UAAU,qBAAqB,KAAA,EAAU,GACtF,EAAE;IACL,CAAC,oBAAoB,UAAU,CAAC;CAEnC,MAAM,YAAY,cAAc,KAAK,oBAAoB,YAAY,KAAK,EAAE;EAAC;EAAM;EAAY;EAAK,CAAC;AAGrG,QAAO,UAAU,WAAW,IAAI;CAEhC,MAAM,QAAQ,KAAK,SAAS,OAAO,SAAS,OAAO,OAAO,UAAU;CAGpE,IAAI,iBAAgC,EAAE,UAAU,UAAU;CAC1D,IAAI;AAEJ,KAAI,aAAa,OAAO,gBAAgB,OAAO,eAAe;EAC5D,MAAM,cAAc,OAAO,iBAAiB;EAC5C,MAAM,SAAS,KAAK,OAAO,WAAW,OAAO,cAAc,OAAO,eAAe,YAAY;AAE7F,MAAI,QAAQ;AACV,oBAAiB;IACf,UAAU;IACV,OAAO,OAAO;IACd,QAAQ,OAAO;IAChB;AACD,cAAW;IACT,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,UAAU;IACV,WACE,OAAO,WAAW,OAAO,UAAU,cAAc,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,KAAA;IAChG;;;AAIL,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,cAAc;EACd,KAAK,CAAC,cAAc,OAAO;EAC3B,OAAO;GACL,KAAK,SAAS,MAAM;GACpB,EAAE,OAAO,gBAAgB;GACzB;GACA,EACE,UACE,oBAAC,OAAD;IACE,KAAK;IACL,KAAI;IACJ,eAAY;IACZ,UAAS;IACT,KAAK,WAAW;IAChB,aAAa,gBAAgB,MAAM,gBAAgB,OAAO,KAAA,IAAY;IAC7D;IACT,OAAO;IAEQ;IACf,CAAA,EAEL;GACF;EACF,CACF;EACD"}
1
+ {"version":3,"file":"thumbnail.js","names":[],"sources":["../../../../src/ui/thumbnail/thumbnail.tsx"],"sourcesContent":["'use client';\n\nimport {\n mapCuesToThumbnails,\n ThumbnailCore,\n ThumbnailDataAttrs,\n type ThumbnailFetchPriority,\n type ThumbnailImage,\n} from '@videojs/core';\nimport { createThumbnail, selectTextTrack } from '@videojs/core/dom';\nimport type { CSSProperties } from 'react';\nimport { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useOptionalPlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface ThumbnailProps extends UIComponentProps<'div', ThumbnailCore.State>, ThumbnailCore.Props {\n /** Pre-parsed thumbnail images — bypasses the automatic `<track>` detection. */\n thumbnails?: ThumbnailImage[] | undefined;\n}\n\nexport const Thumbnail = forwardRef<HTMLDivElement, ThumbnailProps>(function Thumbnail(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n time = 0,\n thumbnails: externalThumbnails,\n crossOrigin,\n loading,\n fetchPriority,\n ...elementProps\n } = componentProps;\n\n const [core] = useState(() => new ThumbnailCore());\n const divRef = useRef<HTMLDivElement>(null);\n const imgRef = useRef<HTMLImageElement>(null);\n const textTrack = useOptionalPlayer(selectTextTrack);\n\n // Force re-render when the handle's state changes (img load/error, resize).\n const [, setRenderToken] = useState(0);\n\n const [handle] = useState(() =>\n createThumbnail({\n getContainer: () => divRef.current,\n getImg: () => imgRef.current,\n onStateChange: () => setRenderToken((n) => n + 1),\n })\n );\n\n useDestroy(handle, () => handle.connect());\n\n // Resolve thumbnails: external prop takes priority over auto <track> path.\n const thumbnails = useMemo(() => {\n if (externalThumbnails && externalThumbnails.length > 0) return externalThumbnails;\n return textTrack && textTrack.thumbnailCues.length > 0\n ? mapCuesToThumbnails(textTrack.thumbnailCues, textTrack.thumbnailTrackSrc ?? undefined)\n : [];\n }, [externalThumbnails, textTrack]);\n\n const thumbnail = useMemo(() => core.findActiveThumbnail(thumbnails, time), [core, thumbnails, time]);\n\n // Track src changes via the handle.\n handle.updateSrc(thumbnail?.url);\n\n const state = core.getState(handle.loading, handle.error, thumbnail);\n\n // Compute styles declaratively from resize result.\n let containerStyle: CSSProperties = { overflow: 'hidden' };\n let imgStyle: CSSProperties | undefined;\n\n if (thumbnail && handle.naturalWidth && handle.naturalHeight) {\n const constraints = handle.readConstraints();\n const result = core.resize(thumbnail, handle.naturalWidth, handle.naturalHeight, constraints);\n\n if (result) {\n containerStyle = {\n overflow: 'hidden',\n width: result.containerWidth,\n height: result.containerHeight,\n };\n imgStyle = {\n width: result.imageWidth,\n height: result.imageHeight,\n maxWidth: 'none',\n transform:\n result.offsetX || result.offsetY ? `translate(-${result.offsetX}px, -${result.offsetY}px)` : undefined,\n };\n }\n }\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: ThumbnailDataAttrs,\n ref: [forwardedRef, divRef],\n props: [\n core.getAttrs(state),\n { style: containerStyle },\n elementProps,\n {\n children: (\n <img\n ref={imgRef}\n alt=\"\"\n aria-hidden=\"true\"\n decoding=\"async\"\n src={thumbnail?.url}\n crossOrigin={crossOrigin === '' || crossOrigin === null ? undefined : crossOrigin}\n loading={loading}\n style={imgStyle}\n // React's types omit `| undefined` from fetchPriority — cast to satisfy exactOptionalPropertyTypes.\n fetchPriority={fetchPriority as ThumbnailFetchPriority}\n />\n ),\n },\n ],\n }\n );\n});\n\nexport namespace Thumbnail {\n export type Props = ThumbnailProps;\n export type State = ThumbnailCore.State;\n}\n"],"mappings":";;;;;;;;;AAuBA,MAAa,YAAY,WAA2C,SAAS,UAAU,gBAAgB,cAAc;CACnH,MAAM,EACJ,QACA,WACA,OACA,OAAO,GACP,YAAY,oBACZ,aACA,SACA,eACA,GAAG,iBACD;CAEJ,MAAM,CAAC,QAAQ,eAAe,IAAI,cAAc,CAAC;CACjD,MAAM,SAAS,OAAuB,IAAI;CAC1C,MAAM,SAAS,OAAyB,IAAI;CAC5C,MAAM,YAAY,kBAAkB,eAAe;CAGnD,MAAM,GAAG,kBAAkB,SAAS,CAAC;CAErC,MAAM,CAAC,UAAU,eACf,gBAAgB;EACd,oBAAoB,OAAO;EAC3B,cAAc,OAAO;EACrB,qBAAqB,gBAAgB,MAAM,IAAI,CAAC;CAClD,CAAC,CACH;CAEA,WAAW,cAAc,OAAO,QAAQ,CAAC;CAGzC,MAAM,aAAa,cAAc;EAC/B,IAAI,sBAAsB,mBAAmB,SAAS,GAAG,OAAO;EAChE,OAAO,aAAa,UAAU,cAAc,SAAS,IACjD,oBAAoB,UAAU,eAAe,UAAU,qBAAqB,KAAA,CAAS,IACrF,CAAC;CACP,GAAG,CAAC,oBAAoB,SAAS,CAAC;CAElC,MAAM,YAAY,cAAc,KAAK,oBAAoB,YAAY,IAAI,GAAG;EAAC;EAAM;EAAY;CAAI,CAAC;CAGpG,OAAO,UAAU,WAAW,GAAG;CAE/B,MAAM,QAAQ,KAAK,SAAS,OAAO,SAAS,OAAO,OAAO,SAAS;CAGnE,IAAI,iBAAgC,EAAE,UAAU,SAAS;CACzD,IAAI;CAEJ,IAAI,aAAa,OAAO,gBAAgB,OAAO,eAAe;EAC5D,MAAM,cAAc,OAAO,gBAAgB;EAC3C,MAAM,SAAS,KAAK,OAAO,WAAW,OAAO,cAAc,OAAO,eAAe,WAAW;EAE5F,IAAI,QAAQ;GACV,iBAAiB;IACf,UAAU;IACV,OAAO,OAAO;IACd,QAAQ,OAAO;GACjB;GACA,WAAW;IACT,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,UAAU;IACV,WACE,OAAO,WAAW,OAAO,UAAU,cAAc,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,KAAA;GACjG;EACF;CACF;CAEA,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,cAAc;EACd,KAAK,CAAC,cAAc,MAAM;EAC1B,OAAO;GACL,KAAK,SAAS,KAAK;GACnB,EAAE,OAAO,eAAe;GACxB;GACA,EACE,UACE,oBAAC,OAAD;IACE,KAAK;IACL,KAAI;IACJ,eAAY;IACZ,UAAS;IACT,KAAK,WAAW;IAChB,aAAa,gBAAgB,MAAM,gBAAgB,OAAO,KAAA,IAAY;IAC7D;IACT,OAAO;IAEQ;GAChB,CAAA,EAEL;EACF;CACF,CACF;AACF,CAAC"}
@@ -9,6 +9,6 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
9
9
  Value: () => Value
10
10
  });
11
11
  //#endregion
12
- export { index_parts_exports };
12
+ export { Group, Separator, Value, index_parts_exports };
13
13
 
14
14
  //# sourceMappingURL=index.parts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-group.js","names":[],"sources":["../../../../src/ui/time/time-group.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\n// Empty state for Group (no dynamic state)\ntype GroupState = Record<string, never>;\n\nexport interface GroupProps extends UIComponentProps<'span', GroupState> {\n /** Time value components to render inside the group. */\n children?: ReactNode | undefined;\n}\n\n/**\n * Container for composed time displays. Renders a `<span>` element.\n *\n * @example\n * ```tsx\n * <Time.Group>\n * <Time.Value type=\"current\" />\n * <Time.Separator />\n * <Time.Value type=\"duration\" />\n * </Time.Group>\n * ```\n */\nexport const Group = forwardRef(function Group(\n componentProps: GroupProps,\n forwardedRef: ForwardedRef<HTMLSpanElement>\n) {\n const { render, className, style, children, ...elementProps } = componentProps;\n\n const state: GroupState = {};\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ children }, elementProps],\n }\n );\n});\n\nexport namespace Group {\n export type Props = GroupProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,MAAa,QAAQ,WAAW,SAAS,MACvC,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,iBAAiB;AAIhE,QAAO,cACL,QACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE,OANsB,EAAE;EAOxB,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC,EAAE,UAAU,EAAE,aAAa;EACpC,CACF;EACD"}
1
+ {"version":3,"file":"time-group.js","names":[],"sources":["../../../../src/ui/time/time-group.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\n// Empty state for Group (no dynamic state)\ntype GroupState = Record<string, never>;\n\nexport interface GroupProps extends UIComponentProps<'span', GroupState> {\n /** Time value components to render inside the group. */\n children?: ReactNode | undefined;\n}\n\n/**\n * Container for composed time displays. Renders a `<span>` element.\n *\n * @example\n * ```tsx\n * <Time.Group>\n * <Time.Value type=\"current\" />\n * <Time.Separator />\n * <Time.Value type=\"duration\" />\n * </Time.Group>\n * ```\n */\nexport const Group = forwardRef(function Group(\n componentProps: GroupProps,\n forwardedRef: ForwardedRef<HTMLSpanElement>\n) {\n const { render, className, style, children, ...elementProps } = componentProps;\n\n const state: GroupState = {};\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ children }, elementProps],\n }\n );\n});\n\nexport namespace Group {\n export type Props = GroupProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,MAAa,QAAQ,WAAW,SAAS,MACvC,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,iBAAiB;CAIhE,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE,OAAA,CAAI;EACJ,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC,EAAE,SAAS,GAAG,YAAY;CACpC,CACF;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"time-separator.js","names":[],"sources":["../../../../src/ui/time/time-separator.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\n// Empty state for Separator (no dynamic state)\ntype SeparatorState = Record<string, never>;\n\nexport interface SeparatorProps extends UIComponentProps<'span', SeparatorState> {\n /** Separator content. Defaults to \"/\". */\n children?: ReactNode | undefined;\n}\n\n/**\n * Divider between time values. Hidden from screen readers.\n *\n * @example\n * ```tsx\n * <Time.Separator />\n * <Time.Separator> of </Time.Separator>\n * ```\n */\nexport const Separator = forwardRef(function Separator(\n componentProps: SeparatorProps,\n forwardedRef: ForwardedRef<HTMLSpanElement>\n) {\n const { render, className, style, children = '/', ...elementProps } = componentProps;\n\n const state: SeparatorState = {};\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ 'aria-hidden': 'true', children }, elementProps],\n }\n );\n});\n\nexport namespace Separator {\n export type Props = SeparatorProps;\n}\n"],"mappings":";;;;;;;;;;;;;AAyBA,MAAa,YAAY,WAAW,SAAS,UAC3C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,WAAW,KAAK,GAAG,iBAAiB;AAItE,QAAO,cACL,QACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE,OAN0B,EAAE;EAO5B,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC;GAAE,eAAe;GAAQ;GAAU,EAAE,aAAa;EAC3D,CACF;EACD"}
1
+ {"version":3,"file":"time-separator.js","names":[],"sources":["../../../../src/ui/time/time-separator.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\n// Empty state for Separator (no dynamic state)\ntype SeparatorState = Record<string, never>;\n\nexport interface SeparatorProps extends UIComponentProps<'span', SeparatorState> {\n /** Separator content. Defaults to \"/\". */\n children?: ReactNode | undefined;\n}\n\n/**\n * Divider between time values. Hidden from screen readers.\n *\n * @example\n * ```tsx\n * <Time.Separator />\n * <Time.Separator> of </Time.Separator>\n * ```\n */\nexport const Separator = forwardRef(function Separator(\n componentProps: SeparatorProps,\n forwardedRef: ForwardedRef<HTMLSpanElement>\n) {\n const { render, className, style, children = '/', ...elementProps } = componentProps;\n\n const state: SeparatorState = {};\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ 'aria-hidden': 'true', children }, elementProps],\n }\n );\n});\n\nexport namespace Separator {\n export type Props = SeparatorProps;\n}\n"],"mappings":";;;;;;;;;;;;;AAyBA,MAAa,YAAY,WAAW,SAAS,UAC3C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,WAAW,KAAK,GAAG,iBAAiB;CAItE,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE,OAAA,CAAI;EACJ,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC;GAAE,eAAe;GAAQ;EAAS,GAAG,YAAY;CAC3D,CACF;AACF,CAAC"}
@@ -1,10 +1,15 @@
1
1
  "use client";
2
+ import { useLocale, useTranslator } from "../../i18n/context.js";
2
3
  import { usePlayer } from "../../player/context.js";
3
4
  import { renderElement } from "../../utils/use-render.js";
4
5
  import { selectTime } from "@videojs/core/dom";
5
- import { forwardRef, useState } from "react";
6
+ import { translateText } from "@videojs/core/i18n";
7
+ import { forwardRef, useEffect, useState } from "react";
8
+ import { isInteractiveActivation } from "@videojs/utils/dom";
6
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
10
  import { TimeCore, TimeDataAttrs } from "@videojs/core";
11
+ import { remainingSuffixText } from "@videojs/core/i18n/text/time";
12
+ import { formatTimeAsPhrase } from "@videojs/utils/time";
8
13
  //#region src/ui/time/time-value.tsx
9
14
  /**
10
15
  * Displays a formatted time value (current, duration, or remaining).
@@ -17,21 +22,47 @@ import { TimeCore, TimeDataAttrs } from "@videojs/core";
17
22
  * ```
18
23
  */
19
24
  const Value = forwardRef(function Value(componentProps, forwardedRef) {
20
- const { render, className, style, type, negativeSign, label, ...elementProps } = componentProps;
25
+ const { render, className, style, type, negativeSign, label, toggle = false, ...elementProps } = componentProps;
21
26
  const time = usePlayer(selectTime);
27
+ const translator = useTranslator();
28
+ const locale = useLocale();
22
29
  const [core] = useState(() => new TimeCore());
30
+ const defaultType = type ?? TimeCore.defaultProps.type;
31
+ const [activeType, setActiveType] = useState(defaultType);
32
+ useEffect(() => {
33
+ setActiveType(defaultType);
34
+ }, [defaultType, toggle]);
23
35
  core.setProps({
24
- type,
36
+ type: activeType,
25
37
  negativeSign,
26
- label
38
+ label,
39
+ toggle
27
40
  });
28
41
  if (!time) return null;
29
42
  core.setMedia(time);
30
43
  const state = core.getState();
44
+ const attrs = core.getAttrs(state, defaultType);
45
+ const resolvedLabelParams = core.getLabelParams(state) ? { duration: state.type === "remaining" ? translateText(remainingSuffixText, translator, { duration: formatTimeAsPhrase(Math.abs(state.seconds), { locale }) }) : formatTimeAsPhrase(Math.abs(state.seconds), { locale }) } : void 0;
31
46
  const content = state.negative ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
32
47
  "aria-hidden": "true",
33
48
  children: negativeSign ?? TimeCore.defaultProps.negativeSign
34
49
  }), state.text] }) : state.text;
50
+ const toggleType = () => {
51
+ setActiveType((value) => {
52
+ if (defaultType === "current") return value === "remaining" ? "current" : "remaining";
53
+ return value === "duration" ? "remaining" : "duration";
54
+ });
55
+ };
56
+ const handleClick = (event) => {
57
+ if (event.defaultPrevented) return;
58
+ toggleType();
59
+ };
60
+ const handleKeyDown = (event) => {
61
+ if (event.defaultPrevented || !isInteractiveActivation(event.nativeEvent)) return;
62
+ event.preventDefault();
63
+ if (event.repeat) return;
64
+ toggleType();
65
+ };
35
66
  return renderElement("time", {
36
67
  render,
37
68
  className,
@@ -43,7 +74,12 @@ const Value = forwardRef(function Value(componentProps, forwardedRef) {
43
74
  props: [{
44
75
  dateTime: state.datetime,
45
76
  children: content,
46
- ...core.getAttrs(state)
77
+ ...attrs,
78
+ "aria-label": translateText(attrs["aria-label"], translator, resolvedLabelParams),
79
+ ...toggle ? {
80
+ onClick: handleClick,
81
+ onKeyDown: handleKeyDown
82
+ } : void 0
47
83
  }, elementProps]
48
84
  });
49
85
  });
@@ -1 +1 @@
1
- {"version":3,"file":"time-value.js","names":[],"sources":["../../../../src/ui/time/time-value.tsx"],"sourcesContent":["'use client';\n\nimport { TimeCore, TimeDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectTime } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface ValueProps extends Omit<UIComponentProps<'time', TimeCore.State>, 'children'>, TimeCore.Props {}\n\n/**\n * Displays a formatted time value (current, duration, or remaining).\n *\n * @example\n * ```tsx\n * <Time.Value />\n * <Time.Value type=\"duration\" />\n * <Time.Value type=\"remaining\" negativeSign=\"−\" />\n * ```\n */\nexport const Value = forwardRef(function Value(\n componentProps: ValueProps,\n forwardedRef: ForwardedRef<HTMLTimeElement>\n) {\n const { render, className, style, type, negativeSign, label, ...elementProps } = componentProps;\n\n const time = usePlayer(selectTime);\n\n const [core] = useState(() => new TimeCore());\n core.setProps({ type, negativeSign, label });\n\n if (!time) {\n if (__DEV__) logMissingFeature('Time.Value', 'time');\n return null;\n }\n\n core.setMedia(time);\n const state = core.getState();\n\n const content = state.negative ? (\n <>\n <span aria-hidden=\"true\">{negativeSign ?? TimeCore.defaultProps.negativeSign}</span>\n {state.text}\n </>\n ) : (\n state.text\n );\n\n return renderElement(\n 'time',\n { render, className, style },\n {\n state,\n stateAttrMap: TimeDataAttrs,\n ref: [forwardedRef],\n props: [\n {\n dateTime: state.datetime,\n children: content,\n ...core.getAttrs(state),\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace Value {\n export type Props = ValueProps;\n export type State = TimeCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,MAAa,QAAQ,WAAW,SAAS,MACvC,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,cAAc,OAAO,GAAG,iBAAiB;CAEjF,MAAM,OAAO,UAAU,WAAW;CAElC,MAAM,CAAC,QAAQ,eAAe,IAAI,UAAU,CAAC;AAC7C,MAAK,SAAS;EAAE;EAAM;EAAc;EAAO,CAAC;AAE5C,KAAI,CAAC,KAEH,QAAO;AAGT,MAAK,SAAS,KAAK;CACnB,MAAM,QAAQ,KAAK,UAAU;CAE7B,MAAM,UAAU,MAAM,WACpB,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;EAAM,eAAY;YAAQ,gBAAgB,SAAS,aAAa;EAAoB,CAAA,EACnF,MAAM,KACN,EAAA,CAAA,GAEH,MAAM;AAGR,QAAO,cACL,QACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,cAAc;EACd,KAAK,CAAC,aAAa;EACnB,OAAO,CACL;GACE,UAAU,MAAM;GAChB,UAAU;GACV,GAAG,KAAK,SAAS,MAAM;GACxB,EACD,aACD;EACF,CACF;EACD"}
1
+ {"version":3,"file":"time-value.js","names":[],"sources":["../../../../src/ui/time/time-value.tsx"],"sourcesContent":["'use client';\n\nimport { TimeCore, TimeDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectTime } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { remainingSuffixText } from '@videojs/core/i18n/text/time';\nimport { isInteractiveActivation } from '@videojs/utils/dom';\nimport { formatTimeAsPhrase } from '@videojs/utils/time';\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\nimport { forwardRef, useEffect, useState } from 'react';\n\nimport { useLocale, useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface ValueProps extends Omit<UIComponentProps<'time', TimeCore.State>, 'children'>, TimeCore.Props {}\n\n/**\n * Displays a formatted time value (current, duration, or remaining).\n *\n * @example\n * ```tsx\n * <Time.Value />\n * <Time.Value type=\"duration\" />\n * <Time.Value type=\"remaining\" negativeSign=\"−\" />\n * ```\n */\nexport const Value = forwardRef(function Value(\n componentProps: ValueProps,\n forwardedRef: ForwardedRef<HTMLTimeElement>\n) {\n const { render, className, style, type, negativeSign, label, toggle = false, ...elementProps } = componentProps;\n\n const time = usePlayer(selectTime);\n const translator = useTranslator();\n const locale = useLocale();\n\n const [core] = useState(() => new TimeCore());\n\n const defaultType = type ?? TimeCore.defaultProps.type;\n const [activeType, setActiveType] = useState(defaultType);\n // biome-ignore lint/correctness/useExhaustiveDependencies: We want to listen for changes to defaultType and toggle (so we revert to default), this just means one less useEffect.\n useEffect(() => {\n setActiveType(defaultType);\n }, [defaultType, toggle]);\n\n core.setProps({\n type: activeType,\n negativeSign,\n label,\n toggle,\n });\n\n if (!time) {\n if (__DEV__) logMissingFeature('Time.Value', 'time');\n return null;\n }\n\n core.setMedia(time);\n const state = core.getState();\n const attrs = core.getAttrs(state, defaultType);\n const labelParams = core.getLabelParams(state);\n const resolvedLabelParams = labelParams\n ? {\n duration:\n state.type === 'remaining'\n ? translateText(remainingSuffixText, translator, {\n duration: formatTimeAsPhrase(Math.abs(state.seconds), { locale }),\n })\n : formatTimeAsPhrase(Math.abs(state.seconds), { locale }),\n }\n : undefined;\n\n const content = state.negative ? (\n <>\n <span aria-hidden=\"true\">{negativeSign ?? TimeCore.defaultProps.negativeSign}</span>\n {state.text}\n </>\n ) : (\n state.text\n );\n\n const toggleType = () => {\n setActiveType((value) => {\n if (defaultType === 'current') {\n return value === 'remaining' ? 'current' : 'remaining';\n }\n return value === 'duration' ? 'remaining' : 'duration';\n });\n };\n\n const handleClick = (event: MouseEvent<HTMLTimeElement>) => {\n if (event.defaultPrevented) return;\n toggleType();\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTimeElement>) => {\n if (event.defaultPrevented || !isInteractiveActivation(event.nativeEvent)) return;\n // Prevent space from scrolling page.\n event.preventDefault();\n if (event.repeat) return;\n toggleType();\n };\n\n return renderElement(\n 'time',\n { render, className, style },\n {\n state,\n stateAttrMap: TimeDataAttrs,\n ref: [forwardedRef],\n props: [\n {\n dateTime: state.datetime,\n children: content,\n ...attrs,\n 'aria-label': translateText(attrs['aria-label'], translator, resolvedLabelParams),\n ...(toggle ? { onClick: handleClick, onKeyDown: handleKeyDown } : undefined),\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace Value {\n export type Props = ValueProps;\n export type State = TimeCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAa,QAAQ,WAAW,SAAS,MACvC,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,cAAc,OAAO,SAAS,OAAO,GAAG,iBAAiB;CAEjG,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,aAAa,cAAc;CACjC,MAAM,SAAS,UAAU;CAEzB,MAAM,CAAC,QAAQ,eAAe,IAAI,SAAS,CAAC;CAE5C,MAAM,cAAc,QAAQ,SAAS,aAAa;CAClD,MAAM,CAAC,YAAY,iBAAiB,SAAS,WAAW;CAExD,gBAAgB;EACd,cAAc,WAAW;CAC3B,GAAG,CAAC,aAAa,MAAM,CAAC;CAExB,KAAK,SAAS;EACZ,MAAM;EACN;EACA;EACA;CACF,CAAC;CAED,IAAI,CAAC,MAEH,OAAO;CAGT,KAAK,SAAS,IAAI;CAClB,MAAM,QAAQ,KAAK,SAAS;CAC5B,MAAM,QAAQ,KAAK,SAAS,OAAO,WAAW;CAE9C,MAAM,sBADc,KAAK,eAAe,KACF,IAClC,EACE,UACE,MAAM,SAAS,cACX,cAAc,qBAAqB,YAAY,EAC7C,UAAU,mBAAmB,KAAK,IAAI,MAAM,OAAO,GAAG,EAAE,OAAO,CAAC,EAClE,CAAC,IACD,mBAAmB,KAAK,IAAI,MAAM,OAAO,GAAG,EAAE,OAAO,CAAC,EAC9D,IACA,KAAA;CAEJ,MAAM,UAAU,MAAM,WACpB,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;EAAM,eAAY;EAAQ,UAAA,gBAAgB,SAAS,aAAa;CAAmB,CAAA,GAClF,MAAM,IACP,EAAA,CAAA,IAEF,MAAM;CAGR,MAAM,mBAAmB;EACvB,eAAe,UAAU;GACvB,IAAI,gBAAgB,WAClB,OAAO,UAAU,cAAc,YAAY;GAE7C,OAAO,UAAU,aAAa,cAAc;EAC9C,CAAC;CACH;CAEA,MAAM,eAAe,UAAuC;EAC1D,IAAI,MAAM,kBAAkB;EAC5B,WAAW;CACb;CAEA,MAAM,iBAAiB,UAA0C;EAC/D,IAAI,MAAM,oBAAoB,CAAC,wBAAwB,MAAM,WAAW,GAAG;EAE3E,MAAM,eAAe;EACrB,IAAI,MAAM,QAAQ;EAClB,WAAW;CACb;CAEA,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,cAAc;EACd,KAAK,CAAC,YAAY;EAClB,OAAO,CACL;GACE,UAAU,MAAM;GAChB,UAAU;GACV,GAAG;GACH,cAAc,cAAc,MAAM,eAAe,YAAY,mBAAmB;GAChF,GAAI,SAAS;IAAE,SAAS;IAAa,WAAW;GAAc,IAAI,KAAA;EACpE,GACA,YACF;CACF,CACF;AACF,CAAC"}
@@ -17,6 +17,6 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
17
17
  Value: () => SliderValue
18
18
  });
19
19
  //#endregion
20
- export { index_parts_exports };
20
+ export { SliderBuffer as Buffer, SliderFill as Fill, SliderPreview as Preview, TimeSliderRoot as Root, SliderThumb as Thumb, SliderTrack as Track, SliderValue as Value, index_parts_exports };
21
21
 
22
22
  //# sourceMappingURL=index.parts.js.map
@@ -1,20 +1,25 @@
1
1
  "use client";
2
+ import { useLocale, useTranslator } from "../../i18n/context.js";
2
3
  import { usePlayer } from "../../player/context.js";
3
4
  import { useLatestRef } from "../../utils/use-latest-ref.js";
4
5
  import { renderElement } from "../../utils/use-render.js";
5
6
  import { useSlider } from "../hooks/use-slider.js";
6
7
  import { SliderProvider } from "../slider/context.js";
7
- import { getTimeSliderCSSVars, selectBuffer, selectTime } from "@videojs/core/dom";
8
- import { forwardRef, useState } from "react";
8
+ import { getTimeSliderCSSVars, selectBuffer, selectPlayback, selectTime } from "@videojs/core/dom";
9
+ import { translateText } from "@videojs/core/i18n";
10
+ import { forwardRef, useEffect, useState } from "react";
9
11
  import { jsx } from "react/jsx-runtime";
10
12
  import { TimeSliderCore, TimeSliderDataAttrs } from "@videojs/core";
11
13
  import { formatTime } from "@videojs/utils/time";
12
14
  //#region src/ui/time-slider/time-slider-root.tsx
13
15
  const noopSeek = () => Promise.resolve(0);
14
16
  const TimeSliderRoot = forwardRef(function TimeSliderRoot(componentProps, forwardedRef) {
15
- const { render, className, style, label, changeThrottle = TimeSliderCore.defaultProps.changeThrottle, step = TimeSliderCore.defaultProps.step, largeStep = TimeSliderCore.defaultProps.largeStep, orientation, disabled, thumbAlignment, onDragStart, onDragEnd, ...elementProps } = componentProps;
17
+ const { render, className, style, label, changeThrottle = TimeSliderCore.defaultProps.changeThrottle, step = TimeSliderCore.defaultProps.step, largeStep = TimeSliderCore.defaultProps.largeStep, orientation, disabled, thumbAlignment, onDragStart, onDragEnd, pauseOnDrag, ...elementProps } = componentProps;
16
18
  const time = usePlayer(selectTime);
17
19
  const buffer = usePlayer(selectBuffer);
20
+ const playback = usePlayer(selectPlayback);
21
+ const translator = useTranslator();
22
+ const locale = useLocale();
18
23
  const [core] = useState(() => new TimeSliderCore());
19
24
  core.setProps({
20
25
  label,
@@ -22,12 +27,19 @@ const TimeSliderRoot = forwardRef(function TimeSliderRoot(componentProps, forwar
22
27
  largeStep,
23
28
  orientation,
24
29
  disabled,
25
- thumbAlignment
30
+ thumbAlignment,
31
+ pauseOnDrag,
32
+ changeThrottle
26
33
  });
34
+ core.setFormatLocale(locale);
27
35
  const mediaRef = useLatestRef(time && buffer ? {
28
36
  ...time,
29
37
  ...buffer
30
38
  } : null);
39
+ const playbackRef = useLatestRef(playback);
40
+ useEffect(() => {
41
+ return () => core.endDrag(playbackRef.current);
42
+ }, [core]);
31
43
  const duration = time?.duration ?? 0;
32
44
  const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider({
33
45
  computeState: (input) => {
@@ -58,8 +70,14 @@ const TimeSliderRoot = forwardRef(function TimeSliderRoot(componentProps, forwar
58
70
  const media = mediaRef.current;
59
71
  if (media) media.seek(core.rawValueFromPercent(percent));
60
72
  },
61
- onDragStart,
62
- onDragEnd
73
+ onDragStart: () => {
74
+ core.startDrag(playbackRef.current);
75
+ onDragStart?.();
76
+ },
77
+ onDragEnd: () => {
78
+ core.endDrag(playbackRef.current);
79
+ onDragEnd?.();
80
+ }
63
81
  });
64
82
  if (!time) return null;
65
83
  return /* @__PURE__ */ jsx(SliderProvider, {
@@ -69,7 +87,14 @@ const TimeSliderRoot = forwardRef(function TimeSliderRoot(componentProps, forwar
69
87
  thumbRef,
70
88
  thumbProps,
71
89
  stateAttrMap: TimeSliderDataAttrs,
72
- getAttrs: (sliderState) => core.getAttrs(sliderState),
90
+ getAttrs: (sliderState) => {
91
+ const attrs = core.getAttrs(sliderState);
92
+ return {
93
+ ...attrs,
94
+ "aria-label": translateText(attrs["aria-label"], translator),
95
+ "aria-valuetext": translateText(attrs["aria-valuetext"], translator, core.getValueTextParams(sliderState))
96
+ };
97
+ },
73
98
  formatValue: (value) => formatTime(value, duration)
74
99
  },
75
100
  children: renderElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"time-slider-root.js","names":[],"sources":["../../../../src/ui/time-slider/time-slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { TimeSliderCore, TimeSliderDataAttrs } from '@videojs/core';\nimport { getTimeSliderCSSVars, logMissingFeature, selectBuffer, selectTime } from '@videojs/core/dom';\nimport { formatTime } from '@videojs/utils/time';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopSeek = (): Promise<number> => Promise.resolve(0);\n\nexport interface TimeSliderRootProps extends UIComponentProps<'div', TimeSliderCore.State>, TimeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const TimeSliderRoot = forwardRef<HTMLDivElement, TimeSliderRootProps>(\n function TimeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n changeThrottle = TimeSliderCore.defaultProps.changeThrottle,\n step = TimeSliderCore.defaultProps.step,\n largeStep = TimeSliderCore.defaultProps.largeStep,\n orientation,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n\n const [core] = useState(() => new TimeSliderCore());\n core.setProps({ label, step, largeStep, orientation, disabled, thumbAlignment });\n\n // Keep a ref to the latest media state for callbacks that fire outside the render cycle.\n const mediaRef = useLatestRef(time && buffer ? { ...time, ...buffer } : null);\n\n const duration = time?.duration ?? 0;\n\n const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider<TimeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n if (!time || !buffer) {\n core.setMedia({\n currentTime: 0,\n duration: 0,\n seeking: false,\n seek: noopSeek,\n buffered: [],\n seekable: [],\n });\n } else {\n core.setMedia({ ...time, ...buffer });\n }\n\n return core.getState();\n },\n getPercent: () => (duration > 0 ? ((time?.currentTime ?? 0) / duration) * 100 : 0),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n changeThrottle,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getTimeSliderCSSVars,\n onValueCommit: (percent) => {\n const media = mediaRef.current;\n if (media) media.seek(core.rawValueFromPercent(percent));\n },\n onDragStart,\n onDragEnd,\n });\n\n if (!time) {\n if (__DEV__) logMissingFeature('TimeSlider', 'time');\n return null;\n }\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef,\n thumbProps,\n stateAttrMap: TimeSliderDataAttrs,\n getAttrs: (sliderState) => core.getAttrs(sliderState as TimeSliderCore.State),\n formatValue: (value) => formatTime(value, duration),\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: TimeSliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace TimeSliderRoot {\n export type Props = TimeSliderRootProps;\n export type State = TimeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;AAcA,MAAM,iBAAkC,QAAQ,QAAQ,EAAE;AAO1D,MAAa,iBAAiB,WAC5B,SAAS,eAAe,gBAAgB,cAAc;CACpD,MAAM,EACJ,QACA,WACA,OACA,OACA,iBAAiB,eAAe,aAAa,gBAC7C,OAAO,eAAe,aAAa,MACnC,YAAY,eAAe,aAAa,WACxC,aACA,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,OAAO,UAAU,WAAW;CAClC,MAAM,SAAS,UAAU,aAAa;CAEtC,MAAM,CAAC,QAAQ,eAAe,IAAI,gBAAgB,CAAC;AACnD,MAAK,SAAS;EAAE;EAAO;EAAM;EAAW;EAAa;EAAU;EAAgB,CAAC;CAGhF,MAAM,WAAW,aAAa,QAAQ,SAAS;EAAE,GAAG;EAAM,GAAG;EAAQ,GAAG,KAAK;CAE7E,MAAM,WAAW,MAAM,YAAY;CAEnC,MAAM,EAAE,OAAO,SAAS,SAAS,UAAU,WAAW,WAAW,eAAe,UAAgC;EAC9G,eAAe,UAAU;AACvB,QAAK,SAAS,MAAM;AACpB,OAAI,CAAC,QAAQ,CAAC,OACZ,MAAK,SAAS;IACZ,aAAa;IACb,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU,EAAE;IACZ,UAAU,EAAE;IACb,CAAC;OAEF,MAAK,SAAS;IAAE,GAAG;IAAM,GAAG;IAAQ,CAAC;AAGvC,UAAO,KAAK,UAAU;;EAExB,kBAAmB,WAAW,KAAM,MAAM,eAAe,KAAK,WAAY,MAAM;EAChF,sBAAsB,KAAK,gBAAgB;EAC3C,2BAA2B,KAAK,qBAAqB;EACrD;EACA;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,UAAU;EAClE,YAAY;EACZ,gBAAgB,YAAY;GAC1B,MAAM,QAAQ,SAAS;AACvB,OAAI,MAAO,OAAM,KAAK,KAAK,oBAAoB,QAAQ,CAAC;;EAE1D;EACA;EACD,CAAC;AAEF,KAAI,CAAC,KAEH,QAAO;AAGT,QACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,eAAe;GACzD;GACA;GACA,cAAc;GACd,WAAW,gBAAgB,KAAK,SAAS,YAAoC;GAC7E,cAAc,UAAU,WAAW,OAAO,SAAS;GACpD;YAEA,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,QAAQ;GAC5B,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;KAAW,EAAE;IAAE;IAAW;IAAa;GAC1E,CACF;EACc,CAAA;EAGtB"}
1
+ {"version":3,"file":"time-slider-root.js","names":[],"sources":["../../../../src/ui/time-slider/time-slider-root.tsx"],"sourcesContent":["'use client';\n\nimport { TimeSliderCore, TimeSliderDataAttrs } from '@videojs/core';\nimport { getTimeSliderCSSVars, logMissingFeature, selectBuffer, selectPlayback, selectTime } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { formatTime } from '@videojs/utils/time';\nimport { forwardRef, useEffect, useState } from 'react';\n\nimport { useLocale, useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopSeek = (): Promise<number> => Promise.resolve(0);\n\nexport interface TimeSliderRootProps extends UIComponentProps<'div', TimeSliderCore.State>, TimeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const TimeSliderRoot = forwardRef<HTMLDivElement, TimeSliderRootProps>(\n function TimeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n changeThrottle = TimeSliderCore.defaultProps.changeThrottle,\n step = TimeSliderCore.defaultProps.step,\n largeStep = TimeSliderCore.defaultProps.largeStep,\n orientation,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n pauseOnDrag,\n ...elementProps\n } = componentProps;\n\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n const playback = usePlayer(selectPlayback);\n const translator = useTranslator();\n const locale = useLocale();\n\n const [core] = useState(() => new TimeSliderCore());\n core.setProps({\n label,\n step,\n largeStep,\n orientation,\n disabled,\n thumbAlignment,\n pauseOnDrag,\n changeThrottle,\n });\n core.setFormatLocale(locale);\n\n // Keep a ref to the latest media state for callbacks that fire outside the render cycle.\n const mediaRef = useLatestRef(time && buffer ? { ...time, ...buffer } : null);\n const playbackRef = useLatestRef(playback);\n\n // Resume playback if the slider unmounts mid-drag — createSlider's destroy()\n // does not fire onDragEnd, so without this the player would stay paused.\n useEffect(() => {\n return () => core.endDrag(playbackRef.current);\n }, [core]);\n\n const duration = time?.duration ?? 0;\n\n const { state, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } = useSlider<TimeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n if (!time || !buffer) {\n core.setMedia({\n currentTime: 0,\n duration: 0,\n seeking: false,\n seek: noopSeek,\n buffered: [],\n seekable: [],\n });\n } else {\n core.setMedia({ ...time, ...buffer });\n }\n\n return core.getState();\n },\n getPercent: () => (duration > 0 ? ((time?.currentTime ?? 0) / duration) * 100 : 0),\n getStepPercent: () => core.getStepPercent(),\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled,\n changeThrottle,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getTimeSliderCSSVars,\n onValueCommit: (percent) => {\n const media = mediaRef.current;\n if (media) media.seek(core.rawValueFromPercent(percent));\n },\n onDragStart: () => {\n core.startDrag(playbackRef.current);\n onDragStart?.();\n },\n onDragEnd: () => {\n core.endDrag(playbackRef.current);\n onDragEnd?.();\n },\n });\n\n if (!time) {\n if (__DEV__) logMissingFeature('TimeSlider', 'time');\n return null;\n }\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n thumbRef,\n thumbProps,\n stateAttrMap: TimeSliderDataAttrs,\n getAttrs: (sliderState) => {\n const attrs = core.getAttrs(sliderState as TimeSliderCore.State);\n return {\n ...attrs,\n 'aria-label': translateText(attrs['aria-label'], translator),\n 'aria-valuetext': translateText(\n attrs['aria-valuetext'],\n translator,\n core.getValueTextParams(sliderState as TimeSliderCore.State)\n ),\n };\n },\n formatValue: (value) => formatTime(value, duration),\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: TimeSliderDataAttrs,\n ref: [forwardedRef, rootRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace TimeSliderRoot {\n export type Props = TimeSliderRootProps;\n export type State = TimeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,MAAM,iBAAkC,QAAQ,QAAQ,CAAC;AAOzD,MAAa,iBAAiB,WAC5B,SAAS,eAAe,gBAAgB,cAAc;CACpD,MAAM,EACJ,QACA,WACA,OACA,OACA,iBAAiB,eAAe,aAAa,gBAC7C,OAAO,eAAe,aAAa,MACnC,YAAY,eAAe,aAAa,WACxC,aACA,UACA,gBACA,aACA,WACA,aACA,GAAG,iBACD;CAEJ,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,SAAS,UAAU,YAAY;CACrC,MAAM,WAAW,UAAU,cAAc;CACzC,MAAM,aAAa,cAAc;CACjC,MAAM,SAAS,UAAU;CAEzB,MAAM,CAAC,QAAQ,eAAe,IAAI,eAAe,CAAC;CAClD,KAAK,SAAS;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,KAAK,gBAAgB,MAAM;CAG3B,MAAM,WAAW,aAAa,QAAQ,SAAS;EAAE,GAAG;EAAM,GAAG;CAAO,IAAI,IAAI;CAC5E,MAAM,cAAc,aAAa,QAAQ;CAIzC,gBAAgB;EACd,aAAa,KAAK,QAAQ,YAAY,OAAO;CAC/C,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,WAAW,MAAM,YAAY;CAEnC,MAAM,EAAE,OAAO,SAAS,SAAS,UAAU,WAAW,WAAW,eAAe,UAAgC;EAC9G,eAAe,UAAU;GACvB,KAAK,SAAS,KAAK;GACnB,IAAI,CAAC,QAAQ,CAAC,QACZ,KAAK,SAAS;IACZ,aAAa;IACb,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU,CAAC;IACX,UAAU,CAAC;GACb,CAAC;QAED,KAAK,SAAS;IAAE,GAAG;IAAM,GAAG;GAAO,CAAC;GAGtC,OAAO,KAAK,SAAS;EACvB;EACA,kBAAmB,WAAW,KAAM,MAAM,eAAe,KAAK,WAAY,MAAM;EAChF,sBAAsB,KAAK,eAAe;EAC1C,2BAA2B,KAAK,oBAAoB;EACpD;EACA;EACA;EACA,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,SAAS;EACjE,YAAY;EACZ,gBAAgB,YAAY;GAC1B,MAAM,QAAQ,SAAS;GACvB,IAAI,OAAO,MAAM,KAAK,KAAK,oBAAoB,OAAO,CAAC;EACzD;EACA,mBAAmB;GACjB,KAAK,UAAU,YAAY,OAAO;GAClC,cAAc;EAChB;EACA,iBAAiB;GACf,KAAK,QAAQ,YAAY,OAAO;GAChC,YAAY;EACd;CACF,CAAC;CAED,IAAI,CAAC,MAEH,OAAO;CAGT,OACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,cAAc;GACxD;GACA;GACA,cAAc;GACd,WAAW,gBAAgB;IACzB,MAAM,QAAQ,KAAK,SAAS,WAAmC;IAC/D,OAAO;KACL,GAAG;KACH,cAAc,cAAc,MAAM,eAAe,UAAU;KAC3D,kBAAkB,cAChB,MAAM,mBACN,YACA,KAAK,mBAAmB,WAAmC,CAC7D;IACF;GACF;GACA,cAAc,UAAU,WAAW,OAAO,QAAQ;EACpD;EAEC,UAAA,cACC,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,OAAO;GAC3B,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;IAAU,EAAE;IAAG;IAAW;GAAY;EAC1E,CACF;CACc,CAAA;AAEpB,CACF"}
@@ -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 { 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
+ {"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 TooltipContent {\n label?: string | undefined;\n shortcut?: string | undefined;\n}\n\nexport interface TooltipContextValue {\n core: TooltipCore;\n tooltip: TooltipApi;\n state: TooltipCore.State;\n preferredSide: TooltipCore.State['side'];\n setPositionedSide: (side: TooltipCore.State['side']) => void;\n stateAttrMap: StateAttrMap<TooltipCore.State>;\n anchorName: string;\n popupId: string;\n content: TooltipContent | undefined;\n setContent: (content: TooltipContent | 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":";;;AA0BA,MAAM,iBAAiB,cAA0C,IAAI;AAErE,MAAa,yBAAyB,eAAe;AAErD,SAAgB,oBAAyC;CACvD,MAAM,MAAM,WAAW,cAAc;CACrC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,gEAAgE;CAC1F,OAAO;AACT;AAEA,SAAgB,4BAAwD;CACtE,OAAO,WAAW,cAAc;AAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"group-context.js","names":[],"sources":["../../../../src/ui/tooltip/group-context.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipGroupCore } from '@videojs/core';\nimport { createContext, useContext } from 'react';\n\ninterface TooltipGroupContextValue {\n group: TooltipGroupCore;\n}\n\nconst TooltipGroupContext = createContext<TooltipGroupContextValue | null>(null);\n\nexport const TooltipGroupContextProvider = TooltipGroupContext.Provider;\n\n/** Returns the nearest `TooltipGroupCore`, or `undefined` when used outside a `Tooltip.Provider`. */\nexport function useTooltipGroup(): TooltipGroupCore | undefined {\n return useContext(TooltipGroupContext)?.group;\n}\n"],"mappings":";;;AASA,MAAM,sBAAsB,cAA+C,KAAK;AAEhF,MAAa,8BAA8B,oBAAoB;;AAG/D,SAAgB,kBAAgD;AAC9D,QAAO,WAAW,oBAAoB,EAAE"}
1
+ {"version":3,"file":"group-context.js","names":[],"sources":["../../../../src/ui/tooltip/group-context.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipGroupCore } from '@videojs/core';\nimport { createContext, useContext } from 'react';\n\ninterface TooltipGroupContextValue {\n group: TooltipGroupCore;\n}\n\nconst TooltipGroupContext = createContext<TooltipGroupContextValue | null>(null);\n\nexport const TooltipGroupContextProvider = TooltipGroupContext.Provider;\n\n/** Returns the nearest `TooltipGroupCore`, or `undefined` when used outside a `Tooltip.Provider`. */\nexport function useTooltipGroup(): TooltipGroupCore | undefined {\n return useContext(TooltipGroupContext)?.group;\n}\n"],"mappings":";;;AASA,MAAM,sBAAsB,cAA+C,IAAI;AAE/E,MAAa,8BAA8B,oBAAoB;;AAG/D,SAAgB,kBAAgD;CAC9D,OAAO,WAAW,mBAAmB,CAAC,EAAE;AAC1C"}
@@ -1,5 +1,7 @@
1
1
  import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
2
  import { TooltipArrow } from "./tooltip-arrow.js";
3
+ import { TooltipLabel } from "./tooltip-label.js";
4
+ import { TooltipShortcut } from "./tooltip-shortcut.js";
3
5
  import { TooltipPopup } from "./tooltip-popup.js";
4
6
  import { TooltipProvider } from "./tooltip-provider.js";
5
7
  import { TooltipRoot } from "./tooltip-root.js";
@@ -7,12 +9,14 @@ import { TooltipTrigger } from "./tooltip-trigger.js";
7
9
  //#region src/ui/tooltip/index.parts.ts
8
10
  var index_parts_exports = /* @__PURE__ */ __exportAll({
9
11
  Arrow: () => TooltipArrow,
12
+ Label: () => TooltipLabel,
10
13
  Popup: () => TooltipPopup,
11
14
  Provider: () => TooltipProvider,
12
15
  Root: () => TooltipRoot,
16
+ Shortcut: () => TooltipShortcut,
13
17
  Trigger: () => TooltipTrigger
14
18
  });
15
19
  //#endregion
16
- export { index_parts_exports };
20
+ export { TooltipArrow as Arrow, TooltipLabel as Label, TooltipPopup as Popup, TooltipProvider as Provider, TooltipRoot as Root, TooltipShortcut as Shortcut, TooltipTrigger as Trigger, index_parts_exports };
17
21
 
18
22
  //# sourceMappingURL=index.parts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/tooltip/index.parts.ts"],"sourcesContent":["export { TooltipArrow as Arrow, type TooltipArrowProps as ArrowProps } from './tooltip-arrow';\nexport { TooltipPopup as Popup, type TooltipPopupProps as PopupProps } from './tooltip-popup';\nexport { TooltipProvider as Provider, type TooltipProviderProps as ProviderProps } from './tooltip-provider';\nexport { TooltipRoot as Root, type TooltipRootProps as RootProps } from './tooltip-root';\nexport { TooltipTrigger as Trigger, type TooltipTriggerProps as TriggerProps } from './tooltip-trigger';\n"],"mappings":""}
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/tooltip/index.parts.ts"],"sourcesContent":["export { TooltipArrow as Arrow, type TooltipArrowProps as ArrowProps } from './tooltip-arrow';\nexport { TooltipLabel as Label, type TooltipLabelProps as LabelProps } from './tooltip-label';\nexport { TooltipPopup as Popup, type TooltipPopupProps as PopupProps } from './tooltip-popup';\nexport { TooltipProvider as Provider, type TooltipProviderProps as ProviderProps } from './tooltip-provider';\nexport { TooltipRoot as Root, type TooltipRootProps as RootProps } from './tooltip-root';\nexport { TooltipShortcut as Shortcut, type TooltipShortcutProps as ShortcutProps } from './tooltip-shortcut';\nexport { TooltipTrigger as Trigger, type TooltipTriggerProps as TriggerProps } from './tooltip-trigger';\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { createContextPart } from "../create-context-part.js";
3
2
  import { useTooltipContext } from "./context.js";
3
+ import { createContextPart } from "../create-context-part.js";
4
4
  //#region src/ui/tooltip/tooltip-arrow.tsx
5
5
  /** Decorative arrow pointing from the tooltip toward the trigger. Hidden from assistive technology. */
6
6
  const TooltipArrow = createContextPart({
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-arrow.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-arrow.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipArrowProps extends UIComponentProps<'div', TooltipState> {}\n\n/** Decorative arrow pointing from the tooltip toward the trigger. Hidden from assistive technology. */\nexport const TooltipArrow = createContextPart<TooltipArrowProps, TooltipState>({\n displayName: 'TooltipArrow',\n tag: 'div',\n useContext: useTooltipContext,\n staticProps: { 'aria-hidden': 'true' as const },\n});\n\nexport namespace TooltipArrow {\n export type Props = TooltipArrowProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;AAWA,MAAa,eAAe,kBAAmD;CAC7E,aAAa;CACb,KAAK;CACL,YAAY;CACZ,aAAa,EAAE,eAAe,QAAiB;CAChD,CAAC"}
1
+ {"version":3,"file":"tooltip-arrow.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-arrow.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipArrowProps extends UIComponentProps<'div', TooltipState> {}\n\n/** Decorative arrow pointing from the tooltip toward the trigger. Hidden from assistive technology. */\nexport const TooltipArrow = createContextPart<TooltipArrowProps, TooltipState>({\n displayName: 'TooltipArrow',\n tag: 'div',\n useContext: useTooltipContext,\n staticProps: { 'aria-hidden': 'true' as const },\n});\n\nexport namespace TooltipArrow {\n export type Props = TooltipArrowProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;AAWA,MAAa,eAAe,kBAAmD;CAC7E,aAAa;CACb,KAAK;CACL,YAAY;CACZ,aAAa,EAAE,eAAe,OAAgB;AAChD,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { renderElement } from "../../utils/use-render.js";
3
+ import { useTooltipContext } from "./context.js";
4
+ import { forwardRef } from "react";
5
+ //#region src/ui/tooltip/tooltip-label.tsx
6
+ /** Tooltip body label; defaults to context `content.label` from the linked trigger. */
7
+ const TooltipLabel = forwardRef(function TooltipLabel({ render, className, style, children, ...elementProps }, forwardedRef) {
8
+ const { state, stateAttrMap, content } = useTooltipContext();
9
+ const body = children !== void 0 ? children : content?.label ?? "";
10
+ return renderElement("span", {
11
+ render,
12
+ className,
13
+ style
14
+ }, {
15
+ state,
16
+ stateAttrMap,
17
+ ref: forwardedRef,
18
+ props: [elementProps, { children: body }]
19
+ });
20
+ });
21
+ //#endregion
22
+ export { TooltipLabel };
23
+
24
+ //# sourceMappingURL=tooltip-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-label.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-label.tsx"],"sourcesContent":["'use client';\n\nimport type { TooltipState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipLabelProps extends UIComponentProps<'span', TooltipState> {}\n\n/** Tooltip body label; defaults to context `content.label` from the linked trigger. */\nexport const TooltipLabel = forwardRef<HTMLSpanElement, TooltipLabelProps>(function TooltipLabel(\n { render, className, style, children, ...elementProps },\n forwardedRef\n) {\n const { state, stateAttrMap, content } = useTooltipContext();\n const body = children !== undefined ? children : (content?.label ?? '');\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [elementProps, { children: body }],\n }\n );\n});\n\nexport namespace TooltipLabel {\n export type Props = TooltipLabelProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;;AAYA,MAAa,eAAe,WAA+C,SAAS,aAClF,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBACzC,cACA;CACA,MAAM,EAAE,OAAO,cAAc,YAAY,kBAAkB;CAC3D,MAAM,OAAO,aAAa,KAAA,IAAY,WAAY,SAAS,SAAS;CAEpE,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC,cAAc,EAAE,UAAU,KAAK,CAAC;CAC1C,CACF;AACF,CAAC"}