@videojs/html 10.0.0-beta.13 → 10.0.0-beta.15

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 (301) hide show
  1. package/cdn/{abort-JT-ewLFq.js → abort-CzqmAxxH.js} +1 -1
  2. package/cdn/{abort-JT-ewLFq.js.map → abort-CzqmAxxH.js.map} +1 -1
  3. package/cdn/{abort-C7q_G_dT.js → abort-KaHR4JO1.js} +1 -1
  4. package/cdn/{abort-C7q_G_dT.js.map → abort-KaHR4JO1.js.map} +1 -1
  5. package/cdn/audio-minimal-ui.dev.d.ts +1 -0
  6. package/cdn/audio-minimal-ui.dev.js +5 -0
  7. package/cdn/audio-minimal-ui.js +1 -0
  8. package/cdn/audio-minimal.dev.js +13 -14
  9. package/cdn/audio-minimal.dev.js.map +1 -1
  10. package/cdn/audio-minimal.js +1 -1
  11. package/cdn/audio-minimal.js.map +1 -1
  12. package/cdn/audio-ui.dev.d.ts +1 -0
  13. package/cdn/audio-ui.dev.js +5 -0
  14. package/cdn/audio-ui.js +1 -0
  15. package/cdn/audio.dev.js +13 -14
  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 +5 -11
  20. package/cdn/background.dev.js.map +1 -1
  21. package/cdn/background.js +1 -1
  22. package/cdn/background.js.map +1 -1
  23. package/cdn/{safe-define-Bw8JF08z.js → context-BjrbhiSk.js} +27 -23
  24. package/cdn/context-BjrbhiSk.js.map +1 -0
  25. package/cdn/context-CdkhXQEw.js +14 -0
  26. package/cdn/context-CdkhXQEw.js.map +1 -0
  27. package/cdn/create-player-BqU8r8H4.js +7 -0
  28. package/cdn/create-player-BqU8r8H4.js.map +1 -0
  29. package/cdn/{create-player-C2h3JeGl.js → create-player-p9xCO0yC.js} +2627 -2611
  30. package/cdn/create-player-p9xCO0yC.js.map +1 -0
  31. package/cdn/{default-CnBlD9BM.js → default-C8KsZ0zK.js} +1 -1
  32. package/cdn/{default-CnBlD9BM.js.map → default-C8KsZ0zK.js.map} +1 -1
  33. package/cdn/{default-CKnlVEjQ.js → default-XHZAb7gP.js} +1 -1
  34. package/cdn/{default-CKnlVEjQ.js.map → default-XHZAb7gP.js.map} +1 -1
  35. package/cdn/delegate-B626t_Va.js +2 -0
  36. package/cdn/delegate-B626t_Va.js.map +1 -0
  37. package/cdn/{delegate-AoR5Pt_6.js → delegate-BCw-LjP_.js} +9 -10
  38. package/cdn/delegate-BCw-LjP_.js.map +1 -0
  39. package/cdn/{hls-CNDMNsEo.js → hls-26YJVjvD.js} +3 -3
  40. package/cdn/hls-26YJVjvD.js.map +1 -0
  41. package/cdn/{hls-DHwATYV2.js → hls-BriQI4q1.js} +58 -89
  42. package/cdn/hls-BriQI4q1.js.map +1 -0
  43. package/cdn/{listen-UqQNdlqV.js → listen-D7fcau5d.js} +1 -1
  44. package/cdn/{listen-UqQNdlqV.js.map → listen-D7fcau5d.js.map} +1 -1
  45. package/cdn/{listen-BkAEGXCe.js → listen-w-Aun0yN.js} +1 -1
  46. package/cdn/{listen-BkAEGXCe.js.map → listen-w-Aun0yN.js.map} +1 -1
  47. package/cdn/media/dash-video.dev.js +4 -4
  48. package/cdn/media/dash-video.js +1 -1
  49. package/cdn/media/hls-video.dev.js +5 -4
  50. package/cdn/media/hls-video.dev.js.map +1 -1
  51. package/cdn/media/hls-video.js +1 -1
  52. package/cdn/media/hls-video.js.map +1 -1
  53. package/cdn/media/mux-video.dev.js +7 -6
  54. package/cdn/media/mux-video.dev.js.map +1 -1
  55. package/cdn/media/mux-video.js +1 -1
  56. package/cdn/media/mux-video.js.map +1 -1
  57. package/cdn/media/native-hls-video.dev.d.ts +1 -0
  58. package/cdn/media/native-hls-video.dev.js +28 -0
  59. package/cdn/media/native-hls-video.dev.js.map +1 -0
  60. package/cdn/media/native-hls-video.js +2 -0
  61. package/cdn/media/native-hls-video.js.map +1 -0
  62. package/cdn/media/simple-hls-video.dev.js +6 -6
  63. package/cdn/media/simple-hls-video.js +2 -2
  64. package/cdn/media/simple-hls-video.js.map +1 -1
  65. package/cdn/{media-attach-mixin-CkU58gjb.js → media-attach-mixin-DfKkofgF.js} +2 -2
  66. package/cdn/{media-attach-mixin-CkU58gjb.js.map → media-attach-mixin-DfKkofgF.js.map} +1 -1
  67. package/cdn/media-attach-mixin-Dv2D43tb.js +2 -0
  68. package/cdn/{media-attach-mixin-ByJOWMNT.js.map → media-attach-mixin-Dv2D43tb.js.map} +1 -1
  69. package/cdn/{media-props-mixin-BuVUebRp.js → media-props-mixin-Bd_N2HWy.js} +2 -2
  70. package/cdn/media-props-mixin-Bd_N2HWy.js.map +1 -0
  71. package/cdn/{media-props-mixin-DxsM38Bx.js → media-props-mixin-Dc5dpCV4.js} +8 -5
  72. package/cdn/media-props-mixin-Dc5dpCV4.js.map +1 -0
  73. package/cdn/{minimal-fA2p2Jrn.js → minimal-BUUGNZK7.js} +1 -1
  74. package/cdn/{minimal-fA2p2Jrn.js.map → minimal-BUUGNZK7.js.map} +1 -1
  75. package/cdn/{minimal-CKMdOXWm.js → minimal-CJGOJ6pE.js} +1 -1
  76. package/cdn/{minimal-CKMdOXWm.js.map → minimal-CJGOJ6pE.js.map} +1 -1
  77. package/cdn/minimal-ui-BL9eBXck.js +0 -0
  78. package/cdn/minimal-ui-a1UOKF79.js +0 -0
  79. package/cdn/native-hls-CjRvSXAJ.js +2 -0
  80. package/cdn/native-hls-CjRvSXAJ.js.map +1 -0
  81. package/cdn/native-hls-D2rfyyyW.js +126 -0
  82. package/cdn/native-hls-D2rfyyyW.js.map +1 -0
  83. package/cdn/player-Cz9-_j7J.js +2 -0
  84. package/cdn/{player-DOTrw60d.js.map → player-Cz9-_j7J.js.map} +1 -1
  85. package/cdn/{player-BWRklsUx.js → player-D0bhjT8X.js} +3 -3
  86. package/cdn/{player-BWRklsUx.js.map → player-D0bhjT8X.js.map} +1 -1
  87. package/cdn/poster-2FPYTjyv.js +2 -0
  88. package/cdn/poster-2FPYTjyv.js.map +1 -0
  89. package/cdn/{poster-Ds1EOmmU.js → poster-gVT-J1-z.js} +25 -4
  90. package/cdn/poster-gVT-J1-z.js.map +1 -0
  91. package/cdn/shadow-styles-62Yo__Ni.js +3 -0
  92. package/cdn/shadow-styles-62Yo__Ni.js.map +1 -0
  93. package/cdn/shadow-styles-I-_QR-PM.js +41 -0
  94. package/cdn/shadow-styles-I-_QR-PM.js.map +1 -0
  95. package/cdn/{shallow-equal-CaIo44Co.js → shallow-equal-C8Fs4TTE.js} +1 -1
  96. package/cdn/{shallow-equal-CaIo44Co.js.map → shallow-equal-C8Fs4TTE.js.map} +1 -1
  97. package/cdn/{shallow-equal-zo2IZwso.js → shallow-equal-uPuCQhnd.js} +1 -1
  98. package/cdn/{shallow-equal-zo2IZwso.js.map → shallow-equal-uPuCQhnd.js.map} +1 -1
  99. package/cdn/skin-element-DB-cKAAx.js +2 -0
  100. package/cdn/skin-element-DB-cKAAx.js.map +1 -0
  101. package/cdn/skin-element-zakTHELS.js +55 -0
  102. package/cdn/skin-element-zakTHELS.js.map +1 -0
  103. package/cdn/ui-CFIgmrlA.js +0 -0
  104. package/cdn/ui-Ccp_LyCf.js +0 -0
  105. package/cdn/video-minimal-ui.dev.d.ts +1 -0
  106. package/cdn/video-minimal-ui.dev.js +5 -0
  107. package/cdn/video-minimal-ui.js +1 -0
  108. package/cdn/video-minimal.dev.js +15 -22
  109. package/cdn/video-minimal.dev.js.map +1 -1
  110. package/cdn/video-minimal.js +1 -1
  111. package/cdn/video-minimal.js.map +1 -1
  112. package/cdn/video-ui.dev.d.ts +1 -0
  113. package/cdn/video-ui.dev.js +5 -0
  114. package/cdn/video-ui.js +1 -0
  115. package/cdn/video.dev.js +16 -47
  116. package/cdn/video.dev.js.map +1 -1
  117. package/cdn/video.js +1 -1
  118. package/cdn/video.js.map +1 -1
  119. package/cdn/{volume-slider-Dz_ND_4U.js → volume-slider-Co5X4Z1t.js} +166 -167
  120. package/cdn/volume-slider-Co5X4Z1t.js.map +1 -0
  121. package/cdn/volume-slider-D18sXnIA.js +8 -0
  122. package/cdn/volume-slider-D18sXnIA.js.map +1 -0
  123. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  124. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  125. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  126. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  127. package/dist/default/_virtual/inline-css_src/define/shared.js +1 -1
  128. package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -1
  129. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  130. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  131. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  132. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  133. package/dist/default/define/audio/minimal-skin.css +43 -26
  134. package/dist/default/define/audio/minimal-skin.js +7 -18
  135. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  136. package/dist/default/define/audio/minimal-skin.tailwind.js +6 -18
  137. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  138. package/dist/default/define/audio/minimal-ui.js +12 -0
  139. package/dist/default/define/audio/skin.css +43 -26
  140. package/dist/default/define/audio/skin.js +7 -18
  141. package/dist/default/define/audio/skin.js.map +1 -1
  142. package/dist/default/define/audio/skin.tailwind.js +6 -18
  143. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  144. package/dist/default/define/audio/ui.js +12 -0
  145. package/dist/default/define/background/skin.js +2 -9
  146. package/dist/default/define/background/skin.js.map +1 -1
  147. package/dist/default/define/base.css +4 -0
  148. package/dist/default/define/shared.css +2 -1
  149. package/dist/default/define/skin-element.js +33 -0
  150. package/dist/default/define/skin-element.js.map +1 -0
  151. package/dist/default/define/video/minimal-skin.css +46 -45
  152. package/dist/default/define/video/minimal-skin.js +7 -23
  153. package/dist/default/define/video/minimal-skin.js.map +1 -1
  154. package/dist/default/define/video/minimal-skin.tailwind.js +6 -24
  155. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  156. package/dist/default/define/video/minimal-ui.js +18 -0
  157. package/dist/default/define/video/skin.css +46 -45
  158. package/dist/default/define/video/skin.js +7 -24
  159. package/dist/default/define/video/skin.js.map +1 -1
  160. package/dist/default/define/video/skin.tailwind.js +6 -24
  161. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  162. package/dist/default/define/video/ui.js +18 -0
  163. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +0 -1
  164. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  165. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +0 -1
  166. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  167. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +0 -1
  168. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  169. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +0 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  171. package/dist/default/ui/media-button-element.js +7 -0
  172. package/dist/default/ui/media-button-element.js.map +1 -1
  173. package/dist/default/ui/time/time-element.js +12 -10
  174. package/dist/default/ui/time/time-element.js.map +1 -1
  175. package/dist/default/ui/tooltip/tooltip-element.js +12 -8
  176. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  177. package/dist/default/ui/volume-slider/volume-slider-element.js +22 -14
  178. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  179. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  180. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  181. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  182. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  183. package/dist/dev/_virtual/inline-css_src/define/base.js +1 -1
  184. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -1
  185. package/dist/dev/_virtual/inline-css_src/define/shared.js +1 -1
  186. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -1
  187. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  188. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  189. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  190. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  191. package/dist/dev/define/audio/minimal-skin.css +43 -26
  192. package/dist/dev/define/audio/minimal-skin.d.ts +6 -10
  193. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  194. package/dist/dev/define/audio/minimal-skin.js +7 -22
  195. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  196. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +4 -10
  197. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  198. package/dist/dev/define/audio/minimal-skin.tailwind.js +6 -24
  199. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  200. package/dist/dev/define/audio/minimal-ui.d.ts +1 -0
  201. package/dist/dev/define/audio/minimal-ui.js +12 -0
  202. package/dist/dev/define/audio/skin.css +43 -26
  203. package/dist/dev/define/audio/skin.d.ts +6 -10
  204. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  205. package/dist/dev/define/audio/skin.js +7 -22
  206. package/dist/dev/define/audio/skin.js.map +1 -1
  207. package/dist/dev/define/audio/skin.tailwind.d.ts +4 -10
  208. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  209. package/dist/dev/define/audio/skin.tailwind.js +6 -24
  210. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  211. package/dist/dev/define/audio/ui.d.ts +1 -0
  212. package/dist/dev/define/audio/ui.js +12 -0
  213. package/dist/dev/define/background/skin.d.ts.map +1 -1
  214. package/dist/dev/define/background/skin.js +2 -9
  215. package/dist/dev/define/background/skin.js.map +1 -1
  216. package/dist/dev/define/base.css +4 -0
  217. package/dist/dev/define/shared.css +2 -1
  218. package/dist/dev/define/skin-element.d.ts +18 -0
  219. package/dist/dev/define/skin-element.d.ts.map +1 -0
  220. package/dist/dev/define/skin-element.js +33 -0
  221. package/dist/dev/define/skin-element.js.map +1 -0
  222. package/dist/dev/define/video/minimal-skin.css +46 -45
  223. package/dist/dev/define/video/minimal-skin.d.ts +6 -10
  224. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  225. package/dist/dev/define/video/minimal-skin.js +9 -35
  226. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  227. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -10
  228. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  229. package/dist/dev/define/video/minimal-skin.tailwind.js +9 -51
  230. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  231. package/dist/dev/define/video/minimal-ui.d.ts +1 -0
  232. package/dist/dev/define/video/minimal-ui.js +18 -0
  233. package/dist/dev/define/video/skin.css +46 -45
  234. package/dist/dev/define/video/skin.d.ts +6 -10
  235. package/dist/dev/define/video/skin.d.ts.map +1 -1
  236. package/dist/dev/define/video/skin.js +10 -40
  237. package/dist/dev/define/video/skin.js.map +1 -1
  238. package/dist/dev/define/video/skin.tailwind.d.ts +4 -10
  239. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  240. package/dist/dev/define/video/skin.tailwind.js +9 -51
  241. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  242. package/dist/dev/define/video/ui.d.ts +1 -0
  243. package/dist/dev/define/video/ui.js +18 -0
  244. package/dist/dev/index.d.ts +2 -2
  245. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +0 -1
  246. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  247. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +0 -1
  248. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  249. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +0 -1
  250. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  251. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +0 -1
  252. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  253. package/dist/dev/store/container-mixin.d.ts +1 -1
  254. package/dist/dev/store/provider-mixin.d.ts +1 -1
  255. package/dist/dev/ui/media-button-element.d.ts +6 -2
  256. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  257. package/dist/dev/ui/media-button-element.js +7 -0
  258. package/dist/dev/ui/media-button-element.js.map +1 -1
  259. package/dist/dev/ui/time/time-element.d.ts +0 -1
  260. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  261. package/dist/dev/ui/time/time-element.js +12 -10
  262. package/dist/dev/ui/time/time-element.js.map +1 -1
  263. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  264. package/dist/dev/ui/tooltip/tooltip-element.js +12 -8
  265. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  266. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +5 -0
  267. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  268. package/dist/dev/ui/volume-slider/volume-slider-element.js +22 -14
  269. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  270. package/package.json +8 -8
  271. package/cdn/create-player-C2h3JeGl.js.map +0 -1
  272. package/cdn/create-player-i0Q36S9_.js +0 -7
  273. package/cdn/create-player-i0Q36S9_.js.map +0 -1
  274. package/cdn/delegate-AoR5Pt_6.js.map +0 -1
  275. package/cdn/delegate-odoSeh7c.js +0 -2
  276. package/cdn/delegate-odoSeh7c.js.map +0 -1
  277. package/cdn/hls-CNDMNsEo.js.map +0 -1
  278. package/cdn/hls-DHwATYV2.js.map +0 -1
  279. package/cdn/media-attach-mixin-ByJOWMNT.js +0 -2
  280. package/cdn/media-props-mixin-BuVUebRp.js.map +0 -1
  281. package/cdn/media-props-mixin-DxsM38Bx.js.map +0 -1
  282. package/cdn/player-DOTrw60d.js +0 -2
  283. package/cdn/poster-CRi_NWaR.js +0 -2
  284. package/cdn/poster-CRi_NWaR.js.map +0 -1
  285. package/cdn/poster-Ds1EOmmU.js.map +0 -1
  286. package/cdn/safe-define-Bw8JF08z.js.map +0 -1
  287. package/cdn/safe-define-t0AGOouq.js +0 -14
  288. package/cdn/safe-define-t0AGOouq.js.map +0 -1
  289. package/cdn/volume-slider-C7rEWi11.js +0 -9
  290. package/cdn/volume-slider-C7rEWi11.js.map +0 -1
  291. package/cdn/volume-slider-Dz_ND_4U.js.map +0 -1
  292. package/dist/default/define/skin-mixin.js +0 -71
  293. package/dist/default/define/skin-mixin.js.map +0 -1
  294. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js +0 -28
  295. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js.map +0 -1
  296. package/dist/dev/define/skin-mixin.d.ts +0 -22
  297. package/dist/dev/define/skin-mixin.d.ts.map +0 -1
  298. package/dist/dev/define/skin-mixin.js +0 -71
  299. package/dist/dev/define/skin-mixin.js.map +0 -1
  300. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js +0 -28
  301. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js.map +0 -1
