@videojs/html 10.0.0-beta.30 → 10.0.0-beta.31

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 (357) hide show
  1. package/cdn/audio-minimal-ui.dev.js +1 -1
  2. package/cdn/audio-minimal-ui.js +1 -1
  3. package/cdn/audio-minimal.dev.js +4 -4
  4. package/cdn/audio-minimal.dev.js.map +1 -1
  5. package/cdn/audio-minimal.js +1 -1
  6. package/cdn/audio-minimal.js.map +1 -1
  7. package/cdn/audio-player.dev.js +1 -0
  8. package/cdn/audio-player.js +1 -0
  9. package/cdn/audio-ui.dev.js +1 -1
  10. package/cdn/audio-ui.js +1 -1
  11. package/cdn/audio.dev.js +4 -4
  12. package/cdn/audio.dev.js.map +1 -1
  13. package/cdn/audio.js +1 -1
  14. package/cdn/audio.js.map +1 -1
  15. package/cdn/background.dev.js +1 -1
  16. package/cdn/background.js +1 -1
  17. package/cdn/{compounds-D1FPw7jg.js → compounds-BA8gXlmJ.js} +32 -188
  18. package/cdn/compounds-BA8gXlmJ.js.map +1 -0
  19. package/cdn/compounds-DKoFv2f8.js +8 -0
  20. package/cdn/compounds-DKoFv2f8.js.map +1 -0
  21. package/cdn/{create-player-5UrHNqBI.js → create-player-BEEc22xK.js} +18 -2
  22. package/cdn/{create-player-5UrHNqBI.js.map → create-player-BEEc22xK.js.map} +1 -1
  23. package/cdn/create-player-D5WQ_jzZ.js +2 -0
  24. package/cdn/{create-player-LjvbIxIq.js.map → create-player-D5WQ_jzZ.js.map} +1 -1
  25. package/cdn/{gesture-element-BbNy1Pjt.js → gesture-element-CxdagZOo.js} +2 -2
  26. package/cdn/{gesture-element-BbNy1Pjt.js.map → gesture-element-CxdagZOo.js.map} +1 -1
  27. package/cdn/{gesture-element-KdpjbbBD.js → gesture-element-x6kojUJk.js} +3 -3
  28. package/cdn/{gesture-element-KdpjbbBD.js.map → gesture-element-x6kojUJk.js.map} +1 -1
  29. package/cdn/i18n-CE4KxKuj.js.map +1 -1
  30. package/cdn/{i18n-DeI9j-ko.js → i18n-C_WyuIHd.js} +2 -2
  31. package/cdn/{i18n-DeI9j-ko.js.map → i18n-C_WyuIHd.js.map} +1 -1
  32. package/cdn/i18n-DyF_NfCk.js.map +1 -1
  33. package/cdn/i18n-o3_t8fxw.js +2 -0
  34. package/cdn/{i18n-R3TQ8P2f.js.map → i18n-o3_t8fxw.js.map} +1 -1
  35. package/cdn/live-audio-minimal-ui.dev.js +2 -0
  36. package/cdn/live-audio-minimal-ui.js +1 -0
  37. package/cdn/live-audio-minimal.dev.d.ts +1 -0
  38. package/cdn/live-audio-minimal.dev.js +97 -0
  39. package/cdn/live-audio-minimal.dev.js.map +1 -0
  40. package/cdn/live-audio-minimal.js +2 -0
  41. package/cdn/live-audio-minimal.js.map +1 -0
  42. package/cdn/live-audio-player.dev.d.ts +1 -0
  43. package/cdn/live-audio-player.dev.js +1 -0
  44. package/cdn/live-audio-player.js +1 -0
  45. package/cdn/live-audio-ui.dev.d.ts +1 -0
  46. package/cdn/live-audio-ui.dev.js +2 -0
  47. package/cdn/live-audio-ui.js +1 -0
  48. package/cdn/live-audio.dev.d.ts +1 -0
  49. package/cdn/live-audio.dev.js +97 -0
  50. package/cdn/live-audio.dev.js.map +1 -0
  51. package/cdn/live-audio.js +2 -0
  52. package/cdn/live-audio.js.map +1 -0
  53. package/cdn/{live-button-element-CylfQD0v.js → live-button-element-BFufqFFV.js} +3 -3
  54. package/cdn/{live-button-element-CylfQD0v.js.map → live-button-element-BFufqFFV.js.map} +1 -1
  55. package/cdn/live-button-element-CEbrR59d.js +2 -0
  56. package/cdn/{live-button-element-C-WypudK.js.map → live-button-element-CEbrR59d.js.map} +1 -1
  57. package/cdn/live-video-minimal-ui.dev.d.ts +1 -0
  58. package/cdn/live-video-minimal-ui.dev.js +2 -0
  59. package/cdn/live-video-minimal-ui.js +1 -0
  60. package/cdn/live-video-minimal.dev.js +5 -36
  61. package/cdn/live-video-minimal.dev.js.map +1 -1
  62. package/cdn/live-video-minimal.js +1 -1
  63. package/cdn/live-video-minimal.js.map +1 -1
  64. package/cdn/live-video-player.dev.d.ts +1 -0
  65. package/cdn/live-video-player.dev.js +1 -0
  66. package/cdn/live-video-player.js +1 -0
  67. package/cdn/live-video-ui.dev.d.ts +1 -0
  68. package/cdn/live-video-ui.dev.js +2 -0
  69. package/cdn/live-video-ui.js +1 -0
  70. package/cdn/live-video.dev.js +5 -38
  71. package/cdn/live-video.dev.js.map +1 -1
  72. package/cdn/live-video.js +1 -1
  73. package/cdn/live-video.js.map +1 -1
  74. package/cdn/media/hls-background-video.dev.js +1 -1
  75. package/cdn/media/hls-background-video.js +1 -1
  76. package/cdn/media/hls-background-video.js.map +1 -1
  77. package/cdn/media/mux-background-video.dev.js +1 -1
  78. package/cdn/media/mux-background-video.js +1 -1
  79. package/cdn/media/mux-background-video.js.map +1 -1
  80. package/cdn/media/mux-data.dev.js +1 -1
  81. package/cdn/media/mux-data.dev.js.map +1 -1
  82. package/cdn/media/mux-data.js +1 -1
  83. package/cdn/media/mux-data.js.map +1 -1
  84. package/cdn/{media-B4uT13xV.js → media-B4uT13xV2.js} +1 -1
  85. package/cdn/media-B4uT13xV2.js.map +1 -0
  86. package/cdn/{media-D6Xer97u.js → media-D6Xer97u2.js} +1 -1
  87. package/cdn/media-D6Xer97u2.js.map +1 -0
  88. package/cdn/minimal-ui-0eDc51VS.js +2 -0
  89. package/cdn/{minimal-ui-D3XCtSx_.js.map → minimal-ui-0eDc51VS.js.map} +1 -1
  90. package/cdn/minimal-ui-C2vRjwax.js +36 -0
  91. package/cdn/minimal-ui-C2vRjwax.js.map +1 -0
  92. package/cdn/{minimal-ui-ajeAXABk.js → minimal-ui-CLBGXvp5.js} +4 -4
  93. package/cdn/{minimal-ui-ajeAXABk.js.map → minimal-ui-CLBGXvp5.js.map} +1 -1
  94. package/cdn/minimal-ui-ClCvmIm4.js +2 -0
  95. package/cdn/minimal-ui-ClCvmIm4.js.map +1 -0
  96. package/cdn/minimal-ui-DDM48qb3.js +2 -0
  97. package/cdn/minimal-ui-DDM48qb3.js.map +1 -0
  98. package/cdn/minimal-ui-DY4C1zGt.js +23 -0
  99. package/cdn/minimal-ui-DY4C1zGt.js.map +1 -0
  100. package/cdn/{minimal-ui-KUzZkG_3.js → minimal-ui-Dk4_XLp4.js} +8 -8
  101. package/cdn/{minimal-ui-KUzZkG_3.js.map → minimal-ui-Dk4_XLp4.js.map} +1 -1
  102. package/cdn/{minimal-ui-p9QCZfCz.js → minimal-ui-JHiRECkp.js} +2 -2
  103. package/cdn/{minimal-ui-p9QCZfCz.js.map → minimal-ui-JHiRECkp.js.map} +1 -1
  104. package/cdn/{player-POHYt5tr.js → player-BGAk4zHP.js} +2 -2
  105. package/cdn/{player-POHYt5tr.js.map → player-BGAk4zHP.js.map} +1 -1
  106. package/cdn/{player-CngT-cVQ.js → player-Bb9oakYz.js} +2 -2
  107. package/cdn/{player-CngT-cVQ.js.map → player-Bb9oakYz.js.map} +1 -1
  108. package/cdn/{player-BXQMSpgR.js → player-BrlY19A2.js} +2 -2
  109. package/cdn/{player-BXQMSpgR.js.map → player-BrlY19A2.js.map} +1 -1
  110. package/cdn/{player-BuxifKSM.js → player-CQENs37B.js} +2 -2
  111. package/cdn/{player-BuxifKSM.js.map → player-CQENs37B.js.map} +1 -1
  112. package/cdn/player-DdOHaN9e.js +2 -0
  113. package/cdn/player-DdOHaN9e.js.map +1 -0
  114. package/cdn/{player-B5zkgqwT.js → player-DtcVc6sP.js} +2 -2
  115. package/cdn/{player-B5zkgqwT.js.map → player-DtcVc6sP.js.map} +1 -1
  116. package/cdn/{player-DMP2pc3L.js → player-bEUswOOg.js} +2 -2
  117. package/cdn/{player-DMP2pc3L.js.map → player-bEUswOOg.js.map} +1 -1
  118. package/cdn/player-qLOeas8M.js +18 -0
  119. package/cdn/player-qLOeas8M.js.map +1 -0
  120. package/cdn/poster-element-BA7p_OJL.js +2 -0
  121. package/cdn/{poster-element-Djlm5fwC.js.map → poster-element-BA7p_OJL.js.map} +1 -1
  122. package/cdn/{poster-element-CuCEBVr3.js → poster-element-BTynHaSW.js} +4 -3
  123. package/cdn/{poster-element-CuCEBVr3.js.map → poster-element-BTynHaSW.js.map} +1 -1
  124. package/cdn/radio-options-controller-Cz5yFvUh.js +138 -0
  125. package/cdn/radio-options-controller-Cz5yFvUh.js.map +1 -0
  126. package/cdn/radio-options-controller-hybHJkeC.js +2 -0
  127. package/cdn/radio-options-controller-hybHJkeC.js.map +1 -0
  128. package/cdn/seek-button-element-C4g3qPbc.js +2 -0
  129. package/cdn/{seek-button-element-CgaXVFPS.js.map → seek-button-element-C4g3qPbc.js.map} +1 -1
  130. package/cdn/{seek-button-element-BD2caCd5.js → seek-button-element-CirtfRSE.js} +4 -3
  131. package/cdn/seek-button-element-CirtfRSE.js.map +1 -0
  132. package/cdn/{skin-element-PDwjO4v0.js → skin-element-BF1a0EIj.js} +2 -2
  133. package/cdn/{skin-element-PDwjO4v0.js.map → skin-element-BF1a0EIj.js.map} +1 -1
  134. package/cdn/skin-element-BTt7JKoR.js +2 -0
  135. package/cdn/{skin-element-DE8OodF5.js.map → skin-element-BTt7JKoR.js.map} +1 -1
  136. package/cdn/template-BKUlUXWF.js +2 -0
  137. package/cdn/template-BKUlUXWF.js.map +1 -0
  138. package/cdn/template-ClYP_1RH.js +31 -0
  139. package/cdn/template-ClYP_1RH.js.map +1 -0
  140. package/cdn/text-element-DW2FuvdI.js +2 -0
  141. package/cdn/text-element-DW2FuvdI.js.map +1 -0
  142. package/cdn/{text-element-dyiwucQB.js → text-element-LzVNdZbp.js} +50 -2
  143. package/cdn/text-element-LzVNdZbp.js.map +1 -0
  144. package/cdn/time-slider-chapters-element-Bf4gYppH.js +2 -0
  145. package/cdn/{time-slider-chapters-element-b6oeaZtJ.js.map → time-slider-chapters-element-Bf4gYppH.js.map} +1 -1
  146. package/cdn/{time-slider-chapters-element-BTMqnBhM.js → time-slider-chapters-element-DMkTYNg3.js} +5 -3
  147. package/cdn/time-slider-chapters-element-DMkTYNg3.js.map +1 -0
  148. package/cdn/{ui-BsUcH4YJ.js → ui-BL6b1m09.js} +7 -7
  149. package/cdn/{ui-BsUcH4YJ.js.map → ui-BL6b1m09.js.map} +1 -1
  150. package/cdn/ui-BbpSrILu.js +2 -0
  151. package/cdn/{ui-DLvwCbsU.js.map → ui-BbpSrILu.js.map} +1 -1
  152. package/cdn/ui-BmCfIOl5.js +38 -0
  153. package/cdn/ui-BmCfIOl5.js.map +1 -0
  154. package/cdn/ui-Bu9GX-M_.js +28 -0
  155. package/cdn/ui-Bu9GX-M_.js.map +1 -0
  156. package/cdn/ui-CBrFrvmm.js +2 -0
  157. package/cdn/{ui-CxftD4RF.js.map → ui-CBrFrvmm.js.map} +1 -1
  158. package/cdn/{ui-CtONjPC2.js → ui-CQsP0EFA.js} +9 -9
  159. package/cdn/{ui-CtONjPC2.js.map → ui-CQsP0EFA.js.map} +1 -1
  160. package/cdn/ui-Crbp7m4I.js +2 -0
  161. package/cdn/ui-Crbp7m4I.js.map +1 -0
  162. package/cdn/ui-DRKjxVsj.js +2 -0
  163. package/cdn/ui-DRKjxVsj.js.map +1 -0
  164. package/cdn/video-minimal-ui.dev.js +1 -1
  165. package/cdn/video-minimal-ui.js +1 -1
  166. package/cdn/video-minimal.dev.js +13 -12
  167. package/cdn/video-minimal.dev.js.map +1 -1
  168. package/cdn/video-minimal.js +1 -1
  169. package/cdn/video-minimal.js.map +1 -1
  170. package/cdn/video-player.dev.d.ts +1 -0
  171. package/cdn/video-player.dev.js +1 -0
  172. package/cdn/video-player.js +1 -0
  173. package/cdn/video-ui.dev.js +1 -1
  174. package/cdn/video-ui.js +1 -1
  175. package/cdn/video.dev.js +14 -13
  176. package/cdn/video.dev.js.map +1 -1
  177. package/cdn/video.js +1 -1
  178. package/cdn/video.js.map +1 -1
  179. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  180. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  181. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  182. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  183. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  184. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  185. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  186. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  187. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  188. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  189. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  190. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  191. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  192. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  193. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  194. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  195. package/dist/default/define/audio/minimal-skin.css +39 -7
  196. package/dist/default/define/audio/skin.css +31 -7
  197. package/dist/default/define/live-audio/minimal-skin.css +39 -7
  198. package/dist/default/define/live-audio/skin.css +31 -7
  199. package/dist/default/define/live-video/minimal-skin.css +39 -7
  200. package/dist/default/define/live-video/minimal-skin.js +1 -1
  201. package/dist/default/define/live-video/minimal-skin.js.map +1 -1
  202. package/dist/default/define/live-video/minimal-skin.tailwind.js +1 -1
  203. package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -1
  204. package/dist/default/define/live-video/skin.css +31 -7
  205. package/dist/default/define/live-video/skin.js +1 -1
  206. package/dist/default/define/live-video/skin.js.map +1 -1
  207. package/dist/default/define/live-video/skin.tailwind.js +1 -1
  208. package/dist/default/define/live-video/skin.tailwind.js.map +1 -1
  209. package/dist/default/define/video/minimal-skin.css +39 -7
  210. package/dist/default/define/video/minimal-skin.js +1 -1
  211. package/dist/default/define/video/minimal-skin.js.map +1 -1
  212. package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
  213. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  214. package/dist/default/define/video/skin.css +31 -7
  215. package/dist/default/define/video/skin.js +1 -1
  216. package/dist/default/define/video/skin.js.map +1 -1
  217. package/dist/default/define/video/skin.tailwind.js +1 -1
  218. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  219. package/dist/default/i18n/provider-mixin.js +24 -0
  220. package/dist/default/i18n/provider-mixin.js.map +1 -1
  221. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -1
  222. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  223. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  224. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  225. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -7
  226. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  227. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  228. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  229. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
  230. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  231. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  232. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  233. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +8 -7
  234. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  235. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  236. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  237. package/dist/default/ui/slider/slider-element.js +1 -2
  238. package/dist/default/ui/slider/slider-element.js.map +1 -1
  239. package/dist/default/ui/time-slider/time-slider-element.js +1 -2
  240. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  241. package/dist/default/ui/volume-slider/volume-slider-element.js +1 -2
  242. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  243. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  244. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  245. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  246. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  247. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  248. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  249. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  250. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  251. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  252. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  253. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  254. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  255. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  256. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  257. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  258. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  259. package/dist/dev/define/audio/minimal-skin.css +39 -7
  260. package/dist/dev/define/audio/skin.css +31 -7
  261. package/dist/dev/define/live-audio/minimal-skin.css +39 -7
  262. package/dist/dev/define/live-audio/skin.css +31 -7
  263. package/dist/dev/define/live-video/minimal-skin.css +39 -7
  264. package/dist/dev/define/live-video/minimal-skin.js +1 -1
  265. package/dist/dev/define/live-video/minimal-skin.js.map +1 -1
  266. package/dist/dev/define/live-video/minimal-skin.tailwind.js +1 -1
  267. package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -1
  268. package/dist/dev/define/live-video/skin.css +31 -7
  269. package/dist/dev/define/live-video/skin.js +1 -1
  270. package/dist/dev/define/live-video/skin.js.map +1 -1
  271. package/dist/dev/define/live-video/skin.tailwind.js +1 -1
  272. package/dist/dev/define/live-video/skin.tailwind.js.map +1 -1
  273. package/dist/dev/define/video/minimal-skin.css +39 -7
  274. package/dist/dev/define/video/minimal-skin.js +8 -8
  275. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  276. package/dist/dev/define/video/minimal-skin.tailwind.js +12 -12
  277. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  278. package/dist/dev/define/video/skin.css +31 -7
  279. package/dist/dev/define/video/skin.js +8 -8
  280. package/dist/dev/define/video/skin.js.map +1 -1
  281. package/dist/dev/define/video/skin.tailwind.js +12 -12
  282. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  283. package/dist/dev/i18n/provider-mixin.d.ts.map +1 -1
  284. package/dist/dev/i18n/provider-mixin.js +24 -0
  285. package/dist/dev/i18n/provider-mixin.js.map +1 -1
  286. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button-group.js +1 -1
  287. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  288. package/dist/dev/packages/skins/dist/default/default/tailwind/components/controls.js +1 -1
  289. package/dist/dev/packages/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  290. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js +8 -7
  291. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  292. package/dist/dev/packages/skins/dist/default/default/tailwind/components/time.js +1 -1
  293. package/dist/dev/packages/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  294. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
  295. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  296. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  297. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  298. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js +8 -7
  299. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  300. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  301. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  302. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  303. package/dist/dev/ui/slider/slider-element.js +1 -2
  304. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  305. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  306. package/dist/dev/ui/time-slider/time-slider-element.js +1 -2
  307. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  308. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  309. package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -2
  310. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  311. package/docs/README.md +1 -1
  312. package/docs/concepts/media-sources.md +26 -2
  313. package/docs/concepts/skins.md +39 -15
  314. package/docs/how-to/customize-skins.md +7662 -48
  315. package/docs/how-to/i18n-switch-locale.md +27 -0
  316. package/docs/how-to/installation.md +4 -4
  317. package/docs/how-to/migrate-from-plyr.md +1 -5
  318. package/docs/llms.txt +7 -0
  319. package/docs/reference/cloudflare-video.md +483 -0
  320. package/docs/reference/dash-video.md +54 -0
  321. package/docs/reference/feature-metadata.md +3 -1
  322. package/docs/reference/hlsjs-video.md +626 -0
  323. package/docs/reference/native-hls-video.md +40 -0
  324. package/docs/reference/shaka-video.md +588 -0
  325. package/docs/reference/spotify-audio.md +394 -0
  326. package/docs/reference/tiktok-video.md +504 -0
  327. package/docs/reference/title.md +1 -1
  328. package/docs/reference/twitch-video.md +447 -0
  329. package/docs/reference/vimeo-video.md +1038 -0
  330. package/docs/reference/youtube-video.md +573 -0
  331. package/package.json +9 -9
  332. package/cdn/audio-headless.dev.js +0 -1
  333. package/cdn/audio-headless.js +0 -1
  334. package/cdn/compounds-CHlzbAKu.js +0 -8
  335. package/cdn/compounds-CHlzbAKu.js.map +0 -1
  336. package/cdn/compounds-D1FPw7jg.js.map +0 -1
  337. package/cdn/create-player-LjvbIxIq.js +0 -2
  338. package/cdn/i18n-R3TQ8P2f.js +0 -2
  339. package/cdn/live-button-element-C-WypudK.js +0 -2
  340. package/cdn/media-B4uT13xV.js.map +0 -1
  341. package/cdn/media-D6Xer97u.js.map +0 -1
  342. package/cdn/minimal-ui-D3XCtSx_.js +0 -2
  343. package/cdn/poster-element-Djlm5fwC.js +0 -2
  344. package/cdn/seek-button-element-BD2caCd5.js.map +0 -1
  345. package/cdn/seek-button-element-CgaXVFPS.js +0 -2
  346. package/cdn/skin-element-DE8OodF5.js +0 -2
  347. package/cdn/text-element-BJyj7nLo.js +0 -2
  348. package/cdn/text-element-BJyj7nLo.js.map +0 -1
  349. package/cdn/text-element-dyiwucQB.js.map +0 -1
  350. package/cdn/time-slider-chapters-element-BTMqnBhM.js.map +0 -1
  351. package/cdn/time-slider-chapters-element-b6oeaZtJ.js +0 -2
  352. package/cdn/ui-CxftD4RF.js +0 -2
  353. package/cdn/ui-DLvwCbsU.js +0 -2
  354. package/cdn/video-headless.dev.js +0 -1
  355. package/cdn/video-headless.js +0 -1
  356. /package/cdn/{audio-headless.dev.d.ts → audio-player.dev.d.ts} +0 -0
  357. /package/cdn/{video-headless.dev.d.ts → live-audio-minimal-ui.dev.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-element-LzVNdZbp.js","names":["nearestLang","defaultLoader","#i18nProvider","#i18nValue","#registryUnsubscribe","#registryEpoch","#ambientUnsubscribe","#resetLazyAndLoad","#publish","#lazySeq","#lazyLayer","#resolvedLocaleForLazy","#lazyResetStartedForLocale","#syncDirection","#derivedDirection","#resolvedLocale","#publishedLocale","#publishedRegistryEpoch","#publishedLazyLayer","#i18n","#text"],"sources":["../../utils/dist/i18n/direction.js","../../utils/dist/dom/locale/effective-locale.js","../../utils/dist/dom/locale/find-nearest-lang.js","../../utils/dist/dom/locale/merge-locale-overlays.js","../../utils/dist/dom/locale/resolve-lang-attr.js","../../utils/dist/dom/locale/subscribe-ambient-lang.js","../src/i18n/locale.ts","../src/i18n/provider-mixin.ts","../src/i18n/provider-element.ts","../src/i18n/text-mixin.ts","../src/ui/text/text-element.ts"],"sourcesContent":["//#region src/i18n/direction.ts\nconst RTL_SCRIPTS = /* @__PURE__ */ new Set([\n\t\"Adlm\",\n\t\"Arab\",\n\t\"Hebr\",\n\t\"Mand\",\n\t\"Mend\",\n\t\"Nkoo\",\n\t\"Rohg\",\n\t\"Samr\",\n\t\"Syrc\",\n\t\"Thaa\",\n\t\"Yezi\"\n]);\n/** Resolve the writing direction of a BCP 47 locale. */\nfunction getTextDirection(locale) {\n\ttry {\n\t\tconst script = new Intl.Locale(locale).maximize().script;\n\t\treturn script && RTL_SCRIPTS.has(script) ? \"rtl\" : \"ltr\";\n\t} catch {\n\t\treturn \"ltr\";\n\t}\n}\n//#endregion\nexport { getTextDirection };\n\n//# sourceMappingURL=direction.js.map","import \"../../i18n.js\";\nimport { isUndefined } from \"../../predicate/predicate.js\";\n//#region src/dom/locale/effective-locale.ts\n/** Resolves locale: explicit non-empty value → ambient `lang` → {@link fallback}. */\nfunction effectiveLocale(explicitLocale, ambientLang, fallback = \"en\") {\n\tif (!isUndefined(explicitLocale) && explicitLocale.trim() !== \"\") return explicitLocale;\n\tif (!isUndefined(ambientLang) && ambientLang.trim() !== \"\") return ambientLang;\n\treturn fallback;\n}\n//#endregion\nexport { effectiveLocale };\n\n//# sourceMappingURL=effective-locale.js.map","import { walkAncestors } from \"../walk-ancestors.js\";\n//#region src/dom/locale/find-nearest-lang.ts\nfunction getElementLang(node) {\n\tconst fromAttribute = node.getAttribute(\"lang\")?.trim();\n\tif (fromAttribute) return fromAttribute;\n\tif (\"lang\" in node && typeof node.lang === \"string\") {\n\t\tconst fromProperty = node.lang.trim();\n\t\tif (fromProperty) return fromProperty;\n\t}\n}\n/** First non-empty `lang` on `start` or an ancestor (HTML language inheritance). */\nfunction findNearestLang(start) {\n\treturn walkAncestors(start, getElementLang);\n}\n//#endregion\nexport { findNearestLang };\n\n//# sourceMappingURL=find-nearest-lang.js.map","//#region src/dom/locale/merge-locale-overlays.ts\n/**\n* Loads overlay layers for each resolved locale key, least-specific first, then merges\n* most-specific-last (same semantics as the core i18n registry).\n*/\nasync function mergeLocaleOverlays(locale, load, findKeys) {\n\tconst chain = findKeys(locale);\n\tconst layers = await Promise.all(chain.map((tag) => load(tag)));\n\tconst loadedTags = [];\n\tconst merged = {};\n\tfor (let i = 0; i < chain.length; i++) {\n\t\tconst layer = layers[i];\n\t\tif (layer && Object.keys(layer).length > 0) loadedTags.push(chain[i]);\n\t}\n\tfor (let i = chain.length - 1; i >= 0; i--) {\n\t\tconst layer = layers[i];\n\t\tif (layer) Object.assign(merged, layer);\n\t}\n\treturn {\n\t\tmerged,\n\t\tloadedTags\n\t};\n}\n//#endregion\nexport { mergeLocaleOverlays };\n\n//# sourceMappingURL=merge-locale-overlays.js.map","import { isUndefined } from \"../../predicate/predicate.js\";\n//#region src/dom/locale/resolve-lang-attr.ts\n/**\n* Normalizes a raw `lang` string (e.g. from {@link findNearestLang}): empty or whitespace-only →\n* `undefined`, otherwise the trimmed value.\n*/\nfunction resolveLangAttr(raw) {\n\tif (isUndefined(raw) || raw.trim() === \"\") return;\n\treturn raw.trim();\n}\n//#endregion\nexport { resolveLangAttr };\n\n//# sourceMappingURL=resolve-lang-attr.js.map","//#region src/dom/locale/subscribe-ambient-lang.ts\nconst subscribers = /* @__PURE__ */ new Set();\nlet observer;\nlet queued = false;\nconst flush = () => {\n\tqueued = false;\n\tfor (const cb of subscribers) cb();\n};\nconst schedule = () => {\n\tif (!queued) {\n\t\tqueued = true;\n\t\tqueueMicrotask(flush);\n\t}\n};\nfunction start() {\n\tif (observer || typeof document === \"undefined\") return;\n\tobserver = new MutationObserver(schedule);\n\tobserver.observe(document.documentElement, {\n\t\tsubtree: true,\n\t\tattributes: true,\n\t\tattributeFilter: [\"lang\"],\n\t\tchildList: true\n\t});\n}\nfunction stop() {\n\tif (subscribers.size || !observer) return;\n\tobserver.disconnect();\n\tobserver = void 0;\n\tqueued = false;\n}\n/**\n* Subscribes to DOM updates that can change inherited `lang`: any `lang` attribute edit,\n* or subtree structural changes under `<html>` (which can move nodes between labeled ancestors).\n*/\nfunction subscribeAmbientLang(onStoreChange) {\n\tif (typeof document === \"undefined\") return () => {};\n\tsubscribers.add(onStoreChange);\n\tstart();\n\treturn () => {\n\t\tsubscribers.delete(onStoreChange);\n\t\tstop();\n\t};\n}\n//#endregion\nexport { subscribeAmbientLang };\n\n//# sourceMappingURL=subscribe-ambient-lang.js.map","import type { Locale } from '@videojs/core/i18n';\nimport { effectiveLocale, nearestLang, resolveLangAttr } from '@videojs/utils/dom';\n\n/** Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI. */\nexport function resolvePlayerLocale(explicit: Locale | undefined, inherited: Locale | undefined): Locale {\n return effectiveLocale<Locale>(explicit, inherited);\n}\n\n/** Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`). */\nexport function resolveProviderLocale(host: HTMLElement & { lang?: string }): Locale {\n const explicit = resolveLangAttr<Locale>(host.lang);\n const root = host.parentElement ?? (typeof document !== 'undefined' ? document.documentElement : null);\n const inherited = resolveLangAttr<Locale>(nearestLang(root));\n return resolvePlayerLocale(explicit, inherited);\n}\n","import {\n createTranslator,\n DEFAULT_LOCALE,\n loadLocale as defaultLoader,\n type FlatTranslations,\n findLocaleKeys,\n getBrowserTranslations,\n getI18nTranslations,\n type Locale,\n onI18nRegistryChange,\n registerI18n,\n shouldAttemptBrowserTranslation,\n} from '@videojs/core/i18n';\nimport type { PropertyValues, ReactiveElement } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { mergeLocaleOverlays, subscribeAmbientLang } from '@videojs/utils/dom';\nimport { getTextDirection, type TextDirection } from '@videojs/utils/i18n';\nimport type { Constructor } from '@videojs/utils/types';\n\nimport type { I18nContext, I18nContextValue } from './context';\nimport { getFallbackTranslator } from './controller';\nimport { resolveProviderLocale } from './locale';\nimport type { LocaleLoader, ReactiveElementMixinBase } from './types';\n\nexport interface I18nProviderConfig {\n context: I18nContext;\n /** Override lazy loading of shipped locale packs (tests or custom loaders). */\n loader?: LocaleLoader | undefined;\n}\n\nexport type I18nProviderMixin = <Base extends ReactiveElementMixinBase>(\n Base: Base\n) => Constructor<ReactiveElement> & Base;\n\nexport function createI18nProviderMixin({ context, loader = defaultLoader }: I18nProviderConfig): I18nProviderMixin {\n return <Base extends ReactiveElementMixinBase>(Base: Base) => {\n class I18nProviderElement extends Base {\n static properties = {\n ...Base.properties,\n lang: { type: String, reflect: true },\n dir: { type: String, reflect: true },\n };\n\n lang = '';\n dir = '';\n\n readonly #i18nProvider = new ContextProvider(this, {\n context,\n initialValue: {\n translator: getFallbackTranslator(),\n locale: DEFAULT_LOCALE,\n },\n });\n\n #registryUnsubscribe: (() => void) | undefined;\n #ambientUnsubscribe: (() => void) | undefined;\n #registryEpoch = 0;\n #lazyLayer: Partial<FlatTranslations> = {};\n #lazySeq = 0;\n /** Tracks locale used for `#lazyLayer`; ambient `lang` can change without the `lang` property. */\n #resolvedLocaleForLazy: Locale | undefined;\n /** Locale snapshot when the current `#lazySeq` async load was started (see `willUpdate` drift guard). */\n #lazyResetStartedForLocale: Locale | undefined;\n #i18nValue: I18nContextValue = {\n translator: getFallbackTranslator(),\n locale: DEFAULT_LOCALE,\n };\n #publishedLocale: Locale | undefined;\n #publishedRegistryEpoch = -1;\n #publishedLazyLayer: Partial<FlatTranslations> | undefined;\n #derivedDirection: TextDirection | undefined;\n\n protected get i18nValue(): I18nContextValue {\n return this.#i18nValue;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#registryUnsubscribe = onI18nRegistryChange(() => {\n this.#registryEpoch += 1;\n this.requestUpdate();\n });\n this.#ambientUnsubscribe = subscribeAmbientLang(() => this.requestUpdate());\n this.#resetLazyAndLoad();\n this.#publish();\n this.requestUpdate();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#registryUnsubscribe?.();\n this.#registryUnsubscribe = undefined;\n this.#ambientUnsubscribe?.();\n this.#ambientUnsubscribe = undefined;\n this.#lazySeq += 1;\n this.#lazyLayer = {};\n this.#resolvedLocaleForLazy = undefined;\n this.#lazyResetStartedForLocale = undefined;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n const locale = resolveProviderLocale(this);\n if (this.#resolvedLocaleForLazy !== locale) {\n const hadLocale = this.#resolvedLocaleForLazy !== undefined;\n this.#resolvedLocaleForLazy = locale;\n const localeDriftedBeforeFirstPaint =\n !hadLocale && this.#lazyResetStartedForLocale !== undefined && locale !== this.#lazyResetStartedForLocale;\n if (hadLocale || localeDriftedBeforeFirstPaint) {\n this.#resetLazyAndLoad();\n }\n }\n this.#syncDirection(locale);\n this.#publish();\n }\n\n #resetLazyAndLoad(): void {\n const localeSnapshot = resolveProviderLocale(this);\n this.#lazyResetStartedForLocale = localeSnapshot;\n this.#lazySeq += 1;\n const seq = this.#lazySeq;\n this.#lazyLayer = {};\n void (async () => {\n const { merged, loadedTags } = await mergeLocaleOverlays(localeSnapshot, loader, findLocaleKeys);\n if (seq !== this.#lazySeq) return;\n if (shouldAttemptBrowserTranslation(localeSnapshot, loadedTags, merged)) {\n const browser = await getBrowserTranslations(localeSnapshot);\n if (seq !== this.#lazySeq) return;\n if (Object.keys(browser).length) registerI18n(localeSnapshot, browser);\n }\n if (seq !== this.#lazySeq) return;\n this.#lazyLayer = merged;\n this.requestUpdate();\n })();\n }\n\n #resolvedLocale(): Locale {\n return resolveProviderLocale(this);\n }\n\n #syncDirection(locale: Locale): void {\n const current = this.dir.trim().toLowerCase();\n const isDerived = this.#derivedDirection !== undefined && current === this.#derivedDirection;\n\n if (!this.lang.trim()) {\n if (isDerived) this.dir = '';\n this.#derivedDirection = undefined;\n return;\n }\n\n if (current && !isDerived) {\n this.#derivedDirection = undefined;\n return;\n }\n\n const direction = getTextDirection(locale);\n this.#derivedDirection = direction;\n if (this.dir !== direction) this.dir = direction;\n }\n\n #publish(): void {\n const locale = this.#resolvedLocale();\n if (\n this.#publishedLocale === locale &&\n this.#publishedRegistryEpoch === this.#registryEpoch &&\n this.#publishedLazyLayer === this.#lazyLayer\n ) {\n return;\n }\n const registryLayer = getI18nTranslations(locale);\n const translations: FlatTranslations = {\n ...registryLayer,\n ...this.#lazyLayer,\n };\n const translator = createTranslator(translations, locale);\n this.#i18nValue = { translator, locale };\n this.#publishedLocale = locale;\n this.#publishedRegistryEpoch = this.#registryEpoch;\n this.#publishedLazyLayer = this.#lazyLayer;\n this.#i18nProvider.setValue(this.#i18nValue);\n }\n }\n return I18nProviderElement;\n };\n}\n","import { ReactiveElement } from '@videojs/element';\nimport { i18nContext } from './context';\nimport { createI18nProviderMixin, type I18nProviderMixin as ProviderMixin } from './provider-mixin';\n\nexport const I18nProviderMixin: ProviderMixin = createI18nProviderMixin({ context: i18nContext });\n\nexport class I18nProviderElement extends I18nProviderMixin(ReactiveElement) {\n static readonly tagName = 'media-i18n';\n}\n\nexport { I18nProviderElement as MediaI18nProviderElement };\n","import { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyValues, ReactiveElement } from '@videojs/element';\nimport type { Constructor } from '@videojs/utils/types';\nimport type { I18nContext } from './context';\nimport { I18nController } from './controller';\nimport type { ReactiveElementMixinBase } from './types';\n\nexport type I18nTextMixin = <Base extends ReactiveElementMixinBase>(Base: Base) => Constructor<ReactiveElement> & Base;\n\nexport interface TextMixinConfig {\n context: I18nContext;\n}\n\nexport function createTextMixin({ context }: TextMixinConfig): I18nTextMixin {\n return (Base) => {\n class MediaText extends Base {\n static override properties = {\n token: { type: String },\n };\n\n readonly #i18n = new I18nController(this, context);\n #text: string | undefined;\n token = '';\n\n override connectedCallback(): void {\n this.#text ??= this.textContent?.trim() ?? '';\n super.connectedCallback();\n }\n\n protected override updated(changed: PropertyValues): void {\n super.updated(changed);\n if (!this.#text) {\n this.textContent = '';\n return;\n }\n\n const text: Text | string = this.token ? { key: this.token, text: this.#text } : this.#text;\n this.textContent = typeof text === 'string' ? text : translateText(text, this.#i18n.value);\n }\n }\n\n return MediaText;\n };\n}\n","import { ReactiveElement } from '@videojs/element';\n\nimport { i18nContext } from '../../i18n/context';\nimport { createTextMixin, type I18nTextMixin as TextMixin } from '../../i18n/text-mixin';\n\nexport const I18nTextMixin: TextMixin = createTextMixin({ context: i18nContext });\n\nexport class TextElement extends I18nTextMixin(ReactiveElement) {\n static readonly tagName = 'media-text';\n}\n\nexport { TextElement as MediaTextElement };\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,R as a,U as o,V as s,_ as c,j as l,u,w as d}from"./compounds-DKoFv2f8.js";import{r as f}from"./translate-text-TzSgu_oe.js";import{n as p,t as m}from"./media-element-Cp5PrNre.js";import{r as h}from"./context-C2rsoDxk.js";import{c as g,r as _}from"./container-element-Dd0ZCdhK.js";import{l as v,n as y}from"./create-player-D5WQ_jzZ.js";import{i as b,r as x,t as S}from"./template-BKUlUXWF.js";import{c as C,i as w,n as T,r as E,t as D}from"./radio-options-controller-hybHJkeC.js";import{translateText as O}from"./i18n.js";function k(e,t,n,r){let a=i(e,t,n);if(a<0)return;let o=e[a],s=r(o),c=a===e.length-1;return t<s||c&&t===s?o:void 0}function A(e){return e.label?e.label:e.language?e.language:e.kind?e.kind:T}function j(e,t){return e.id||String(t)}var M=class e{static defaultProps={label:``,formatTrack:A,disabled:!1};state=v({options:[],value:``,disabled:!0,hidden:!0,availability:`unavailable`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=o(t,e.defaultProps)}getLabel(e){return n(this.#e.label,e)||T}getTrackLabel(e){return this.#e.formatTrack(e)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.audioTrackList.findIndex(e=>e.enabled),n=e.audioTrackList.map((e,t)=>({value:j(e,t),label:this.getTrackLabel(e),disabled:!1})),r=n.length>1?`available`:`unavailable`;return this.state.patch({options:n,value:t===-1?``:j(e.audioTrackList[t],t),disabled:this.#e.disabled||r===`unavailable`,hidden:r===`unavailable`,availability:r}),this.state.patch({label:f(this.getLabel(this.state.current))}),this.state.current}select(e,t){this.#e.disabled||e.audioTrackList.some((e,n)=>j(e,n)===t)&&e.selectAudioTrack(t)}selectValue(e,t){this.select(e,t)}};const N={value:`data-audio-track`,disabled:`data-disabled`,hidden:`data-hidden`,availability:`data-availability`},P=`auto`,F=[4320,2160,1440,1080,720,480,360,240];function I(e){return e>=1e6?`${Math.round(e/1e5)/10} Mbps`:`${Math.round(e/1e3)} kbps`}function L(e){let t=Math.round(e*9/16);return F.includes(t)?t:void 0}function R(e){let{width:t,height:n}=e;if(t&&n)return t>n&&t*9>n*16?L(t)??n:Math.min(t,n);if(n)return n;if(t)return L(t)??t}function z(e,t){let n=R(e);return!!(n&&t.some(t=>t!==e&&R(t)===n))}function B(e){let t=R(e);return t?`${t}p`:e.bitrate?I(e.bitrate):C}function V(e,t=[]){if(!(!R(e)||!e.bitrate||!z(e,t)))return I(e.bitrate)}function H(e){let t=R(e);if(t){if(t>=4320)return`8K`;if(t>=2160)return`4K`;if(t>=1080)return`HD`}}function U(e,t){return e.id||String(t)}function W(e,t){return e.id!==void 0||t.id!==void 0?e.id===t.id:e.width===t.width&&e.height===t.height&&e.bitrate===t.bitrate&&e.frameRate===t.frameRate&&e.codec===t.codec}var G=class e{static defaultProps={label:``,formatRendition:B,disabled:!1};state=v({options:[{value:P,label:E,disabled:!1}],value:P,disabled:!0,hidden:!0,availability:`unavailable`,label:``});#e={...e.defaultProps};#t=null;constructor(e){e&&this.setProps(e)}setProps(t){this.#e=o(t,e.defaultProps)}getLabel(e){return n(this.#e.label,e)||C}getRenditionLabel(t){return this.#e.formatRendition===e.defaultProps.formatRendition?B(t):this.#e.formatRendition(t)}getRenditionBadge(t,n=[]){if(this.#e.formatRendition===e.defaultProps.formatRendition)return V(t,n)}getRenditionTier(t){if(this.#e.formatRendition===e.defaultProps.formatRendition)return H(t)}getRenditionValue(e,t){return U(e,t)}getAttrs(e){return{"aria-label":this.getLabel(e),"aria-disabled":e.disabled?`true`:void 0,hidden:e.hidden?``:void 0}}setMedia(e){this.#t=e}getState(){let e=this.#t,t=e.videoRenditionList.findIndex(e=>e.selected),n=e.videoRenditionList.length>1?`available`:`unavailable`,r=(t,n)=>{let r=this.getRenditionTier(t),i=this.getRenditionBadge(t,e.videoRenditionList);return{value:this.getRenditionValue(t,n),label:this.getRenditionLabel(t),disabled:!1,...r&&{tier:r},...i&&{badge:i}}},i=e.activeVideoRendition===null?-1:e.videoRenditionList.findIndex(t=>W(t,e.activeVideoRendition)),a=e.activeVideoRendition&&i!==-1?r(e.activeVideoRendition,i):void 0,o={value:P,label:t===-1&&a?w:E,disabled:!1,...t===-1&&a&&{labelParams:{label:f(a.label)}}};return this.state.patch({options:[o,...e.videoRenditionList.map(r)],value:t===-1?P:this.getRenditionValue(e.videoRenditionList[t],t),disabled:this.#e.disabled||n===`unavailable`,hidden:n===`unavailable`,availability:n}),this.state.patch({label:f(this.getLabel(this.state.current))}),this.state.current}select(e,t){if(!this.#e.disabled){if(t===`auto`){e.selectVideoRendition(t);return}e.videoRenditionList.some((e,n)=>this.getRenditionValue(e,n)===t)&&e.selectVideoRendition(t)}}selectValue(e,t){this.select(e,t)}};const K={value:`data-quality`,disabled:`data-disabled`,hidden:`data-hidden`,availability:`data-availability`};var q=class{getGeometry(e){let{ranges:t,min:n,max:r,orientation:i}=e,a=r-n;if(!Number.isFinite(a)||a<=0)return[];let o=t.filter(e=>{let t=(e.end-e.start)/a,r=(e.start-n)/a;return Number.isFinite(t)&&Number.isFinite(r)&&t>0});return o.map((e,t)=>{let r=(e.start-n)/a,s=(e.end-e.start)/a,c=`${s*100}%`;return{...e,index:t,last:t===o.length-1,orientation:i,width:i===`horizontal`?c:void 0,height:i===`vertical`?c:void 0,startPercent:`${r*100}%`,endPercent:`${(r+s)*100}%`}})}getState(e,t,n){let{last:i,...a}=e,o=t=>t>=e.start&&(t<e.end||i&&t===e.end),s=o(t.value),c=t.pointing&&o(n),l=t.dragging&&o(n),u=t.interactive&&!t.pointing&&!t.dragging;return{...a,fillPercent:r(t.value,e.start,e.end),active:s,pointing:c,dragging:l,highlighted:e.highlight!==!1&&c,interactive:c||l||u&&s}}};const J=new WeakMap;let Y=0;function X(e){let t=J.get(e);if(!t){let n=e.id;t=`cue-${typeof n==`string`&&n?`${n}-`:``}${Y++}`,J.set(e,t)}return t}function Z(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)return[];let r=e.map((e,t)=>({cue:e,index:t,key:X(e)})).filter(({cue:e})=>Number.isFinite(e.startTime)&&Number.isFinite(e.endTime)).sort((e,t)=>e.cue.startTime-t.cue.startTime||e.index-t.index),i=[],a=t,o=`start`;for(let{cue:e,key:s}of r){let r=Math.max(t,e.startTime),c=Math.min(n,e.endTime);if(c<=r)continue;r>a&&i.push({key:`gap-${o}-${s}`,start:a,end:r,cue:null});let l=Math.max(r,a);c<=l||(i.push({key:s,start:l,end:c,cue:e}),a=c,o=s)}return i.length===0?[{key:`gap-start-end`,start:t,end:n,cue:null}]:(a<n&&i.push({key:`gap-${o}-end`,start:a,end:n,cue:null}),i)}var Q=class{#e=null;#t=0;#n=0;#r=null;getRanges(e,t,n){if(this.#r&&(this.#e===e||this.#e?.length===0&&e.length===0)&&this.#t===t&&this.#n===n)return this.#r;let r=n>t,i=r?n:t+1,a=Z(r?e:[],t,i),o=a.map(({key:e,start:t,end:n,cue:r})=>({key:e,start:t,end:n,highlight:r!==null}));return this.#e=e,this.#t=t,this.#n=n,this.#r={chapters:a,ranges:o,max:i},this.#r}findChapter(e,t){return k(e,t,e=>e.start,e=>e.end)}getState(e,t,n){return{...e,cue:t[e.index]?.cue??null,bufferPercent:r(n,e.start,e.end)}}};const $={start:`--media-slider-chapter-start`,end:`--media-slider-chapter-end`,width:`--media-slider-chapter-width`,fill:`--media-slider-chapter-fill`,buffer:`--media-slider-chapter-buffer`},ee={active:`data-active`,highlighted:`data-highlighted`};var te=class extends c{constructor(...t){super(...t),this.disabled=!1,this.label=``,this.formatTrack=M.defaultProps.formatTrack,this.#e=new M,this.#t=new _(this,g),this.#n=new y(this,h,e),this.#r=new D(this,{setItemAttributes:(e,t)=>e.setAttribute(`data-track`,t.value),onValueChange:e=>{let t=this.#n.value;t&&this.#e.selectValue(t,e)}})}static{this.tagName=`media-audio-track-radio-group`}static{this.properties={...c.properties,disabled:{type:Boolean},label:{type:String}}}#e;#t;#n;#r;connectedCallback(){super.connectedCallback(),this.destroyed}update(e){let t=this.#n.value,n=null;t&&(this.#e.setProps({formatTrack:this.formatTrack,disabled:this.disabled,label:this.label}),this.#e.setMedia(t),n=this.#e.getState(),this.applyDefaultAriaLabel(O(this.#e.getLabel(n),this.#t.value)),this.#r.sync(n,this.#t.value,this.#t.locale),this.publishMenuTriggerState(n.disabled,n.availability)),super.update(e),n&&d(this,n,N)}},ne=class extends c{constructor(...e){super(...e),this.disabled=!1,this.label=``,this.formatRendition=G.defaultProps.formatRendition,this.#e=new G,this.#t=new _(this,g),this.#n=new y(this,h,a),this.#r=new D(this,{renderItem:(e,t,n)=>this.#i(e,t,n.tier,n.badge),setItemAttributes:(e,t)=>e.setAttribute(`data-rendition`,t.value),getOptionCacheKey:e=>`${e.tier??``}:${e.badge??``}`,onValueChange:e=>{let t=this.#n.value;t&&this.#e.selectValue(t,e)}})}static{this.tagName=`media-quality-radio-group`}static{this.properties={...c.properties,disabled:{type:Boolean},label:{type:String}}}#e;#t;#n;#r;connectedCallback(){super.connectedCallback(),this.destroyed}update(e){let t=this.#n.value,n=null;t&&(this.#e.setProps({formatRendition:this.formatRendition,disabled:this.disabled,label:this.label}),this.#e.setMedia(t),n=this.#e.getState(),this.applyDefaultAriaLabel(O(this.#e.getLabel(n),this.#t.value)),this.#r.sync(n,this.#t.value,this.#t.locale),this.publishMenuTriggerState(n.disabled,n.availability)),super.update(e),n&&d(this,n,K)}#i(e,t,n,r){let i=e.querySelector(`[data-part~="label"]`),a=e.querySelector(`[data-part~="tier"]`),o=e.querySelector(`[data-part~="badge"]`);i&&(i.textContent=t),a&&(a.textContent=n??``,a.hidden=!n),o&&(o.textContent=r??``,o.hidden=!r),!i&&!a&&!o&&(e.textContent=[t,n,r].filter(Boolean).join(` `))}},re=class extends m{static{this.tagName=`media-time-slider-chapter-title`}#e=new Q;#t=new p(this,{context:u,subscribe:!0});#n=new y(this,h,t);#r=new y(this,h,s);update(e){super.update(e);let t=this.#t.value;if(!t)return;let n=this.#r.value?.duration??0,{chapters:r}=this.#e.getRanges(this.#n.value?.chaptersCues??[],0,n),i=t.state.interactive&&!t.state.pointing&&!t.state.dragging,a=t.state.pointing||t.state.dragging?t.pointerValue:t.state.value,o=this.#e.findChapter(r,a);this.textContent=o?.cue?.text??``,i?(this.removeAttribute(`aria-hidden`),this.setAttribute(`aria-live`,`polite`)):(this.setAttribute(`aria-hidden`,`true`),this.removeAttribute(`aria-live`))}},ie=class extends m{static{this.tagName=`media-time-slider-chapters`}#e=new q;#t=new Q;#n=new p(this,{context:u,subscribe:!0});#r=new y(this,h,t);#i=new y(this,h,l);#a=new y(this,h,s);#o=new Map;#s=null;#c=!1;connectedCallback(){super.connectedCallback(),this.setAttribute(`aria-hidden`,`true`)}update(e){super.update(e);let t=this.#n.value,n=this.#a.value?.duration??0,r=this.#l();if(!t||(d(this,t.state,t.stateAttrMap),!r))return;let{chapters:i,ranges:a,max:o}=this.#t.getRanges(this.#r.value?.chaptersCues??[],0,n),s=this.#e.getGeometry({ranges:a,min:0,max:o,orientation:t.state.orientation}),c=this.#i.value?.buffered??[],l=c.length?c[c.length-1][1]:0,u=new Map;for(let e of s){let n=this.#t.getState(this.#e.getState(e,t.state,t.pointerValue),i,l),a=this.#o.get(n.key);a||=S(r,this.ownerDocument),this.#u(a,`pointer-events`,n.cue?void 0:`none`),this.#u(a,$.start,n.startPercent),this.#u(a,$.end,n.endPercent),this.#u(a,$.width,n.width??n.height),this.#u(a,$.fill,`${n.fillPercent}%`),this.#u(a,$.buffer,`${n.bufferPercent}%`),d(a,t.state,t.stateAttrMap),d(a,n,ee),u.set(n.key,a)}for(let[e,t]of this.#o)u.has(e)||t.remove();let f=null;for(let e of[...u.values()].reverse())(e.parentNode!==this||e.nextSibling!==f)&&this.insertBefore(e,f),f=e;this.#o.clear();for(let[e,t]of u)this.#o.set(e,t)}#l(){if(this.#c)return this.#s;let e=x(this);if(!e){for(let e of[...this.childNodes])e.remove();return null}this.#c=!0;let t=b(e);for(let t of[...this.childNodes])t!==e&&t.remove();return t?.namespaceURI===`http://www.w3.org/1999/xhtml`?(this.#s=t,this.#s):null}#u(e,t,n){n===void 0?e.style.removeProperty(t):e.style.setProperty(t,n)}};export{te as i,re as n,ne as r,ie as t};
2
+ //# sourceMappingURL=time-slider-chapters-element-Bf4gYppH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-slider-chapters-element-b6oeaZtJ.js","names":["#props","#media","resolveText","#props","#media","resolveText","#result","#cues","#min","#max","#mediaState","#core","#i18n","#options","#setContent","#mediaState","#core","#i18n","#options","#core","#slider","ContextConsumer","#textTrack","#time","#segments","#core","#slider","ContextConsumer","#textTrack","#buffer","#time","#rendered","#getTemplateRoot","#setStyle","#templateChecked","#templateRoot"],"sources":["../../utils/dist/array/find-range-at.js","../../core/dist/default/core/ui/audio-track-radio-group/audio-track-radio-group-core.js","../../core/dist/default/core/ui/audio-track-radio-group/audio-track-radio-group-data-attrs.js","../../core/dist/default/core/ui/quality-radio-group/quality-radio-group-core.js","../../core/dist/default/core/ui/quality-radio-group/quality-radio-group-data-attrs.js","../../core/dist/default/core/ui/slider/slider-segments-core.js","../../core/dist/default/core/ui/time-slider/time-slider-chapters/core.js","../../core/dist/default/core/ui/time-slider/time-slider-chapters/css-vars.js","../../core/dist/default/core/ui/time-slider/time-slider-chapters/data-attrs.js","../src/ui/audio-track-radio-group/audio-track-radio-group-element.ts","../src/ui/quality-radio-group/quality-radio-group-element.ts","../src/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.ts","../src/ui/time-slider/time-slider-chapters/time-slider-chapters-element.ts"],"sourcesContent":["import { findLastIndexAtOrBefore } from \"./find-last-at-or-before.js\";\n//#region src/array/find-range-at.ts\n/** Finds the ordered range containing the target value. */\nfunction findRangeAt(ranges, value, getStart, getEnd) {\n\tconst index = findLastIndexAtOrBefore(ranges, value, getStart);\n\tif (index < 0) return void 0;\n\tconst range = ranges[index];\n\tconst end = getEnd(range);\n\tconst last = index === ranges.length - 1;\n\treturn value < end || last && value === end ? range : void 0;\n}\n//#endregion\nexport { findRangeAt };\n\n//# sourceMappingURL=find-range-at.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { audioText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/audio-track-radio-group/audio-track-radio-group-core.ts\nfunction formatTrackLabel(track) {\n\tif (track.label) return track.label;\n\tif (track.language) return track.language;\n\tif (track.kind) return track.kind;\n\treturn audioText;\n}\nfunction getTrackValue(track, index) {\n\treturn track.id || String(index);\n}\nvar AudioTrackRadioGroupCore = class AudioTrackRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatTrack: formatTrackLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [],\n\t\tvalue: \"\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...AudioTrackRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, AudioTrackRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn audioText;\n\t}\n\tgetTrackLabel(track) {\n\t\treturn this.#props.formatTrack(track);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst enabledIndex = media.audioTrackList.findIndex((track) => track.enabled);\n\t\tconst options = media.audioTrackList.map((track, index) => ({\n\t\t\tvalue: getTrackValue(track, index),\n\t\t\tlabel: this.getTrackLabel(track),\n\t\t\tdisabled: false\n\t\t}));\n\t\tconst availability = options.length > 1 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\toptions,\n\t\t\tvalue: enabledIndex === -1 ? \"\" : getTrackValue(media.audioTrackList[enabledIndex], enabledIndex),\n\t\t\tdisabled: this.#props.disabled || availability === \"unavailable\",\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tif (!media.audioTrackList.some((track, index) => getTrackValue(track, index) === value)) return;\n\t\tmedia.selectAudioTrack(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { AudioTrackRadioGroupCore };\n\n//# sourceMappingURL=audio-track-radio-group-core.js.map","//#region src/core/ui/audio-track-radio-group/audio-track-radio-group-data-attrs.ts\nconst AudioTrackRadioGroupDataAttrs = {\n\t/** Current audio track value. */\n\tvalue: \"data-audio-track\",\n\t/** Present when audio track selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when audio track selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates audio track availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { AudioTrackRadioGroupDataAttrs };\n\n//# sourceMappingURL=audio-track-radio-group-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { autoText, autoWithLabelText, qualityText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/quality-radio-group/quality-radio-group-core.ts\nconst QUALITY_AUTO_VALUE = \"auto\";\nconst STANDARD_RENDITION_SIZES = [\n\t4320,\n\t2160,\n\t1440,\n\t1080,\n\t720,\n\t480,\n\t360,\n\t240\n];\nfunction formatBitrate(bitrate) {\n\treturn bitrate >= 1e6 ? `${Math.round(bitrate / 1e5) / 10} Mbps` : `${Math.round(bitrate / 1e3)} kbps`;\n}\nfunction getWidescreenSize(width) {\n\tconst size = Math.round(width * 9 / 16);\n\treturn STANDARD_RENDITION_SIZES.includes(size) ? size : void 0;\n}\nfunction getRenditionSize(rendition) {\n\tconst { width, height } = rendition;\n\tif (width && height) {\n\t\tif (width > height && width * 9 > height * 16) return getWidescreenSize(width) ?? height;\n\t\treturn Math.min(width, height);\n\t}\n\tif (height) return height;\n\tif (width) return getWidescreenSize(width) ?? width;\n}\nfunction hasSameSize(rendition, renditions) {\n\tconst size = getRenditionSize(rendition);\n\treturn Boolean(size && renditions.some((other) => other !== rendition && getRenditionSize(other) === size));\n}\nfunction formatRenditionLabel(rendition) {\n\tconst size = getRenditionSize(rendition);\n\tif (size) return `${size}p`;\n\tif (rendition.bitrate) return formatBitrate(rendition.bitrate);\n\treturn qualityText;\n}\nfunction formatRenditionBadge(rendition, renditions = []) {\n\tif (!getRenditionSize(rendition) || !rendition.bitrate || !hasSameSize(rendition, renditions)) return void 0;\n\treturn formatBitrate(rendition.bitrate);\n}\nfunction formatRenditionTier(rendition) {\n\tconst size = getRenditionSize(rendition);\n\tif (!size) return void 0;\n\tif (size >= 4320) return \"8K\";\n\tif (size >= 2160) return \"4K\";\n\tif (size >= 1080) return \"HD\";\n}\nfunction getRenditionValue(rendition, index) {\n\treturn rendition.id || String(index);\n}\nfunction isSameRendition(a, b) {\n\tif (a.id !== void 0 || b.id !== void 0) return a.id === b.id;\n\treturn a.width === b.width && a.height === b.height && a.bitrate === b.bitrate && a.frameRate === b.frameRate && a.codec === b.codec;\n}\nvar QualityRadioGroupCore = class QualityRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatRendition: formatRenditionLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [{\n\t\t\tvalue: QUALITY_AUTO_VALUE,\n\t\t\tlabel: autoText,\n\t\t\tdisabled: false\n\t\t}],\n\t\tvalue: QUALITY_AUTO_VALUE,\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...QualityRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, QualityRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn qualityText;\n\t}\n\tgetRenditionLabel(rendition) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return this.#props.formatRendition(rendition);\n\t\treturn formatRenditionLabel(rendition);\n\t}\n\tgetRenditionBadge(rendition, renditions = []) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return void 0;\n\t\treturn formatRenditionBadge(rendition, renditions);\n\t}\n\tgetRenditionTier(rendition) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return void 0;\n\t\treturn formatRenditionTier(rendition);\n\t}\n\tgetRenditionValue(rendition, index) {\n\t\treturn getRenditionValue(rendition, index);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst selectedIndex = media.videoRenditionList.findIndex((rendition) => rendition.selected);\n\t\tconst availability = media.videoRenditionList.length > 1 ? \"available\" : \"unavailable\";\n\t\tconst toOption = (rendition, index) => {\n\t\t\tconst tier = this.getRenditionTier(rendition);\n\t\t\tconst badge = this.getRenditionBadge(rendition, media.videoRenditionList);\n\t\t\treturn {\n\t\t\t\tvalue: this.getRenditionValue(rendition, index),\n\t\t\t\tlabel: this.getRenditionLabel(rendition),\n\t\t\t\tdisabled: false,\n\t\t\t\t...tier && { tier },\n\t\t\t\t...badge && { badge }\n\t\t\t};\n\t\t};\n\t\tconst activeIndex = media.activeVideoRendition === null ? -1 : media.videoRenditionList.findIndex((rendition) => isSameRendition(rendition, media.activeVideoRendition));\n\t\tconst active = media.activeVideoRendition && activeIndex !== -1 ? toOption(media.activeVideoRendition, activeIndex) : void 0;\n\t\tconst autoOption = {\n\t\t\tvalue: QUALITY_AUTO_VALUE,\n\t\t\tlabel: selectedIndex === -1 && active ? autoWithLabelText : autoText,\n\t\t\tdisabled: false,\n\t\t\t...selectedIndex === -1 && active && { labelParams: { label: resolveText(active.label) } }\n\t\t};\n\t\tthis.state.patch({\n\t\t\toptions: [autoOption, ...media.videoRenditionList.map(toOption)],\n\t\t\tvalue: selectedIndex === -1 ? QUALITY_AUTO_VALUE : this.getRenditionValue(media.videoRenditionList[selectedIndex], selectedIndex),\n\t\t\tdisabled: this.#props.disabled || availability === \"unavailable\",\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tif (value === \"auto\") {\n\t\t\tmedia.selectVideoRendition(value);\n\t\t\treturn;\n\t\t}\n\t\tif (!media.videoRenditionList.some((rendition, index) => this.getRenditionValue(rendition, index) === value)) return;\n\t\tmedia.selectVideoRendition(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { QUALITY_AUTO_VALUE, QualityRadioGroupCore };\n\n//# sourceMappingURL=quality-radio-group-core.js.map","//#region src/core/ui/quality-radio-group/quality-radio-group-data-attrs.ts\nconst QualityRadioGroupDataAttrs = {\n\t/** Current quality value. */\n\tvalue: \"data-quality\",\n\t/** Present when quality selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when quality selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates quality availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { QualityRadioGroupDataAttrs };\n\n//# sourceMappingURL=quality-radio-group-data-attrs.js.map","import { toPercent } from \"@videojs/utils/number\";\n//#region src/core/ui/slider/slider-segments-core.ts\n/** Localizes ordered numeric ranges into slider geometry and interaction state. */\nvar SliderSegmentsCore = class {\n\tgetGeometry(input) {\n\t\tconst { ranges, min, max, orientation } = input;\n\t\tconst domain = max - min;\n\t\tif (!Number.isFinite(domain) || domain <= 0) return [];\n\t\tconst valid = ranges.filter((segment) => {\n\t\t\tconst size = (segment.end - segment.start) / domain;\n\t\t\tconst offset = (segment.start - min) / domain;\n\t\t\treturn Number.isFinite(size) && Number.isFinite(offset) && size > 0;\n\t\t});\n\t\treturn valid.map((segment, index) => {\n\t\t\tconst offset = (segment.start - min) / domain;\n\t\t\tconst size = (segment.end - segment.start) / domain;\n\t\t\tconst segmentSize = `${size * 100}%`;\n\t\t\treturn {\n\t\t\t\t...segment,\n\t\t\t\tindex,\n\t\t\t\tlast: index === valid.length - 1,\n\t\t\t\torientation,\n\t\t\t\twidth: orientation === \"horizontal\" ? segmentSize : void 0,\n\t\t\t\theight: orientation === \"vertical\" ? segmentSize : void 0,\n\t\t\t\tstartPercent: `${offset * 100}%`,\n\t\t\t\tendPercent: `${(offset + size) * 100}%`\n\t\t\t};\n\t\t});\n\t}\n\tgetState(segment, slider, pointerValue) {\n\t\tconst { last, ...geometry } = segment;\n\t\tconst contains = (value) => value >= segment.start && (value < segment.end || last && value === segment.end);\n\t\tconst active = contains(slider.value);\n\t\tconst pointing = slider.pointing && contains(pointerValue);\n\t\tconst dragging = slider.dragging && contains(pointerValue);\n\t\tconst focused = slider.interactive && !slider.pointing && !slider.dragging;\n\t\treturn {\n\t\t\t...geometry,\n\t\t\tfillPercent: toPercent(slider.value, segment.start, segment.end),\n\t\t\tactive,\n\t\t\tpointing,\n\t\t\tdragging,\n\t\t\thighlighted: segment.highlight !== false && pointing,\n\t\t\tinteractive: pointing || dragging || focused && active\n\t\t};\n\t}\n};\n//#endregion\nexport { SliderSegmentsCore };\n\n//# sourceMappingURL=slider-segments-core.js.map","import { toPercent } from \"@videojs/utils/number\";\nimport { findRangeAt } from \"@videojs/utils/array\";\n//#region src/core/ui/time-slider/time-slider-chapters/core.ts\nconst cueKeys = /* @__PURE__ */ new WeakMap();\nlet cueKey = 0;\nfunction getCueKey(cue) {\n\tlet key = cueKeys.get(cue);\n\tif (!key) {\n\t\tconst id = cue.id;\n\t\tkey = `cue-${typeof id === \"string\" && id ? `${id}-` : \"\"}${cueKey++}`;\n\t\tcueKeys.set(cue, key);\n\t}\n\treturn key;\n}\n/** Produces an ordered, non-overlapping, contiguous partition of the slider domain. */\nfunction normalizeChapterCues(cues, min, max) {\n\tif (!Number.isFinite(min) || !Number.isFinite(max) || max <= min) return [];\n\tconst sorted = cues.map((cue, index) => ({\n\t\tcue,\n\t\tindex,\n\t\tkey: getCueKey(cue)\n\t})).filter(({ cue }) => Number.isFinite(cue.startTime) && Number.isFinite(cue.endTime)).sort((a, b) => a.cue.startTime - b.cue.startTime || a.index - b.index);\n\tconst chapters = [];\n\tlet end = min;\n\tlet previousKey = \"start\";\n\tfor (const { cue, key } of sorted) {\n\t\tconst start = Math.max(min, cue.startTime);\n\t\tconst cueEnd = Math.min(max, cue.endTime);\n\t\tif (cueEnd <= start) continue;\n\t\tif (start > end) chapters.push({\n\t\t\tkey: `gap-${previousKey}-${key}`,\n\t\t\tstart: end,\n\t\t\tend: start,\n\t\t\tcue: null\n\t\t});\n\t\tconst segmentStart = Math.max(start, end);\n\t\tif (cueEnd <= segmentStart) continue;\n\t\tchapters.push({\n\t\t\tkey,\n\t\t\tstart: segmentStart,\n\t\t\tend: cueEnd,\n\t\t\tcue\n\t\t});\n\t\tend = cueEnd;\n\t\tpreviousKey = key;\n\t}\n\tif (chapters.length === 0) return [{\n\t\tkey: \"gap-start-end\",\n\t\tstart: min,\n\t\tend: max,\n\t\tcue: null\n\t}];\n\tif (end < max) chapters.push({\n\t\tkey: `gap-${previousKey}-end`,\n\t\tstart: end,\n\t\tend: max,\n\t\tcue: null\n\t});\n\treturn chapters;\n}\n/** Prepares chapter ranges and state for platform renderers. */\nvar TimeSliderChaptersCore = class {\n\t#cues = null;\n\t#min = 0;\n\t#max = 0;\n\t#result = null;\n\tgetRanges(cues, min, max) {\n\t\tif (this.#result && (this.#cues === cues || this.#cues?.length === 0 && cues.length === 0) && this.#min === min && this.#max === max) return this.#result;\n\t\tconst hasRange = max > min;\n\t\tconst rangeMax = hasRange ? max : min + 1;\n\t\tconst chapters = normalizeChapterCues(hasRange ? cues : [], min, rangeMax);\n\t\tconst ranges = chapters.map(({ key, start, end, cue }) => ({\n\t\t\tkey,\n\t\t\tstart,\n\t\t\tend,\n\t\t\thighlight: cue !== null\n\t\t}));\n\t\tthis.#cues = cues;\n\t\tthis.#min = min;\n\t\tthis.#max = max;\n\t\tthis.#result = {\n\t\t\tchapters,\n\t\t\tranges,\n\t\t\tmax: rangeMax\n\t\t};\n\t\treturn this.#result;\n\t}\n\tfindChapter(chapters, value) {\n\t\treturn findRangeAt(chapters, value, (chapter) => chapter.start, (chapter) => chapter.end);\n\t}\n\tgetState(segment, chapters, bufferedEnd) {\n\t\treturn {\n\t\t\t...segment,\n\t\t\tcue: chapters[segment.index]?.cue ?? null,\n\t\t\tbufferPercent: toPercent(bufferedEnd, segment.start, segment.end)\n\t\t};\n\t}\n};\n//#endregion\nexport { TimeSliderChaptersCore, normalizeChapterCues };\n\n//# sourceMappingURL=core.js.map","//#region src/core/ui/time-slider/time-slider-chapters/css-vars.ts\n/** CSS geometry and progress local to each chapter. */\nconst TimeSliderChapterCSSVars = {\n\tstart: \"--media-slider-chapter-start\",\n\tend: \"--media-slider-chapter-end\",\n\twidth: \"--media-slider-chapter-width\",\n\tfill: \"--media-slider-chapter-fill\",\n\tbuffer: \"--media-slider-chapter-buffer\"\n};\n//#endregion\nexport { TimeSliderChapterCSSVars };\n\n//# sourceMappingURL=css-vars.js.map","//#region src/core/ui/time-slider/time-slider-chapters/data-attrs.ts\nconst TimeSliderChapterDataAttrs = {\n\t/** Present when playback is within the chapter. */\n\tactive: \"data-active\",\n\t/** Present when pointer interaction highlights the chapter. */\n\thighlighted: \"data-highlighted\"\n};\n//#endregion\nexport { TimeSliderChapterDataAttrs };\n\n//# sourceMappingURL=data-attrs.js.map","import {\n AudioTrackRadioGroupCore,\n AudioTrackRadioGroupDataAttrs,\n type AudioTrackRadioGroupOption,\n} from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectAudioTrack } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class AudioTrackRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-audio-track-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatTrack = AudioTrackRadioGroupCore.defaultProps.formatTrack;\n\n readonly #core = new AudioTrackRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectAudioTrack);\n readonly #options = new RadioOptionsController<AudioTrackRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-track', option.value),\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: AudioTrackRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatTrack: this.formatTrack, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, AudioTrackRadioGroupDataAttrs);\n }\n}\n\nexport namespace AudioTrackRadioGroupElement {\n export type State = AudioTrackRadioGroupCore.State;\n}\n","import { QualityRadioGroupCore, QualityRadioGroupDataAttrs, type QualityRadioGroupOption } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectQuality } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport type { MenuRadioItemElement } from '../menu/menu-radio-item-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class QualityRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-quality-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatRendition = QualityRadioGroupCore.defaultProps.formatRendition;\n\n readonly #core = new QualityRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectQuality);\n readonly #options = new RadioOptionsController<QualityRadioGroupOption>(this, {\n renderItem: (item, label, option) => this.#setContent(item, label, option.tier, option.badge),\n setItemAttributes: (item, option) => item.setAttribute('data-rendition', option.value),\n getOptionCacheKey: (option) => `${option.tier ?? ''}:${option.badge ?? ''}`,\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: QualityRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatRendition: this.formatRendition, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, QualityRadioGroupDataAttrs);\n }\n\n #setContent(item: MenuRadioItemElement, label: string, tier: string | undefined, badge: string | undefined): void {\n const labelPart = item.querySelector<HTMLElement>('[data-part~=\"label\"]');\n const tierPart = item.querySelector<HTMLElement>('[data-part~=\"tier\"]');\n const badgePart = item.querySelector<HTMLElement>('[data-part~=\"badge\"]');\n\n if (labelPart) {\n labelPart.textContent = label;\n }\n\n if (tierPart) {\n tierPart.textContent = tier ?? '';\n tierPart.hidden = !tier;\n }\n\n if (badgePart) {\n badgePart.textContent = badge ?? '';\n badgePart.hidden = !badge;\n }\n\n if (!labelPart && !tierPart && !badgePart) {\n item.textContent = [label, tier, badge].filter(Boolean).join(' ');\n }\n }\n}\n\nexport namespace QualityRadioGroupElement {\n export type State = QualityRadioGroupCore.State;\n}\n","import { TimeSliderChaptersCore } from '@videojs/core';\nimport { selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { playerContext } from '../../../player/context';\nimport { PlayerController } from '../../../player/player-controller';\nimport { MediaElement } from '../../media-element';\nimport { sliderContext } from '../../slider/context';\n\n/** Displays the chapter title at the current pointer or keyboard position. */\nexport class TimeSliderChapterTitleElement extends MediaElement {\n static readonly tagName = 'media-time-slider-chapter-title';\n\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n if (!slider) return;\n const duration = this.#time.value?.duration ?? 0;\n const { chapters } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n const keyboard = slider.state.interactive && !slider.state.pointing && !slider.state.dragging;\n const value = slider.state.pointing || slider.state.dragging ? slider.pointerValue : slider.state.value;\n const chapter = this.#core.findChapter(chapters, value);\n\n this.textContent = chapter?.cue?.text ?? '';\n if (keyboard) {\n this.removeAttribute('aria-hidden');\n this.setAttribute('aria-live', 'polite');\n } else {\n this.setAttribute('aria-hidden', 'true');\n this.removeAttribute('aria-live');\n }\n }\n}\n","import {\n SliderSegmentsCore,\n TimeSliderChapterCSSVars,\n TimeSliderChapterDataAttrs,\n TimeSliderChaptersCore,\n} from '@videojs/core';\nimport { applyStateDataAttrs, selectBuffer, selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { cloneTemplateRoot, getTemplateElement, getTemplateRoot } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../../player/context';\nimport { PlayerController } from '../../../player/player-controller';\nimport { MediaElement } from '../../media-element';\nimport { sliderContext } from '../../slider/context';\n\n/**\n * Clones a light-DOM template once per normalized chapter range.\n *\n * The required template must contain exactly one HTML root element. When no chapter cues are available, the template\n * is cloned once for a full-duration range.\n */\nexport class TimeSliderChaptersElement extends MediaElement {\n static readonly tagName = 'media-time-slider-chapters';\n\n readonly #segments = new SliderSegmentsCore();\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #buffer = new PlayerController(this, playerContext, selectBuffer);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n readonly #rendered = new Map<string, HTMLElement>();\n #templateRoot: HTMLElement | null = null;\n #templateChecked = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-hidden', 'true');\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n const duration = this.#time.value?.duration ?? 0;\n const templateRoot = this.#getTemplateRoot();\n if (!slider) return;\n\n applyStateDataAttrs(this, slider.state, slider.stateAttrMap);\n if (!templateRoot) return;\n\n const { chapters, ranges, max } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n\n const geometry = this.#segments.getGeometry({\n ranges,\n min: 0,\n max,\n orientation: slider.state.orientation,\n });\n const buffered = this.#buffer.value?.buffered ?? [];\n const bufferedEnd = buffered.length ? buffered[buffered.length - 1]![1] : 0;\n const next = new Map<string, HTMLElement>();\n\n for (const segment of geometry) {\n const state = this.#core.getState(\n this.#segments.getState(segment, slider.state, slider.pointerValue),\n chapters,\n bufferedEnd\n );\n let root = this.#rendered.get(state.key);\n\n if (!root) root = cloneTemplateRoot(templateRoot, this.ownerDocument);\n\n this.#setStyle(root, 'pointer-events', state.cue ? undefined : 'none');\n this.#setStyle(root, TimeSliderChapterCSSVars.start, state.startPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.end, state.endPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.width, state.width ?? state.height);\n this.#setStyle(root, TimeSliderChapterCSSVars.fill, `${state.fillPercent}%`);\n this.#setStyle(root, TimeSliderChapterCSSVars.buffer, `${state.bufferPercent}%`);\n applyStateDataAttrs(root, slider.state, slider.stateAttrMap);\n applyStateDataAttrs(root, state, TimeSliderChapterDataAttrs);\n\n next.set(state.key, root);\n }\n\n for (const [key, root] of this.#rendered) {\n if (!next.has(key)) root.remove();\n }\n\n let before: ChildNode | null = null;\n for (const root of [...next.values()].reverse()) {\n if (root.parentNode !== this || root.nextSibling !== before) this.insertBefore(root, before);\n before = root;\n }\n\n this.#rendered.clear();\n for (const [key, rendered] of next) this.#rendered.set(key, rendered);\n }\n\n #getTemplateRoot(): HTMLElement | null {\n if (this.#templateChecked) return this.#templateRoot;\n\n const template = getTemplateElement(this);\n if (!template) {\n for (const node of [...this.childNodes]) node.remove();\n return null;\n }\n\n this.#templateChecked = true;\n const root = getTemplateRoot(template);\n for (const node of [...this.childNodes]) {\n if (node !== template) node.remove();\n }\n if (root?.namespaceURI !== 'http://www.w3.org/1999/xhtml') {\n if (__DEV__) {\n console.warn(`[${this.localName}] template must contain exactly one HTML root element.`);\n }\n return null;\n }\n\n this.#templateRoot = root as HTMLElement;\n return this.#templateRoot;\n }\n\n #setStyle(element: HTMLElement, name: string, value: string | undefined): void {\n if (value === undefined) element.style.removeProperty(name);\n else element.style.setProperty(name, value);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"time-slider-chapters-element-Bf4gYppH.js","names":["#props","#media","resolveText","#props","#media","resolveText","#result","#cues","#min","#max","#mediaState","#core","#i18n","#options","#setContent","#mediaState","#core","#i18n","#options","#core","#slider","ContextConsumer","#textTrack","#time","#segments","#core","#slider","ContextConsumer","#textTrack","#buffer","#time","#rendered","#getTemplateRoot","#setStyle","#templateChecked","#templateRoot"],"sources":["../../utils/dist/array/find-range-at.js","../../core/dist/default/core/ui/audio-track-radio-group/audio-track-radio-group-core.js","../../core/dist/default/core/ui/audio-track-radio-group/audio-track-radio-group-data-attrs.js","../../core/dist/default/core/ui/quality-radio-group/quality-radio-group-core.js","../../core/dist/default/core/ui/quality-radio-group/quality-radio-group-data-attrs.js","../../core/dist/default/core/ui/slider/slider-segments-core.js","../../core/dist/default/core/ui/time-slider/time-slider-chapters/core.js","../../core/dist/default/core/ui/time-slider/time-slider-chapters/css-vars.js","../../core/dist/default/core/ui/time-slider/time-slider-chapters/data-attrs.js","../src/ui/audio-track-radio-group/audio-track-radio-group-element.ts","../src/ui/quality-radio-group/quality-radio-group-element.ts","../src/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.ts","../src/ui/time-slider/time-slider-chapters/time-slider-chapters-element.ts"],"sourcesContent":["import { findLastIndexAtOrBefore } from \"./find-last-at-or-before.js\";\n//#region src/array/find-range-at.ts\n/** Finds the ordered range containing the target value. */\nfunction findRangeAt(ranges, value, getStart, getEnd) {\n\tconst index = findLastIndexAtOrBefore(ranges, value, getStart);\n\tif (index < 0) return void 0;\n\tconst range = ranges[index];\n\tconst end = getEnd(range);\n\tconst last = index === ranges.length - 1;\n\treturn value < end || last && value === end ? range : void 0;\n}\n//#endregion\nexport { findRangeAt };\n\n//# sourceMappingURL=find-range-at.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { audioText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/audio-track-radio-group/audio-track-radio-group-core.ts\nfunction formatTrackLabel(track) {\n\tif (track.label) return track.label;\n\tif (track.language) return track.language;\n\tif (track.kind) return track.kind;\n\treturn audioText;\n}\nfunction getTrackValue(track, index) {\n\treturn track.id || String(index);\n}\nvar AudioTrackRadioGroupCore = class AudioTrackRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatTrack: formatTrackLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [],\n\t\tvalue: \"\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...AudioTrackRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, AudioTrackRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn audioText;\n\t}\n\tgetTrackLabel(track) {\n\t\treturn this.#props.formatTrack(track);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst enabledIndex = media.audioTrackList.findIndex((track) => track.enabled);\n\t\tconst options = media.audioTrackList.map((track, index) => ({\n\t\t\tvalue: getTrackValue(track, index),\n\t\t\tlabel: this.getTrackLabel(track),\n\t\t\tdisabled: false\n\t\t}));\n\t\tconst availability = options.length > 1 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\toptions,\n\t\t\tvalue: enabledIndex === -1 ? \"\" : getTrackValue(media.audioTrackList[enabledIndex], enabledIndex),\n\t\t\tdisabled: this.#props.disabled || availability === \"unavailable\",\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tif (!media.audioTrackList.some((track, index) => getTrackValue(track, index) === value)) return;\n\t\tmedia.selectAudioTrack(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { AudioTrackRadioGroupCore };\n\n//# sourceMappingURL=audio-track-radio-group-core.js.map","//#region src/core/ui/audio-track-radio-group/audio-track-radio-group-data-attrs.ts\nconst AudioTrackRadioGroupDataAttrs = {\n\t/** Current audio track value. */\n\tvalue: \"data-audio-track\",\n\t/** Present when audio track selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when audio track selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates audio track availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { AudioTrackRadioGroupDataAttrs };\n\n//# sourceMappingURL=audio-track-radio-group-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { autoText, autoWithLabelText, qualityText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/quality-radio-group/quality-radio-group-core.ts\nconst QUALITY_AUTO_VALUE = \"auto\";\nconst STANDARD_RENDITION_SIZES = [\n\t4320,\n\t2160,\n\t1440,\n\t1080,\n\t720,\n\t480,\n\t360,\n\t240\n];\nfunction formatBitrate(bitrate) {\n\treturn bitrate >= 1e6 ? `${Math.round(bitrate / 1e5) / 10} Mbps` : `${Math.round(bitrate / 1e3)} kbps`;\n}\nfunction getWidescreenSize(width) {\n\tconst size = Math.round(width * 9 / 16);\n\treturn STANDARD_RENDITION_SIZES.includes(size) ? size : void 0;\n}\nfunction getRenditionSize(rendition) {\n\tconst { width, height } = rendition;\n\tif (width && height) {\n\t\tif (width > height && width * 9 > height * 16) return getWidescreenSize(width) ?? height;\n\t\treturn Math.min(width, height);\n\t}\n\tif (height) return height;\n\tif (width) return getWidescreenSize(width) ?? width;\n}\nfunction hasSameSize(rendition, renditions) {\n\tconst size = getRenditionSize(rendition);\n\treturn Boolean(size && renditions.some((other) => other !== rendition && getRenditionSize(other) === size));\n}\nfunction formatRenditionLabel(rendition) {\n\tconst size = getRenditionSize(rendition);\n\tif (size) return `${size}p`;\n\tif (rendition.bitrate) return formatBitrate(rendition.bitrate);\n\treturn qualityText;\n}\nfunction formatRenditionBadge(rendition, renditions = []) {\n\tif (!getRenditionSize(rendition) || !rendition.bitrate || !hasSameSize(rendition, renditions)) return void 0;\n\treturn formatBitrate(rendition.bitrate);\n}\nfunction formatRenditionTier(rendition) {\n\tconst size = getRenditionSize(rendition);\n\tif (!size) return void 0;\n\tif (size >= 4320) return \"8K\";\n\tif (size >= 2160) return \"4K\";\n\tif (size >= 1080) return \"HD\";\n}\nfunction getRenditionValue(rendition, index) {\n\treturn rendition.id || String(index);\n}\nfunction isSameRendition(a, b) {\n\tif (a.id !== void 0 || b.id !== void 0) return a.id === b.id;\n\treturn a.width === b.width && a.height === b.height && a.bitrate === b.bitrate && a.frameRate === b.frameRate && a.codec === b.codec;\n}\nvar QualityRadioGroupCore = class QualityRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatRendition: formatRenditionLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [{\n\t\t\tvalue: QUALITY_AUTO_VALUE,\n\t\t\tlabel: autoText,\n\t\t\tdisabled: false\n\t\t}],\n\t\tvalue: QUALITY_AUTO_VALUE,\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...QualityRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, QualityRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn qualityText;\n\t}\n\tgetRenditionLabel(rendition) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return this.#props.formatRendition(rendition);\n\t\treturn formatRenditionLabel(rendition);\n\t}\n\tgetRenditionBadge(rendition, renditions = []) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return void 0;\n\t\treturn formatRenditionBadge(rendition, renditions);\n\t}\n\tgetRenditionTier(rendition) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return void 0;\n\t\treturn formatRenditionTier(rendition);\n\t}\n\tgetRenditionValue(rendition, index) {\n\t\treturn getRenditionValue(rendition, index);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst selectedIndex = media.videoRenditionList.findIndex((rendition) => rendition.selected);\n\t\tconst availability = media.videoRenditionList.length > 1 ? \"available\" : \"unavailable\";\n\t\tconst toOption = (rendition, index) => {\n\t\t\tconst tier = this.getRenditionTier(rendition);\n\t\t\tconst badge = this.getRenditionBadge(rendition, media.videoRenditionList);\n\t\t\treturn {\n\t\t\t\tvalue: this.getRenditionValue(rendition, index),\n\t\t\t\tlabel: this.getRenditionLabel(rendition),\n\t\t\t\tdisabled: false,\n\t\t\t\t...tier && { tier },\n\t\t\t\t...badge && { badge }\n\t\t\t};\n\t\t};\n\t\tconst activeIndex = media.activeVideoRendition === null ? -1 : media.videoRenditionList.findIndex((rendition) => isSameRendition(rendition, media.activeVideoRendition));\n\t\tconst active = media.activeVideoRendition && activeIndex !== -1 ? toOption(media.activeVideoRendition, activeIndex) : void 0;\n\t\tconst autoOption = {\n\t\t\tvalue: QUALITY_AUTO_VALUE,\n\t\t\tlabel: selectedIndex === -1 && active ? autoWithLabelText : autoText,\n\t\t\tdisabled: false,\n\t\t\t...selectedIndex === -1 && active && { labelParams: { label: resolveText(active.label) } }\n\t\t};\n\t\tthis.state.patch({\n\t\t\toptions: [autoOption, ...media.videoRenditionList.map(toOption)],\n\t\t\tvalue: selectedIndex === -1 ? QUALITY_AUTO_VALUE : this.getRenditionValue(media.videoRenditionList[selectedIndex], selectedIndex),\n\t\t\tdisabled: this.#props.disabled || availability === \"unavailable\",\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tif (value === \"auto\") {\n\t\t\tmedia.selectVideoRendition(value);\n\t\t\treturn;\n\t\t}\n\t\tif (!media.videoRenditionList.some((rendition, index) => this.getRenditionValue(rendition, index) === value)) return;\n\t\tmedia.selectVideoRendition(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { QUALITY_AUTO_VALUE, QualityRadioGroupCore };\n\n//# sourceMappingURL=quality-radio-group-core.js.map","//#region src/core/ui/quality-radio-group/quality-radio-group-data-attrs.ts\nconst QualityRadioGroupDataAttrs = {\n\t/** Current quality value. */\n\tvalue: \"data-quality\",\n\t/** Present when quality selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when quality selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates quality availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { QualityRadioGroupDataAttrs };\n\n//# sourceMappingURL=quality-radio-group-data-attrs.js.map","import { toPercent } from \"@videojs/utils/number\";\n//#region src/core/ui/slider/slider-segments-core.ts\n/** Localizes ordered numeric ranges into slider geometry and interaction state. */\nvar SliderSegmentsCore = class {\n\tgetGeometry(input) {\n\t\tconst { ranges, min, max, orientation } = input;\n\t\tconst domain = max - min;\n\t\tif (!Number.isFinite(domain) || domain <= 0) return [];\n\t\tconst valid = ranges.filter((segment) => {\n\t\t\tconst size = (segment.end - segment.start) / domain;\n\t\t\tconst offset = (segment.start - min) / domain;\n\t\t\treturn Number.isFinite(size) && Number.isFinite(offset) && size > 0;\n\t\t});\n\t\treturn valid.map((segment, index) => {\n\t\t\tconst offset = (segment.start - min) / domain;\n\t\t\tconst size = (segment.end - segment.start) / domain;\n\t\t\tconst segmentSize = `${size * 100}%`;\n\t\t\treturn {\n\t\t\t\t...segment,\n\t\t\t\tindex,\n\t\t\t\tlast: index === valid.length - 1,\n\t\t\t\torientation,\n\t\t\t\twidth: orientation === \"horizontal\" ? segmentSize : void 0,\n\t\t\t\theight: orientation === \"vertical\" ? segmentSize : void 0,\n\t\t\t\tstartPercent: `${offset * 100}%`,\n\t\t\t\tendPercent: `${(offset + size) * 100}%`\n\t\t\t};\n\t\t});\n\t}\n\tgetState(segment, slider, pointerValue) {\n\t\tconst { last, ...geometry } = segment;\n\t\tconst contains = (value) => value >= segment.start && (value < segment.end || last && value === segment.end);\n\t\tconst active = contains(slider.value);\n\t\tconst pointing = slider.pointing && contains(pointerValue);\n\t\tconst dragging = slider.dragging && contains(pointerValue);\n\t\tconst focused = slider.interactive && !slider.pointing && !slider.dragging;\n\t\treturn {\n\t\t\t...geometry,\n\t\t\tfillPercent: toPercent(slider.value, segment.start, segment.end),\n\t\t\tactive,\n\t\t\tpointing,\n\t\t\tdragging,\n\t\t\thighlighted: segment.highlight !== false && pointing,\n\t\t\tinteractive: pointing || dragging || focused && active\n\t\t};\n\t}\n};\n//#endregion\nexport { SliderSegmentsCore };\n\n//# sourceMappingURL=slider-segments-core.js.map","import { toPercent } from \"@videojs/utils/number\";\nimport { findRangeAt } from \"@videojs/utils/array\";\n//#region src/core/ui/time-slider/time-slider-chapters/core.ts\nconst cueKeys = /* @__PURE__ */ new WeakMap();\nlet cueKey = 0;\nfunction getCueKey(cue) {\n\tlet key = cueKeys.get(cue);\n\tif (!key) {\n\t\tconst id = cue.id;\n\t\tkey = `cue-${typeof id === \"string\" && id ? `${id}-` : \"\"}${cueKey++}`;\n\t\tcueKeys.set(cue, key);\n\t}\n\treturn key;\n}\n/** Produces an ordered, non-overlapping, contiguous partition of the slider domain. */\nfunction normalizeChapterCues(cues, min, max) {\n\tif (!Number.isFinite(min) || !Number.isFinite(max) || max <= min) return [];\n\tconst sorted = cues.map((cue, index) => ({\n\t\tcue,\n\t\tindex,\n\t\tkey: getCueKey(cue)\n\t})).filter(({ cue }) => Number.isFinite(cue.startTime) && Number.isFinite(cue.endTime)).sort((a, b) => a.cue.startTime - b.cue.startTime || a.index - b.index);\n\tconst chapters = [];\n\tlet end = min;\n\tlet previousKey = \"start\";\n\tfor (const { cue, key } of sorted) {\n\t\tconst start = Math.max(min, cue.startTime);\n\t\tconst cueEnd = Math.min(max, cue.endTime);\n\t\tif (cueEnd <= start) continue;\n\t\tif (start > end) chapters.push({\n\t\t\tkey: `gap-${previousKey}-${key}`,\n\t\t\tstart: end,\n\t\t\tend: start,\n\t\t\tcue: null\n\t\t});\n\t\tconst segmentStart = Math.max(start, end);\n\t\tif (cueEnd <= segmentStart) continue;\n\t\tchapters.push({\n\t\t\tkey,\n\t\t\tstart: segmentStart,\n\t\t\tend: cueEnd,\n\t\t\tcue\n\t\t});\n\t\tend = cueEnd;\n\t\tpreviousKey = key;\n\t}\n\tif (chapters.length === 0) return [{\n\t\tkey: \"gap-start-end\",\n\t\tstart: min,\n\t\tend: max,\n\t\tcue: null\n\t}];\n\tif (end < max) chapters.push({\n\t\tkey: `gap-${previousKey}-end`,\n\t\tstart: end,\n\t\tend: max,\n\t\tcue: null\n\t});\n\treturn chapters;\n}\n/** Prepares chapter ranges and state for platform renderers. */\nvar TimeSliderChaptersCore = class {\n\t#cues = null;\n\t#min = 0;\n\t#max = 0;\n\t#result = null;\n\tgetRanges(cues, min, max) {\n\t\tif (this.#result && (this.#cues === cues || this.#cues?.length === 0 && cues.length === 0) && this.#min === min && this.#max === max) return this.#result;\n\t\tconst hasRange = max > min;\n\t\tconst rangeMax = hasRange ? max : min + 1;\n\t\tconst chapters = normalizeChapterCues(hasRange ? cues : [], min, rangeMax);\n\t\tconst ranges = chapters.map(({ key, start, end, cue }) => ({\n\t\t\tkey,\n\t\t\tstart,\n\t\t\tend,\n\t\t\thighlight: cue !== null\n\t\t}));\n\t\tthis.#cues = cues;\n\t\tthis.#min = min;\n\t\tthis.#max = max;\n\t\tthis.#result = {\n\t\t\tchapters,\n\t\t\tranges,\n\t\t\tmax: rangeMax\n\t\t};\n\t\treturn this.#result;\n\t}\n\tfindChapter(chapters, value) {\n\t\treturn findRangeAt(chapters, value, (chapter) => chapter.start, (chapter) => chapter.end);\n\t}\n\tgetState(segment, chapters, bufferedEnd) {\n\t\treturn {\n\t\t\t...segment,\n\t\t\tcue: chapters[segment.index]?.cue ?? null,\n\t\t\tbufferPercent: toPercent(bufferedEnd, segment.start, segment.end)\n\t\t};\n\t}\n};\n//#endregion\nexport { TimeSliderChaptersCore, normalizeChapterCues };\n\n//# sourceMappingURL=core.js.map","//#region src/core/ui/time-slider/time-slider-chapters/css-vars.ts\n/** CSS geometry and progress local to each chapter. */\nconst TimeSliderChapterCSSVars = {\n\tstart: \"--media-slider-chapter-start\",\n\tend: \"--media-slider-chapter-end\",\n\twidth: \"--media-slider-chapter-width\",\n\tfill: \"--media-slider-chapter-fill\",\n\tbuffer: \"--media-slider-chapter-buffer\"\n};\n//#endregion\nexport { TimeSliderChapterCSSVars };\n\n//# sourceMappingURL=css-vars.js.map","//#region src/core/ui/time-slider/time-slider-chapters/data-attrs.ts\nconst TimeSliderChapterDataAttrs = {\n\t/** Present when playback is within the chapter. */\n\tactive: \"data-active\",\n\t/** Present when pointer interaction highlights the chapter. */\n\thighlighted: \"data-highlighted\"\n};\n//#endregion\nexport { TimeSliderChapterDataAttrs };\n\n//# sourceMappingURL=data-attrs.js.map","import {\n AudioTrackRadioGroupCore,\n AudioTrackRadioGroupDataAttrs,\n type AudioTrackRadioGroupOption,\n} from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectAudioTrack } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class AudioTrackRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-audio-track-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatTrack = AudioTrackRadioGroupCore.defaultProps.formatTrack;\n\n readonly #core = new AudioTrackRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectAudioTrack);\n readonly #options = new RadioOptionsController<AudioTrackRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-track', option.value),\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: AudioTrackRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatTrack: this.formatTrack, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, AudioTrackRadioGroupDataAttrs);\n }\n}\n\nexport namespace AudioTrackRadioGroupElement {\n export type State = AudioTrackRadioGroupCore.State;\n}\n","import { QualityRadioGroupCore, QualityRadioGroupDataAttrs, type QualityRadioGroupOption } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectQuality } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport type { MenuRadioItemElement } from '../menu/menu-radio-item-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class QualityRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-quality-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatRendition = QualityRadioGroupCore.defaultProps.formatRendition;\n\n readonly #core = new QualityRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectQuality);\n readonly #options = new RadioOptionsController<QualityRadioGroupOption>(this, {\n renderItem: (item, label, option) => this.#setContent(item, label, option.tier, option.badge),\n setItemAttributes: (item, option) => item.setAttribute('data-rendition', option.value),\n getOptionCacheKey: (option) => `${option.tier ?? ''}:${option.badge ?? ''}`,\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: QualityRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatRendition: this.formatRendition, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, QualityRadioGroupDataAttrs);\n }\n\n #setContent(item: MenuRadioItemElement, label: string, tier: string | undefined, badge: string | undefined): void {\n const labelPart = item.querySelector<HTMLElement>('[data-part~=\"label\"]');\n const tierPart = item.querySelector<HTMLElement>('[data-part~=\"tier\"]');\n const badgePart = item.querySelector<HTMLElement>('[data-part~=\"badge\"]');\n\n if (labelPart) {\n labelPart.textContent = label;\n }\n\n if (tierPart) {\n tierPart.textContent = tier ?? '';\n tierPart.hidden = !tier;\n }\n\n if (badgePart) {\n badgePart.textContent = badge ?? '';\n badgePart.hidden = !badge;\n }\n\n if (!labelPart && !tierPart && !badgePart) {\n item.textContent = [label, tier, badge].filter(Boolean).join(' ');\n }\n }\n}\n\nexport namespace QualityRadioGroupElement {\n export type State = QualityRadioGroupCore.State;\n}\n","import { TimeSliderChaptersCore } from '@videojs/core';\nimport { selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { playerContext } from '../../../player/context';\nimport { PlayerController } from '../../../player/player-controller';\nimport { MediaElement } from '../../media-element';\nimport { sliderContext } from '../../slider/context';\n\n/** Displays the chapter title at the current pointer or keyboard position. */\nexport class TimeSliderChapterTitleElement extends MediaElement {\n static readonly tagName = 'media-time-slider-chapter-title';\n\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n if (!slider) return;\n const duration = this.#time.value?.duration ?? 0;\n const { chapters } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n const keyboard = slider.state.interactive && !slider.state.pointing && !slider.state.dragging;\n const value = slider.state.pointing || slider.state.dragging ? slider.pointerValue : slider.state.value;\n const chapter = this.#core.findChapter(chapters, value);\n\n this.textContent = chapter?.cue?.text ?? '';\n if (keyboard) {\n this.removeAttribute('aria-hidden');\n this.setAttribute('aria-live', 'polite');\n } else {\n this.setAttribute('aria-hidden', 'true');\n this.removeAttribute('aria-live');\n }\n }\n}\n","import {\n SliderSegmentsCore,\n TimeSliderChapterCSSVars,\n TimeSliderChapterDataAttrs,\n TimeSliderChaptersCore,\n} from '@videojs/core';\nimport { applyStateDataAttrs, selectBuffer, selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { cloneTemplateRoot, getTemplateElement, getTemplateRoot } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../../player/context';\nimport { PlayerController } from '../../../player/player-controller';\nimport { MediaElement } from '../../media-element';\nimport { sliderContext } from '../../slider/context';\n\n/**\n * Clones a light-DOM template once per normalized chapter range.\n *\n * The required template must contain exactly one HTML root element. When no chapter cues are available, the template\n * is cloned once for a full-duration range.\n */\nexport class TimeSliderChaptersElement extends MediaElement {\n static readonly tagName = 'media-time-slider-chapters';\n\n readonly #segments = new SliderSegmentsCore();\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #buffer = new PlayerController(this, playerContext, selectBuffer);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n readonly #rendered = new Map<string, HTMLElement>();\n #templateRoot: HTMLElement | null = null;\n #templateChecked = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-hidden', 'true');\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n const duration = this.#time.value?.duration ?? 0;\n const templateRoot = this.#getTemplateRoot();\n if (!slider) return;\n\n applyStateDataAttrs(this, slider.state, slider.stateAttrMap);\n if (!templateRoot) return;\n\n const { chapters, ranges, max } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n\n const geometry = this.#segments.getGeometry({\n ranges,\n min: 0,\n max,\n orientation: slider.state.orientation,\n });\n const buffered = this.#buffer.value?.buffered ?? [];\n const bufferedEnd = buffered.length ? buffered[buffered.length - 1]![1] : 0;\n const next = new Map<string, HTMLElement>();\n\n for (const segment of geometry) {\n const state = this.#core.getState(\n this.#segments.getState(segment, slider.state, slider.pointerValue),\n chapters,\n bufferedEnd\n );\n let root = this.#rendered.get(state.key);\n\n if (!root) root = cloneTemplateRoot(templateRoot, this.ownerDocument);\n\n this.#setStyle(root, 'pointer-events', state.cue ? undefined : 'none');\n this.#setStyle(root, TimeSliderChapterCSSVars.start, state.startPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.end, state.endPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.width, state.width ?? state.height);\n this.#setStyle(root, TimeSliderChapterCSSVars.fill, `${state.fillPercent}%`);\n this.#setStyle(root, TimeSliderChapterCSSVars.buffer, `${state.bufferPercent}%`);\n applyStateDataAttrs(root, slider.state, slider.stateAttrMap);\n applyStateDataAttrs(root, state, TimeSliderChapterDataAttrs);\n\n next.set(state.key, root);\n }\n\n for (const [key, root] of this.#rendered) {\n if (!next.has(key)) root.remove();\n }\n\n let before: ChildNode | null = null;\n for (const root of [...next.values()].reverse()) {\n if (root.parentNode !== this || root.nextSibling !== before) this.insertBefore(root, before);\n before = root;\n }\n\n this.#rendered.clear();\n for (const [key, rendered] of next) this.#rendered.set(key, rendered);\n }\n\n #getTemplateRoot(): HTMLElement | null {\n if (this.#templateChecked) return this.#templateRoot;\n\n const template = getTemplateElement(this);\n if (!template) {\n for (const node of [...this.childNodes]) node.remove();\n return null;\n }\n\n this.#templateChecked = true;\n const root = getTemplateRoot(template);\n for (const node of [...this.childNodes]) {\n if (node !== template) node.remove();\n }\n if (root?.namespaceURI !== 'http://www.w3.org/1999/xhtml') {\n if (__DEV__) {\n console.warn(`[${this.localName}] template must contain exactly one HTML root element.`);\n }\n return null;\n }\n\n this.#templateRoot = root as HTMLElement;\n return this.#templateRoot;\n }\n\n #setStyle(element: HTMLElement, name: string, value: string | undefined): void {\n if (value === undefined) element.style.removeProperty(name);\n else element.style.setProperty(name, value);\n }\n}\n"],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { A as selectAudioTrack, B as selectTextTrack, C as applyStateDataAttrs, D as toPercent, E as findLastIndexAtOrBefore, H as audioText, J as qualityText, Q as cloneTemplateRoot, R as selectQuality, S as resolveLabel, U as autoText, V as selectTime, W as autoWithLabelText, _ as MenuRadioGroupElement, et as getTemplateElement, g as RadioOptionsController, it as defaults, j as selectBuffer, tt as getTemplateRoot, u as sliderContext, w as logMissingFeature } from "./compounds-D1FPw7jg.js";
1
+ import { C as resolveLabel, D as findLastIndexAtOrBefore, H as selectTime, M as selectBuffer, O as toPercent, T as logMissingFeature, V as selectTextTrack, W as defaults, _ as MenuRadioGroupElement, j as selectAudioTrack, u as sliderContext, w as applyStateDataAttrs, z as selectQuality } from "./compounds-BA8gXlmJ.js";
2
2
  import { r as resolveText$1 } from "./translate-text-BWvoW5-r.js";
3
3
  import { n as ContextConsumer, t as MediaElement } from "./media-element-CJY3JIgc.js";
4
4
  import { r as playerContext } from "./context-OhQY847V.js";
5
5
  import { c as i18nContext, r as I18nController } from "./container-element-HHK_KZOE.js";
6
- import { c as createState, n as PlayerController } from "./create-player-5UrHNqBI.js";
6
+ import { l as createState, n as PlayerController } from "./create-player-BEEc22xK.js";
7
+ import { i as getTemplateRoot, r as getTemplateElement, t as cloneTemplateRoot } from "./template-ClYP_1RH.js";
8
+ import { c as qualityText, i as autoWithLabelText, n as audioText, r as autoText, t as RadioOptionsController } from "./radio-options-controller-Cz5yFvUh.js";
7
9
  import { translateText } from "./i18n.dev.js";
8
10
 
9
11
  //#region ../utils/dist/array/find-range-at.js
@@ -714,4 +716,4 @@ var TimeSliderChaptersElement = class extends MediaElement {
714
716
 
715
717
  //#endregion
716
718
  export { AudioTrackRadioGroupElement as i, TimeSliderChapterTitleElement as n, QualityRadioGroupElement as r, TimeSliderChaptersElement as t };
717
- //# sourceMappingURL=time-slider-chapters-element-BTMqnBhM.js.map
719
+ //# sourceMappingURL=time-slider-chapters-element-DMkTYNg3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-slider-chapters-element-DMkTYNg3.js","names":["#props","#media","resolveText","#props","#media","resolveText","#result","#cues","#min","#max","#mediaState","#core","#i18n","#options","#setContent","#mediaState","#core","#i18n","#options","#core","#slider","#textTrack","#time","#segments","#core","#slider","#textTrack","#buffer","#time","#rendered","#getTemplateRoot","#setStyle","#templateChecked","#templateRoot"],"sources":["../../utils/dist/array/find-range-at.js","../../core/dist/dev/core/ui/audio-track-radio-group/audio-track-radio-group-core.js","../../core/dist/dev/core/ui/audio-track-radio-group/audio-track-radio-group-data-attrs.js","../../core/dist/dev/core/ui/quality-radio-group/quality-radio-group-core.js","../../core/dist/dev/core/ui/quality-radio-group/quality-radio-group-data-attrs.js","../../core/dist/dev/core/ui/slider/slider-segments-core.js","../../core/dist/dev/core/ui/time-slider/time-slider-chapters/core.js","../../core/dist/dev/core/ui/time-slider/time-slider-chapters/css-vars.js","../../core/dist/dev/core/ui/time-slider/time-slider-chapters/data-attrs.js","../src/ui/audio-track-radio-group/audio-track-radio-group-element.ts","../src/ui/quality-radio-group/quality-radio-group-element.ts","../src/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.ts","../src/ui/time-slider/time-slider-chapters/time-slider-chapters-element.ts"],"sourcesContent":["import { findLastIndexAtOrBefore } from \"./find-last-at-or-before.js\";\n//#region src/array/find-range-at.ts\n/** Finds the ordered range containing the target value. */\nfunction findRangeAt(ranges, value, getStart, getEnd) {\n\tconst index = findLastIndexAtOrBefore(ranges, value, getStart);\n\tif (index < 0) return void 0;\n\tconst range = ranges[index];\n\tconst end = getEnd(range);\n\tconst last = index === ranges.length - 1;\n\treturn value < end || last && value === end ? range : void 0;\n}\n//#endregion\nexport { findRangeAt };\n\n//# sourceMappingURL=find-range-at.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { audioText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/audio-track-radio-group/audio-track-radio-group-core.ts\nfunction formatTrackLabel(track) {\n\tif (track.label) return track.label;\n\tif (track.language) return track.language;\n\tif (track.kind) return track.kind;\n\treturn audioText;\n}\nfunction getTrackValue(track, index) {\n\treturn track.id || String(index);\n}\nvar AudioTrackRadioGroupCore = class AudioTrackRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatTrack: formatTrackLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [],\n\t\tvalue: \"\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...AudioTrackRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, AudioTrackRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn audioText;\n\t}\n\tgetTrackLabel(track) {\n\t\treturn this.#props.formatTrack(track);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst enabledIndex = media.audioTrackList.findIndex((track) => track.enabled);\n\t\tconst options = media.audioTrackList.map((track, index) => ({\n\t\t\tvalue: getTrackValue(track, index),\n\t\t\tlabel: this.getTrackLabel(track),\n\t\t\tdisabled: false\n\t\t}));\n\t\tconst availability = options.length > 1 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\toptions,\n\t\t\tvalue: enabledIndex === -1 ? \"\" : getTrackValue(media.audioTrackList[enabledIndex], enabledIndex),\n\t\t\tdisabled: this.#props.disabled || availability === \"unavailable\",\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tif (!media.audioTrackList.some((track, index) => getTrackValue(track, index) === value)) return;\n\t\tmedia.selectAudioTrack(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { AudioTrackRadioGroupCore };\n\n//# sourceMappingURL=audio-track-radio-group-core.js.map","//#region src/core/ui/audio-track-radio-group/audio-track-radio-group-data-attrs.ts\nconst AudioTrackRadioGroupDataAttrs = {\n\t/** Current audio track value. */\n\tvalue: \"data-audio-track\",\n\t/** Present when audio track selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when audio track selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates audio track availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { AudioTrackRadioGroupDataAttrs };\n\n//# sourceMappingURL=audio-track-radio-group-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { autoText, autoWithLabelText, qualityText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/quality-radio-group/quality-radio-group-core.ts\nconst QUALITY_AUTO_VALUE = \"auto\";\nconst STANDARD_RENDITION_SIZES = [\n\t4320,\n\t2160,\n\t1440,\n\t1080,\n\t720,\n\t480,\n\t360,\n\t240\n];\nfunction formatBitrate(bitrate) {\n\treturn bitrate >= 1e6 ? `${Math.round(bitrate / 1e5) / 10} Mbps` : `${Math.round(bitrate / 1e3)} kbps`;\n}\nfunction getWidescreenSize(width) {\n\tconst size = Math.round(width * 9 / 16);\n\treturn STANDARD_RENDITION_SIZES.includes(size) ? size : void 0;\n}\nfunction getRenditionSize(rendition) {\n\tconst { width, height } = rendition;\n\tif (width && height) {\n\t\tif (width > height && width * 9 > height * 16) return getWidescreenSize(width) ?? height;\n\t\treturn Math.min(width, height);\n\t}\n\tif (height) return height;\n\tif (width) return getWidescreenSize(width) ?? width;\n}\nfunction hasSameSize(rendition, renditions) {\n\tconst size = getRenditionSize(rendition);\n\treturn Boolean(size && renditions.some((other) => other !== rendition && getRenditionSize(other) === size));\n}\nfunction formatRenditionLabel(rendition) {\n\tconst size = getRenditionSize(rendition);\n\tif (size) return `${size}p`;\n\tif (rendition.bitrate) return formatBitrate(rendition.bitrate);\n\treturn qualityText;\n}\nfunction formatRenditionBadge(rendition, renditions = []) {\n\tif (!getRenditionSize(rendition) || !rendition.bitrate || !hasSameSize(rendition, renditions)) return void 0;\n\treturn formatBitrate(rendition.bitrate);\n}\nfunction formatRenditionTier(rendition) {\n\tconst size = getRenditionSize(rendition);\n\tif (!size) return void 0;\n\tif (size >= 4320) return \"8K\";\n\tif (size >= 2160) return \"4K\";\n\tif (size >= 1080) return \"HD\";\n}\nfunction getRenditionValue(rendition, index) {\n\treturn rendition.id || String(index);\n}\nfunction isSameRendition(a, b) {\n\tif (a.id !== void 0 || b.id !== void 0) return a.id === b.id;\n\treturn a.width === b.width && a.height === b.height && a.bitrate === b.bitrate && a.frameRate === b.frameRate && a.codec === b.codec;\n}\nvar QualityRadioGroupCore = class QualityRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatRendition: formatRenditionLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [{\n\t\t\tvalue: QUALITY_AUTO_VALUE,\n\t\t\tlabel: autoText,\n\t\t\tdisabled: false\n\t\t}],\n\t\tvalue: QUALITY_AUTO_VALUE,\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...QualityRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, QualityRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn qualityText;\n\t}\n\tgetRenditionLabel(rendition) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return this.#props.formatRendition(rendition);\n\t\treturn formatRenditionLabel(rendition);\n\t}\n\tgetRenditionBadge(rendition, renditions = []) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return void 0;\n\t\treturn formatRenditionBadge(rendition, renditions);\n\t}\n\tgetRenditionTier(rendition) {\n\t\tif (this.#props.formatRendition !== QualityRadioGroupCore.defaultProps.formatRendition) return void 0;\n\t\treturn formatRenditionTier(rendition);\n\t}\n\tgetRenditionValue(rendition, index) {\n\t\treturn getRenditionValue(rendition, index);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst selectedIndex = media.videoRenditionList.findIndex((rendition) => rendition.selected);\n\t\tconst availability = media.videoRenditionList.length > 1 ? \"available\" : \"unavailable\";\n\t\tconst toOption = (rendition, index) => {\n\t\t\tconst tier = this.getRenditionTier(rendition);\n\t\t\tconst badge = this.getRenditionBadge(rendition, media.videoRenditionList);\n\t\t\treturn {\n\t\t\t\tvalue: this.getRenditionValue(rendition, index),\n\t\t\t\tlabel: this.getRenditionLabel(rendition),\n\t\t\t\tdisabled: false,\n\t\t\t\t...tier && { tier },\n\t\t\t\t...badge && { badge }\n\t\t\t};\n\t\t};\n\t\tconst activeIndex = media.activeVideoRendition === null ? -1 : media.videoRenditionList.findIndex((rendition) => isSameRendition(rendition, media.activeVideoRendition));\n\t\tconst active = media.activeVideoRendition && activeIndex !== -1 ? toOption(media.activeVideoRendition, activeIndex) : void 0;\n\t\tconst autoOption = {\n\t\t\tvalue: QUALITY_AUTO_VALUE,\n\t\t\tlabel: selectedIndex === -1 && active ? autoWithLabelText : autoText,\n\t\t\tdisabled: false,\n\t\t\t...selectedIndex === -1 && active && { labelParams: { label: resolveText(active.label) } }\n\t\t};\n\t\tthis.state.patch({\n\t\t\toptions: [autoOption, ...media.videoRenditionList.map(toOption)],\n\t\t\tvalue: selectedIndex === -1 ? QUALITY_AUTO_VALUE : this.getRenditionValue(media.videoRenditionList[selectedIndex], selectedIndex),\n\t\t\tdisabled: this.#props.disabled || availability === \"unavailable\",\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tif (value === \"auto\") {\n\t\t\tmedia.selectVideoRendition(value);\n\t\t\treturn;\n\t\t}\n\t\tif (!media.videoRenditionList.some((rendition, index) => this.getRenditionValue(rendition, index) === value)) return;\n\t\tmedia.selectVideoRendition(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { QUALITY_AUTO_VALUE, QualityRadioGroupCore };\n\n//# sourceMappingURL=quality-radio-group-core.js.map","//#region src/core/ui/quality-radio-group/quality-radio-group-data-attrs.ts\nconst QualityRadioGroupDataAttrs = {\n\t/** Current quality value. */\n\tvalue: \"data-quality\",\n\t/** Present when quality selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when quality selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates quality availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { QualityRadioGroupDataAttrs };\n\n//# sourceMappingURL=quality-radio-group-data-attrs.js.map","import { toPercent } from \"@videojs/utils/number\";\n//#region src/core/ui/slider/slider-segments-core.ts\n/** Localizes ordered numeric ranges into slider geometry and interaction state. */\nvar SliderSegmentsCore = class {\n\tgetGeometry(input) {\n\t\tconst { ranges, min, max, orientation } = input;\n\t\tconst domain = max - min;\n\t\tif (!Number.isFinite(domain) || domain <= 0) return [];\n\t\tconst valid = ranges.filter((segment) => {\n\t\t\tconst size = (segment.end - segment.start) / domain;\n\t\t\tconst offset = (segment.start - min) / domain;\n\t\t\treturn Number.isFinite(size) && Number.isFinite(offset) && size > 0;\n\t\t});\n\t\treturn valid.map((segment, index) => {\n\t\t\tconst offset = (segment.start - min) / domain;\n\t\t\tconst size = (segment.end - segment.start) / domain;\n\t\t\tconst segmentSize = `${size * 100}%`;\n\t\t\treturn {\n\t\t\t\t...segment,\n\t\t\t\tindex,\n\t\t\t\tlast: index === valid.length - 1,\n\t\t\t\torientation,\n\t\t\t\twidth: orientation === \"horizontal\" ? segmentSize : void 0,\n\t\t\t\theight: orientation === \"vertical\" ? segmentSize : void 0,\n\t\t\t\tstartPercent: `${offset * 100}%`,\n\t\t\t\tendPercent: `${(offset + size) * 100}%`\n\t\t\t};\n\t\t});\n\t}\n\tgetState(segment, slider, pointerValue) {\n\t\tconst { last, ...geometry } = segment;\n\t\tconst contains = (value) => value >= segment.start && (value < segment.end || last && value === segment.end);\n\t\tconst active = contains(slider.value);\n\t\tconst pointing = slider.pointing && contains(pointerValue);\n\t\tconst dragging = slider.dragging && contains(pointerValue);\n\t\tconst focused = slider.interactive && !slider.pointing && !slider.dragging;\n\t\treturn {\n\t\t\t...geometry,\n\t\t\tfillPercent: toPercent(slider.value, segment.start, segment.end),\n\t\t\tactive,\n\t\t\tpointing,\n\t\t\tdragging,\n\t\t\thighlighted: segment.highlight !== false && pointing,\n\t\t\tinteractive: pointing || dragging || focused && active\n\t\t};\n\t}\n};\n//#endregion\nexport { SliderSegmentsCore };\n\n//# sourceMappingURL=slider-segments-core.js.map","import { toPercent } from \"@videojs/utils/number\";\nimport { findRangeAt } from \"@videojs/utils/array\";\n//#region src/core/ui/time-slider/time-slider-chapters/core.ts\nconst cueKeys = /* @__PURE__ */ new WeakMap();\nlet cueKey = 0;\nfunction getCueKey(cue) {\n\tlet key = cueKeys.get(cue);\n\tif (!key) {\n\t\tconst id = cue.id;\n\t\tkey = `cue-${typeof id === \"string\" && id ? `${id}-` : \"\"}${cueKey++}`;\n\t\tcueKeys.set(cue, key);\n\t}\n\treturn key;\n}\n/** Produces an ordered, non-overlapping, contiguous partition of the slider domain. */\nfunction normalizeChapterCues(cues, min, max) {\n\tif (!Number.isFinite(min) || !Number.isFinite(max) || max <= min) return [];\n\tconst sorted = cues.map((cue, index) => ({\n\t\tcue,\n\t\tindex,\n\t\tkey: getCueKey(cue)\n\t})).filter(({ cue }) => Number.isFinite(cue.startTime) && Number.isFinite(cue.endTime)).sort((a, b) => a.cue.startTime - b.cue.startTime || a.index - b.index);\n\tconst chapters = [];\n\tlet end = min;\n\tlet previousKey = \"start\";\n\tfor (const { cue, key } of sorted) {\n\t\tconst start = Math.max(min, cue.startTime);\n\t\tconst cueEnd = Math.min(max, cue.endTime);\n\t\tif (cueEnd <= start) continue;\n\t\tif (start > end) chapters.push({\n\t\t\tkey: `gap-${previousKey}-${key}`,\n\t\t\tstart: end,\n\t\t\tend: start,\n\t\t\tcue: null\n\t\t});\n\t\tconst segmentStart = Math.max(start, end);\n\t\tif (cueEnd <= segmentStart) continue;\n\t\tchapters.push({\n\t\t\tkey,\n\t\t\tstart: segmentStart,\n\t\t\tend: cueEnd,\n\t\t\tcue\n\t\t});\n\t\tend = cueEnd;\n\t\tpreviousKey = key;\n\t}\n\tif (chapters.length === 0) return [{\n\t\tkey: \"gap-start-end\",\n\t\tstart: min,\n\t\tend: max,\n\t\tcue: null\n\t}];\n\tif (end < max) chapters.push({\n\t\tkey: `gap-${previousKey}-end`,\n\t\tstart: end,\n\t\tend: max,\n\t\tcue: null\n\t});\n\treturn chapters;\n}\n/** Prepares chapter ranges and state for platform renderers. */\nvar TimeSliderChaptersCore = class {\n\t#cues = null;\n\t#min = 0;\n\t#max = 0;\n\t#result = null;\n\tgetRanges(cues, min, max) {\n\t\tif (this.#result && (this.#cues === cues || this.#cues?.length === 0 && cues.length === 0) && this.#min === min && this.#max === max) return this.#result;\n\t\tconst hasRange = max > min;\n\t\tconst rangeMax = hasRange ? max : min + 1;\n\t\tconst chapters = normalizeChapterCues(hasRange ? cues : [], min, rangeMax);\n\t\tconst ranges = chapters.map(({ key, start, end, cue }) => ({\n\t\t\tkey,\n\t\t\tstart,\n\t\t\tend,\n\t\t\thighlight: cue !== null\n\t\t}));\n\t\tthis.#cues = cues;\n\t\tthis.#min = min;\n\t\tthis.#max = max;\n\t\tthis.#result = {\n\t\t\tchapters,\n\t\t\tranges,\n\t\t\tmax: rangeMax\n\t\t};\n\t\treturn this.#result;\n\t}\n\tfindChapter(chapters, value) {\n\t\treturn findRangeAt(chapters, value, (chapter) => chapter.start, (chapter) => chapter.end);\n\t}\n\tgetState(segment, chapters, bufferedEnd) {\n\t\treturn {\n\t\t\t...segment,\n\t\t\tcue: chapters[segment.index]?.cue ?? null,\n\t\t\tbufferPercent: toPercent(bufferedEnd, segment.start, segment.end)\n\t\t};\n\t}\n};\n//#endregion\nexport { TimeSliderChaptersCore, normalizeChapterCues };\n\n//# sourceMappingURL=core.js.map","//#region src/core/ui/time-slider/time-slider-chapters/css-vars.ts\n/** CSS geometry and progress local to each chapter. */\nconst TimeSliderChapterCSSVars = {\n\tstart: \"--media-slider-chapter-start\",\n\tend: \"--media-slider-chapter-end\",\n\twidth: \"--media-slider-chapter-width\",\n\tfill: \"--media-slider-chapter-fill\",\n\tbuffer: \"--media-slider-chapter-buffer\"\n};\n//#endregion\nexport { TimeSliderChapterCSSVars };\n\n//# sourceMappingURL=css-vars.js.map","//#region src/core/ui/time-slider/time-slider-chapters/data-attrs.ts\nconst TimeSliderChapterDataAttrs = {\n\t/** Present when playback is within the chapter. */\n\tactive: \"data-active\",\n\t/** Present when pointer interaction highlights the chapter. */\n\thighlighted: \"data-highlighted\"\n};\n//#endregion\nexport { TimeSliderChapterDataAttrs };\n\n//# sourceMappingURL=data-attrs.js.map","import {\n AudioTrackRadioGroupCore,\n AudioTrackRadioGroupDataAttrs,\n type AudioTrackRadioGroupOption,\n} from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectAudioTrack } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class AudioTrackRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-audio-track-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatTrack = AudioTrackRadioGroupCore.defaultProps.formatTrack;\n\n readonly #core = new AudioTrackRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectAudioTrack);\n readonly #options = new RadioOptionsController<AudioTrackRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-track', option.value),\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: AudioTrackRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatTrack: this.formatTrack, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, AudioTrackRadioGroupDataAttrs);\n }\n}\n\nexport namespace AudioTrackRadioGroupElement {\n export type State = AudioTrackRadioGroupCore.State;\n}\n","import { QualityRadioGroupCore, QualityRadioGroupDataAttrs, type QualityRadioGroupOption } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectQuality } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport type { MenuRadioItemElement } from '../menu/menu-radio-item-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class QualityRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-quality-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatRendition = QualityRadioGroupCore.defaultProps.formatRendition;\n\n readonly #core = new QualityRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectQuality);\n readonly #options = new RadioOptionsController<QualityRadioGroupOption>(this, {\n renderItem: (item, label, option) => this.#setContent(item, label, option.tier, option.badge),\n setItemAttributes: (item, option) => item.setAttribute('data-rendition', option.value),\n getOptionCacheKey: (option) => `${option.tier ?? ''}:${option.badge ?? ''}`,\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: QualityRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatRendition: this.formatRendition, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, QualityRadioGroupDataAttrs);\n }\n\n #setContent(item: MenuRadioItemElement, label: string, tier: string | undefined, badge: string | undefined): void {\n const labelPart = item.querySelector<HTMLElement>('[data-part~=\"label\"]');\n const tierPart = item.querySelector<HTMLElement>('[data-part~=\"tier\"]');\n const badgePart = item.querySelector<HTMLElement>('[data-part~=\"badge\"]');\n\n if (labelPart) {\n labelPart.textContent = label;\n }\n\n if (tierPart) {\n tierPart.textContent = tier ?? '';\n tierPart.hidden = !tier;\n }\n\n if (badgePart) {\n badgePart.textContent = badge ?? '';\n badgePart.hidden = !badge;\n }\n\n if (!labelPart && !tierPart && !badgePart) {\n item.textContent = [label, tier, badge].filter(Boolean).join(' ');\n }\n }\n}\n\nexport namespace QualityRadioGroupElement {\n export type State = QualityRadioGroupCore.State;\n}\n","import { TimeSliderChaptersCore } from '@videojs/core';\nimport { selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { playerContext } from '../../../player/context';\nimport { PlayerController } from '../../../player/player-controller';\nimport { MediaElement } from '../../media-element';\nimport { sliderContext } from '../../slider/context';\n\n/** Displays the chapter title at the current pointer or keyboard position. */\nexport class TimeSliderChapterTitleElement extends MediaElement {\n static readonly tagName = 'media-time-slider-chapter-title';\n\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n if (!slider) return;\n const duration = this.#time.value?.duration ?? 0;\n const { chapters } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n const keyboard = slider.state.interactive && !slider.state.pointing && !slider.state.dragging;\n const value = slider.state.pointing || slider.state.dragging ? slider.pointerValue : slider.state.value;\n const chapter = this.#core.findChapter(chapters, value);\n\n this.textContent = chapter?.cue?.text ?? '';\n if (keyboard) {\n this.removeAttribute('aria-hidden');\n this.setAttribute('aria-live', 'polite');\n } else {\n this.setAttribute('aria-hidden', 'true');\n this.removeAttribute('aria-live');\n }\n }\n}\n","import {\n SliderSegmentsCore,\n TimeSliderChapterCSSVars,\n TimeSliderChapterDataAttrs,\n TimeSliderChaptersCore,\n} from '@videojs/core';\nimport { applyStateDataAttrs, selectBuffer, selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { cloneTemplateRoot, getTemplateElement, getTemplateRoot } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../../player/context';\nimport { PlayerController } from '../../../player/player-controller';\nimport { MediaElement } from '../../media-element';\nimport { sliderContext } from '../../slider/context';\n\n/**\n * Clones a light-DOM template once per normalized chapter range.\n *\n * The required template must contain exactly one HTML root element. When no chapter cues are available, the template\n * is cloned once for a full-duration range.\n */\nexport class TimeSliderChaptersElement extends MediaElement {\n static readonly tagName = 'media-time-slider-chapters';\n\n readonly #segments = new SliderSegmentsCore();\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #buffer = new PlayerController(this, playerContext, selectBuffer);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n readonly #rendered = new Map<string, HTMLElement>();\n #templateRoot: HTMLElement | null = null;\n #templateChecked = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-hidden', 'true');\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n const duration = this.#time.value?.duration ?? 0;\n const templateRoot = this.#getTemplateRoot();\n if (!slider) return;\n\n applyStateDataAttrs(this, slider.state, slider.stateAttrMap);\n if (!templateRoot) return;\n\n const { chapters, ranges, max } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n\n const geometry = this.#segments.getGeometry({\n ranges,\n min: 0,\n max,\n orientation: slider.state.orientation,\n });\n const buffered = this.#buffer.value?.buffered ?? [];\n const bufferedEnd = buffered.length ? buffered[buffered.length - 1]![1] : 0;\n const next = new Map<string, HTMLElement>();\n\n for (const segment of geometry) {\n const state = this.#core.getState(\n this.#segments.getState(segment, slider.state, slider.pointerValue),\n chapters,\n bufferedEnd\n );\n let root = this.#rendered.get(state.key);\n\n if (!root) root = cloneTemplateRoot(templateRoot, this.ownerDocument);\n\n this.#setStyle(root, 'pointer-events', state.cue ? undefined : 'none');\n this.#setStyle(root, TimeSliderChapterCSSVars.start, state.startPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.end, state.endPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.width, state.width ?? state.height);\n this.#setStyle(root, TimeSliderChapterCSSVars.fill, `${state.fillPercent}%`);\n this.#setStyle(root, TimeSliderChapterCSSVars.buffer, `${state.bufferPercent}%`);\n applyStateDataAttrs(root, slider.state, slider.stateAttrMap);\n applyStateDataAttrs(root, state, TimeSliderChapterDataAttrs);\n\n next.set(state.key, root);\n }\n\n for (const [key, root] of this.#rendered) {\n if (!next.has(key)) root.remove();\n }\n\n let before: ChildNode | null = null;\n for (const root of [...next.values()].reverse()) {\n if (root.parentNode !== this || root.nextSibling !== before) this.insertBefore(root, before);\n before = root;\n }\n\n this.#rendered.clear();\n for (const [key, rendered] of next) this.#rendered.set(key, rendered);\n }\n\n #getTemplateRoot(): HTMLElement | null {\n if (this.#templateChecked) return this.#templateRoot;\n\n const template = getTemplateElement(this);\n if (!template) {\n for (const node of [...this.childNodes]) node.remove();\n return null;\n }\n\n this.#templateChecked = true;\n const root = getTemplateRoot(template);\n for (const node of [...this.childNodes]) {\n if (node !== template) node.remove();\n }\n if (root?.namespaceURI !== 'http://www.w3.org/1999/xhtml') {\n if (__DEV__) {\n console.warn(`[${this.localName}] template must contain exactly one HTML root element.`);\n }\n return null;\n }\n\n this.#templateRoot = root as HTMLElement;\n return this.#templateRoot;\n }\n\n #setStyle(element: HTMLElement, name: string, value: string | undefined): void {\n if (value === undefined) element.style.removeProperty(name);\n else element.style.setProperty(name, value);\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { a as defineSliders, c as defineTooltip, d as PopoverElement, f as PlayButtonElement, h as BufferingIndicatorElement, i as defineMenu, m as HotkeyElement, n as defineErrorDialog, o as defineTime, p as MuteButtonElement } from "./compounds-D1FPw7jg.js";
1
+ import { a as defineSliders, c as defineTooltip, d as PopoverElement, f as PlayButtonElement, h as BufferingIndicatorElement, i as defineMenu, m as HotkeyElement, n as defineErrorDialog, o as defineTime, p as MuteButtonElement } from "./compounds-BA8gXlmJ.js";
2
+ import { n as I18nProviderElement, t as TextElement } from "./text-element-LzVNdZbp.js";
2
3
  import { i as safeDefine } from "./context-OhQY847V.js";
3
4
  import { t as MediaContainerElement } from "./container-element-HHK_KZOE.js";
4
- import { n as I18nProviderElement, t as TextElement } from "./text-element-dyiwucQB.js";
5
- import { t as GestureElement } from "./gesture-element-KdpjbbBD.js";
6
- import { t as LiveButtonElement } from "./live-button-element-CylfQD0v.js";
7
- import { n as PlaybackRateRadioGroupElement, r as PlaybackRateButtonElement, t as SeekButtonElement } from "./seek-button-element-BD2caCd5.js";
8
- import { t as AudioPlayerElement } from "./player-DMP2pc3L.js";
5
+ import { t as GestureElement } from "./gesture-element-x6kojUJk.js";
6
+ import { t as LiveButtonElement } from "./live-button-element-BFufqFFV.js";
7
+ import { n as PlaybackRateRadioGroupElement, r as PlaybackRateButtonElement, t as SeekButtonElement } from "./seek-button-element-CirtfRSE.js";
8
+ import { t as AudioPlayerElement } from "./player-bEUswOOg.js";
9
9
 
10
10
  //#region src/define/audio/ui.ts
11
11
  safeDefine(AudioPlayerElement);
@@ -29,4 +29,4 @@ safeDefine(SeekButtonElement);
29
29
  safeDefine(TextElement);
30
30
 
31
31
  //#endregion
32
- //# sourceMappingURL=ui-BsUcH4YJ.js.map
32
+ //# sourceMappingURL=ui-BL6b1m09.js.map