@videojs/html 10.0.0-beta.28 → 10.0.0-beta.29

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 (533) hide show
  1. package/cdn/{adapter-XTen-YVQ.js → adapter-CEnNWvii.js} +17 -4
  2. package/cdn/adapter-CEnNWvii.js.map +1 -0
  3. package/cdn/adapter-DaKW8NzI.js +2 -0
  4. package/cdn/adapter-DaKW8NzI.js.map +1 -0
  5. package/cdn/audio-headless.dev.js +1 -1
  6. package/cdn/audio-headless.js +1 -1
  7. package/cdn/audio-minimal-ui.dev.js +2 -2
  8. package/cdn/audio-minimal-ui.js +1 -1
  9. package/cdn/audio-minimal.dev.js +5 -5
  10. package/cdn/audio-minimal.dev.js.map +1 -1
  11. package/cdn/audio-minimal.js +1 -1
  12. package/cdn/audio-minimal.js.map +1 -1
  13. package/cdn/audio-ui.dev.js +2 -2
  14. package/cdn/audio-ui.js +1 -1
  15. package/cdn/audio.dev.js +5 -5
  16. package/cdn/audio.dev.js.map +1 -1
  17. package/cdn/audio.js +1 -1
  18. package/cdn/audio.js.map +1 -1
  19. package/cdn/background.dev.js +1 -1
  20. package/cdn/background.js +1 -1
  21. package/cdn/background.js.map +1 -1
  22. package/cdn/compounds-C4YYLyL2.js +8 -0
  23. package/cdn/compounds-C4YYLyL2.js.map +1 -0
  24. package/cdn/{compounds-nk9RJtBK.js → compounds-C73u1MeO.js} +63 -59
  25. package/cdn/compounds-C73u1MeO.js.map +1 -0
  26. package/cdn/create-player-BU8LDJDL.js +2 -0
  27. package/cdn/create-player-BU8LDJDL.js.map +1 -0
  28. package/cdn/{create-player-DK9WOywd.js → create-player-Db1CIvlK.js} +58 -46
  29. package/cdn/create-player-Db1CIvlK.js.map +1 -0
  30. package/cdn/{default-BqQDVloS.js → default-A3aM0skz.js} +2 -2
  31. package/cdn/default-A3aM0skz.js.map +1 -0
  32. package/cdn/default-BDyhiTCm.js +2 -0
  33. package/cdn/default-BDyhiTCm.js.map +1 -0
  34. package/cdn/{default-I2LasfxC.js → default-C1_k1NeB.js} +2 -2
  35. package/cdn/default-C1_k1NeB.js.map +1 -0
  36. package/cdn/default-DHrMd4ie.js +2 -0
  37. package/cdn/default-DHrMd4ie.js.map +1 -0
  38. package/cdn/error-surface-BID4D3DW.js +59 -0
  39. package/cdn/error-surface-BID4D3DW.js.map +1 -0
  40. package/cdn/{select-tracks-nRPBa1NC.js → error-surface-D0bo71gD.js} +442 -48
  41. package/cdn/error-surface-D0bo71gD.js.map +1 -0
  42. package/cdn/gesture-element-CeRy1IVs.js +2 -0
  43. package/cdn/gesture-element-CeRy1IVs.js.map +1 -0
  44. package/cdn/{gesture-element-6Ld1YwIL.js → gesture-element-DB67OYCE.js} +3 -3
  45. package/cdn/gesture-element-DB67OYCE.js.map +1 -0
  46. package/cdn/{hls-js-C4P_b2tT.js → hls-js-CiE4wOrG.js} +2 -2
  47. package/cdn/{hls-js-C4P_b2tT.js.map → hls-js-CiE4wOrG.js.map} +1 -1
  48. package/cdn/{hls-js-CATW7NBm.js → hls-js-DBKRCbQm.js} +2 -2
  49. package/cdn/{hls-js-CATW7NBm.js.map → hls-js-DBKRCbQm.js.map} +1 -1
  50. package/cdn/{hls-js-BEuVm0u9.js → hls-js-DX2NGCAr.js} +2 -2
  51. package/cdn/{hls-js-BEuVm0u9.js.map → hls-js-DX2NGCAr.js.map} +1 -1
  52. package/cdn/{hls-js-WCNy9MVh.js → hls-js-JeH8yvsP.js} +2 -2
  53. package/cdn/{hls-js-WCNy9MVh.js.map → hls-js-JeH8yvsP.js.map} +1 -1
  54. package/cdn/i18n-CpBDXf6M.js +2 -0
  55. package/cdn/{i18n-Dc7WM2xd.js.map → i18n-CpBDXf6M.js.map} +1 -1
  56. package/cdn/{i18n-Ch4t6EjV.js → i18n-D0nhPa0m.js} +2 -2
  57. package/cdn/{i18n-Ch4t6EjV.js.map → i18n-D0nhPa0m.js.map} +1 -1
  58. package/cdn/{live-button-element-DaHgnYdw.js → live-button-element-Co8z2LkI.js} +2 -2
  59. package/cdn/{live-button-element-DaHgnYdw.js.map → live-button-element-Co8z2LkI.js.map} +1 -1
  60. package/cdn/{live-button-element-Bae44kBN.js → live-button-element-zE-8uoR2.js} +3 -3
  61. package/cdn/{live-button-element-Bae44kBN.js.map → live-button-element-zE-8uoR2.js.map} +1 -1
  62. package/cdn/live-video-minimal.dev.js +11 -9
  63. package/cdn/live-video-minimal.dev.js.map +1 -1
  64. package/cdn/live-video-minimal.js +1 -1
  65. package/cdn/live-video-minimal.js.map +1 -1
  66. package/cdn/live-video.dev.js +12 -10
  67. package/cdn/live-video.dev.js.map +1 -1
  68. package/cdn/live-video.js +1 -1
  69. package/cdn/live-video.js.map +1 -1
  70. package/cdn/media/hls-audio.dev.js +1 -1
  71. package/cdn/media/hls-audio.js +1 -1
  72. package/cdn/media/hls-background-video.dev.js +1 -1
  73. package/cdn/media/hls-background-video.js +1 -1
  74. package/cdn/media/hls-video.dev.js +1 -1
  75. package/cdn/media/hls-video.js +1 -1
  76. package/cdn/media/mux-audio/hls-js.dev.js +1 -1
  77. package/cdn/media/mux-audio/hls-js.js +1 -1
  78. package/cdn/media/mux-audio/spf.dev.js +2 -2
  79. package/cdn/media/mux-audio/spf.js +1 -1
  80. package/cdn/media/mux-audio.dev.js +1 -1
  81. package/cdn/media/mux-audio.js +1 -1
  82. package/cdn/media/mux-background-video.dev.js +1 -1
  83. package/cdn/media/mux-background-video.js +1 -1
  84. package/cdn/media/mux-data.dev.js +1 -1
  85. package/cdn/media/mux-data.dev.js.map +1 -1
  86. package/cdn/media/mux-data.js +1 -1
  87. package/cdn/media/mux-data.js.map +1 -1
  88. package/cdn/media/mux-video/hls-js.dev.js +1 -1
  89. package/cdn/media/mux-video/hls-js.js +1 -1
  90. package/cdn/media/mux-video/spf.dev.js +2 -2
  91. package/cdn/media/mux-video/spf.js +1 -1
  92. package/cdn/media/mux-video.dev.js +1 -1
  93. package/cdn/media/mux-video.js +1 -1
  94. package/cdn/media/vimeo-video.dev.js +27 -5
  95. package/cdn/media/vimeo-video.dev.js.map +1 -1
  96. package/cdn/media/vimeo-video.js +1 -1
  97. package/cdn/media/vimeo-video.js.map +1 -1
  98. package/cdn/{media-Uxm0d3Vx.js → media-BI8caj07.js} +3 -3
  99. package/cdn/{media-Uxm0d3Vx.js.map → media-BI8caj07.js.map} +1 -1
  100. package/cdn/{media-COIe3uI5.js → media-BNuI0Im7.js} +19 -6
  101. package/cdn/media-BNuI0Im7.js.map +1 -0
  102. package/cdn/media-CQxFuDcv.js +2 -0
  103. package/cdn/{media-CPVSKLdk.js.map → media-CQxFuDcv.js.map} +1 -1
  104. package/cdn/media-D4tG62L5.js +2 -0
  105. package/cdn/{media-BTipOcKo.js.map → media-D4tG62L5.js.map} +1 -1
  106. package/cdn/{media-oa3nyL2o.js → media-DI6DvYm3.js} +3 -3
  107. package/cdn/{media-oa3nyL2o.js.map → media-DI6DvYm3.js.map} +1 -1
  108. package/cdn/media-DU3Xf5XR.js +2 -0
  109. package/cdn/media-DU3Xf5XR.js.map +1 -0
  110. package/cdn/media-mYKOAsk3.js +825 -0
  111. package/cdn/media-mYKOAsk3.js.map +1 -0
  112. package/cdn/media-zReLnePj.js +2 -0
  113. package/cdn/media-zReLnePj.js.map +1 -0
  114. package/cdn/{minimal-DQCLKRyR.js → minimal-3OmH0xQS.js} +2 -2
  115. package/cdn/minimal-3OmH0xQS.js.map +1 -0
  116. package/cdn/{minimal-DLosvq31.js → minimal-6w_Vyyl9.js} +2 -2
  117. package/cdn/minimal-6w_Vyyl9.js.map +1 -0
  118. package/cdn/minimal-BWLTn7oQ.js +2 -0
  119. package/cdn/minimal-BWLTn7oQ.js.map +1 -0
  120. package/cdn/minimal-DIGrklyh.js +2 -0
  121. package/cdn/minimal-DIGrklyh.js.map +1 -0
  122. package/cdn/{minimal-ui-CRKvUmB8.js → minimal-ui-BCIESK8f.js} +8 -8
  123. package/cdn/{minimal-ui-CRKvUmB8.js.map → minimal-ui-BCIESK8f.js.map} +1 -1
  124. package/cdn/minimal-ui-BXrq3z4U.js +2 -0
  125. package/cdn/{minimal-ui-Et2Wcn7r.js.map → minimal-ui-BXrq3z4U.js.map} +1 -1
  126. package/cdn/{minimal-ui-BpHxIo4z.js → minimal-ui-DEalpMk6.js} +4 -4
  127. package/cdn/{minimal-ui-BpHxIo4z.js.map → minimal-ui-DEalpMk6.js.map} +1 -1
  128. package/cdn/{minimal-ui-8iRZf_72.js → minimal-ui-vY3QgohH.js} +2 -2
  129. package/cdn/{minimal-ui-8iRZf_72.js.map → minimal-ui-vY3QgohH.js.map} +1 -1
  130. package/cdn/{player-DM9rUXg-.js → player-B3GlPF90.js} +2 -2
  131. package/cdn/{player-DM9rUXg-.js.map → player-B3GlPF90.js.map} +1 -1
  132. package/cdn/player-CtTC7qa5.js +2 -0
  133. package/cdn/{player-rCFqzWrA.js.map → player-CtTC7qa5.js.map} +1 -1
  134. package/cdn/player-DKkph8UM.js +2 -0
  135. package/cdn/{player-BRQLp5bX.js.map → player-DKkph8UM.js.map} +1 -1
  136. package/cdn/{player-CKTAtwit.js → player-DPDmTRvg.js} +2 -2
  137. package/cdn/{player-CKTAtwit.js.map → player-DPDmTRvg.js.map} +1 -1
  138. package/cdn/player-DrDd7LJi.js +2 -0
  139. package/cdn/{player-BloX4l6F.js.map → player-DrDd7LJi.js.map} +1 -1
  140. package/cdn/{player-B2oraRyD.js → player-L5UpZmT4.js} +2 -2
  141. package/cdn/{player-B2oraRyD.js.map → player-L5UpZmT4.js.map} +1 -1
  142. package/cdn/{poster-element-BGr1VQJB.js → poster-element-B5tdJ2ub.js} +179 -38
  143. package/cdn/poster-element-B5tdJ2ub.js.map +1 -0
  144. package/cdn/poster-element-B8QwXSU_.js +2 -0
  145. package/cdn/poster-element-B8QwXSU_.js.map +1 -0
  146. package/cdn/{error-surface-drmCvBVW.js → relocation-pipelines-Dh8CcgHw.js} +5 -343
  147. package/cdn/relocation-pipelines-Dh8CcgHw.js.map +1 -0
  148. package/cdn/relocation-pipelines-DunE4gcV.js +2 -0
  149. package/cdn/relocation-pipelines-DunE4gcV.js.map +1 -0
  150. package/cdn/{seek-button-element-XMTLIxZj.js → seek-button-element-5co-k0Dx.js} +4 -4
  151. package/cdn/seek-button-element-5co-k0Dx.js.map +1 -0
  152. package/cdn/{seek-button-element-FlgBVoGM.js → seek-button-element-B8TkILg-.js} +2 -2
  153. package/cdn/{seek-button-element-FlgBVoGM.js.map → seek-button-element-B8TkILg-.js.map} +1 -1
  154. package/cdn/shallow-equal-C7S8rj2f.js +16 -0
  155. package/cdn/shallow-equal-C7S8rj2f.js.map +1 -0
  156. package/cdn/shallow-equal-KV1zFqZi.js +2 -0
  157. package/cdn/shallow-equal-KV1zFqZi.js.map +1 -0
  158. package/cdn/{skin-element-DL-Kqa5f.js → skin-element-DrkI8xuM.js} +2 -2
  159. package/cdn/{skin-element-DL-Kqa5f.js.map → skin-element-DrkI8xuM.js.map} +1 -1
  160. package/cdn/{skin-element-DNytI-uu.js → skin-element-DvX6Bxsv.js} +2 -2
  161. package/cdn/{skin-element-DNytI-uu.js.map → skin-element-DvX6Bxsv.js.map} +1 -1
  162. package/cdn/{text-element-DeWBNKXb.js → text-element-BoY6AhMn.js} +2 -2
  163. package/cdn/{text-element-DeWBNKXb.js.map → text-element-BoY6AhMn.js.map} +1 -1
  164. package/cdn/{text-element-D88ArbZz.js → text-element-cg6l21cd.js} +2 -2
  165. package/cdn/{text-element-D88ArbZz.js.map → text-element-cg6l21cd.js.map} +1 -1
  166. package/cdn/time-slider-chapters-element-BfLjdnU4.js +2 -0
  167. package/cdn/time-slider-chapters-element-BfLjdnU4.js.map +1 -0
  168. package/cdn/{time-slider-chapters-element-DJ0abZXI.js → time-slider-chapters-element-CznFQWFm.js} +5 -5
  169. package/cdn/time-slider-chapters-element-CznFQWFm.js.map +1 -0
  170. package/cdn/{ui-BU3_2gDQ.js → ui-BwzqkJNK.js} +7 -7
  171. package/cdn/{ui-BU3_2gDQ.js.map → ui-BwzqkJNK.js.map} +1 -1
  172. package/cdn/ui-DayfItun.js +2 -0
  173. package/cdn/{ui-C0isALTQ.js.map → ui-DayfItun.js.map} +1 -1
  174. package/cdn/ui-PSnD-pv8.js +2 -0
  175. package/cdn/{ui-DVpkE1MN.js.map → ui-PSnD-pv8.js.map} +1 -1
  176. package/cdn/{ui-BsaWWE4y.js → ui-fnKp94a7.js} +9 -9
  177. package/cdn/{ui-BsaWWE4y.js.map → ui-fnKp94a7.js.map} +1 -1
  178. package/cdn/video-headless.dev.js +1 -1
  179. package/cdn/video-headless.js +1 -1
  180. package/cdn/video-minimal-ui.dev.js +2 -2
  181. package/cdn/video-minimal-ui.js +1 -1
  182. package/cdn/video-minimal.dev.js +8 -6
  183. package/cdn/video-minimal.dev.js.map +1 -1
  184. package/cdn/video-minimal.js +1 -1
  185. package/cdn/video-minimal.js.map +1 -1
  186. package/cdn/video-ui.dev.js +2 -2
  187. package/cdn/video-ui.js +1 -1
  188. package/cdn/video.dev.js +9 -7
  189. package/cdn/video.dev.js.map +1 -1
  190. package/cdn/video.js +1 -1
  191. package/cdn/video.js.map +1 -1
  192. package/dist/default/__generated__/skins/default-video/styles/buttons.css +132 -18
  193. package/dist/default/__generated__/skins/default-video/styles/captions.css +22 -0
  194. package/dist/default/__generated__/skins/default-video/styles/container.css +121 -8
  195. package/dist/default/__generated__/skins/default-video/styles/controls.css +436 -21
  196. package/dist/default/__generated__/skins/default-video/styles/dialog.css +169 -0
  197. package/dist/default/__generated__/skins/default-video/styles/indicator.css +459 -0
  198. package/dist/default/__generated__/skins/default-video/styles/menus.css +254 -0
  199. package/dist/default/__generated__/skins/default-video/styles/overlays.css +26 -2
  200. package/dist/default/__generated__/skins/default-video/styles/popups.css +338 -12
  201. package/dist/default/__generated__/skins/default-video/styles/poster.css +4 -4
  202. package/dist/default/__generated__/skins/default-video/styles/sliders.css +355 -31
  203. package/dist/default/__generated__/skins/default-video/styles/styles.css +2455 -216
  204. package/dist/default/__generated__/skins/default-video/styles/theme.css +4 -19
  205. package/dist/default/__generated__/skins/default-video/styles/video.css +29 -0
  206. package/dist/default/__generated__/skins/minimal-video/styles/base.css +25 -0
  207. package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +266 -0
  208. package/dist/default/__generated__/skins/minimal-video/styles/captions.css +22 -0
  209. package/dist/default/__generated__/skins/minimal-video/styles/container.css +158 -0
  210. package/dist/default/__generated__/skins/minimal-video/styles/controls.css +182 -0
  211. package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +77 -0
  212. package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +322 -0
  213. package/dist/default/__generated__/skins/minimal-video/styles/menus.css +254 -0
  214. package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +35 -0
  215. package/dist/default/__generated__/skins/minimal-video/styles/popups.css +371 -0
  216. package/dist/default/__generated__/skins/minimal-video/styles/poster.css +47 -0
  217. package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +436 -0
  218. package/dist/default/__generated__/skins/minimal-video/styles/styles.css +2246 -0
  219. package/dist/default/__generated__/skins/minimal-video/styles/theme.css +7 -0
  220. package/dist/default/__generated__/skins/minimal-video/styles/video.css +29 -0
  221. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  222. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  223. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  224. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  225. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  226. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  227. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  228. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  229. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  230. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  231. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  232. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  233. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  234. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  235. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  236. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  237. package/dist/default/define/audio/minimal-skin.css +103 -101
  238. package/dist/default/define/audio/skin.css +68 -69
  239. package/dist/default/define/live-audio/minimal-skin.css +103 -101
  240. package/dist/default/define/live-audio/skin.css +68 -69
  241. package/dist/default/define/live-video/minimal-skin.css +140 -120
  242. package/dist/default/define/live-video/minimal-skin.js +1 -1
  243. package/dist/default/define/live-video/minimal-skin.js.map +1 -1
  244. package/dist/default/define/live-video/minimal-skin.tailwind.js +1 -1
  245. package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -1
  246. package/dist/default/define/live-video/skin.css +89 -76
  247. package/dist/default/define/live-video/skin.js +1 -1
  248. package/dist/default/define/live-video/skin.js.map +1 -1
  249. package/dist/default/define/live-video/skin.tailwind.js +1 -1
  250. package/dist/default/define/live-video/skin.tailwind.js.map +1 -1
  251. package/dist/default/define/ui/gesture.js +7 -0
  252. package/dist/default/define/ui/gesture.js.map +1 -0
  253. package/dist/default/define/video/minimal-skin.css +140 -120
  254. package/dist/default/define/video/minimal-skin.js +1 -1
  255. package/dist/default/define/video/minimal-skin.js.map +1 -1
  256. package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
  257. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  258. package/dist/default/define/video/skin.css +89 -76
  259. package/dist/default/define/video/skin.js +1 -1
  260. package/dist/default/define/video/skin.js.map +1 -1
  261. package/dist/default/define/video/skin.tailwind.js +1 -1
  262. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  263. package/dist/default/icons/dist/element/default/icons.js +1 -1
  264. package/dist/default/icons/dist/element/default/icons.js.map +1 -1
  265. package/dist/default/icons/dist/element/minimal/icons.js +1 -1
  266. package/dist/default/icons/dist/element/minimal/icons.js.map +1 -1
  267. package/dist/default/icons/dist/html/default/airplay-exit.js +1 -1
  268. package/dist/default/icons/dist/html/default/airplay-exit.js.map +1 -1
  269. package/dist/default/icons/dist/html/minimal/airplay-exit.js +1 -1
  270. package/dist/default/icons/dist/html/minimal/airplay-exit.js.map +1 -1
  271. package/dist/default/icons/dist/render/default/index.js +1 -1
  272. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  273. package/dist/default/icons/dist/render/minimal/index.js +1 -1
  274. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  275. package/dist/default/media/hls-background-video/media.js +18 -0
  276. package/dist/default/media/hls-background-video/media.js.map +1 -1
  277. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -1
  278. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  279. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +8 -1
  280. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  281. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +10 -10
  282. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  283. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
  284. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  285. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +2 -2
  286. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  287. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
  288. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  289. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
  290. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  291. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
  292. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  293. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -5
  294. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  295. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +4 -4
  296. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  297. package/dist/default/store/provider-mixin.js +22 -8
  298. package/dist/default/store/provider-mixin.js.map +1 -1
  299. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
  300. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
  301. package/dist/default/ui/captions-radio-group/captions-radio-group-element.js +1 -1
  302. package/dist/default/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
  303. package/dist/default/ui/gesture/gesture-element.js.map +1 -1
  304. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -1
  305. package/dist/default/ui/menu/context.js.map +1 -1
  306. package/dist/default/ui/menu/menu-element.js +28 -27
  307. package/dist/default/ui/menu/menu-element.js.map +1 -1
  308. package/dist/default/ui/menu/menu-radio-group-element.js +14 -14
  309. package/dist/default/ui/menu/menu-radio-group-element.js.map +1 -1
  310. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
  311. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
  312. package/dist/default/ui/poster/poster-element.js +138 -8
  313. package/dist/default/ui/poster/poster-element.js.map +1 -1
  314. package/dist/default/ui/quality-radio-group/quality-radio-group-element.js +1 -1
  315. package/dist/default/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
  316. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  317. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +132 -18
  318. package/dist/dev/__generated__/skins/default-video/styles/captions.css +22 -0
  319. package/dist/dev/__generated__/skins/default-video/styles/container.css +121 -8
  320. package/dist/dev/__generated__/skins/default-video/styles/controls.css +436 -21
  321. package/dist/dev/__generated__/skins/default-video/styles/dialog.css +169 -0
  322. package/dist/dev/__generated__/skins/default-video/styles/indicator.css +459 -0
  323. package/dist/dev/__generated__/skins/default-video/styles/menus.css +254 -0
  324. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +26 -2
  325. package/dist/dev/__generated__/skins/default-video/styles/popups.css +338 -12
  326. package/dist/dev/__generated__/skins/default-video/styles/poster.css +4 -4
  327. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +355 -31
  328. package/dist/dev/__generated__/skins/default-video/styles/styles.css +2455 -216
  329. package/dist/dev/__generated__/skins/default-video/styles/theme.css +4 -19
  330. package/dist/dev/__generated__/skins/default-video/styles/video.css +29 -0
  331. package/dist/dev/__generated__/skins/minimal-video/styles/base.css +25 -0
  332. package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +266 -0
  333. package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +22 -0
  334. package/dist/dev/__generated__/skins/minimal-video/styles/container.css +158 -0
  335. package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +182 -0
  336. package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +77 -0
  337. package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +322 -0
  338. package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +254 -0
  339. package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +35 -0
  340. package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +371 -0
  341. package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +47 -0
  342. package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +436 -0
  343. package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +2246 -0
  344. package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +7 -0
  345. package/dist/dev/__generated__/skins/minimal-video/styles/video.css +29 -0
  346. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  347. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  348. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  349. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  350. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  351. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  352. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  353. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  354. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  355. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  356. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  357. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  358. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  359. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  360. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  361. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  362. package/dist/dev/define/audio/minimal-skin.css +103 -101
  363. package/dist/dev/define/audio/skin.css +68 -69
  364. package/dist/dev/define/live-audio/minimal-skin.css +103 -101
  365. package/dist/dev/define/live-audio/skin.css +68 -69
  366. package/dist/dev/define/live-video/minimal-skin.css +140 -120
  367. package/dist/dev/define/live-video/minimal-skin.d.ts.map +1 -1
  368. package/dist/dev/define/live-video/minimal-skin.js +3 -1
  369. package/dist/dev/define/live-video/minimal-skin.js.map +1 -1
  370. package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  371. package/dist/dev/define/live-video/minimal-skin.tailwind.js +3 -1
  372. package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -1
  373. package/dist/dev/define/live-video/skin.css +89 -76
  374. package/dist/dev/define/live-video/skin.d.ts.map +1 -1
  375. package/dist/dev/define/live-video/skin.js +3 -1
  376. package/dist/dev/define/live-video/skin.js.map +1 -1
  377. package/dist/dev/define/live-video/skin.tailwind.d.ts.map +1 -1
  378. package/dist/dev/define/live-video/skin.tailwind.js +4 -2
  379. package/dist/dev/define/live-video/skin.tailwind.js.map +1 -1
  380. package/dist/dev/define/ui/gesture.d.ts +8 -0
  381. package/dist/dev/define/ui/gesture.d.ts.map +1 -0
  382. package/dist/dev/define/ui/gesture.js +7 -0
  383. package/dist/dev/define/ui/gesture.js.map +1 -0
  384. package/dist/dev/define/video/minimal-skin.css +140 -120
  385. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  386. package/dist/dev/define/video/minimal-skin.js +3 -1
  387. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  388. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  389. package/dist/dev/define/video/minimal-skin.tailwind.js +3 -1
  390. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  391. package/dist/dev/define/video/skin.css +89 -76
  392. package/dist/dev/define/video/skin.d.ts.map +1 -1
  393. package/dist/dev/define/video/skin.js +3 -1
  394. package/dist/dev/define/video/skin.js.map +1 -1
  395. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  396. package/dist/dev/define/video/skin.tailwind.js +4 -2
  397. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  398. package/dist/dev/media/hls-background-video/media.d.ts +16 -0
  399. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
  400. package/dist/dev/media/hls-background-video/media.js +18 -0
  401. package/dist/dev/media/hls-background-video/media.js.map +1 -1
  402. package/dist/dev/packages/icons/dist/element/default/icons.js +1 -1
  403. package/dist/dev/packages/icons/dist/element/default/icons.js.map +1 -1
  404. package/dist/dev/packages/icons/dist/element/minimal/icons.js +1 -1
  405. package/dist/dev/packages/icons/dist/element/minimal/icons.js.map +1 -1
  406. package/dist/dev/packages/icons/dist/html/default/airplay-exit.js +1 -1
  407. package/dist/dev/packages/icons/dist/html/default/airplay-exit.js.map +1 -1
  408. package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js +1 -1
  409. package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js.map +1 -1
  410. package/dist/dev/packages/icons/dist/render/default/index.js +1 -1
  411. package/dist/dev/packages/icons/dist/render/default/index.js.map +1 -1
  412. package/dist/dev/packages/icons/dist/render/minimal/index.js +1 -1
  413. package/dist/dev/packages/icons/dist/render/minimal/index.js.map +1 -1
  414. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +3 -1
  415. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  416. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +8 -1
  417. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  418. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js +10 -10
  419. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  420. package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
  421. package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  422. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +2 -2
  423. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  424. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
  425. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  426. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
  427. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  428. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
  429. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  430. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -5
  431. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  432. package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js +4 -4
  433. package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  434. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  435. package/dist/dev/store/provider-mixin.js +24 -8
  436. package/dist/dev/store/provider-mixin.js.map +1 -1
  437. package/dist/dev/store/types.d.ts +2 -2
  438. package/dist/dev/store/types.d.ts.map +1 -1
  439. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
  440. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
  441. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js +1 -1
  442. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
  443. package/dist/dev/ui/gesture/gesture-element.d.ts +7 -7
  444. package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -1
  445. package/dist/dev/ui/gesture/gesture-element.js.map +1 -1
  446. package/dist/dev/ui/hotkey/hotkey-element.d.ts +6 -6
  447. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -1
  448. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -1
  449. package/dist/dev/ui/menu/context.d.ts +8 -8
  450. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  451. package/dist/dev/ui/menu/context.js.map +1 -1
  452. package/dist/dev/ui/menu/menu-element.d.ts.map +1 -1
  453. package/dist/dev/ui/menu/menu-element.js +28 -27
  454. package/dist/dev/ui/menu/menu-element.js.map +1 -1
  455. package/dist/dev/ui/menu/menu-radio-group-element.d.ts +1 -1
  456. package/dist/dev/ui/menu/menu-radio-group-element.d.ts.map +1 -1
  457. package/dist/dev/ui/menu/menu-radio-group-element.js +14 -14
  458. package/dist/dev/ui/menu/menu-radio-group-element.js.map +1 -1
  459. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
  460. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
  461. package/dist/dev/ui/poster/poster-element.d.ts +20 -18
  462. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  463. package/dist/dev/ui/poster/poster-element.js +145 -8
  464. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  465. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js +1 -1
  466. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
  467. package/dist/dev/ui/slider/slider-preview-element.d.ts +2 -2
  468. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -1
  469. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  470. package/docs/README.md +1 -1
  471. package/docs/concepts/skins.md +91 -78
  472. package/docs/how-to/customize-skins.md +411 -377
  473. package/docs/reference/menu.md +3 -19
  474. package/docs/reference/popover.md +2 -2
  475. package/docs/reference/poster.md +211 -21
  476. package/docs/reference/slider.md +1 -1
  477. package/docs/reference/time-slider.md +1 -1
  478. package/docs/reference/tooltip.md +6 -6
  479. package/docs/reference/volume-slider.md +1 -1
  480. package/package.json +14 -9
  481. package/cdn/adapter-Bk03SAxn.js +0 -2
  482. package/cdn/adapter-Bk03SAxn.js.map +0 -1
  483. package/cdn/adapter-XTen-YVQ.js.map +0 -1
  484. package/cdn/compounds-BEO1d3ZM.js +0 -8
  485. package/cdn/compounds-BEO1d3ZM.js.map +0 -1
  486. package/cdn/compounds-nk9RJtBK.js.map +0 -1
  487. package/cdn/create-player-DK9WOywd.js.map +0 -1
  488. package/cdn/create-player-hSdQMP5p.js +0 -2
  489. package/cdn/create-player-hSdQMP5p.js.map +0 -1
  490. package/cdn/default-BqQDVloS.js.map +0 -1
  491. package/cdn/default-CXWVp2oG.js +0 -2
  492. package/cdn/default-CXWVp2oG.js.map +0 -1
  493. package/cdn/default-Dw6cIEqT.js +0 -2
  494. package/cdn/default-Dw6cIEqT.js.map +0 -1
  495. package/cdn/default-I2LasfxC.js.map +0 -1
  496. package/cdn/error-surface-DCT1m2p1.js +0 -2
  497. package/cdn/error-surface-DCT1m2p1.js.map +0 -1
  498. package/cdn/error-surface-drmCvBVW.js.map +0 -1
  499. package/cdn/gesture-element-6Ld1YwIL.js.map +0 -1
  500. package/cdn/gesture-element-BC48ucj9.js +0 -2
  501. package/cdn/gesture-element-BC48ucj9.js.map +0 -1
  502. package/cdn/i18n-Dc7WM2xd.js +0 -2
  503. package/cdn/media-BTipOcKo.js +0 -2
  504. package/cdn/media-Bmablv4g.js +0 -2
  505. package/cdn/media-Bmablv4g.js.map +0 -1
  506. package/cdn/media-COIe3uI5.js.map +0 -1
  507. package/cdn/media-CPVSKLdk.js +0 -2
  508. package/cdn/media-Dq4zmIJa.js +0 -2
  509. package/cdn/media-Dq4zmIJa.js.map +0 -1
  510. package/cdn/media-suYcjCG2.js +0 -445
  511. package/cdn/media-suYcjCG2.js.map +0 -1
  512. package/cdn/minimal-BedCvMBG.js +0 -2
  513. package/cdn/minimal-BedCvMBG.js.map +0 -1
  514. package/cdn/minimal-BoP112ye.js +0 -2
  515. package/cdn/minimal-BoP112ye.js.map +0 -1
  516. package/cdn/minimal-DLosvq31.js.map +0 -1
  517. package/cdn/minimal-DQCLKRyR.js.map +0 -1
  518. package/cdn/minimal-ui-Et2Wcn7r.js +0 -2
  519. package/cdn/player-BRQLp5bX.js +0 -2
  520. package/cdn/player-BloX4l6F.js +0 -2
  521. package/cdn/player-rCFqzWrA.js +0 -2
  522. package/cdn/poster-element-BGr1VQJB.js.map +0 -1
  523. package/cdn/poster-element-DBmgOyep.js +0 -2
  524. package/cdn/poster-element-DBmgOyep.js.map +0 -1
  525. package/cdn/seek-button-element-XMTLIxZj.js.map +0 -1
  526. package/cdn/select-tracks-nRPBa1NC.js.map +0 -1
  527. package/cdn/select-tracks-xV1s28xD.js +0 -59
  528. package/cdn/select-tracks-xV1s28xD.js.map +0 -1
  529. package/cdn/time-slider-chapters-element-DJ0abZXI.js.map +0 -1
  530. package/cdn/time-slider-chapters-element-DW8YyJn8.js +0 -2
  531. package/cdn/time-slider-chapters-element-DW8YyJn8.js.map +0 -1
  532. package/cdn/ui-C0isALTQ.js +0 -2
  533. package/cdn/ui-DVpkE1MN.js +0 -2