@@ -1,6 +1,15 @@
1
- import { C as getAnchorPositionStyle, D as createButton, E as createPopover, F as selectPlaybackRate, G as supportsAnchorPositioning, H as applyStyles, I as selectTextTrack, J as isNumber, K as createState, L as selectTime, O as createAlertDialog, P as selectPlayback, R as selectVolume, S as getAnchorNameStyle, T as resolveOffsets, U as tryHidePopover, W as tryShowPopover, Y as isUndefined, _ as getSliderPreviewStyle, a as MediaElement, b as clamp, c as ContextConsumer, d as applyElementProps, f as createTransition, g as getSliderCSSVars, h as ThumbnailCore, i as MediaContainerElement, j as selectError, k as selectBuffer, l as applyStateDataAttrs, m as createThumbnail, n as PlayerController, p as createTooltip, q as isFunction, r as SnapshotController, s as ContextProvider, u as logMissingFeature, v as getTimeSliderCSSVars, w as getPopupPositionRect, x as roundToStep, y as createSlider } from "./create-player-C2h3JeGl.js";
2
- import { a as createContext, i as playerContext, t as safeDefine } from "./safe-define-Bw8JF08z.js";
1
+ import { C as getAnchorPositionStyle, D as createButton, E as createPopover, F as selectPlaybackRate, G as isUndefined, H as createState, I as selectTextTrack, J as tryHidePopover, L as selectTime, O as createAlertDialog, P as selectPlayback, R as selectVolume, S as getAnchorNameStyle, T as resolveOffsets, U as isFunction, W as isNumber, X as supportsAnchorPositioning, Y as tryShowPopover, _ as getSliderPreviewStyle, a as MediaElement, b as clamp, c as applyStateDataAttrs, d as createWheelStep, f as createTransition, g as getSliderCSSVars, h as ThumbnailCore, j as selectError, k as selectBuffer, l as logMissingFeature, m as createThumbnail, n as PlayerController, o as ContextProvider, p as createTooltip, q as applyStyles, r as SnapshotController, s as ContextConsumer, u as applyElementProps, v as getTimeSliderCSSVars, w as getPopupPositionRect, x as roundToStep, y as createSlider } from "./create-player-p9xCO0yC.js";
2
+ import { i as createContext, r as playerContext, s as safeDefine } from "./context-BjrbhiSk.js";
3
3
 
4
+ //#region ../utils/dist/dom/direction.js
5
+ /** Check whether an element's text direction is right-to-left. */
6
+ function isRTL(element) {
7
+ const dir = element.closest("[dir]")?.getAttribute("dir");
8
+ if (dir) return dir.toLowerCase() === "rtl";
9
+ return getComputedStyle(element).direction === "rtl";
10
+ }
11
+
12
+ //#endregion
4
13
  //#region ../utils/dist/object/defaults.js
5
14
  /**
6
15
  * Creates a new object with default values filled in for undefined properties.
@@ -18,94 +27,6 @@ function defaults(object, defaultValues) {
18
27
  return result;
19
28
  }
20
29
 
21
- //#endregion
22
- //#region ../utils/dist/dom/direction.js
23
- /** Check whether an element's text direction is right-to-left. */
24
- function isRTL(element) {
25
- const dir = element.closest("[dir]")?.getAttribute("dir");
26
- if (dir) return dir.toLowerCase() === "rtl";
27
- return getComputedStyle(element).direction === "rtl";
28
- }
29
-
30
- //#endregion
31
- //#region inline-css:src/define/base.js
32
- var base_default = "video-player {\n display: contents;\n}\n\n/*\nRequired to override any default video and image styles (such as\nTailwind's CSS reset) and ensure they fill the container as expected.\n*/\nvideo-player video,\nvideo-player [slot=\"poster\"] {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nvideo-player video::-webkit-media-text-track-container {\n transition: translate var(--media-caption-track-duration, 0) ease-out;\n transition-delay: var(--media-caption-track-delay, 0);\n translate: 0 var(--media-caption-track-y, 0);\n scale: 0.98;\n z-index: 1;\n font-family: inherit;\n}\n";
33
-
34
- //#endregion
35
- //#region inline-css:src/define/shared.js
36
- var shared_default = "media-tooltip-group {\n display: contents;\n}\n\n/* Fixes a weird issue with Safari when setting aspect-ratio */\n:host {\n display: grid;\n}\n\n/* Hide volume popover when volume control is unsupported (e.g., iOS Safari). */\n.media-popover--volume:has(media-volume-slider[data-availability=\"unsupported\"]) {\n display: none;\n}\n";
37
-
38
- //#endregion
39
- //#region src/define/skin-mixin.ts
40
- const STYLES_ID = "__media-styles";
41
- function ensureRootStyles() {
42
- const doc = globalThis.document;
43
- if (!doc || doc.getElementById(STYLES_ID)) return;
44
- const style = doc.createElement("style");
45
- style.id = STYLES_ID;
46
- style.textContent = base_default;
47
- doc.head.appendChild(style);
48
- }
49
- function isConstructableStyleSheet(value) {
50
- return typeof globalThis.CSSStyleSheet !== "undefined" && value instanceof globalThis.CSSStyleSheet;
51
- }
52
- function getStyleText(style) {
53
- if (typeof style === "string") return style;
54
- return Array.from(style.cssRules).map((rule) => rule.cssText).join("\n");
55
- }
56
- function applyShadowStyles(shadowRoot, styles) {
57
- if (styles.every(isConstructableStyleSheet) && "adoptedStyleSheets" in shadowRoot) {
58
- shadowRoot.adoptedStyleSheets = styles;
59
- return;
60
- }
61
- const doc = shadowRoot.ownerDocument;
62
- for (const styleText of styles.map(getStyleText)) {
63
- const style = doc.createElement("style");
64
- style.textContent = styleText;
65
- shadowRoot.appendChild(style);
66
- }
67
- }
68
- const sharedSheet = createStyles(shared_default);
69
- /**
70
- * Mixin for skin elements that renders the template from a static
71
- * `getTemplateHTML` method into a shadow root. Native `<slot>` elements
72
- * handle light DOM projection automatically.
73
- *
74
- * When `static styles` is set, the stylesheet is adopted into the
75
- * shadow root via `adoptedStyleSheets`.
76
- */
77
- function SkinMixin(BaseClass) {
78
- class SkinElement extends BaseClass {
79
- static {
80
- this.shadowRootOptions = { mode: "open" };
81
- }
82
- constructor(...args) {
83
- super(...args);
84
- ensureRootStyles();
85
- if (!this.shadowRoot) {
86
- const ctor = this.constructor;
87
- this.attachShadow(ctor.shadowRootOptions);
88
- if (ctor.getTemplateHTML) this.shadowRoot.innerHTML = ctor.getTemplateHTML();
89
- const sheets = [sharedSheet];
90
- if (ctor.styles) sheets.push(ctor.styles);
91
- applyShadowStyles(this.shadowRoot, sheets);
92
- }
93
- }
94
- }
95
- return SkinElement;
96
- }
97
- /** Create a constructable stylesheet when available, otherwise return raw CSS. */
98
- function createStyles(css) {
99
- if (typeof globalThis.CSSStyleSheet === "undefined") return css;
100
- const sheet = new globalThis.CSSStyleSheet();
101
- sheet.replaceSync(css);
102
- return sheet;
103
- }
104
-
105
- //#endregion
106
- //#region src/define/media/container.ts
107
- safeDefine(MediaContainerElement);
108
-
109
30
  //#endregion