@@ -1,445 +0,0 @@
1
- import { t as namedNodeMapToObject } from "./attributes-c6az3W3y.js";
2
- import { $ as createComposition, A as getResolvedSelectedTrackDuration, B as AUDIO_TYPE_CONFIG, C as endOfStream, I as trackCurrentTime, J as isResolvedPresentation, Q as makeShareSignals, V as VIDEO_TYPE_CONFIG, X as createMachineReactor, et as defineBehavior, f as updateMediaSourceDuration, h as setupVideoBufferActors, i as pickHighestResolutionVideoTrack, j as parseMultivariantPlaylist, k as calculatePresentationDuration, l as resolveVideoTrack, n as pickAudioTrack, o as pickTrackUnderPixelArea, p as setupMediaSource, r as pickFirstTrackId, tt as computed, u as resolvePresentation, z as loadVideoSegments } from "./select-tracks-nRPBa1NC.js";
3
- import { t as MediaAttachMixin } from "./media-attach-mixin-uThv5NL_.js";
4
- import { t as getTemplateHTML } from "./template-CBmklOD-.js";
5
-
6
- //#region ../spf/dist/dev/playback/behaviors/select-tracks.js
7
- /**
8
- * **Default audio/video track selection on src load / unselect on src unload.**
9
- * When a presentation is resolved, sets `selectedVideoTrackId` /
10
- * `selectedAudioTrackId` to a per-type-picker default if no selection already
11
- * exists. When the presentation is unset/reset (transitions back to unresolved),
12
- * clears the selection so a stale id from the previous source doesn't persist.
13
- *
14
- * Lifecycle-driven: each transition fires its work once. Does not police the
15
- * selection between transitions; external writes (user picks, ABR, programmatic
16
- * filter-driven re-picks) are left alone.
17
- *
18
- * Picker is config-driven: each per-type export wires a sensible default
19
- * (`pickAudioTrack` for audio — three-tier language-aware; `pickFirstTrackId`
20
- * for video) and the caller can supply their own via `config.picker` for custom
21
- * selection logic. The behavior's `config` is forwarded to the picker as its
22
- * second argument, so options like `preferredAudioLanguage` reach the picker
23
- * without an intermediate wrapping layer.
24
- *
25
- * Compose `selectVideoTrack` for the simple "pick a default video track"
26
- * behavior, or `switchVideoTrack` (`./track-switching.ts`) for the
27
- * ABR-driven variant. Compose `selectAudioTrack` for the simple default
28
- * pick, or `switchAudioTrack` (`./track-switching.ts`) for the
29
- * filter-reactive + mid-stream-flush slot-owner variant — when audio-abr
30
- * lands, `switchAudioTrack` extends into `switchAudioQuality`. Compose
31
- * only one per type — they're alternatives, not stackable (each writes
32
- * the same `selected*TrackId` slot). The simple variants tree-shake out
33
- * the heavier machinery (bandwidth estimator, quality selection, flush
34
- * orchestration).
35
- *
36
- * Text selection has no simple variant here — it's owned by `switchTextTrack`
37
- * (`./track-switching.ts`), which resolves standing `userTextTrackSelection`
38
- * intent against the constrained, CDN-scoped renditions.
39
- */
40
- function setupTrackSelection({ state, config: { selectedKey, picker, pickerConfig } }) {
41
- const derivedStateSignal = computed(() => isResolvedPresentation(state.presentation.get()) ? "presentation-resolved" : "presentation-unresolved");
42
- return createMachineReactor({
43
- initial: "presentation-unresolved",
44
- monitor: () => derivedStateSignal.get(),
45
- states: {
46
- "presentation-unresolved": {},
47
- "presentation-resolved": { entry: () => {
48
- if (!state[selectedKey].get()) {
49
- const id = picker(state.presentation.get(), pickerConfig);
50
- if (id) state[selectedKey].set(id);
51
- }
52
- return () => state[selectedKey].set(void 0);
53
- } }
54
- }
55
- });
56
- }
57
- /** Default video picker: first track in the video selection set. */
58
- const defaultVideoPicker = (presentation) => pickFirstTrackId(presentation, "video");
59
- /**
60
- * Select a video track when a presentation loads. Clears the selection on
61
- * src unload.
62
- *
63
- * This is the simple, non-ABR counterpart to `switchVideoTrack` — compose
64
- * one or the other, not both (both write `selectedVideoTrackId`). Composing
65
- * `selectVideoTrack` alone tree-shakes out the ABR code path
66
- * (bandwidth-estimator, quality-selection); use it for sources without
67
- * meaningful quality variants, test setups, or players that intentionally
68
- * pin a quality.
69
- *
70
- * @example
71
- * const reactor = selectVideoTrack.setup({ state });
72
- */
73
- const selectVideoTrack = defineBehavior({
74
- stateKeys: ["presentation", "selectedVideoTrackId"],
75
- contextKeys: [],
76
- setup: ({ state, config }) => setupTrackSelection({
77
- state,
78
- config: {
79
- selectedKey: VIDEO_TYPE_CONFIG.selectedKey,
80
- picker: config?.picker ?? defaultVideoPicker,
81
- pickerConfig: config
82
- }
83
- })
84
- });
85
- defineBehavior({
86
- stateKeys: ["presentation", "selectedAudioTrackId"],
87
- contextKeys: [],
88
- setup: ({ state, config }) => setupTrackSelection({
89
- state,
90
- config: {
91
- selectedKey: AUDIO_TYPE_CONFIG.selectedKey,
92
- picker: config?.picker ?? pickAudioTrack,
93
- pickerConfig: config
94
- }
95
- })
96
- });
97
-
98
- //#endregion
99
- //#region ../spf/dist/dev/playback/engines/hls/engine-background-video.js
100
- const shareSignals = makeShareSignals();
101
- /**
102
- * Create a background-video playback engine.
103
- *
104
- * Subtractive composition over the HLS engine baseline:
105
- * audio-side, text-side, ABR-driven, preload-monitoring, and play/seek
106
- * load-trigger behaviors are removed. `selectVideoTrack` (with a
107
- * max-resolution picker by default) replaces `switchVideoQuality`, pinning
108
- * a single rendition for the session. The initial state seeds
109
- * `loadActivated: true` so the composition behaves as if preload has
110
- * already been activated — appropriate for ambient / hero / GIF-replacement
111
- * surfaces that should start loading the moment a src is set.
112
- *
113
- * Native `loop` / `muted` / `autoplay` are adapter concerns and live on
114
- * `HlsBackgroundVideoMediaElement` rather than the engine.
115
- *
116
- * @example
117
- * ```ts
118
- * let signals: BackgroundVideoEngineSignals;
119
- * const engine = createBackgroundVideoEngine({
120
- * onSignalsReady: (refs) => {
121
- * signals = refs;
122
- * },
123
- * });
124
- *
125
- * signals.context.mediaElement.set(videoEl);
126
- * signals.state.presentation.set({ url: 'https://example.com/stream.m3u8' });
127
- *
128
- * await engine.destroy();
129
- * ```
130
- */
131
- function createBackgroundVideoEngine(config = {}) {
132
- const finalConfig = {
133
- ...config,
134
- picker: config.picker ?? pickHighestResolutionVideoTrack,
135
- parsePresentation: config.parsePresentation ?? parseMultivariantPlaylist,
136
- resolveDuration: getResolvedSelectedTrackDuration
137
- };
138
- return createComposition([
139
- resolvePresentation,
140
- calculatePresentationDuration,
141
- selectVideoTrack,
142
- resolveVideoTrack,
143
- loadVideoSegments,
144
- setupMediaSource,
145
- updateMediaSourceDuration,
146
- setupVideoBufferActors,
147
- trackCurrentTime,
148
- endOfStream,
149
- shareSignals
150
- ], {
151
- config: finalConfig,
152
- initialState: { loadActivated: true }
153
- });
154
- }
155
-
156
- //#endregion
157
- //#region ../spf/dist/dev/playback/adapters/hls-background-video/adapter.js
158
- /**
159
- * Mixin that adds the background-video SPF playback engine to any base class,
160
- * for an HLS URL.
161
- *
162
- * `src` is the whole surface, and the picker always pins the top rendition on
163
- * offer. There is no cap of its own because the manifest is the better place to
164
- * narrow one: a delivery param — `?max_resolution=720p` on a Mux stream URL, for
165
- * one — keeps the renditions it excludes out of the manifest entirely, rather
166
- * than fetched-then-unpicked. Deriving a cap from the screen instead is on the
167
- * roadmap, and lands here when it does.
168
- *
169
- * `@videojs/spf/mux-background-video` is this same Media under a Mux-flavored
170
- * name — an alias, not a variant. Nothing about the surface changes with the
171
- * import path.
172
- *
173
- * Everything else the use case fixes rather than exposes: video-only, looping,
174
- * muted, autoplaying, loading as soon as there is a source. `attach` writes that
175
- * onto the element and nothing here declares `loop` / `muted` / `autoplay` /
176
- * `preload` of its own — a host-bound Media inherits all four from the host
177
- * already, and shadowing them with fixed values would only make reads describe
178
- * an intention rather than what the element is doing.
179
- *
180
- * A new src re-resolves the presentation, tearing down the state, SourceBuffers,
181
- * and in-flight requests the previous one built before the next begins. The
182
- * engine instance and the attached media element are both kept, so neither has to
183
- * be rewired.
184
- *
185
- * @example
186
- * class HlsBackgroundVideoMedia extends HlsBackgroundVideoMediaMixin(BackgroundVideoHost) {}
187
- *
188
- * const media = new HlsBackgroundVideoMedia();
189
- * media.attach(document.querySelector('video'));
190
- * media.src = 'https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p';
191
- * media.play();
192
- */
193
- function HlsBackgroundVideoMediaMixin(BaseClass) {
194
- class HlsBackgroundVideoMediaImpl extends BaseClass {
195
- #engine;
196
- #config;
197
- #signals;
198
- /** Pending loadstart listener from a deferred play() retry, if any. */
199
- #loadstartListener = null;
200
- constructor(...args) {
201
- super(...args);
202
- const { config } = args?.[0] ?? {};
203
- this.#config = config;
204
- this.#engine = this.#createEngine();
205
- }
206
- get engine() {
207
- return this.#engine;
208
- }
209
- attach(mediaElement) {
210
- super.attach?.(mediaElement);
211
- mediaElement.loop = true;
212
- mediaElement.muted = true;
213
- mediaElement.autoplay = true;
214
- mediaElement.preload = "auto";
215
- this.#signals.context.mediaElement.set(mediaElement);
216
- }
217
- detach() {
218
- this.#cancelPendingPlay();
219
- this.#signals.context.mediaElement.set(void 0);
220
- super.detach?.();
221
- }
222
- destroy() {
223
- this.#cancelPendingPlay();
224
- this.#engine.destroy();
225
- }
226
- get src() {
227
- return this.#signals.state.presentation.get()?.url ?? "";
228
- }
229
- set src(value) {
230
- if (value === this.src) return;
231
- this.#cancelPendingPlay();
232
- this.#signals.state.presentation.set(value ? { url: value } : void 0);
233
- }
234
- async play() {
235
- const mediaElement = this.#signals.context.mediaElement.get();
236
- if (!mediaElement) return Promise.reject(/* @__PURE__ */ new Error("HlsBackgroundVideoMediaElement: no media element attached"));
237
- try {
238
- return await mediaElement.play();
239
- } catch (err) {
240
- if (this.src) return new Promise((resolve, reject) => {
241
- const listener = () => {
242
- this.#loadstartListener = null;
243
- mediaElement.play().then(resolve, reject);
244
- };
245
- this.#loadstartListener = listener;
246
- mediaElement.addEventListener("loadstart", listener, { once: true });
247
- });
248
- throw err;
249
- }
250
- }
251
- #createEngine() {
252
- const adapterPicker = (presentation) => {
253
- return pickTrackUnderPixelArea((presentation.selectionSets?.find((s) => s.type === "video"))?.switchingSets[0]?.tracks ?? [])?.id;
254
- };
255
- return createBackgroundVideoEngine({
256
- picker: adapterPicker,
257
- ...this.#config,
258
- onSignalsReady: (signals) => {
259
- this.#signals = signals;
260
- }
261
- });
262
- }
263
- #cancelPendingPlay() {
264
- if (!this.#loadstartListener) return;
265
- this.#signals.context.mediaElement.get()?.removeEventListener("loadstart", this.#loadstartListener);
266
- this.#loadstartListener = null;
267
- }
268
- }
269
- return HlsBackgroundVideoMediaImpl;
270
- }
271
- /** Standalone SPF background-video adapter with no base class. */
272
- var HlsBackgroundVideoMediaElement = class extends HlsBackgroundVideoMediaMixin(class {}) {};
273
-
274
- //#endregion
275
- //#region ../spf/dist/dev/playback/adapters/hls-background-video/host.js
276
- /**
277
- * The `<video>` binding a background video uses: somewhere to keep the attached
278
- * element, and the four properties the Media fixes on it.
279
- *
280
- * That is the whole surface anything here reaches. The engine drives playback,
281
- * the element exposes `src` and nothing else, and the background player
282
- * subscribes to no store features, so nothing asks a background video for
283
- * `currentTime`, `play()`, picture-in-picture, fullscreen, forwarded events, or
284
- * media components. Holding the host to what is reachable is what keeps this
285
- * entry free of `@videojs/media`, and small enough to suit a component whose
286
- * whole pitch is its size.
287
- *
288
- * An `EventTarget`, because a Media is one: the store and the element layers
289
- * take anything they attach as an event source, and inheriting the three methods
290
- * satisfies that for free rather than by stubbing them.
291
- *
292
- * ⚠️ It still implements too little to carry the rest of the media surface, which
293
- * bounds what may consume it: a store feature reading a property outside this set
294
- * gets `undefined` rather than an error. A Media needing more of that surface
295
- * belongs on a host that provides it.
296
- */
297
- var BackgroundVideoHost = class extends EventTarget {
298
- #target = null;
299
- attach(target) {
300
- if (!target || this.#target === target) return;
301
- this.#target = target;
302
- }
303
- detach() {
304
- this.#target = null;
305
- }
306
- get loop() {
307
- return this.#target?.loop ?? false;
308
- }
309
- set loop(value) {
310
- if (this.#target) this.#target.loop = value;
311
- }
312
- get muted() {
313
- return this.#target?.muted ?? false;
314
- }
315
- set muted(value) {
316
- if (this.#target) this.#target.muted = value;
317
- }
318
- get autoplay() {
319
- return this.#target?.autoplay ?? false;
320
- }
321
- set autoplay(value) {
322
- if (this.#target) this.#target.autoplay = value;
323
- }
324
- get preload() {
325
- return this.#target?.preload ?? "metadata";
326
- }
327
- set preload(value) {
328
- if (this.#target) this.#target.preload = value;
329
- }
330
- };
331
-
332
- //#endregion
333
- //#region ../spf/dist/dev/playback/adapters/hls-background-video/media.js
334
- const HlsBackgroundVideoMediaBase = HlsBackgroundVideoMediaMixin(BackgroundVideoHost);
335
- /**
336
- * The background-video Media, bound to a `<video>` through
337
- * {@link BackgroundVideoHost}.
338
- *
339
- * That host carries the attached element and the four properties `attach` fixes,
340
- * which is all this Media's surface needs, and it is local — so this entry has
341
- * no `@videojs/media` dependency.
342
- *
343
- * No `MediaTracksMixin`, unlike `HlsVideoMedia`: the engine subtracts audio and
344
- * text entirely and pins one video rendition for the session, so there are no
345
- * track lists for a consumer to project or switch between.
346
- */
347
- var HlsBackgroundVideoMedia = class extends HlsBackgroundVideoMediaBase {};
348
-
349
- //#endregion
350
- //#region src/media/hls-background-video/media.ts
351
- const HlsBackgroundVideoBase = MediaAttachMixin(HTMLElement);
352
- /**
353
- * A muted, looping, chrome-less video over the SPF background-video engine.
354
- *
355
- * The SPF-backed counterpart to `<background-video>`, which plays its source
356
- * natively. This one streams HLS through the engine, which pins a single
357
- * rendition for the session rather than adapting, and drops audio and text
358
- * handling entirely — the shape an ambient hero video actually wants.
359
- *
360
- * Nearer an image than a player, and `src` is the whole surface. Replaces the
361
- * standalone `mux-background-video` package, whose `audio`, `debug`, `preload`,
362
- * and `max-resolution` attributes are all deliberately absent. Capping which
363
- * rendition is fetched is a delivery param on the URL — `?max_resolution=720p`
364
- * on a Mux stream, for one — which keeps the renditions it excludes out of the
365
- * manifest rather than merely unpicked; `preload` would have nothing to say,
366
- * since the engine loads from the moment it has a source. And unlike
367
- * `<background-video>` there are no `nomuted` / `noloop` / `noautoplay` opt-outs:
368
- * those three are what this element is for, so the adapter fixes them on at
369
- * attach.
370
- *
371
- * Takes no structured `source` — `src` is an HLS URL, as the package it replaces
372
- * required. Mux playback-ID identity, poster, and storyboard belong to
373
- * `<mux-video>`; none of them mean anything without controls to hang them on.
374
- *
375
- * `<mux-background-video>` is this element under the name the package it replaces
376
- * used. Same class, so the tag is a naming choice and nothing more.
377
- *
378
- * @example
379
- * ```html
380
- * <hls-background-video src="https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p">
381
- * <img src="https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=0" alt="" />
382
- * </hls-background-video>
383
- * ```
384
- */
385
- var HlsBackgroundVideo = class extends HlsBackgroundVideoBase {
386
- static {
387
- this.shadowRootOptions = { mode: "open" };
388
- }
389
- static {
390
- this.getTemplateHTML = getTemplateHTML;
391
- }
392
- static get observedAttributes() {
393
- return ["src"];
394
- }
395
- #media = new HlsBackgroundVideoMedia();
396
- constructor() {
397
- super();
398
- if (!this.shadowRoot) {
399
- this.attachShadow(this.constructor.shadowRootOptions);
400
- const attrs = {
401
- ...namedNodeMapToObject(this.attributes),
402
- muted: "",
403
- loop: "",
404
- autoplay: "",
405
- playsinline: "",
406
- disableremoteplayback: "",
407
- disablepictureinpicture: ""
408
- };
409
- this.shadowRoot.innerHTML = getTemplateHTML(attrs);
410
- }
411
- const video = this.video;
412
- if (video) this.#media.attach(video);
413
- }
414
- /** Register the Media (not the inner `<video>`) with the provider. */
415
- getMediaTarget() {
416
- return this.#media;
417
- }
418
- disconnectedCallback() {
419
- super.disconnectedCallback?.();
420
- if (this.hasAttribute("keep-alive")) return;
421
- queueMicrotask(() => {
422
- if (!this.isConnected) this.#media.destroy();
423
- });
424
- }
425
- attributeChangedCallback(name, oldValue, newValue) {
426
- if (oldValue === newValue) return;
427
- if (name === "src") this.src = newValue ?? "";
428
- }
429
- /** The inner `<video>` the engine renders into. */
430
- get video() {
431
- const video = this.shadowRoot?.querySelector("video");
432
- return video instanceof HTMLVideoElement ? video : null;
433
- }
434
- /** HLS manifest URL. Assigning a new one restarts playback from scratch. */
435
- get src() {
436
- return this.#media.src;
437
- }
438
- set src(value) {
439
- this.#media.src = value;
440
- }
441
- };
442
-
443
- //#endregion
444
- export { HlsBackgroundVideo as t };
445
- //# sourceMappingURL=media-suYcjCG2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-suYcjCG2.js","names":["#config","#engine","#createEngine","#signals","#cancelPendingPlay","#loadstartListener","#target","#media"],"sources":["../../spf/dist/dev/playback/behaviors/select-tracks.js","../../spf/dist/dev/playback/engines/hls/engine-background-video.js","../../spf/dist/dev/playback/adapters/hls-background-video/adapter.js","../../spf/dist/dev/playback/adapters/hls-background-video/host.js","../../spf/dist/dev/playback/adapters/hls-background-video/media.js","../src/media/hls-background-video/media.ts"],"sourcesContent":["import { computed } from \"../../core/signals/primitives.js\";\nimport { defineBehavior } from \"../../core/composition/create-composition.js\";\nimport { createMachineReactor } from \"../../core/reactors/create-machine-reactor.js\";\nimport { isResolvedPresentation } from \"../../media/types/index.js\";\nimport { AUDIO_TYPE_CONFIG, VIDEO_TYPE_CONFIG } from \"../primitives/track-types.js\";\nimport { pickAudioTrack, pickFirstTrackId } from \"../../media/primitives/select-tracks.js\";\n//#region src/playback/behaviors/select-tracks.ts\n/**\n* **Default audio/video track selection on src load / unselect on src unload.**\n* When a presentation is resolved, sets `selectedVideoTrackId` /\n* `selectedAudioTrackId` to a per-type-picker default if no selection already\n* exists. When the presentation is unset/reset (transitions back to unresolved),\n* clears the selection so a stale id from the previous source doesn't persist.\n*\n* Lifecycle-driven: each transition fires its work once. Does not police the\n* selection between transitions; external writes (user picks, ABR, programmatic\n* filter-driven re-picks) are left alone.\n*\n* Picker is config-driven: each per-type export wires a sensible default\n* (`pickAudioTrack` for audio — three-tier language-aware; `pickFirstTrackId`\n* for video) and the caller can supply their own via `config.picker` for custom\n* selection logic. The behavior's `config` is forwarded to the picker as its\n* second argument, so options like `preferredAudioLanguage` reach the picker\n* without an intermediate wrapping layer.\n*\n* Compose `selectVideoTrack` for the simple \"pick a default video track\"\n* behavior, or `switchVideoTrack` (`./track-switching.ts`) for the\n* ABR-driven variant. Compose `selectAudioTrack` for the simple default\n* pick, or `switchAudioTrack` (`./track-switching.ts`) for the\n* filter-reactive + mid-stream-flush slot-owner variant — when audio-abr\n* lands, `switchAudioTrack` extends into `switchAudioQuality`. Compose\n* only one per type — they're alternatives, not stackable (each writes\n* the same `selected*TrackId` slot). The simple variants tree-shake out\n* the heavier machinery (bandwidth estimator, quality selection, flush\n* orchestration).\n*\n* Text selection has no simple variant here — it's owned by `switchTextTrack`\n* (`./track-switching.ts`), which resolves standing `userTextTrackSelection`\n* intent against the constrained, CDN-scoped renditions.\n*/\nfunction setupTrackSelection({ state, config: { selectedKey, picker, pickerConfig } }) {\n\tconst derivedStateSignal = computed(() => isResolvedPresentation(state.presentation.get()) ? \"presentation-resolved\" : \"presentation-unresolved\");\n\treturn createMachineReactor({\n\t\tinitial: \"presentation-unresolved\",\n\t\tmonitor: () => derivedStateSignal.get(),\n\t\tstates: {\n\t\t\t\"presentation-unresolved\": {},\n\t\t\t\"presentation-resolved\": { entry: () => {\n\t\t\t\tif (!state[selectedKey].get()) {\n\t\t\t\t\tconst id = picker(state.presentation.get(), pickerConfig);\n\t\t\t\t\tif (id) state[selectedKey].set(id);\n\t\t\t\t}\n\t\t\t\treturn () => state[selectedKey].set(void 0);\n\t\t\t} }\n\t\t}\n\t});\n}\n/** Default video picker: first track in the video selection set. */\nconst defaultVideoPicker = (presentation) => pickFirstTrackId(presentation, \"video\");\n/**\n* Select a video track when a presentation loads. Clears the selection on\n* src unload.\n*\n* This is the simple, non-ABR counterpart to `switchVideoTrack` — compose\n* one or the other, not both (both write `selectedVideoTrackId`). Composing\n* `selectVideoTrack` alone tree-shakes out the ABR code path\n* (bandwidth-estimator, quality-selection); use it for sources without\n* meaningful quality variants, test setups, or players that intentionally\n* pin a quality.\n*\n* @example\n* const reactor = selectVideoTrack.setup({ state });\n*/\nconst selectVideoTrack = defineBehavior({\n\tstateKeys: [\"presentation\", \"selectedVideoTrackId\"],\n\tcontextKeys: [],\n\tsetup: ({ state, config }) => setupTrackSelection({\n\t\tstate,\n\t\tconfig: {\n\t\t\tselectedKey: VIDEO_TYPE_CONFIG.selectedKey,\n\t\t\tpicker: config?.picker ?? defaultVideoPicker,\n\t\t\tpickerConfig: config\n\t\t}\n\t})\n});\ndefineBehavior({\n\tstateKeys: [\"presentation\", \"selectedAudioTrackId\"],\n\tcontextKeys: [],\n\tsetup: ({ state, config }) => setupTrackSelection({\n\t\tstate,\n\t\tconfig: {\n\t\t\tselectedKey: AUDIO_TYPE_CONFIG.selectedKey,\n\t\t\tpicker: config?.picker ?? pickAudioTrack,\n\t\t\tpickerConfig: config\n\t\t}\n\t})\n});\n//#endregion\nexport { selectVideoTrack };\n\n//# sourceMappingURL=select-tracks.js.map","import { createComposition } from \"../../../core/composition/create-composition.js\";\nimport { makeShareSignals } from \"../../../core/composition/share-signals.js\";\nimport { loadVideoSegments } from \"../../behaviors/dom/load-segments.js\";\nimport { trackCurrentTime } from \"../../behaviors/dom/track-current-time.js\";\nimport { parseMultivariantPlaylist } from \"../../../media/hls/parse-multivariant.js\";\nimport { getResolvedSelectedTrackDuration } from \"../../../media/utils/track-selection.js\";\nimport { calculatePresentationDuration } from \"../../behaviors/calculate-presentation-duration.js\";\nimport { endOfStream } from \"../../behaviors/dom/end-of-stream.js\";\nimport { setupVideoBufferActors } from \"../../behaviors/dom/setup-buffer-actors.js\";\nimport { setupMediaSource } from \"../../behaviors/dom/setup-mediasource.js\";\nimport { updateMediaSourceDuration } from \"../../behaviors/dom/update-mediasource-duration.js\";\nimport { resolvePresentation } from \"../../behaviors/resolve-presentation.js\";\nimport { resolveVideoTrack } from \"../../behaviors/resolve-track.js\";\nimport { pickHighestResolutionVideoTrack } from \"../../../media/primitives/select-tracks.js\";\nimport { selectVideoTrack } from \"../../behaviors/select-tracks.js\";\n//#region src/playback/engines/hls/engine-background-video.ts\nconst shareSignals = makeShareSignals();\n/**\n* Create a background-video playback engine.\n*\n* Subtractive composition over the HLS engine baseline:\n* audio-side, text-side, ABR-driven, preload-monitoring, and play/seek\n* load-trigger behaviors are removed. `selectVideoTrack` (with a\n* max-resolution picker by default) replaces `switchVideoQuality`, pinning\n* a single rendition for the session. The initial state seeds\n* `loadActivated: true` so the composition behaves as if preload has\n* already been activated — appropriate for ambient / hero / GIF-replacement\n* surfaces that should start loading the moment a src is set.\n*\n* Native `loop` / `muted` / `autoplay` are adapter concerns and live on\n* `HlsBackgroundVideoMediaElement` rather than the engine.\n*\n* @example\n* ```ts\n* let signals: BackgroundVideoEngineSignals;\n* const engine = createBackgroundVideoEngine({\n* onSignalsReady: (refs) => {\n* signals = refs;\n* },\n* });\n*\n* signals.context.mediaElement.set(videoEl);\n* signals.state.presentation.set({ url: 'https://example.com/stream.m3u8' });\n*\n* await engine.destroy();\n* ```\n*/\nfunction createBackgroundVideoEngine(config = {}) {\n\tconst finalConfig = {\n\t\t...config,\n\t\tpicker: config.picker ?? pickHighestResolutionVideoTrack,\n\t\tparsePresentation: config.parsePresentation ?? parseMultivariantPlaylist,\n\t\tresolveDuration: getResolvedSelectedTrackDuration\n\t};\n\treturn createComposition([\n\t\tresolvePresentation,\n\t\tcalculatePresentationDuration,\n\t\tselectVideoTrack,\n\t\tresolveVideoTrack,\n\t\tloadVideoSegments,\n\t\tsetupMediaSource,\n\t\tupdateMediaSourceDuration,\n\t\tsetupVideoBufferActors,\n\t\ttrackCurrentTime,\n\t\tendOfStream,\n\t\tshareSignals\n\t], {\n\t\tconfig: finalConfig,\n\t\tinitialState: { loadActivated: true }\n\t});\n}\n//#endregion\nexport { createBackgroundVideoEngine };\n\n//# sourceMappingURL=engine-background-video.js.map","import { pickTrackUnderPixelArea } from \"../../../media/primitives/select-tracks.js\";\nimport { createBackgroundVideoEngine } from \"../../engines/hls/engine-background-video.js\";\n//#region src/playback/adapters/hls-background-video/adapter.ts\nconst hlsBackgroundVideoMediaDefaultProps = { src: \"\" };\n/**\n* Mixin that adds the background-video SPF playback engine to any base class,\n* for an HLS URL.\n*\n* `src` is the whole surface, and the picker always pins the top rendition on\n* offer. There is no cap of its own because the manifest is the better place to\n* narrow one: a delivery param — `?max_resolution=720p` on a Mux stream URL, for\n* one — keeps the renditions it excludes out of the manifest entirely, rather\n* than fetched-then-unpicked. Deriving a cap from the screen instead is on the\n* roadmap, and lands here when it does.\n*\n* `@videojs/spf/mux-background-video` is this same Media under a Mux-flavored\n* name — an alias, not a variant. Nothing about the surface changes with the\n* import path.\n*\n* Everything else the use case fixes rather than exposes: video-only, looping,\n* muted, autoplaying, loading as soon as there is a source. `attach` writes that\n* onto the element and nothing here declares `loop` / `muted` / `autoplay` /\n* `preload` of its own — a host-bound Media inherits all four from the host\n* already, and shadowing them with fixed values would only make reads describe\n* an intention rather than what the element is doing.\n*\n* A new src re-resolves the presentation, tearing down the state, SourceBuffers,\n* and in-flight requests the previous one built before the next begins. The\n* engine instance and the attached media element are both kept, so neither has to\n* be rewired.\n*\n* @example\n* class HlsBackgroundVideoMedia extends HlsBackgroundVideoMediaMixin(BackgroundVideoHost) {}\n*\n* const media = new HlsBackgroundVideoMedia();\n* media.attach(document.querySelector('video'));\n* media.src = 'https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p';\n* media.play();\n*/\nfunction HlsBackgroundVideoMediaMixin(BaseClass) {\n\tclass HlsBackgroundVideoMediaImpl extends BaseClass {\n\t\t#engine;\n\t\t#config;\n\t\t#signals;\n\t\t/** Pending loadstart listener from a deferred play() retry, if any. */\n\t\t#loadstartListener = null;\n\t\tconstructor(...args) {\n\t\t\tsuper(...args);\n\t\t\tconst { config } = args?.[0] ?? {};\n\t\t\tthis.#config = config;\n\t\t\tthis.#engine = this.#createEngine();\n\t\t}\n\t\tget engine() {\n\t\t\treturn this.#engine;\n\t\t}\n\t\tattach(mediaElement) {\n\t\t\tsuper.attach?.(mediaElement);\n\t\t\tmediaElement.loop = true;\n\t\t\tmediaElement.muted = true;\n\t\t\tmediaElement.autoplay = true;\n\t\t\tmediaElement.preload = \"auto\";\n\t\t\tthis.#signals.context.mediaElement.set(mediaElement);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#signals.context.mediaElement.set(void 0);\n\t\t\tsuper.detach?.();\n\t\t}\n\t\tdestroy() {\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#engine.destroy();\n\t\t}\n\t\tget src() {\n\t\t\treturn this.#signals.state.presentation.get()?.url ?? \"\";\n\t\t}\n\t\tset src(value) {\n\t\t\tif (value === this.src) return;\n\t\t\tthis.#cancelPendingPlay();\n\t\t\tthis.#signals.state.presentation.set(value ? { url: value } : void 0);\n\t\t}\n\t\tasync play() {\n\t\t\tconst mediaElement = this.#signals.context.mediaElement.get();\n\t\t\tif (!mediaElement) return Promise.reject(/* @__PURE__ */ new Error(\"HlsBackgroundVideoMediaElement: no media element attached\"));\n\t\t\ttry {\n\t\t\t\treturn await mediaElement.play();\n\t\t\t} catch (err) {\n\t\t\t\tif (this.src) return new Promise((resolve, reject) => {\n\t\t\t\t\tconst listener = () => {\n\t\t\t\t\t\tthis.#loadstartListener = null;\n\t\t\t\t\t\tmediaElement.play().then(resolve, reject);\n\t\t\t\t\t};\n\t\t\t\t\tthis.#loadstartListener = listener;\n\t\t\t\t\tmediaElement.addEventListener(\"loadstart\", listener, { once: true });\n\t\t\t\t});\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\t#createEngine() {\n\t\t\tconst adapterPicker = (presentation) => {\n\t\t\t\treturn pickTrackUnderPixelArea((presentation.selectionSets?.find((s) => s.type === \"video\"))?.switchingSets[0]?.tracks ?? [])?.id;\n\t\t\t};\n\t\t\treturn createBackgroundVideoEngine({\n\t\t\t\tpicker: adapterPicker,\n\t\t\t\t...this.#config,\n\t\t\t\tonSignalsReady: (signals) => {\n\t\t\t\t\tthis.#signals = signals;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t#cancelPendingPlay() {\n\t\t\tif (!this.#loadstartListener) return;\n\t\t\tthis.#signals.context.mediaElement.get()?.removeEventListener(\"loadstart\", this.#loadstartListener);\n\t\t\tthis.#loadstartListener = null;\n\t\t}\n\t}\n\treturn HlsBackgroundVideoMediaImpl;\n}\n/** Standalone SPF background-video adapter with no base class. */\nvar HlsBackgroundVideoMediaElement = class extends HlsBackgroundVideoMediaMixin(class {}) {};\n//#endregion\nexport { HlsBackgroundVideoMediaElement, HlsBackgroundVideoMediaMixin, hlsBackgroundVideoMediaDefaultProps };\n\n//# sourceMappingURL=adapter.js.map","//#region src/playback/adapters/hls-background-video/host.ts\n/**\n* The `<video>` binding a background video uses: somewhere to keep the attached\n* element, and the four properties the Media fixes on it.\n*\n* That is the whole surface anything here reaches. The engine drives playback,\n* the element exposes `src` and nothing else, and the background player\n* subscribes to no store features, so nothing asks a background video for\n* `currentTime`, `play()`, picture-in-picture, fullscreen, forwarded events, or\n* media components. Holding the host to what is reachable is what keeps this\n* entry free of `@videojs/media`, and small enough to suit a component whose\n* whole pitch is its size.\n*\n* An `EventTarget`, because a Media is one: the store and the element layers\n* take anything they attach as an event source, and inheriting the three methods\n* satisfies that for free rather than by stubbing them.\n*\n* ⚠️ It still implements too little to carry the rest of the media surface, which\n* bounds what may consume it: a store feature reading a property outside this set\n* gets `undefined` rather than an error. A Media needing more of that surface\n* belongs on a host that provides it.\n*/\nvar BackgroundVideoHost = class extends EventTarget {\n\t#target = null;\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tthis.#target = target;\n\t}\n\tdetach() {\n\t\tthis.#target = null;\n\t}\n\tget loop() {\n\t\treturn this.#target?.loop ?? false;\n\t}\n\tset loop(value) {\n\t\tif (this.#target) this.#target.loop = value;\n\t}\n\tget muted() {\n\t\treturn this.#target?.muted ?? false;\n\t}\n\tset muted(value) {\n\t\tif (this.#target) this.#target.muted = value;\n\t}\n\tget autoplay() {\n\t\treturn this.#target?.autoplay ?? false;\n\t}\n\tset autoplay(value) {\n\t\tif (this.#target) this.#target.autoplay = value;\n\t}\n\tget preload() {\n\t\treturn this.#target?.preload ?? \"metadata\";\n\t}\n\tset preload(value) {\n\t\tif (this.#target) this.#target.preload = value;\n\t}\n};\n//#endregion\nexport { BackgroundVideoHost };\n\n//# sourceMappingURL=host.js.map","import { HlsBackgroundVideoMediaMixin } from \"./adapter.js\";\nimport { BackgroundVideoHost } from \"./host.js\";\n//#region src/playback/adapters/hls-background-video/media.ts\nconst HlsBackgroundVideoMediaBase = HlsBackgroundVideoMediaMixin(BackgroundVideoHost);\n/**\n* The background-video Media, bound to a `<video>` through\n* {@link BackgroundVideoHost}.\n*\n* That host carries the attached element and the four properties `attach` fixes,\n* which is all this Media's surface needs, and it is local — so this entry has\n* no `@videojs/media` dependency.\n*\n* No `MediaTracksMixin`, unlike `HlsVideoMedia`: the engine subtracts audio and\n* text entirely and pins one video rendition for the session, so there are no\n* track lists for a consumer to project or switch between.\n*/\nvar HlsBackgroundVideoMedia = class extends HlsBackgroundVideoMediaBase {};\n//#endregion\nexport { HlsBackgroundVideoMedia };\n\n//# sourceMappingURL=media.js.map","import type { Media } from '@videojs/media/dom';\nimport { HlsBackgroundVideoMedia } from '@videojs/spf/hls-background-video';\nimport { type CustomElement, namedNodeMapToObject } from '@videojs/utils/dom';\nimport type { Constructor } from '@videojs/utils/types';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\nimport { getTemplateHTML } from '../background-video/template';\n\n// `MediaAttachMixin` is typed as returning its base, so its `disconnectedCallback`\n// isn't visible for `super` to reach. `CustomElement` declares the lifecycle\n// callbacks this element overrides.\nconst HlsBackgroundVideoBase = MediaAttachMixin(HTMLElement) as unknown as Constructor<CustomElement>;\n\n/**\n * A muted, looping, chrome-less video over the SPF background-video engine.\n *\n * The SPF-backed counterpart to `<background-video>`, which plays its source\n * natively. This one streams HLS through the engine, which pins a single\n * rendition for the session rather than adapting, and drops audio and text\n * handling entirely — the shape an ambient hero video actually wants.\n *\n * Nearer an image than a player, and `src` is the whole surface. Replaces the\n * standalone `mux-background-video` package, whose `audio`, `debug`, `preload`,\n * and `max-resolution` attributes are all deliberately absent. Capping which\n * rendition is fetched is a delivery param on the URL — `?max_resolution=720p`\n * on a Mux stream, for one — which keeps the renditions it excludes out of the\n * manifest rather than merely unpicked; `preload` would have nothing to say,\n * since the engine loads from the moment it has a source. And unlike\n * `<background-video>` there are no `nomuted` / `noloop` / `noautoplay` opt-outs:\n * those three are what this element is for, so the adapter fixes them on at\n * attach.\n *\n * Takes no structured `source` — `src` is an HLS URL, as the package it replaces\n * required. Mux playback-ID identity, poster, and storyboard belong to\n * `<mux-video>`; none of them mean anything without controls to hang them on.\n *\n * `<mux-background-video>` is this element under the name the package it replaces\n * used. Same class, so the tag is a naming choice and nothing more.\n *\n * @example\n * ```html\n * <hls-background-video src=\"https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p\">\n * <img src=\"https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=0\" alt=\"\" />\n * </hls-background-video>\n * ```\n */\n// Deliberately not `CustomMediaElement`, matching `<background-video>`: a\n// background video needs one property, not the full WHATWG media API.\nexport class HlsBackgroundVideo extends HlsBackgroundVideoBase {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n static get observedAttributes(): string[] {\n return ['src'];\n }\n\n #media = new HlsBackgroundVideoMedia();\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof HlsBackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n muted: '',\n loop: '',\n autoplay: '',\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome nor Firefox honor a `muted` attribute set after\n // `document.createElement`, and autoplay is refused without it. Attaching is\n // what sets the property — along with the rest of the fixed behavior — so\n // nothing here needs to repeat it.\n const video = this.video;\n if (video) this.#media.attach(video);\n }\n\n /** Register the Media (not the inner `<video>`) with the provider. */\n getMediaTarget(): Media | null {\n return this.#media as unknown as Media;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback?.();\n if (this.hasAttribute('keep-alive')) return;\n // Deferred so a synchronous reparent (remove then insert) doesn't tear down\n // the engine, matching `CustomMediaElement`.\n queueMicrotask(() => {\n if (!this.isConnected) this.#media.destroy();\n });\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n if (oldValue === newValue) return;\n\n if (name === 'src') this.src = newValue ?? '';\n }\n\n /** The inner `<video>` the engine renders into. */\n get video(): HTMLVideoElement | null {\n const video = this.shadowRoot?.querySelector('video');\n return video instanceof HTMLVideoElement ? video : null;\n }\n\n /** HLS manifest URL. Assigning a new one restarts playback from scratch. */\n get src(): string {\n return this.#media.src;\n }\n\n set src(value: string) {\n this.#media.src = value;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,SAAS,oBAAoB,EAAE,OAAO,QAAQ,EAAE,aAAa,QAAQ,kBAAkB;CACtF,MAAM,qBAAqB,eAAe,uBAAuB,MAAM,aAAa,IAAI,CAAC,IAAI,0BAA0B,yBAAyB;CAChJ,OAAO,qBAAqB;EAC3B,SAAS;EACT,eAAe,mBAAmB,IAAI;EACtC,QAAQ;GACP,2BAA2B,CAAC;GAC5B,yBAAyB,EAAE,aAAa;IACvC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,GAAG;KAC9B,MAAM,KAAK,OAAO,MAAM,aAAa,IAAI,GAAG,YAAY;KACxD,IAAI,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE;IAClC;IACA,aAAa,MAAM,YAAY,CAAC,IAAI,KAAK,CAAC;GAC3C,EAAE;EACH;CACD,CAAC;AACF;;AAEA,MAAM,sBAAsB,iBAAiB,iBAAiB,cAAc,OAAO;;;;;;;;;;;;;;;AAenF,MAAM,mBAAmB,eAAe;CACvC,WAAW,CAAC,gBAAgB,sBAAsB;CAClD,aAAa,CAAC;CACd,QAAQ,EAAE,OAAO,aAAa,oBAAoB;EACjD;EACA,QAAQ;GACP,aAAa,kBAAkB;GAC/B,QAAQ,QAAQ,UAAU;GAC1B,cAAc;EACf;CACD,CAAC;AACF,CAAC;AACD,eAAe;CACd,WAAW,CAAC,gBAAgB,sBAAsB;CAClD,aAAa,CAAC;CACd,QAAQ,EAAE,OAAO,aAAa,oBAAoB;EACjD;EACA,QAAQ;GACP,aAAa,kBAAkB;GAC/B,QAAQ,QAAQ,UAAU;GAC1B,cAAc;EACf;CACD,CAAC;AACF,CAAC;;;;AChFD,MAAM,eAAe,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BtC,SAAS,4BAA4B,SAAS,CAAC,GAAG;CACjD,MAAM,cAAc;EACnB,GAAG;EACH,QAAQ,OAAO,UAAU;EACzB,mBAAmB,OAAO,qBAAqB;EAC/C,iBAAiB;CAClB;CACA,OAAO,kBAAkB;EACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,GAAG;EACF,QAAQ;EACR,cAAc,EAAE,eAAe,KAAK;CACrC,CAAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA,SAAS,6BAA6B,WAAW;CAChD,MAAM,oCAAoC,UAAU;EACnD;EACA;EACA;;EAEA,qBAAqB;EACrB,YAAY,GAAG,MAAM;GACpB,MAAM,GAAG,IAAI;GACb,MAAM,EAAE,WAAW,OAAO,MAAM,CAAC;GACjC,KAAKA,UAAU;GACf,KAAKC,UAAU,KAAKC,cAAc;EACnC;EACA,IAAI,SAAS;GACZ,OAAO,KAAKD;EACb;EACA,OAAO,cAAc;GACpB,MAAM,SAAS,YAAY;GAC3B,aAAa,OAAO;GACpB,aAAa,QAAQ;GACrB,aAAa,WAAW;GACxB,aAAa,UAAU;GACvB,KAAKE,SAAS,QAAQ,aAAa,IAAI,YAAY;EACpD;EACA,SAAS;GACR,KAAKC,mBAAmB;GACxB,KAAKD,SAAS,QAAQ,aAAa,IAAI,KAAK,CAAC;GAC7C,MAAM,SAAS;EAChB;EACA,UAAU;GACT,KAAKC,mBAAmB;GACxB,KAAKH,QAAQ,QAAQ;EACtB;EACA,IAAI,MAAM;GACT,OAAO,KAAKE,SAAS,MAAM,aAAa,IAAI,CAAC,EAAE,OAAO;EACvD;EACA,IAAI,IAAI,OAAO;GACd,IAAI,UAAU,KAAK,KAAK;GACxB,KAAKC,mBAAmB;GACxB,KAAKD,SAAS,MAAM,aAAa,IAAI,QAAQ,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC;EACrE;EACA,MAAM,OAAO;GACZ,MAAM,eAAe,KAAKA,SAAS,QAAQ,aAAa,IAAI;GAC5D,IAAI,CAAC,cAAc,OAAO,QAAQ,uBAAuB,IAAI,MAAM,2DAA2D,CAAC;GAC/H,IAAI;IACH,OAAO,MAAM,aAAa,KAAK;GAChC,SAAS,KAAK;IACb,IAAI,KAAK,KAAK,OAAO,IAAI,SAAS,SAAS,WAAW;KACrD,MAAM,iBAAiB;MACtB,KAAKE,qBAAqB;MAC1B,aAAa,KAAK,CAAC,CAAC,KAAK,SAAS,MAAM;KACzC;KACA,KAAKA,qBAAqB;KAC1B,aAAa,iBAAiB,aAAa,UAAU,EAAE,MAAM,KAAK,CAAC;IACpE,CAAC;IACD,MAAM;GACP;EACD;EACA,gBAAgB;GACf,MAAM,iBAAiB,iBAAiB;IACvC,OAAO,yBAAyB,aAAa,eAAe,MAAM,MAAM,EAAE,SAAS,OAAO,EAAC,EAAG,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;GAChI;GACA,OAAO,4BAA4B;IAClC,QAAQ;IACR,GAAG,KAAKL;IACR,iBAAiB,YAAY;KAC5B,KAAKG,WAAW;IACjB;GACD,CAAC;EACF;EACA,qBAAqB;GACpB,IAAI,CAAC,KAAKE,oBAAoB;GAC9B,KAAKF,SAAS,QAAQ,aAAa,IAAI,CAAC,EAAE,oBAAoB,aAAa,KAAKE,kBAAkB;GAClG,KAAKA,qBAAqB;EAC3B;CACD;CACA,OAAO;AACR;;AAEA,IAAI,iCAAiC,cAAc,6BAA6B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AChG3F,IAAI,sBAAsB,cAAc,YAAY;CACnD,UAAU;CACV,OAAO,QAAQ;EACd,IAAI,CAAC,UAAU,KAAKC,YAAY,QAAQ;EACxC,KAAKA,UAAU;CAChB;CACA,SAAS;EACR,KAAKA,UAAU;CAChB;CACA,IAAI,OAAO;EACV,OAAO,KAAKA,SAAS,QAAQ;CAC9B;CACA,IAAI,KAAK,OAAO;EACf,IAAI,KAAKA,SAAS,KAAKA,QAAQ,OAAO;CACvC;CACA,IAAI,QAAQ;EACX,OAAO,KAAKA,SAAS,SAAS;CAC/B;CACA,IAAI,MAAM,OAAO;EAChB,IAAI,KAAKA,SAAS,KAAKA,QAAQ,QAAQ;CACxC;CACA,IAAI,WAAW;EACd,OAAO,KAAKA,SAAS,YAAY;CAClC;CACA,IAAI,SAAS,OAAO;EACnB,IAAI,KAAKA,SAAS,KAAKA,QAAQ,WAAW;CAC3C;CACA,IAAI,UAAU;EACb,OAAO,KAAKA,SAAS,WAAW;CACjC;CACA,IAAI,QAAQ,OAAO;EAClB,IAAI,KAAKA,SAAS,KAAKA,QAAQ,UAAU;CAC1C;AACD;;;;ACpDA,MAAM,8BAA8B,6BAA6B,mBAAmB;;;;;;;;;;;;;AAapF,IAAI,0BAA0B,cAAc,4BAA4B,CAAC;;;;ACNzE,MAAM,yBAAyB,iBAAiB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqC3D,IAAa,qBAAb,cAAwC,uBAAuB;;2BAClC,EAAE,MAAM,OAAyB;;;yBACnC;;CAEzB,WAAW,qBAA+B;EACxC,OAAO,CAAC,KAAK;CACf;CAEA,SAAS,IAAI,wBAAwB;CAErC,cAAc;EACZ,MAAM;EAEN,IAAI,CAAC,KAAK,YAAY;GACpB,KAAK,aAAc,KAAK,YAA0C,iBAAiB;GAEnF,MAAM,QAAQ;IACZ,GAAG,qBAAqB,KAAK,UAAU;IACvC,OAAO;IACP,MAAM;IACN,UAAU;IACV,aAAa;IACb,uBAAuB;IACvB,yBAAyB;GAC3B;GAEA,KAAK,WAAY,YAAY,gBAAgB,KAAK;EACpD;EAMA,MAAM,QAAQ,KAAK;EACnB,IAAI,OAAO,KAAKC,OAAO,OAAO,KAAK;CACrC;;CAGA,iBAA+B;EAC7B,OAAO,KAAKA;CACd;CAEA,AAAS,uBAA6B;EACpC,MAAM,uBAAuB;EAC7B,IAAI,KAAK,aAAa,YAAY,GAAG;EAGrC,qBAAqB;GACnB,IAAI,CAAC,KAAK,aAAa,KAAKA,OAAO,QAAQ;EAC7C,CAAC;CACH;CAEA,yBAAyB,MAAc,UAAyB,UAA+B;EAC7F,IAAI,aAAa,UAAU;EAE3B,IAAI,SAAS,OAAO,KAAK,MAAM,YAAY;CAC7C;;CAGA,IAAI,QAAiC;EACnC,MAAM,QAAQ,KAAK,YAAY,cAAc,OAAO;EACpD,OAAO,iBAAiB,mBAAmB,QAAQ;CACrD;;CAGA,IAAI,MAAc;EAChB,OAAO,KAAKA,OAAO;CACrB;CAEA,IAAI,IAAI,OAAe;EACrB,KAAKA,OAAO,MAAM;CACpB;AACF"}
@@ -1,2 +0,0 @@
1
- const e={"airplay-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.154 2.004A3 3 0 0 1 18 5v6a3 3 0 0 1-2.846 2.996L15 14l-1.5-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v6A1.5 1.5 0 0 0 3 12.5h1.5L3 14a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h12z"/><path d="M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z"/></svg>`,"airplay-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><style>@keyframes media-icon--airplay__triangle{0%{translate:0 0}to{translate:0-2px}}@keyframes media-icon--airplay__fill{0%{opacity:0}to{opacity:.2}}@media (prefers-reduced-motion:reduce){:root{--media-icon--airplay__fill-animation:none;--media-icon--airplay__triangle-animation:none}}</style><path d="M14.5 2A3.5 3.5 0 0 1 18 5.5v5a3.5 3.5 0 0 1-3.032 3.468L9.354 8.354a.5.5 0 0 0-.708 0l-5.615 5.614A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z" style="animation:var(--media-icon--airplay__fill-animation, media-icon--airplay__fill 1s ease-in-out infinite alternate)"/><path d="M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13.5 12.5h1a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2h-11a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h1l-1.468 1.467A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z"/><path d="M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z" style="animation:var(--media-icon--airplay__triangle-animation, media-icon--airplay__triangle 1s ease-in-out infinite alternate)"/></svg>`,"captions-off":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" aria-hidden="true" viewBox="0 0 18 18"><rect width="16.5" height="12.5" x=".75" y="2.75" stroke="currentColor" stroke-width="1.5" rx="3"/><rect width="3" height="1.5" x="3" y="8.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="2" height="1.5" x="13" y="8.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="4" height="1.5" x="11" y="11.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="5" height="1.5" x="7" y="8.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="7" height="1.5" x="3" y="11.5" fill="currentColor" fill-opacity=".5" rx=".75"/></svg>`,"captions-on":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM3.75 11.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5zm-8-3a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5zm4 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5zm6 0a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z"/></svg>`,"cast-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.154 2.004A3 3 0 0 1 18 5v8l-.004.154a3 3 0 0 1-2.842 2.842L15 16H7.5q-.002-.772-.15-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v3.65A7.5 7.5 0 0 0 0 8.5V5a3 3 0 0 1 3-3h12zM0 12a4 4 0 0 1 4 4H2.5A2.5 2.5 0 0 0 0 13.5z"/><path d="M0 9.5A6.5 6.5 0 0 1 6.5 16H5a5 5 0 0 0-5-5zm0 5A1.5 1.5 0 0 1 1.5 16h-1a.5.5 0 0 1-.5-.5z"/></svg>`,"cast-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.154 2.004A3 3 0 0 1 18 5v8l-.004.154a3 3 0 0 1-2.842 2.842L15 16H7.5q-.002-.772-.15-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v3.65A7.5 7.5 0 0 0 0 8.5V5a3 3 0 0 1 3-3h12z"/><path d="M14 5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6.874A7.52 7.52 0 0 0 3 9.126V6a1 1 0 0 1 1-1zM0 12a4 4 0 0 1 4 4H2.5A2.5 2.5 0 0 0 0 13.5z"/><path d="M0 9.5A6.5 6.5 0 0 1 6.5 16H5a5 5 0 0 0-5-5zm0 5A1.5 1.5 0 0 1 1.5 16h-1a.5.5 0 0 1-.5-.5z"/></svg>`,check:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" aria-hidden="true" viewBox="0 0 18 18"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 10.455 6.5 13 14 5"/></svg>`,chevron:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" aria-hidden="true" viewBox="0 0 18 18"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M11.667 9.014 6.364 3.711m0 10.606 5.303-5.303"/></svg>`,"fullscreen-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.25 2a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V3.5h-3.75a.75.75 0 0 1-.743-.648L10 2.75a.75.75 0 0 1 .75-.75z"/><path d="M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM2.75 10a.75.75 0 0 1 .75.75v3.75h3.75a.75.75 0 0 1 .743.648L8 15.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75"/><path d="M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z"/></svg>`,"fullscreen-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M10.75 2a.75.75 0 0 1 .75.75V6.5h3.75a.75.75 0 0 1 .743.648L16 7.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75"/><path d="M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM7.25 10a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V11.5H2.75a.75.75 0 0 1-.743-.648L2 10.75a.75.75 0 0 1 .75-.75z"/><path d="M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z"/></svg>`,gear:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M7.519 2.184c.356-1.579 2.605-1.579 2.962 0a1.52 1.52 0 0 0 2.292.949c1.368-.864 2.958.727 2.094 2.095-.56.886-.073 2.06.95 2.29 1.578.357 1.578 2.607 0 2.964a1.518 1.518 0 0 0-.95 2.29c.864 1.369-.726 2.96-2.094 2.095a1.52 1.52 0 0 0-2.292.95c-.357 1.578-2.606 1.578-2.962 0a1.518 1.518 0 0 0-2.291-.95c-1.368.864-2.959-.726-2.095-2.094.56-.887.074-2.06-.95-2.291-1.578-.357-1.578-2.607 0-2.963a1.518 1.518 0 0 0 .95-2.291c-.864-1.368.727-2.959 2.095-2.095.886.56 2.06.074 2.29-.95M9 5.1a3.9 3.9 0 1 0 0 7.8 3.9 3.9 0 0 0 0-7.8"/></svg>`,pause:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><rect width="4" height="12" x="3" y="3" rx="1.75"/><rect width="4" height="12" x="11" y="3" rx="1.75"/></svg>`,"pip-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M13 2a4 4 0 0 1 4 4v2.645a3.5 3.5 0 0 0-1-.145h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5c0 .347.05.683.145 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z"/><rect width="10" height="7" x="8" y="10" rx="2"/><path d="M7.25 10A.75.75 0 0 0 8 9.25v-3.5a.75.75 0 0 0-1.5 0V8.5H3.75a.75.75 0 0 0-.743.648L3 9.25c0 .414.336.75.75.75z"/><path d="M6.72 9.78a.75.75 0 0 0 1.06-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06z"/></svg>`,"pip-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M13 2a4 4 0 0 1 4 4v2.646a3.5 3.5 0 0 0-1-.146h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5q.002.523.146 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z"/><rect width="10" height="7" x="8" y="10" rx="2"/><path d="M3.75 5a.75.75 0 0 0-.75.75v3.5a.75.75 0 0 0 1.5 0V6.5h2.75a.75.75 0 0 0 .743-.648L8 5.75A.75.75 0 0 0 7.25 5z"/><path d="M4.28 5.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06-1.06z"/></svg>`,play:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="m13.473 10.476-6.845 4.256a1.697 1.697 0 0 1-2.364-.547 1.77 1.77 0 0 1-.264-.93v-8.51C4 3.78 4.768 3 5.714 3c.324 0 .64.093.914.268l6.845 4.255a1.763 1.763 0 0 1 0 2.953"/></svg>`,quality:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M11 3c2.828 0 4.242 0 5.121.878C17 4.757 17 6.172 17 9c0 2.829 0 4.243-.879 5.121s-2.293.88-5.121.88H7c-2.828 0-4.242-.001-5.121-.88C1 13.243 1 11.828 1 9.001c0-2.83 0-4.244.879-5.123C2.758 3 4.172 3 7 3zM3.25 6v6h1.556V9.564h2.45V12h1.556V6H7.256v2.331h-2.45v-2.33zm6.396 6h2.39q.988 0 1.71-.367a2.65 2.65 0 0 0 1.11-1.043q.394-.672.394-1.59t-.398-1.59a2.65 2.65 0 0 0-1.115-1.04Q13.017 6 12.035 6h-2.39zm2.294-4.792q.89 0 1.318.455.428.452.428 1.337 0 .886-.424 1.341-.42.45-1.305.451h-.756V7.208z"/></svg>`,restart:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M9 17a8 8 0 0 1-8-8h1.5a6.5 6.5 0 1 0 1.43-4.07l1.643 1.643A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17"/><path d="m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438"/></svg>`,seek:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M1 9c0 2.21.895 4.21 2.343 5.657l1.06-1.06a6.5 6.5 0 1 1 9.665-8.665l-1.641 1.641a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9"/></svg>`,speech:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path fill-opacity=".2" stroke="currentColor" stroke-width="1.5" d="M6 12.75a4.25 4.25 0 0 1 3.835 2.417c.008.016.005.017.006.009 0-.006.001-.003-.007.009a.2.2 0 0 1-.158.065H2.324a.2.2 0 0 1-.158-.065c-.009-.012-.007-.015-.006-.01 0 .01-.003.008.005-.008a4.25 4.25 0 0 1 3.521-2.405zm0-6a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5Z"/><path d="M14 2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-1.333L10.8 8.4A.5.5 0 0 1 10 8V6.73A2 2 0 0 1 9 5V4a2 2 0 0 1 2-2zm-2.75 1.5a.75.75 0 0 0-.75.75v.5c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75v-.5a.75.75 0 0 0-.75-.75z"/></svg>`,speed:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M9 18q-.213 0-.424-.012h.85Q9.214 18 9 18M9 2a8 8 0 0 1 8 8c0 1.975-.719 3.78-1.905 5.175a.75.75 0 0 1-1.204.018l-1.509-1.971a.75.75 0 0 1 .596-1.206h2.202a6.5 6.5 0 1 0-12.36 0h2.209a.75.75 0 0 1 .595 1.206l-1.507 1.971a.75.75 0 0 1-1.133.07l-.003.004A8 8 0 0 1 9 2"/><rect width="6" height="1.5" x="6" y="14" fill-opacity=".5" rx=".75"/><path d="M8.504 5.217c.077-.578.915-.578.992 0l.399 2.996A1.998 1.998 0 0 1 9 12a2 2 0 0 1-.896-3.787z"/><g fill-opacity=".5"><circle cx="4.75" cy="9.75" r=".75"/><circle cx="13.25" cy="9.75" r=".75"/><circle cx="6" cy="6.75" r=".75"/><circle cx="12" cy="6.75" r=".75"/></g></svg>`,spinner:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" aria-hidden="true" viewBox="0 0 18 18"><style>@keyframes media-spinner-fade{0%{opacity:1}to{opacity:0}}.media-spinner__segment{animation:var(--media-spinner-animation, media-spinner-fade 1s steps(8, end) infinite);animation-delay:var(--media-spinner-delay)}@media (prefers-reduced-motion:reduce){.media-spinner__segment{animation:none}}</style><path d="M9 1.5v3" class="media-spinner__segment" opacity=".5" style="--media-spinner-delay:0s"/><path d="m14.5 3.5-2 2" class="media-spinner__segment" opacity=".45" style="--media-spinner-delay:0.125s"/><path d="M16.5 9h-3" class="media-spinner__segment" opacity=".4" style="--media-spinner-delay:0.25s"/><path d="m14.5 14.5-2-2" class="media-spinner__segment" opacity=".35" style="--media-spinner-delay:0.375s"/><path d="M9 16.5v-3" class="media-spinner__segment" opacity=".3" style="--media-spinner-delay:0.5s"/><path d="m3.5 14.5 2-2" class="media-spinner__segment" opacity=".25" style="--media-spinner-delay:0.625s"/><path d="M1.5 9h3" class="media-spinner__segment" opacity=".15" style="--media-spinner-delay:0.75s"/><path d="m3.5 3.5 2 2" class="media-spinner__segment" opacity=".1" style="--media-spinner-delay:0.875s"/></svg>`,switches:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M12.5 9.5a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7zm-2 1.5a2 2 0 1 0 0 4h2a2 2 0 1 0 0-4z"/><path fill-opacity=".5" d="M12.5 1.5a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7zM5.5 3a2 2 0 1 0 0 4h2a2 2 0 1 0 0-4z"/></svg>`,"volume-high":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7"/><path d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,"volume-low":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,"volume-off":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z"/></svg>`};function t(e){return String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function n(n,r){let i=e[n];if(!i)return``;if(!r)return i;let a=Object.entries(r).map(([e,n])=>` ${e}="${t(n)}"`).join(``);return i.replace(`<svg`,`<svg${a}`)}export{n as t};
2
- //# sourceMappingURL=minimal-BedCvMBG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"minimal-BedCvMBG.js","names":[],"sources":["../../icons/dist/render/minimal/index.js"],"sourcesContent":["const icons = {\n \"airplay-enter\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M15.154 2.004A3 3 0 0 1 18 5v6a3 3 0 0 1-2.846 2.996L15 14l-1.5-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v6A1.5 1.5 0 0 0 3 12.5h1.5L3 14a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h12z\"/><path d=\"M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z\"/></svg>`,\n \"airplay-exit\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><style>@keyframes media-icon--airplay__triangle{0%{translate:0 0}to{translate:0-2px}}@keyframes media-icon--airplay__fill{0%{opacity:0}to{opacity:.2}}@media (prefers-reduced-motion:reduce){:root{--media-icon--airplay__fill-animation:none;--media-icon--airplay__triangle-animation:none}}</style><path d=\"M14.5 2A3.5 3.5 0 0 1 18 5.5v5a3.5 3.5 0 0 1-3.032 3.468L9.354 8.354a.5.5 0 0 0-.708 0l-5.615 5.614A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z\" style=\"animation:var(--media-icon--airplay__fill-animation, media-icon--airplay__fill 1s ease-in-out infinite alternate)\"/><path d=\"M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13.5 12.5h1a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2h-11a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h1l-1.468 1.467A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z\"/><path d=\"M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z\" style=\"animation:var(--media-icon--airplay__triangle-animation, media-icon--airplay__triangle 1s ease-in-out infinite alternate)\"/></svg>`,\n \"captions-off\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><rect width=\"16.5\" height=\"12.5\" x=\".75\" y=\"2.75\" stroke=\"currentColor\" stroke-width=\"1.5\" rx=\"3\"/><rect width=\"3\" height=\"1.5\" x=\"3\" y=\"8.5\" fill=\"currentColor\" fill-opacity=\".5\" rx=\".75\"/><rect width=\"2\" height=\"1.5\" x=\"13\" y=\"8.5\" fill=\"currentColor\" fill-opacity=\".5\" rx=\".75\"/><rect width=\"4\" height=\"1.5\" x=\"11\" y=\"11.5\" fill=\"currentColor\" fill-opacity=\".5\" rx=\".75\"/><rect width=\"5\" height=\"1.5\" x=\"7\" y=\"8.5\" fill=\"currentColor\" fill-opacity=\".5\" rx=\".75\"/><rect width=\"7\" height=\"1.5\" x=\"3\" y=\"11.5\" fill=\"currentColor\" fill-opacity=\".5\" rx=\".75\"/></svg>`,\n \"captions-on\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM3.75 11.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5zm-8-3a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5zm4 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5zm6 0a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z\"/></svg>`,\n \"cast-enter\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M15.154 2.004A3 3 0 0 1 18 5v8l-.004.154a3 3 0 0 1-2.842 2.842L15 16H7.5q-.002-.772-.15-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v3.65A7.5 7.5 0 0 0 0 8.5V5a3 3 0 0 1 3-3h12zM0 12a4 4 0 0 1 4 4H2.5A2.5 2.5 0 0 0 0 13.5z\"/><path d=\"M0 9.5A6.5 6.5 0 0 1 6.5 16H5a5 5 0 0 0-5-5zm0 5A1.5 1.5 0 0 1 1.5 16h-1a.5.5 0 0 1-.5-.5z\"/></svg>`,\n \"cast-exit\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M15.154 2.004A3 3 0 0 1 18 5v8l-.004.154a3 3 0 0 1-2.842 2.842L15 16H7.5q-.002-.772-.15-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v3.65A7.5 7.5 0 0 0 0 8.5V5a3 3 0 0 1 3-3h12z\"/><path d=\"M14 5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6.874A7.52 7.52 0 0 0 3 9.126V6a1 1 0 0 1 1-1zM0 12a4 4 0 0 1 4 4H2.5A2.5 2.5 0 0 0 0 13.5z\"/><path d=\"M0 9.5A6.5 6.5 0 0 1 6.5 16H5a5 5 0 0 0-5-5zm0 5A1.5 1.5 0 0 1 1.5 16h-1a.5.5 0 0 1-.5-.5z\"/></svg>`,\n \"check\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 10.455 6.5 13 14 5\"/></svg>`,\n \"chevron\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"1.5\" d=\"M11.667 9.014 6.364 3.711m0 10.606 5.303-5.303\"/></svg>`,\n \"fullscreen-enter\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M15.25 2a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V3.5h-3.75a.75.75 0 0 1-.743-.648L10 2.75a.75.75 0 0 1 .75-.75z\"/><path d=\"M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM2.75 10a.75.75 0 0 1 .75.75v3.75h3.75a.75.75 0 0 1 .743.648L8 15.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75\"/><path d=\"M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z\"/></svg>`,\n \"fullscreen-exit\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M10.75 2a.75.75 0 0 1 .75.75V6.5h3.75a.75.75 0 0 1 .743.648L16 7.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75\"/><path d=\"M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM7.25 10a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V11.5H2.75a.75.75 0 0 1-.743-.648L2 10.75a.75.75 0 0 1 .75-.75z\"/><path d=\"M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z\"/></svg>`,\n \"gear\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M7.519 2.184c.356-1.579 2.605-1.579 2.962 0a1.52 1.52 0 0 0 2.292.949c1.368-.864 2.958.727 2.094 2.095-.56.886-.073 2.06.95 2.29 1.578.357 1.578 2.607 0 2.964a1.518 1.518 0 0 0-.95 2.29c.864 1.369-.726 2.96-2.094 2.095a1.52 1.52 0 0 0-2.292.95c-.357 1.578-2.606 1.578-2.962 0a1.518 1.518 0 0 0-2.291-.95c-1.368.864-2.959-.726-2.095-2.094.56-.887.074-2.06-.95-2.291-1.578-.357-1.578-2.607 0-2.963a1.518 1.518 0 0 0 .95-2.291c-.864-1.368.727-2.959 2.095-2.095.886.56 2.06.074 2.29-.95M9 5.1a3.9 3.9 0 1 0 0 7.8 3.9 3.9 0 0 0 0-7.8\"/></svg>`,\n \"pause\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><rect width=\"4\" height=\"12\" x=\"3\" y=\"3\" rx=\"1.75\"/><rect width=\"4\" height=\"12\" x=\"11\" y=\"3\" rx=\"1.75\"/></svg>`,\n \"pip-enter\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M13 2a4 4 0 0 1 4 4v2.645a3.5 3.5 0 0 0-1-.145h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5c0 .347.05.683.145 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z\"/><rect width=\"10\" height=\"7\" x=\"8\" y=\"10\" rx=\"2\"/><path d=\"M7.25 10A.75.75 0 0 0 8 9.25v-3.5a.75.75 0 0 0-1.5 0V8.5H3.75a.75.75 0 0 0-.743.648L3 9.25c0 .414.336.75.75.75z\"/><path d=\"M6.72 9.78a.75.75 0 0 0 1.06-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06z\"/></svg>`,\n \"pip-exit\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M13 2a4 4 0 0 1 4 4v2.646a3.5 3.5 0 0 0-1-.146h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5q.002.523.146 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z\"/><rect width=\"10\" height=\"7\" x=\"8\" y=\"10\" rx=\"2\"/><path d=\"M3.75 5a.75.75 0 0 0-.75.75v3.5a.75.75 0 0 0 1.5 0V6.5h2.75a.75.75 0 0 0 .743-.648L8 5.75A.75.75 0 0 0 7.25 5z\"/><path d=\"M4.28 5.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06-1.06z\"/></svg>`,\n \"play\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"m13.473 10.476-6.845 4.256a1.697 1.697 0 0 1-2.364-.547 1.77 1.77 0 0 1-.264-.93v-8.51C4 3.78 4.768 3 5.714 3c.324 0 .64.093.914.268l6.845 4.255a1.763 1.763 0 0 1 0 2.953\"/></svg>`,\n \"quality\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M11 3c2.828 0 4.242 0 5.121.878C17 4.757 17 6.172 17 9c0 2.829 0 4.243-.879 5.121s-2.293.88-5.121.88H7c-2.828 0-4.242-.001-5.121-.88C1 13.243 1 11.828 1 9.001c0-2.83 0-4.244.879-5.123C2.758 3 4.172 3 7 3zM3.25 6v6h1.556V9.564h2.45V12h1.556V6H7.256v2.331h-2.45v-2.33zm6.396 6h2.39q.988 0 1.71-.367a2.65 2.65 0 0 0 1.11-1.043q.394-.672.394-1.59t-.398-1.59a2.65 2.65 0 0 0-1.115-1.04Q13.017 6 12.035 6h-2.39zm2.294-4.792q.89 0 1.318.455.428.452.428 1.337 0 .886-.424 1.341-.42.45-1.305.451h-.756V7.208z\"/></svg>`,\n \"restart\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M9 17a8 8 0 0 1-8-8h1.5a6.5 6.5 0 1 0 1.43-4.07l1.643 1.643A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17\"/><path d=\"m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438\"/></svg>`,\n \"seek\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M1 9c0 2.21.895 4.21 2.343 5.657l1.06-1.06a6.5 6.5 0 1 1 9.665-8.665l-1.641 1.641a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9\"/></svg>`,\n \"speech\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path fill-opacity=\".2\" stroke=\"currentColor\" stroke-width=\"1.5\" d=\"M6 12.75a4.25 4.25 0 0 1 3.835 2.417c.008.016.005.017.006.009 0-.006.001-.003-.007.009a.2.2 0 0 1-.158.065H2.324a.2.2 0 0 1-.158-.065c-.009-.012-.007-.015-.006-.01 0 .01-.003.008.005-.008a4.25 4.25 0 0 1 3.521-2.405zm0-6a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5Z\"/><path d=\"M14 2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-1.333L10.8 8.4A.5.5 0 0 1 10 8V6.73A2 2 0 0 1 9 5V4a2 2 0 0 1 2-2zm-2.75 1.5a.75.75 0 0 0-.75.75v.5c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75v-.5a.75.75 0 0 0-.75-.75z\"/></svg>`,\n \"speed\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M9 18q-.213 0-.424-.012h.85Q9.214 18 9 18M9 2a8 8 0 0 1 8 8c0 1.975-.719 3.78-1.905 5.175a.75.75 0 0 1-1.204.018l-1.509-1.971a.75.75 0 0 1 .596-1.206h2.202a6.5 6.5 0 1 0-12.36 0h2.209a.75.75 0 0 1 .595 1.206l-1.507 1.971a.75.75 0 0 1-1.133.07l-.003.004A8 8 0 0 1 9 2\"/><rect width=\"6\" height=\"1.5\" x=\"6\" y=\"14\" fill-opacity=\".5\" rx=\".75\"/><path d=\"M8.504 5.217c.077-.578.915-.578.992 0l.399 2.996A1.998 1.998 0 0 1 9 12a2 2 0 0 1-.896-3.787z\"/><g fill-opacity=\".5\"><circle cx=\"4.75\" cy=\"9.75\" r=\".75\"/><circle cx=\"13.25\" cy=\"9.75\" r=\".75\"/><circle cx=\"6\" cy=\"6.75\" r=\".75\"/><circle cx=\"12\" cy=\"6.75\" r=\".75\"/></g></svg>`,\n \"spinner\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"2\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><style>@keyframes media-spinner-fade{0%{opacity:1}to{opacity:0}}.media-spinner__segment{animation:var(--media-spinner-animation, media-spinner-fade 1s steps(8, end) infinite);animation-delay:var(--media-spinner-delay)}@media (prefers-reduced-motion:reduce){.media-spinner__segment{animation:none}}</style><path d=\"M9 1.5v3\" class=\"media-spinner__segment\" opacity=\".5\" style=\"--media-spinner-delay:0s\"/><path d=\"m14.5 3.5-2 2\" class=\"media-spinner__segment\" opacity=\".45\" style=\"--media-spinner-delay:0.125s\"/><path d=\"M16.5 9h-3\" class=\"media-spinner__segment\" opacity=\".4\" style=\"--media-spinner-delay:0.25s\"/><path d=\"m14.5 14.5-2-2\" class=\"media-spinner__segment\" opacity=\".35\" style=\"--media-spinner-delay:0.375s\"/><path d=\"M9 16.5v-3\" class=\"media-spinner__segment\" opacity=\".3\" style=\"--media-spinner-delay:0.5s\"/><path d=\"m3.5 14.5 2-2\" class=\"media-spinner__segment\" opacity=\".25\" style=\"--media-spinner-delay:0.625s\"/><path d=\"M1.5 9h3\" class=\"media-spinner__segment\" opacity=\".15\" style=\"--media-spinner-delay:0.75s\"/><path d=\"m3.5 3.5 2 2\" class=\"media-spinner__segment\" opacity=\".1\" style=\"--media-spinner-delay:0.875s\"/></svg>`,\n \"switches\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M12.5 9.5a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7zm-2 1.5a2 2 0 1 0 0 4h2a2 2 0 1 0 0-4z\"/><path fill-opacity=\".5\" d=\"M12.5 1.5a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7zM5.5 3a2 2 0 1 0 0 4h2a2 2 0 1 0 0-4z\"/></svg>`,\n \"volume-high\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7\"/><path d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402\"/></svg>`,\n \"volume-low\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402\"/></svg>`,\n \"volume-off\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\" viewBox=\"0 0 18 18\"><path d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z\"/></svg>`,\n};\n\nfunction esc(v) { return String(v).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;'); }\n\nexport function renderIcon(name, attrs) {\n const svg = icons[name];\n if (!svg) return '';\n if (!attrs) return svg;\n const attrStr = Object.entries(attrs)\n .map(([k, v]) => ` ${k}=\"${esc(v)}\"`)\n .join('');\n return svg.replace('<svg', `<svg${attrStr}`);\n}\n"],"mappings":"AAAA,MAAM,EAAQ,CACZ,gBAAiB,gcACjB,eAAgB,6nCAChB,eAAgB,yqBAChB,cAAe,ocACf,aAAc,gfACd,YAAa,8kBACb,MAAS,kPACT,QAAW,qPACX,mBAAoB,2iBACpB,kBAAmB,0iBACnB,KAAQ,+pBACR,MAAS,0OACT,YAAa,2jBACb,WAAY,ojBACZ,KAAQ,yTACR,QAAW,koBACX,QAAW,ydACX,KAAQ,yUACR,OAAU,8qBACV,MAAS,ivBACT,QAAW,syCACX,SAAY,0VACZ,cAAe,+tBACf,aAAc,ojBACd,aAAc,meAChB,EAEA,SAAS,EAAI,EAAG,CAAE,OAAO,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAM,OAAO,CAAC,CAAC,QAAQ,KAAM,MAAM,CAAC,CAAC,QAAQ,KAAM,MAAM,CAAC,CAAC,QAAQ,KAAM,QAAQ,CAAG,CAE/H,SAAgB,EAAW,EAAM,EAAO,CACtC,IAAM,EAAM,EAAM,GAClB,GAAI,CAAC,EAAK,MAAO,GACjB,GAAI,CAAC,EAAO,OAAO,EACnB,IAAM,EAAU,OAAO,QAAQ,CAAK,CAAC,CAClC,KAAK,CAAC,EAAG,KAAO,IAAI,EAAE,IAAI,EAAI,CAAC,EAAE,EAAE,CAAC,CACpC,KAAK,EAAE,EACV,OAAO,EAAI,QAAQ,OAAQ,OAAO,GAAS,CAC7C"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./base-B48rim5Z.js";typeof customElements<`u`&&typeof HTMLElement<`u`&&((customElements.get(`media-icon`)||e).register?.(`minimal`,{"airplay-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.154 2.004A3 3 0 0 1 18 5v6a3 3 0 0 1-2.846 2.996L15 14l-1.5-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v6A1.5 1.5 0 0 0 3 12.5h1.5L3 14a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h12z"/><path d="M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z"/></svg>`,"airplay-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><style>@keyframes media-icon--airplay__triangle{0%{translate:0 0}to{translate:0-2px}}@keyframes media-icon--airplay__fill{0%{opacity:0}to{opacity:.2}}@media (prefers-reduced-motion:reduce){:root{--media-icon--airplay__fill-animation:none;--media-icon--airplay__triangle-animation:none}}</style><path d="M14.5 2A3.5 3.5 0 0 1 18 5.5v5a3.5 3.5 0 0 1-3.032 3.468L9.354 8.354a.5.5 0 0 0-.708 0l-5.615 5.614A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z" style="animation:var(--media-icon--airplay__fill-animation, media-icon--airplay__fill 1s ease-in-out infinite alternate)"/><path d="M14.5 2A3.5 3.5 0 0 1 18 5.5v5l-.005.18a3.5 3.5 0 0 1-3.027 3.288L13.5 12.5h1a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2h-11a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h1l-1.468 1.467A3.5 3.5 0 0 1 0 10.5v-5A3.5 3.5 0 0 1 3.5 2z"/><path d="M8.631 10.902a.5.5 0 0 1 .738 0l4.363 4.76a.5.5 0 0 1-.369.838H4.637a.5.5 0 0 1-.369-.838z" style="animation:var(--media-icon--airplay__triangle-animation, media-icon--airplay__triangle 1s ease-in-out infinite alternate)"/></svg>`,"captions-off":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" aria-hidden="true" viewBox="0 0 18 18"><rect width="16.5" height="12.5" x=".75" y="2.75" stroke="currentColor" stroke-width="1.5" rx="3"/><rect width="3" height="1.5" x="3" y="8.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="2" height="1.5" x="13" y="8.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="4" height="1.5" x="11" y="11.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="5" height="1.5" x="7" y="8.5" fill="currentColor" fill-opacity=".5" rx=".75"/><rect width="7" height="1.5" x="3" y="11.5" fill="currentColor" fill-opacity=".5" rx=".75"/></svg>`,"captions-on":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM3.75 11.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5zm-8-3a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5zm4 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5zm6 0a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z"/></svg>`,"cast-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.154 2.004A3 3 0 0 1 18 5v8l-.004.154a3 3 0 0 1-2.842 2.842L15 16H7.5q-.002-.772-.15-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v3.65A7.5 7.5 0 0 0 0 8.5V5a3 3 0 0 1 3-3h12zM0 12a4 4 0 0 1 4 4H2.5A2.5 2.5 0 0 0 0 13.5z"/><path d="M0 9.5A6.5 6.5 0 0 1 6.5 16H5a5 5 0 0 0-5-5zm0 5A1.5 1.5 0 0 1 1.5 16h-1a.5.5 0 0 1-.5-.5z"/></svg>`,"cast-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.154 2.004A3 3 0 0 1 18 5v8l-.004.154a3 3 0 0 1-2.842 2.842L15 16H7.5q-.002-.772-.15-1.5H15a1.5 1.5 0 0 0 1.5-1.5V5A1.5 1.5 0 0 0 15 3.5H3A1.5 1.5 0 0 0 1.5 5v3.65A7.5 7.5 0 0 0 0 8.5V5a3 3 0 0 1 3-3h12z"/><path d="M14 5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6.874A7.52 7.52 0 0 0 3 9.126V6a1 1 0 0 1 1-1zM0 12a4 4 0 0 1 4 4H2.5A2.5 2.5 0 0 0 0 13.5z"/><path d="M0 9.5A6.5 6.5 0 0 1 6.5 16H5a5 5 0 0 0-5-5zm0 5A1.5 1.5 0 0 1 1.5 16h-1a.5.5 0 0 1-.5-.5z"/></svg>`,check:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" aria-hidden="true" viewBox="0 0 18 18"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 10.455 6.5 13 14 5"/></svg>`,chevron:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" aria-hidden="true" viewBox="0 0 18 18"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M11.667 9.014 6.364 3.711m0 10.606 5.303-5.303"/></svg>`,"fullscreen-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.25 2a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V3.5h-3.75a.75.75 0 0 1-.743-.648L10 2.75a.75.75 0 0 1 .75-.75z"/><path d="M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM2.75 10a.75.75 0 0 1 .75.75v3.75h3.75a.75.75 0 0 1 .743.648L8 15.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75"/><path d="M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z"/></svg>`,"fullscreen-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M10.75 2a.75.75 0 0 1 .75.75V6.5h3.75a.75.75 0 0 1 .743.648L16 7.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75"/><path d="M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM7.25 10a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V11.5H2.75a.75.75 0 0 1-.743-.648L2 10.75a.75.75 0 0 1 .75-.75z"/><path d="M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z"/></svg>`,gear:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M7.519 2.184c.356-1.579 2.605-1.579 2.962 0a1.52 1.52 0 0 0 2.292.949c1.368-.864 2.958.727 2.094 2.095-.56.886-.073 2.06.95 2.29 1.578.357 1.578 2.607 0 2.964a1.518 1.518 0 0 0-.95 2.29c.864 1.369-.726 2.96-2.094 2.095a1.52 1.52 0 0 0-2.292.95c-.357 1.578-2.606 1.578-2.962 0a1.518 1.518 0 0 0-2.291-.95c-1.368.864-2.959-.726-2.095-2.094.56-.887.074-2.06-.95-2.291-1.578-.357-1.578-2.607 0-2.963a1.518 1.518 0 0 0 .95-2.291c-.864-1.368.727-2.959 2.095-2.095.886.56 2.06.074 2.29-.95M9 5.1a3.9 3.9 0 1 0 0 7.8 3.9 3.9 0 0 0 0-7.8"/></svg>`,pause:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><rect width="4" height="12" x="3" y="3" rx="1.75"/><rect width="4" height="12" x="11" y="3" rx="1.75"/></svg>`,"pip-enter":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M13 2a4 4 0 0 1 4 4v2.645a3.5 3.5 0 0 0-1-.145h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5c0 .347.05.683.145 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z"/><rect width="10" height="7" x="8" y="10" rx="2"/><path d="M7.25 10A.75.75 0 0 0 8 9.25v-3.5a.75.75 0 0 0-1.5 0V8.5H3.75a.75.75 0 0 0-.743.648L3 9.25c0 .414.336.75.75.75z"/><path d="M6.72 9.78a.75.75 0 0 0 1.06-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06z"/></svg>`,"pip-exit":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M13 2a4 4 0 0 1 4 4v2.646a3.5 3.5 0 0 0-1-.146h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5q.002.523.146 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z"/><rect width="10" height="7" x="8" y="10" rx="2"/><path d="M3.75 5a.75.75 0 0 0-.75.75v3.5a.75.75 0 0 0 1.5 0V6.5h2.75a.75.75 0 0 0 .743-.648L8 5.75A.75.75 0 0 0 7.25 5z"/><path d="M4.28 5.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06-1.06z"/></svg>`,play:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="m13.473 10.476-6.845 4.256a1.697 1.697 0 0 1-2.364-.547 1.77 1.77 0 0 1-.264-.93v-8.51C4 3.78 4.768 3 5.714 3c.324 0 .64.093.914.268l6.845 4.255a1.763 1.763 0 0 1 0 2.953"/></svg>`,quality:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M11 3c2.828 0 4.242 0 5.121.878C17 4.757 17 6.172 17 9c0 2.829 0 4.243-.879 5.121s-2.293.88-5.121.88H7c-2.828 0-4.242-.001-5.121-.88C1 13.243 1 11.828 1 9.001c0-2.83 0-4.244.879-5.123C2.758 3 4.172 3 7 3zM3.25 6v6h1.556V9.564h2.45V12h1.556V6H7.256v2.331h-2.45v-2.33zm6.396 6h2.39q.988 0 1.71-.367a2.65 2.65 0 0 0 1.11-1.043q.394-.672.394-1.59t-.398-1.59a2.65 2.65 0 0 0-1.115-1.04Q13.017 6 12.035 6h-2.39zm2.294-4.792q.89 0 1.318.455.428.452.428 1.337 0 .886-.424 1.341-.42.45-1.305.451h-.756V7.208z"/></svg>`,restart:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M9 17a8 8 0 0 1-8-8h1.5a6.5 6.5 0 1 0 1.43-4.07l1.643 1.643A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17"/><path d="m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438"/></svg>`,seek:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M1 9c0 2.21.895 4.21 2.343 5.657l1.06-1.06a6.5 6.5 0 1 1 9.665-8.665l-1.641 1.641a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9"/></svg>`,speech:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path fill-opacity=".2" stroke="currentColor" stroke-width="1.5" d="M6 12.75a4.25 4.25 0 0 1 3.835 2.417c.008.016.005.017.006.009 0-.006.001-.003-.007.009a.2.2 0 0 1-.158.065H2.324a.2.2 0 0 1-.158-.065c-.009-.012-.007-.015-.006-.01 0 .01-.003.008.005-.008a4.25 4.25 0 0 1 3.521-2.405zm0-6a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5Z"/><path d="M14 2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-1.333L10.8 8.4A.5.5 0 0 1 10 8V6.73A2 2 0 0 1 9 5V4a2 2 0 0 1 2-2zm-2.75 1.5a.75.75 0 0 0-.75.75v.5c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75v-.5a.75.75 0 0 0-.75-.75z"/></svg>`,speed:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M9 18q-.213 0-.424-.012h.85Q9.214 18 9 18M9 2a8 8 0 0 1 8 8c0 1.975-.719 3.78-1.905 5.175a.75.75 0 0 1-1.204.018l-1.509-1.971a.75.75 0 0 1 .596-1.206h2.202a6.5 6.5 0 1 0-12.36 0h2.209a.75.75 0 0 1 .595 1.206l-1.507 1.971a.75.75 0 0 1-1.133.07l-.003.004A8 8 0 0 1 9 2"/><rect width="6" height="1.5" x="6" y="14" fill-opacity=".5" rx=".75"/><path d="M8.504 5.217c.077-.578.915-.578.992 0l.399 2.996A1.998 1.998 0 0 1 9 12a2 2 0 0 1-.896-3.787z"/><g fill-opacity=".5"><circle cx="4.75" cy="9.75" r=".75"/><circle cx="13.25" cy="9.75" r=".75"/><circle cx="6" cy="6.75" r=".75"/><circle cx="12" cy="6.75" r=".75"/></g></svg>`,spinner:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" aria-hidden="true" viewBox="0 0 18 18"><style>@keyframes media-spinner-fade{0%{opacity:1}to{opacity:0}}.media-spinner__segment{animation:var(--media-spinner-animation, media-spinner-fade 1s steps(8, end) infinite);animation-delay:var(--media-spinner-delay)}@media (prefers-reduced-motion:reduce){.media-spinner__segment{animation:none}}</style><path d="M9 1.5v3" class="media-spinner__segment" opacity=".5" style="--media-spinner-delay:0s"/><path d="m14.5 3.5-2 2" class="media-spinner__segment" opacity=".45" style="--media-spinner-delay:0.125s"/><path d="M16.5 9h-3" class="media-spinner__segment" opacity=".4" style="--media-spinner-delay:0.25s"/><path d="m14.5 14.5-2-2" class="media-spinner__segment" opacity=".35" style="--media-spinner-delay:0.375s"/><path d="M9 16.5v-3" class="media-spinner__segment" opacity=".3" style="--media-spinner-delay:0.5s"/><path d="m3.5 14.5 2-2" class="media-spinner__segment" opacity=".25" style="--media-spinner-delay:0.625s"/><path d="M1.5 9h3" class="media-spinner__segment" opacity=".15" style="--media-spinner-delay:0.75s"/><path d="m3.5 3.5 2 2" class="media-spinner__segment" opacity=".1" style="--media-spinner-delay:0.875s"/></svg>`,switches:`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M12.5 9.5a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7zm-2 1.5a2 2 0 1 0 0 4h2a2 2 0 1 0 0-4z"/><path fill-opacity=".5" d="M12.5 1.5a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7zM5.5 3a2 2 0 1 0 0 4h2a2 2 0 1 0 0-4z"/></svg>`,"volume-high":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7"/><path d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,"volume-low":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,"volume-off":`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" viewBox="0 0 18 18"><path d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z"/></svg>`}),customElements.get(`media-icon`)||customElements.define(`media-icon`,e));
2
- //# sourceMappingURL=minimal-BoP112ye.js.map