110
31
  //#region ../core/dist/dev/core/ui/transition.js
111
32
  function getTransitionFlags(status) {
@@ -207,6 +128,11 @@ var CaptionsButtonCore = class CaptionsButtonCore {
207
128
  label: "",
208
129
  disabled: false
209
130
  };
131
+ state = createState({
132
+ subtitlesShowing: false,
133
+ availability: "unavailable",
134
+ label: ""
135
+ });
210
136
  #props = { ...CaptionsButtonCore.defaultProps };
211
137
  #media = null;
212
138
  constructor(props) {
@@ -234,10 +160,13 @@ var CaptionsButtonCore = class CaptionsButtonCore {
234
160
  }
235
161
  getState() {
236
162
  const media = this.#media;
237
- return {
163
+ const availability = media.textTrackList.some((t) => t.kind === "captions" || t.kind === "subtitles") ? "available" : "unavailable";
164
+ this.state.patch({
238
165
  subtitlesShowing: media.subtitlesShowing,
239
- availability: media.textTrackList.some((t) => t.kind === "captions" || t.kind === "subtitles") ? "available" : "unavailable"
240
- };
166
+ availability
167
+ });
168
+ this.state.patch({ label: this.getLabel(this.state.current) });
169
+ return this.state.current;
241
170
  }
242
171
  toggle(media) {
243
172
  if (this.#props.disabled) return;
@@ -289,6 +218,11 @@ var FullscreenButtonCore = class FullscreenButtonCore {
289
218
  label: "",
290
219
  disabled: false
291
220
  };
221
+ state = createState({
222
+ fullscreen: false,
223
+ availability: "available",
224
+ label: ""
225
+ });
292
226
  #props = { ...FullscreenButtonCore.defaultProps };
293
227
  #media = null;
294
228
  constructor(props) {
@@ -316,10 +250,12 @@ var FullscreenButtonCore = class FullscreenButtonCore {
316
250
  }
317
251
  getState() {
318
252
  const media = this.#media;
319
- return {
253
+ this.state.patch({
320
254
  fullscreen: media.fullscreen,
321
255
  availability: media.fullscreenAvailability
322
- };
256
+ });
257
+ this.state.patch({ label: this.getLabel(this.state.current) });
258
+ return this.state.current;
323
259
  }
324
260
  async toggle(media) {
325
261
  if (this.#props.disabled) return;
@@ -345,6 +281,11 @@ var MuteButtonCore = class MuteButtonCore {
345
281
  label: "",
346
282
  disabled: false
347
283
  };
284
+ state = createState({
285
+ muted: false,
286
+ volumeLevel: "off",
287
+ label: ""
288
+ });
348
289
  #props = { ...MuteButtonCore.defaultProps };
349
290
  #media = null;
350
291
  constructor(props) {
@@ -372,10 +313,12 @@ var MuteButtonCore = class MuteButtonCore {
372
313
  }
373
314
  getState() {
374
315
  const media = this.#media;
375
- return {
316
+ this.state.patch({
376
317
  muted: media.muted || media.volume === 0,
377
318
  volumeLevel: getVolumeLevel(media)
378
- };
319
+ });
320
+ this.state.patch({ label: this.getLabel(this.state.current) });
321
+ return this.state.current;
379
322
  }
380
323
  toggle(media) {
381
324
  if (this.#props.disabled) return;
@@ -403,6 +346,11 @@ var PiPButtonCore = class PiPButtonCore {
403
346
  label: "",
404
347
  disabled: false
405
348
  };
349
+ state = createState({
350
+ pip: false,
351
+ availability: "available",
352
+ label: ""
353
+ });
406
354
  #props = { ...PiPButtonCore.defaultProps };
407
355
  #media = null;
408
356
  constructor(props) {
@@ -430,10 +378,12 @@ var PiPButtonCore = class PiPButtonCore {
430
378
  }
431
379
  getState() {
432
380
  const media = this.#media;
433
- return {
381
+ this.state.patch({
434
382
  pip: media.pip,
435
383
  availability: media.pipAvailability
436
- };
384
+ });
385
+ this.state.patch({ label: this.getLabel(this.state.current) });
386
+ return this.state.current;
437
387
  }
438
388
  async toggle(media) {
439
389
  if (this.#props.disabled) return;
@@ -459,6 +409,12 @@ var PlayButtonCore = class PlayButtonCore {
459
409
  label: "",
460
410
  disabled: false
461
411
  };
412
+ state = createState({
413
+ paused: true,
414
+ ended: false,
415
+ started: false,
416
+ label: ""
417
+ });
462
418
  #props = { ...PlayButtonCore.defaultProps };
463
419
  #media = null;
464
420
  constructor(props) {
@@ -487,11 +443,13 @@ var PlayButtonCore = class PlayButtonCore {
487
443
  }
488
444
  getState() {
489
445
  const media = this.#media;
490
- return {
446
+ this.state.patch({
491
447
  paused: media.paused,
492
448
  ended: media.ended,
493
449
  started: media.started
494
- };
450
+ });
451
+ this.state.patch({ label: this.getLabel(this.state.current) });
452
+ return this.state.current;
495
453
  }
496
454
  async toggle(media) {
497
455
  if (this.#props.disabled) return;
@@ -515,6 +473,10 @@ var PlaybackRateButtonCore = class PlaybackRateButtonCore {
515
473
  label: "",
516
474
  disabled: false
517
475
  };
476
+ state = createState({
477
+ rate: 1,
478
+ label: ""
479
+ });
518
480
  #props = { ...PlaybackRateButtonCore.defaultProps };
519
481
  #media = null;
520
482
  constructor(props) {
@@ -541,7 +503,10 @@ var PlaybackRateButtonCore = class PlaybackRateButtonCore {
541
503
  this.#media = media;
542
504
  }
543
505
  getState() {
544
- return { rate: this.#media.playbackRate };
506
+ const media = this.#media;
507
+ this.state.patch({ rate: media.playbackRate });
508
+ this.state.patch({ label: this.getLabel(this.state.current) });
509
+ return this.state.current;
545
510
  }
546
511
  cycle(media) {
547
512
  if (this.#props.disabled) return;
@@ -644,6 +609,11 @@ var SeekButtonCore = class SeekButtonCore {
644
609
  label: "",
645
610
  disabled: false
646
611
  };
612
+ state = createState({
613
+ seeking: false,
614
+ direction: "forward",
615
+ label: ""
616
+ });
647
617
  #props = { ...SeekButtonCore.defaultProps };
648
618
  #media = null;
649
619
  constructor(props) {
@@ -671,10 +641,14 @@ var SeekButtonCore = class SeekButtonCore {
671
641
  this.#media = media;
672
642
  }
673
643
  getState() {
674
- return {
675
- seeking: this.#media.seeking,
676
- direction: this.#props.seconds < 0 ? "backward" : "forward"
677
- };
644
+ const media = this.#media;
645
+ const direction = this.#props.seconds < 0 ? "backward" : "forward";
646
+ this.state.patch({
647
+ seeking: media.seeking,
648
+ direction
649
+ });
650
+ this.state.patch({ label: this.getLabel(this.state.current) });
651
+ return this.state.current;
678
652
  }
679
653
  async seek(media) {
680
654
  if (this.#props.disabled) return;
@@ -1148,13 +1122,10 @@ var TooltipCore = class TooltipCore {
1148
1122
  ...getTransitionFlags(input.status)
1149
1123
  };
1150
1124
  }
1151
- getTriggerAttrs(state, popupId) {
1152
- return { "aria-describedby": state.open ? popupId : void 0 };
1153
- }
1154
1125
  getPopupAttrs(_state) {
1155
1126
  return {
1156
1127
  popover: "manual",
1157
- role: "tooltip"
1128
+ role: "presentation"
1158
1129
  };
1159
1130
  }
1160
1131
  };
@@ -1222,7 +1193,8 @@ var TooltipGroupCore = class TooltipGroupCore {
1222
1193
  var VolumeSliderCore = class VolumeSliderCore extends SliderCore {
1223
1194
  static defaultProps = {
1224
1195
  ...SliderCore.defaultProps,
1225
- label: "Volume"
1196
+ label: "Volume",
1197
+ wheelStep: 5
1226
1198
  };
1227
1199
  #media = null;
1228
1200
  constructor(props) {
@@ -1251,6 +1223,12 @@ var VolumeSliderCore = class VolumeSliderCore extends SliderCore {
1251
1223
  availability: media.volumeAvailability
1252
1224
  };
1253
1225
  }
1226
+ /** Wheel step as a percentage of the slider range. */
1227
+ getWheelStepPercent() {
1228
+ const props = this.props;
1229
+ const range = props.max - props.min;
1230
+ return range > 0 ? props.wheelStep / range * 100 : 0;
1231
+ }
1254
1232
  getLabel(state) {
1255
1233
  return super.getLabel(state) || "Volume";
1256
1234
  }
@@ -1286,6 +1264,9 @@ var MediaButtonElement = class extends MediaElement {
1286
1264
  disabled: { type: Boolean }
1287
1265
  };
1288
1266
  }
1267
+ get $state() {
1268
+ return this.core.state;
1269
+ }
1289
1270
  #disconnect = null;
1290
1271
  connectedCallback() {
1291
1272
  super.connectedCallback();
@@ -1302,6 +1283,10 @@ var MediaButtonElement = class extends MediaElement {
1302
1283
  this.#disconnect?.abort();
1303
1284
  this.#disconnect = null;
1304
1285
  }
1286
+ /** Returns the button's current label derived from media state. */
1287
+ getLabel() {
1288
+ return this.core.state.current.label || void 0;
1289
+ }
1305
1290
  willUpdate(changed) {
1306
1291
  super.willUpdate(changed);
1307
1292
  this.core.setProps?.(this);
@@ -1317,6 +1302,29 @@ var MediaButtonElement = class extends MediaElement {
1317
1302
  }
1318
1303
  };
1319
1304
 
1305
+ //#endregion
1306
+ //#region src/ui/context-part-element.ts
1307
+ /**
1308
+ * Abstract base for compound-component part elements that consume a parent
1309
+ * context and apply data attributes from `ctx.state` + `ctx.stateAttrMap`.
1310
+ *
1311
+ * Subclasses only need to declare the `consumer` property:
1312
+ *
1313
+ * ```ts
1314
+ * export class SliderTrackElement extends ContextPartElement<SliderState> {
1315
+ * static readonly tagName = 'media-slider-track';
1316
+ * protected readonly consumer = new ContextConsumer(this, { context: sliderContext, subscribe: true });
1317
+ * }
1318
+ * ```
1319
+ */
1320
+ var ContextPartElement = class extends MediaElement {
1321
+ update(_changed) {
1322
+ super.update(_changed);
1323
+ const ctx = this.consumer.value;
1324
+ if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);
1325
+ }
1326
+ };
1327
+
1320
1328
  //#endregion
1321
1329
  //#region src/ui/alert-dialog/context.ts
1322
1330
  const ALERT_DIALOG_CONTEXT_KEY = Symbol("@videojs/alert-dialog");
@@ -1361,29 +1369,6 @@ var AlertDialogCloseElement = class extends MediaElement {
1361
1369
  }
1362
1370
  };
1363
1371
 
1364
- //#endregion
1365
- //#region src/ui/context-part-element.ts
1366
- /**
1367
- * Abstract base for compound-component part elements that consume a parent
1368
- * context and apply data attributes from `ctx.state` + `ctx.stateAttrMap`.
1369
- *
1370
- * Subclasses only need to declare the `consumer` property:
1371
- *
1372
- * ```ts
1373
- * export class SliderTrackElement extends ContextPartElement<SliderState> {
1374
- * static readonly tagName = 'media-slider-track';
1375
- * protected readonly consumer = new ContextConsumer(this, { context: sliderContext, subscribe: true });
1376
- * }
1377
- * ```
1378
- */
1379
- var ContextPartElement = class extends MediaElement {
1380
- update(_changed) {
1381
- super.update(_changed);
1382
- const ctx = this.consumer.value;
1383
- if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);
1384
- }
1385
- };
1386
-
1387
1372
  //#endregion
1388
1373
  //#region src/ui/alert-dialog/alert-dialog-description-element.ts
1389
1374
  var AlertDialogDescriptionElement = class extends ContextPartElement {
@@ -1806,6 +1791,12 @@ safeDefine(SeekButtonElement);
1806
1791
  //#endregion
1807
1792
  //#region src/ui/time/time-element.ts
1808
1793
  var TimeElement = class extends MediaElement {
1794
+ constructor(..._args) {
1795
+ super(..._args);
1796
+ this.type = TimeCore.defaultProps.type;
1797
+ this.negativeSign = TimeCore.defaultProps.negativeSign;
1798
+ this.label = TimeCore.defaultProps.label;
1799
+ }
1809
1800
  static {
1810
1801
  this.tagName = "media-time";
1811
1802
  }
@@ -1823,18 +1814,14 @@ var TimeElement = class extends MediaElement {
1823
1814
  #state = new PlayerController(this, playerContext, selectTime);
1824
1815
  #signSpan = document.createElement("span");
1825
1816
  #textNode = document.createTextNode("");
1826
- constructor() {
1827
- super();
1828
- this.type = TimeCore.defaultProps.type;
1829
- this.negativeSign = TimeCore.defaultProps.negativeSign;
1830
- this.label = TimeCore.defaultProps.label;
1831
- this.#signSpan.setAttribute("aria-hidden", "true");
1832
- this.#signSpan.hidden = true;
1833
- this.appendChild(this.#signSpan);
1834
- this.appendChild(this.#textNode);
1835
- }
1836
1817
  connectedCallback() {
1837
1818
  super.connectedCallback();
1819
+ if (!this.#signSpan.parentNode) {
1820
+ this.#signSpan.setAttribute("aria-hidden", "true");
1821
+ this.#signSpan.hidden = true;
1822
+ this.appendChild(this.#signSpan);
1823
+ this.appendChild(this.#textNode);
1824
+ }
1838
1825
  if (!this.#state.value) logMissingFeature(this.localName, this.#state.displayName);
1839
1826
  }
1840
1827
  willUpdate(changed) {
@@ -2330,6 +2317,9 @@ const tooltipGroupContext = createContext(TOOLTIP_GROUP_CONTEXT_KEY);
2330
2317
 
2331
2318
  //#endregion
2332
2319
  //#region src/ui/tooltip/tooltip-element.ts
2320
+ function isLabelTrigger(el) {
2321
+ return "$state" in el;
2322
+ }
2333
2323
  var TooltipElement = class extends MediaElement {
2334
2324
  constructor(..._args) {
2335
2325
  super(..._args);
@@ -2434,10 +2424,7 @@ var TooltipElement = class extends MediaElement {
2434
2424
  applyStateDataAttrs(this, state, TooltipDataAttrs);
2435
2425
  if (state.open) tryShowPopover(this);
2436
2426
  else tryHidePopover(this);
2437
- if (this.#currentTrigger) {
2438
- applyElementProps(this.#currentTrigger, this.#core.getTriggerAttrs(state, this.id));
2439
- applyStyles(this.#currentTrigger, getAnchorNameStyle(this.id));
2440
- }
2427
+ if (this.#currentTrigger) applyStyles(this.#currentTrigger, getAnchorNameStyle(this.id));
2441
2428
  if (!state.open) {
2442
2429
  this.#cleanupPositioning();
2443
2430
  return;
@@ -2469,13 +2456,17 @@ var TooltipElement = class extends MediaElement {
2469
2456
  if (triggerEl && this.#tooltip) {
2470
2457
  this.#triggerAbort = new AbortController();
2471
2458
  applyElementProps(triggerEl, this.#tooltip.triggerProps, { signal: this.#triggerAbort.signal });
2459
+ if (isLabelTrigger(triggerEl)) {
2460
+ this.#syncContent(triggerEl);
2461
+ triggerEl.$state.subscribe(() => this.#syncContent(triggerEl), { signal: this.#triggerAbort.signal });
2462
+ }
2472
2463
  }
2473
2464
  }
2465
+ #syncContent(triggerEl) {
2466
+ this.textContent = triggerEl.getLabel() ?? "";
2467
+ }
2474
2468
  #cleanupTrigger() {
2475
- if (this.#currentTrigger) {
2476
- applyElementProps(this.#currentTrigger, { "aria-describedby": void 0 });
2477
- this.#currentTrigger.style.removeProperty("anchor-name");
2478
- }
2469
+ if (this.#currentTrigger) this.#currentTrigger.style.removeProperty("anchor-name");
2479
2470
  this.#triggerAbort?.abort();
2480
2471
  this.#triggerAbort = null;
2481
2472
  this.#currentTrigger = null;
@@ -2572,6 +2563,7 @@ var VolumeSliderElement = class extends MediaElement {
2572
2563
  this.label = VolumeSliderCore.defaultProps.label;
2573
2564
  this.step = VolumeSliderCore.defaultProps.step;
2574
2565
  this.largeStep = VolumeSliderCore.defaultProps.largeStep;
2566
+ this.wheelStep = VolumeSliderCore.defaultProps.wheelStep;
2575
2567
  this.orientation = VolumeSliderCore.defaultProps.orientation;
2576
2568
  this.disabled = VolumeSliderCore.defaultProps.disabled;
2577
2569
  this.thumbAlignment = VolumeSliderCore.defaultProps.thumbAlignment;
@@ -2587,6 +2579,10 @@ var VolumeSliderElement = class extends MediaElement {
2587
2579
  type: Number,
2588
2580
  attribute: "large-step"
2589
2581
  },
2582
+ wheelStep: {
2583
+ type: Number,
2584
+ attribute: "wheel-step"
2585
+ },
2590
2586
  orientation: { type: String },
2591
2587
  disabled: { type: Boolean },
2592
2588
  thumbAlignment: {
@@ -2605,25 +2601,21 @@ var VolumeSliderElement = class extends MediaElement {
2605
2601
  if (this.destroyed) return;
2606
2602
  this.#disconnect = new AbortController();
2607
2603
  const signal = this.#disconnect.signal;
2604
+ const isDisabled = () => this.disabled || !this.#volumeState.value;
2605
+ const getPercent = () => (this.#volumeState.value?.volume ?? 0) * 100;
2606
+ const getStepPercent = () => this.#core.getStepPercent();
2607
+ const setVolume = (percent) => this.#setVolume(percent);
2608
2608
  this.#slider = createSlider({
2609
2609
  getElement: () => this,
2610
2610
  getThumbElement: () => this.querySelector("media-slider-thumb"),
2611
2611
  getOrientation: () => this.orientation,
2612
2612
  isRTL: () => isRTL(this),
2613
- isDisabled: () => this.disabled || !this.#volumeState.value,
2614
- getPercent: () => {
2615
- const media = this.#volumeState.value;
2616
- if (!media) return 0;
2617
- return media.volume * 100;
2618
- },
2619
- getStepPercent: () => this.#core.getStepPercent(),
2613
+ isDisabled,
2614
+ getPercent,
2615
+ getStepPercent,
2620
2616
  getLargeStepPercent: () => this.#core.getLargeStepPercent(),
2621
- onValueChange: (percent) => {
2622
- this.#setVolume(percent);
2623
- },
2624
- onValueCommit: (percent) => {
2625
- this.#setVolume(percent);
2626
- },
2617
+ onValueChange: setVolume,
2618
+ onValueCommit: setVolume,
2627
2619
  onDragStart: () => {
2628
2620
  this.dispatchEvent(new CustomEvent("drag-start", { bubbles: true }));
2629
2621
  },
@@ -2633,7 +2625,14 @@ var VolumeSliderElement = class extends MediaElement {
2633
2625
  adjustPercent: (raw, thumbSize, trackSize) => this.#core.adjustPercentForAlignment(raw, thumbSize, trackSize),
2634
2626
  onResize: () => this.requestUpdate()
2635
2627
  });
2628
+ const wheelProps = createWheelStep({
2629
+ isDisabled,
2630
+ getPercent,
2631
+ getStepPercent: () => this.#core.getWheelStepPercent(),
2632
+ onValueChange: setVolume
2633
+ });
2636
2634
  applyElementProps(this, this.#slider.rootProps, { signal });
2635
+ applyElementProps(this, wheelProps, { signal });
2637
2636
  applyStyles(this, this.#slider.rootStyle);
2638
2637
  this.#slider.input.subscribe(() => this.requestUpdate(), { signal });
2639
2638
  if (!this.#volumeState.value) logMissingFeature(this.localName, this.#volumeState.displayName);
@@ -2686,5 +2685,5 @@ safeDefine(SliderTrackElement);
2686
2685
  safeDefine(SliderValueElement);
2687
2686
 
2688
2687
  //#endregion
2689
- export { PiPButtonDataAttrs as a, FullscreenButtonCore as c, CaptionsButtonDataAttrs as d, CaptionsButtonCore as f, createStyles as g, SkinMixin as h, PosterCore as i, ControlsDataAttrs as l, BufferingIndicatorCore as m, MediaButtonElement as n, PiPButtonCore as o, BufferingIndicatorDataAttrs as p, PosterDataAttrs as r, FullscreenButtonDataAttrs as s, ContextPartElement as t, ControlsCore as u };
2690
- //# sourceMappingURL=volume-slider-Dz_ND_4U.js.map
2688
+ export { PiPButtonDataAttrs as a, FullscreenButtonCore as c, CaptionsButtonDataAttrs as d, CaptionsButtonCore as f, PosterCore as i, ControlsDataAttrs as l, BufferingIndicatorCore as m, MediaButtonElement as n, PiPButtonCore as o, BufferingIndicatorDataAttrs as p, PosterDataAttrs as r, FullscreenButtonDataAttrs as s, ContextPartElement as t, ControlsCore as u };
2689
+ //# sourceMappingURL=volume-slider-Co5X4Z1t.js.map