@videojs/html 10.0.0-beta.14 → 10.0.0-beta.16

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/audio-minimal-ui.dev.js +4 -5
  2. package/cdn/audio-minimal-ui.js +1 -1
  3. package/cdn/audio-minimal.dev.js +7 -8
  4. package/cdn/audio-minimal.dev.js.map +1 -1
  5. package/cdn/audio-minimal.js +1 -1
  6. package/cdn/audio-minimal.js.map +1 -1
  7. package/cdn/audio-ui.dev.js +5 -5
  8. package/cdn/audio-ui.js +1 -1
  9. package/cdn/audio.dev.js +23 -7
  10. package/cdn/audio.dev.js.map +1 -1
  11. package/cdn/audio.js +1 -1
  12. package/cdn/audio.js.map +1 -1
  13. package/cdn/background.dev.js +3 -3
  14. package/cdn/background.js +1 -1
  15. package/cdn/background.js.map +1 -1
  16. package/cdn/context-C-IpVHEt.js +14 -0
  17. package/cdn/context-C-IpVHEt.js.map +1 -0
  18. package/cdn/{context-BjrbhiSk.js → context-CvJ83xGk.js} +2 -83
  19. package/cdn/context-CvJ83xGk.js.map +1 -0
  20. package/cdn/create-player-B_oNyyb5.js +7 -0
  21. package/cdn/create-player-B_oNyyb5.js.map +1 -0
  22. package/cdn/{create-player-Cz5Y4DmL.js → create-player-DckZq-sE.js} +59 -1419
  23. package/cdn/create-player-DckZq-sE.js.map +1 -0
  24. package/cdn/{hls-DwNUcXDb.js → hls-CJCXZSGG.js} +43 -5
  25. package/cdn/hls-CJCXZSGG.js.map +1 -0
  26. package/cdn/{hls-A02jAc_G.js → hls-lPH0rWmB.js} +3 -3
  27. package/cdn/hls-lPH0rWmB.js.map +1 -0
  28. package/cdn/hotkey-B7OaweHa.js +154 -0
  29. package/cdn/hotkey-B7OaweHa.js.map +1 -0
  30. package/cdn/hotkey-BLEt77Z0.js +2 -0
  31. package/cdn/hotkey-BLEt77Z0.js.map +1 -0
  32. package/cdn/media/dash-video.dev.js +3 -4
  33. package/cdn/media/dash-video.dev.js.map +1 -1
  34. package/cdn/media/dash-video.js +2 -2
  35. package/cdn/media/hls-video.dev.js +4 -5
  36. package/cdn/media/hls-video.dev.js.map +1 -1
  37. package/cdn/media/hls-video.js +1 -1
  38. package/cdn/media/hls-video.js.map +1 -1
  39. package/cdn/media/mux-audio.dev.d.ts +1 -0
  40. package/cdn/media/mux-audio.dev.js +29 -0
  41. package/cdn/media/mux-audio.dev.js.map +1 -0
  42. package/cdn/media/mux-audio.js +2 -0
  43. package/cdn/media/mux-audio.js.map +1 -0
  44. package/cdn/media/mux-video.dev.js +5 -3099
  45. package/cdn/media/mux-video.dev.js.map +1 -1
  46. package/cdn/media/mux-video.js +1 -24
  47. package/cdn/media/mux-video.js.map +1 -1
  48. package/cdn/media/native-hls-video.dev.js +4 -4
  49. package/cdn/media/native-hls-video.js +1 -1
  50. package/cdn/media/simple-hls-video.dev.js +965 -680
  51. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  52. package/cdn/media/simple-hls-video.js +6 -6
  53. package/cdn/media/simple-hls-video.js.map +1 -1
  54. package/cdn/{media-attach-mixin-DfKkofgF.js → media-attach-mixin-CMH1ziXP.js} +2 -2
  55. package/cdn/{media-attach-mixin-DfKkofgF.js.map → media-attach-mixin-CMH1ziXP.js.map} +1 -1
  56. package/cdn/{media-attach-mixin-Dv2D43tb.js → media-attach-mixin-DUzmXEJ3.js} +2 -2
  57. package/cdn/{media-attach-mixin-Dv2D43tb.js.map → media-attach-mixin-DUzmXEJ3.js.map} +1 -1
  58. package/cdn/{media-props-mixin-CNJVvHAH.js → media-props-mixin-CZLZIhGT.js} +100 -9
  59. package/cdn/media-props-mixin-CZLZIhGT.js.map +1 -0
  60. package/cdn/media-props-mixin-DrjlZybt.js +47 -0
  61. package/cdn/media-props-mixin-DrjlZybt.js.map +1 -0
  62. package/cdn/{minimal-BUUGNZK7.js → minimal-D9Dw-L2P.js} +1 -1
  63. package/cdn/{minimal-BUUGNZK7.js.map → minimal-D9Dw-L2P.js.map} +1 -1
  64. package/cdn/{minimal-CJGOJ6pE.js → minimal-Dc5nNl_-.js} +1 -1
  65. package/cdn/{minimal-CJGOJ6pE.js.map → minimal-Dc5nNl_-.js.map} +1 -1
  66. package/cdn/mux-CBXn2z5k.js +3102 -0
  67. package/cdn/mux-CBXn2z5k.js.map +1 -0
  68. package/cdn/mux-DmGzBNIq.js +25 -0
  69. package/cdn/mux-DmGzBNIq.js.map +1 -0
  70. package/cdn/{native-hls-CPgjPTAQ.js → native-hls-BCOLtRUl.js} +2 -3
  71. package/cdn/{native-hls-CPgjPTAQ.js.map → native-hls-BCOLtRUl.js.map} +1 -1
  72. package/cdn/native-hls-BU8--1Kg.js +2 -0
  73. package/cdn/{native-hls-Db2TurPW.js.map → native-hls-BU8--1Kg.js.map} +1 -1
  74. package/cdn/player-DAmuLGE1.js +2 -0
  75. package/cdn/{player-DlGhe0FD.js.map → player-DAmuLGE1.js.map} +1 -1
  76. package/cdn/{player-XArb4DyB.js → player-Dbl1MUJ2.js} +3 -3
  77. package/cdn/{player-XArb4DyB.js.map → player-Dbl1MUJ2.js.map} +1 -1
  78. package/cdn/poster-B9COb7AR.js +2 -0
  79. package/cdn/poster-B9COb7AR.js.map +1 -0
  80. package/cdn/poster-qAhnKWea.js +480 -0
  81. package/cdn/poster-qAhnKWea.js.map +1 -0
  82. package/cdn/{skin-element-Dk_f7DE8.js → skin-element-DbmY-ske.js} +2 -2
  83. package/cdn/{skin-element-Dk_f7DE8.js.map → skin-element-DbmY-ske.js.map} +1 -1
  84. package/cdn/{skin-element-D40glySA.js → skin-element-ih3VrnYx.js} +2 -2
  85. package/cdn/{skin-element-D40glySA.js.map → skin-element-ih3VrnYx.js.map} +1 -1
  86. package/cdn/video-minimal-ui.dev.js +4 -5
  87. package/cdn/video-minimal-ui.js +1 -1
  88. package/cdn/video-minimal.dev.js +7 -8
  89. package/cdn/video-minimal.dev.js.map +1 -1
  90. package/cdn/video-minimal.js +1 -1
  91. package/cdn/video-minimal.js.map +1 -1
  92. package/cdn/video-ui.dev.js +5 -5
  93. package/cdn/video-ui.js +1 -1
  94. package/cdn/video.dev.js +26 -7
  95. package/cdn/video.dev.js.map +1 -1
  96. package/cdn/video.js +1 -1
  97. package/cdn/video.js.map +1 -1
  98. package/cdn/volume-slider-BbIc1N4U.js +8 -0
  99. package/cdn/volume-slider-BbIc1N4U.js.map +1 -0
  100. package/cdn/{volume-slider-CxGbFVVX.js → volume-slider-C6ek7oC9.js} +1855 -386
  101. package/cdn/volume-slider-C6ek7oC9.js.map +1 -0
  102. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  103. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  104. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  105. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  106. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  107. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  108. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  109. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  110. package/dist/default/define/audio/minimal-skin.css +23 -0
  111. package/dist/default/define/audio/skin.css +23 -0
  112. package/dist/default/define/audio/skin.js +1 -1
  113. package/dist/default/define/audio/skin.js.map +1 -1
  114. package/dist/default/define/audio/ui.js +1 -0
  115. package/dist/default/define/background/skin.js +1 -1
  116. package/dist/default/define/media/mux-audio.js +13 -0
  117. package/dist/default/define/media/mux-audio.js.map +1 -0
  118. package/dist/default/define/skin-element.js +1 -1
  119. package/dist/default/define/ui/hotkey.js +7 -0
  120. package/dist/default/define/ui/hotkey.js.map +1 -0
  121. package/dist/default/define/ui/slider.js +1 -1
  122. package/dist/default/define/ui/time-slider.js +1 -1
  123. package/dist/default/define/ui/volume-slider.js +1 -1
  124. package/dist/default/define/video/minimal-skin.css +23 -0
  125. package/dist/default/define/video/skin.css +23 -0
  126. package/dist/default/define/video/skin.js +1 -1
  127. package/dist/default/define/video/skin.js.map +1 -1
  128. package/dist/default/define/video/ui.js +1 -0
  129. package/dist/default/index.js +5 -1
  130. package/dist/default/media/container-element.js +16 -0
  131. package/dist/default/media/container-element.js.map +1 -1
  132. package/dist/default/media/mux-audio/index.js +18 -0
  133. package/dist/default/media/mux-audio/index.js.map +1 -0
  134. package/dist/default/player/context.js.map +1 -1
  135. package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -0
  136. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  137. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -0
  138. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  139. package/dist/default/ui/captions-button/captions-button-element.js +1 -0
  140. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  141. package/dist/default/ui/error-dialog/error-dialog-element.js +1 -0
  142. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -1
  143. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -0
  144. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  145. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  146. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  147. package/dist/default/ui/hotkey/hotkey-element.js +81 -0
  148. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
  149. package/dist/default/ui/media-button-element.js +9 -1
  150. package/dist/default/ui/media-button-element.js.map +1 -1
  151. package/dist/default/ui/mute-button/mute-button-element.js +1 -0
  152. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  153. package/dist/default/ui/pip-button/pip-button-element.js +1 -0
  154. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  155. package/dist/default/ui/play-button/play-button-element.js +1 -0
  156. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  157. package/dist/default/ui/popover/popover-element.js +7 -55
  158. package/dist/default/ui/popover/popover-element.js.map +1 -1
  159. package/dist/default/ui/position-controller.js +76 -0
  160. package/dist/default/ui/position-controller.js.map +1 -0
  161. package/dist/default/ui/slider/slider-element.js +1 -1
  162. package/dist/default/ui/slider/slider-preview-element.js +1 -1
  163. package/dist/default/ui/time-slider/time-slider-element.js +5 -5
  164. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  165. package/dist/default/ui/tooltip/tooltip-element.js +8 -54
  166. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  167. package/dist/default/ui/volume-slider/volume-slider-element.js +1 -1
  168. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  169. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  170. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  171. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  172. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  173. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  174. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  175. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  176. package/dist/dev/define/audio/minimal-skin.css +23 -0
  177. package/dist/dev/define/audio/skin.css +23 -0
  178. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  179. package/dist/dev/define/audio/skin.js +16 -0
  180. package/dist/dev/define/audio/skin.js.map +1 -1
  181. package/dist/dev/define/audio/ui.js +1 -0
  182. package/dist/dev/define/background/skin.js +1 -1
  183. package/dist/dev/define/media/mux-audio.d.ts +14 -0
  184. package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
  185. package/dist/dev/define/media/mux-audio.js +13 -0
  186. package/dist/dev/define/media/mux-audio.js.map +1 -0
  187. package/dist/dev/define/skin-element.d.ts +1 -1
  188. package/dist/dev/define/skin-element.js +1 -1
  189. package/dist/dev/define/ui/hotkey.d.ts +9 -0
  190. package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
  191. package/dist/dev/define/ui/hotkey.js +7 -0
  192. package/dist/dev/define/ui/hotkey.js.map +1 -0
  193. package/dist/dev/define/ui/slider.js +1 -1
  194. package/dist/dev/define/ui/time-slider.js +1 -1
  195. package/dist/dev/define/ui/volume-slider.js +1 -1
  196. package/dist/dev/define/video/minimal-skin.css +23 -0
  197. package/dist/dev/define/video/skin.css +23 -0
  198. package/dist/dev/define/video/skin.d.ts.map +1 -1
  199. package/dist/dev/define/video/skin.js +19 -0
  200. package/dist/dev/define/video/skin.js.map +1 -1
  201. package/dist/dev/define/video/ui.js +1 -0
  202. package/dist/dev/index.d.ts +6 -2
  203. package/dist/dev/index.js +5 -1
  204. package/dist/dev/media/container-element.d.ts +3 -0
  205. package/dist/dev/media/container-element.d.ts.map +1 -1
  206. package/dist/dev/media/container-element.js +16 -0
  207. package/dist/dev/media/container-element.js.map +1 -1
  208. package/dist/dev/media/mux-audio/index.d.ts +11 -0
  209. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  210. package/dist/dev/media/mux-audio/index.js +18 -0
  211. package/dist/dev/media/mux-audio/index.js.map +1 -0
  212. package/dist/dev/player/context.d.ts +4 -2
  213. package/dist/dev/player/context.d.ts.map +1 -1
  214. package/dist/dev/player/context.js.map +1 -1
  215. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  216. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -0
  217. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  218. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  219. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -0
  220. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  221. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  222. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  223. package/dist/dev/ui/captions-button/captions-button-element.js +1 -0
  224. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  225. package/dist/dev/ui/context-part-element.d.ts +1 -1
  226. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -1
  227. package/dist/dev/ui/error-dialog/error-dialog-element.js +1 -0
  228. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -1
  229. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
  230. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  231. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -0
  232. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  233. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
  234. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
  235. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  236. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  237. package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
  238. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
  239. package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
  240. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
  241. package/dist/dev/ui/media-button-element.d.ts +2 -0
  242. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  243. package/dist/dev/ui/media-button-element.js +9 -1
  244. package/dist/dev/ui/media-button-element.js.map +1 -1
  245. package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
  246. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  247. package/dist/dev/ui/mute-button/mute-button-element.js +1 -0
  248. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  249. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
  250. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  251. package/dist/dev/ui/pip-button/pip-button-element.js +1 -0
  252. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  253. package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
  254. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  255. package/dist/dev/ui/play-button/play-button-element.js +1 -0
  256. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  257. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  258. package/dist/dev/ui/popover/popover-element.js +7 -55
  259. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  260. package/dist/dev/ui/position-controller.js +76 -0
  261. package/dist/dev/ui/position-controller.js.map +1 -0
  262. package/dist/dev/ui/slider/slider-element.js +1 -1
  263. package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
  264. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
  265. package/dist/dev/ui/slider/slider-preview-element.js +1 -1
  266. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  267. package/dist/dev/ui/time-slider/time-slider-element.js +5 -5
  268. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  269. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  270. package/dist/dev/ui/tooltip/tooltip-element.js +8 -54
  271. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  272. package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -1
  273. package/package.json +8 -8
  274. package/cdn/context-BjrbhiSk.js.map +0 -1
  275. package/cdn/context-CdkhXQEw.js +0 -14
  276. package/cdn/context-CdkhXQEw.js.map +0 -1
  277. package/cdn/create-player-Cz5Y4DmL.js.map +0 -1
  278. package/cdn/create-player-DSGjDLpM.js +0 -7
  279. package/cdn/create-player-DSGjDLpM.js.map +0 -1
  280. package/cdn/delegate-B626t_Va.js +0 -2
  281. package/cdn/delegate-B626t_Va.js.map +0 -1
  282. package/cdn/delegate-BCw-LjP_.js +0 -56
  283. package/cdn/delegate-BCw-LjP_.js.map +0 -1
  284. package/cdn/hls-A02jAc_G.js.map +0 -1
  285. package/cdn/hls-DwNUcXDb.js.map +0 -1
  286. package/cdn/media-props-mixin-CNJVvHAH.js.map +0 -1
  287. package/cdn/media-props-mixin-CmboksUe.js +0 -47
  288. package/cdn/media-props-mixin-CmboksUe.js.map +0 -1
  289. package/cdn/native-hls-Db2TurPW.js +0 -2
  290. package/cdn/player-DlGhe0FD.js +0 -2
  291. package/cdn/poster-BUuGv2Va.js +0 -215
  292. package/cdn/poster-BUuGv2Va.js.map +0 -1
  293. package/cdn/poster-Crn2YX3_.js +0 -2
  294. package/cdn/poster-Crn2YX3_.js.map +0 -1
  295. package/cdn/volume-slider-BSbnD5gg.js +0 -8
  296. package/cdn/volume-slider-BSbnD5gg.js.map +0 -1
  297. package/cdn/volume-slider-CxGbFVVX.js.map +0 -1
  298. /package/cdn/{minimal-ui-BL9eBXck.js → minimal-ui-DXFwjywa.js} +0 -0
  299. /package/cdn/{minimal-ui-a1UOKF79.js → minimal-ui-jrmrxIOn.js} +0 -0
  300. /package/cdn/{ui-CFIgmrlA.js → ui-18UYtw8D.js} +0 -0
  301. /package/cdn/{ui-Ccp_LyCf.js → ui-8HVY3XSt.js} +0 -0
@@ -0,0 +1,154 @@
1
+ import { a as createHotkey, c as selectPiP, d as selectTextTrack, f as selectTime, l as selectPlayback, p as selectVolume, s as selectFullscreen, u as selectPlaybackRate } from "./volume-slider-C6ek7oC9.js";
2
+ import { a as MediaElement, k as isUndefined, n as PlayerController, s as ContextConsumer } from "./create-player-DckZq-sE.js";
3
+ import { o as safeDefine, r as playerContext, t as containerContext } from "./context-CvJ83xGk.js";
4
+
5
+ //#region ../core/dist/dev/dom/hotkey/actions.js
6
+ function isHotkeyToggleAction(action) {
7
+ return action.startsWith("toggle");
8
+ }
9
+ const HOTKEY_ACTIONS = {
10
+ togglePaused({ store }) {
11
+ const playback = selectPlayback(store.state);
12
+ if (!playback) return;
13
+ playback.paused ? playback.play() : playback.pause();
14
+ },
15
+ toggleMuted({ store }) {
16
+ selectVolume(store.state)?.toggleMuted();
17
+ },
18
+ toggleFullscreen({ store }) {
19
+ const fs = selectFullscreen(store.state);
20
+ if (!fs) return;
21
+ fs.fullscreen ? fs.exitFullscreen() : fs.requestFullscreen();
22
+ },
23
+ toggleSubtitles({ store }) {
24
+ selectTextTrack(store.state)?.toggleSubtitles();
25
+ },
26
+ togglePiP({ store }) {
27
+ const pip = selectPiP(store.state);
28
+ if (!pip) return;
29
+ pip.pip ? pip.exitPictureInPicture() : pip.requestPictureInPicture();
30
+ },
31
+ seekStep({ store, value }) {
32
+ if (isUndefined(value)) return;
33
+ const time = selectTime(store.state);
34
+ if (!time) return;
35
+ time.seek(time.currentTime + value);
36
+ },
37
+ volumeStep({ store, value }) {
38
+ if (isUndefined(value)) return;
39
+ const vol = selectVolume(store.state);
40
+ if (!vol) return;
41
+ vol.setVolume(vol.volume + value);
42
+ },
43
+ speedUp({ store }) {
44
+ const rate = selectPlaybackRate(store.state);
45
+ if (!rate) return;
46
+ const { playbackRates, playbackRate } = rate;
47
+ const idx = playbackRates.indexOf(playbackRate);
48
+ const next = idx < 0 || idx >= playbackRates.length - 1 ? 0 : idx + 1;
49
+ rate.setPlaybackRate(playbackRates[next]);
50
+ },
51
+ speedDown({ store }) {
52
+ const rate = selectPlaybackRate(store.state);
53
+ if (!rate) return;
54
+ const { playbackRates, playbackRate } = rate;
55
+ const idx = playbackRates.indexOf(playbackRate);
56
+ const next = idx <= 0 ? playbackRates.length - 1 : idx - 1;
57
+ rate.setPlaybackRate(playbackRates[next]);
58
+ },
59
+ seekToPercent({ store, value, key }) {
60
+ const time = selectTime(store.state);
61
+ if (!time || time.duration <= 0) return;
62
+ let percent;
63
+ if (!isUndefined(value)) percent = value;
64
+ else if (key >= "0" && key <= "9") percent = Number(key) * 10;
65
+ else return;
66
+ time.seek(percent / 100 * time.duration);
67
+ }
68
+ };
69
+ function resolveHotkeyAction(name) {
70
+ const resolver = HOTKEY_ACTIONS[name];
71
+ if (!resolver) console.warn(`[vjs-hotkey] Unknown action: "${name}"`);
72
+ return resolver;
73
+ }
74
+
75
+ //#endregion
76
+ //#region src/ui/hotkey/hotkey-element.ts
77
+ var HotkeyElement = class extends MediaElement {
78
+ constructor(..._args) {
79
+ super(..._args);
80
+ this.keys = "";
81
+ this.action = "";
82
+ this.value = void 0;
83
+ this.disabled = false;
84
+ this.target = "player";
85
+ }
86
+ static {
87
+ this.tagName = "media-hotkey";
88
+ }
89
+ static {
90
+ this.properties = {
91
+ keys: { type: String },
92
+ action: { type: String },
93
+ value: { type: Number },
94
+ disabled: { type: Boolean },
95
+ target: { type: String }
96
+ };
97
+ }
98
+ #player = new PlayerController(this, playerContext);
99
+ #container = new ContextConsumer(this, {
100
+ context: containerContext,
101
+ callback: () => this.requestUpdate(),
102
+ subscribe: true
103
+ });
104
+ #cleanup = null;
105
+ connectedCallback() {
106
+ super.connectedCallback();
107
+ this.style.display = "none";
108
+ this.#register();
109
+ }
110
+ disconnectedCallback() {
111
+ super.disconnectedCallback();
112
+ this.#unregister();
113
+ }
114
+ update(changed) {
115
+ super.update(changed);
116
+ if (this.isConnected) {
117
+ this.#unregister();
118
+ this.#register();
119
+ }
120
+ }
121
+ #register() {
122
+ const store = this.#player.value;
123
+ const container = this.#container.value?.container;
124
+ if (!this.keys || !this.action || !store || !container) return;
125
+ const resolver = resolveHotkeyAction(this.action);
126
+ if (!resolver) return;
127
+ const { value, action } = this;
128
+ this.#cleanup = createHotkey(container, {
129
+ keys: this.keys,
130
+ action,
131
+ target: this.target,
132
+ disabled: this.disabled,
133
+ repeatable: !isHotkeyToggleAction(action),
134
+ onActivate: (_event, key) => {
135
+ resolver({
136
+ store,
137
+ key,
138
+ value
139
+ });
140
+ }
141
+ });
142
+ }
143
+ #unregister() {
144
+ this.#cleanup?.();
145
+ this.#cleanup = null;
146
+ }
147
+ };
148
+
149
+ //#endregion
150
+ //#region src/define/ui/hotkey.ts
151
+ safeDefine(HotkeyElement);
152
+
153
+ //#endregion
154
+ //# sourceMappingURL=hotkey-B7OaweHa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hotkey-B7OaweHa.js","names":["#player","#container","#register","#unregister","#cleanup"],"sources":["../../core/dist/dev/dom/hotkey/actions.js","../src/ui/hotkey/hotkey-element.ts","../src/define/ui/hotkey.ts"],"sourcesContent":["import { selectFullscreen, selectPiP, selectPlayback, selectPlaybackRate, selectTextTrack, selectTime, selectVolume } from \"../store/selectors.js\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/dom/hotkey/actions.ts\nfunction isHotkeyToggleAction(action) {\n\treturn action.startsWith(\"toggle\");\n}\nconst HOTKEY_ACTIONS = {\n\ttogglePaused({ store }) {\n\t\tconst playback = selectPlayback(store.state);\n\t\tif (!playback) return;\n\t\tplayback.paused ? playback.play() : playback.pause();\n\t},\n\ttoggleMuted({ store }) {\n\t\tselectVolume(store.state)?.toggleMuted();\n\t},\n\ttoggleFullscreen({ store }) {\n\t\tconst fs = selectFullscreen(store.state);\n\t\tif (!fs) return;\n\t\tfs.fullscreen ? fs.exitFullscreen() : fs.requestFullscreen();\n\t},\n\ttoggleSubtitles({ store }) {\n\t\tselectTextTrack(store.state)?.toggleSubtitles();\n\t},\n\ttogglePiP({ store }) {\n\t\tconst pip = selectPiP(store.state);\n\t\tif (!pip) return;\n\t\tpip.pip ? pip.exitPictureInPicture() : pip.requestPictureInPicture();\n\t},\n\tseekStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst time = selectTime(store.state);\n\t\tif (!time) return;\n\t\ttime.seek(time.currentTime + value);\n\t},\n\tvolumeStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst vol = selectVolume(store.state);\n\t\tif (!vol) return;\n\t\tvol.setVolume(vol.volume + value);\n\t},\n\tspeedUp({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx < 0 || idx >= playbackRates.length - 1 ? 0 : idx + 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tspeedDown({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx <= 0 ? playbackRates.length - 1 : idx - 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tseekToPercent({ store, value, key }) {\n\t\tconst time = selectTime(store.state);\n\t\tif (!time || time.duration <= 0) return;\n\t\tlet percent;\n\t\tif (!isUndefined(value)) percent = value;\n\t\telse if (key >= \"0\" && key <= \"9\") percent = Number(key) * 10;\n\t\telse return;\n\t\ttime.seek(percent / 100 * time.duration);\n\t}\n};\nfunction resolveHotkeyAction(name) {\n\tconst resolver = HOTKEY_ACTIONS[name];\n\tif (!resolver) console.warn(`[vjs-hotkey] Unknown action: \"${name}\"`);\n\treturn resolver;\n}\n//#endregion\nexport { isHotkeyToggleAction, resolveHotkeyAction };\n\n//# sourceMappingURL=actions.js.map","import { createHotkey, type HotkeyActionName, isHotkeyToggleAction, resolveHotkeyAction } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { containerContext, playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class HotkeyElement extends MediaElement {\n static readonly tagName = 'media-hotkey';\n\n static override properties: PropertyDeclarationMap = {\n keys: { type: String },\n action: { type: String },\n value: { type: Number },\n disabled: { type: Boolean },\n target: { type: String },\n };\n\n keys = '';\n action: HotkeyActionName | (string & {}) = '';\n value: number | undefined = undefined;\n disabled = false;\n target: 'player' | 'document' = 'player';\n\n readonly #player = new PlayerController(this, playerContext);\n readonly #container = new ContextConsumer(this, {\n context: containerContext,\n callback: () => this.requestUpdate(),\n subscribe: true,\n });\n #cleanup: (() => void) | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.style.display = 'none';\n this.#register();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#unregister();\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n // Re-register when attributes change.\n if (this.isConnected) {\n this.#unregister();\n this.#register();\n }\n }\n\n #register(): void {\n const store = this.#player.value;\n const container = this.#container.value?.container;\n if (!this.keys || !this.action || !store || !container) return;\n\n const resolver = resolveHotkeyAction(this.action);\n if (!resolver) return;\n\n const { value, action } = this;\n\n this.#cleanup = createHotkey(container, {\n keys: this.keys,\n action,\n target: this.target,\n disabled: this.disabled,\n repeatable: !isHotkeyToggleAction(action),\n onActivate: (_event, key) => {\n resolver({ store, key, value });\n },\n });\n }\n\n #unregister(): void {\n this.#cleanup?.();\n this.#cleanup = null;\n }\n}\n","import { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(HotkeyElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [HotkeyElement.tagName]: HotkeyElement;\n }\n}\n"],"mappings":";;;;;AAGA,SAAS,qBAAqB,QAAQ;AACrC,QAAO,OAAO,WAAW,SAAS;;AAEnC,MAAM,iBAAiB;CACtB,aAAa,EAAE,SAAS;EACvB,MAAM,WAAW,eAAe,MAAM,MAAM;AAC5C,MAAI,CAAC,SAAU;AACf,WAAS,SAAS,SAAS,MAAM,GAAG,SAAS,OAAO;;CAErD,YAAY,EAAE,SAAS;AACtB,eAAa,MAAM,MAAM,EAAE,aAAa;;CAEzC,iBAAiB,EAAE,SAAS;EAC3B,MAAM,KAAK,iBAAiB,MAAM,MAAM;AACxC,MAAI,CAAC,GAAI;AACT,KAAG,aAAa,GAAG,gBAAgB,GAAG,GAAG,mBAAmB;;CAE7D,gBAAgB,EAAE,SAAS;AAC1B,kBAAgB,MAAM,MAAM,EAAE,iBAAiB;;CAEhD,UAAU,EAAE,SAAS;EACpB,MAAM,MAAM,UAAU,MAAM,MAAM;AAClC,MAAI,CAAC,IAAK;AACV,MAAI,MAAM,IAAI,sBAAsB,GAAG,IAAI,yBAAyB;;CAErE,SAAS,EAAE,OAAO,SAAS;AAC1B,MAAI,YAAY,MAAM,CAAE;EACxB,MAAM,OAAO,WAAW,MAAM,MAAM;AACpC,MAAI,CAAC,KAAM;AACX,OAAK,KAAK,KAAK,cAAc,MAAM;;CAEpC,WAAW,EAAE,OAAO,SAAS;AAC5B,MAAI,YAAY,MAAM,CAAE;EACxB,MAAM,MAAM,aAAa,MAAM,MAAM;AACrC,MAAI,CAAC,IAAK;AACV,MAAI,UAAU,IAAI,SAAS,MAAM;;CAElC,QAAQ,EAAE,SAAS;EAClB,MAAM,OAAO,mBAAmB,MAAM,MAAM;AAC5C,MAAI,CAAC,KAAM;EACX,MAAM,EAAE,eAAe,iBAAiB;EACxC,MAAM,MAAM,cAAc,QAAQ,aAAa;EAC/C,MAAM,OAAO,MAAM,KAAK,OAAO,cAAc,SAAS,IAAI,IAAI,MAAM;AACpE,OAAK,gBAAgB,cAAc,MAAM;;CAE1C,UAAU,EAAE,SAAS;EACpB,MAAM,OAAO,mBAAmB,MAAM,MAAM;AAC5C,MAAI,CAAC,KAAM;EACX,MAAM,EAAE,eAAe,iBAAiB;EACxC,MAAM,MAAM,cAAc,QAAQ,aAAa;EAC/C,MAAM,OAAO,OAAO,IAAI,cAAc,SAAS,IAAI,MAAM;AACzD,OAAK,gBAAgB,cAAc,MAAM;;CAE1C,cAAc,EAAE,OAAO,OAAO,OAAO;EACpC,MAAM,OAAO,WAAW,MAAM,MAAM;AACpC,MAAI,CAAC,QAAQ,KAAK,YAAY,EAAG;EACjC,IAAI;AACJ,MAAI,CAAC,YAAY,MAAM,CAAE,WAAU;WAC1B,OAAO,OAAO,OAAO,IAAK,WAAU,OAAO,IAAI,GAAG;MACtD;AACL,OAAK,KAAK,UAAU,MAAM,KAAK,SAAS;;CAEzC;AACD,SAAS,oBAAoB,MAAM;CAClC,MAAM,WAAW,eAAe;AAChC,KAAI,CAAC,SAAU,SAAQ,KAAK,iCAAiC,KAAK,GAAG;AACrE,QAAO;;;;;AC7DR,IAAa,gBAAb,cAAmC,aAAa;;;cAWvC;gBACoC;eACf;kBACjB;gBACqB;;;iBAdN;;;oBAE2B;GACnD,MAAM,EAAE,MAAM,QAAQ;GACtB,QAAQ,EAAE,MAAM,QAAQ;GACxB,OAAO,EAAE,MAAM,QAAQ;GACvB,UAAU,EAAE,MAAM,SAAS;GAC3B,QAAQ,EAAE,MAAM,QAAQ;GACzB;;CAQD,CAASA,SAAU,IAAI,iBAAiB,MAAM,cAAc;CAC5D,CAASC,YAAa,IAAI,gBAAgB,MAAM;EAC9C,SAAS;EACT,gBAAgB,KAAK,eAAe;EACpC,WAAW;EACZ,CAAC;CACF,WAAgC;CAEhC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AACzB,OAAK,MAAM,UAAU;AACrB,QAAKC,UAAW;;CAGlB,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKC,YAAa;;CAGpB,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;AAGrB,MAAI,KAAK,aAAa;AACpB,SAAKA,YAAa;AAClB,SAAKD,UAAW;;;CAIpB,YAAkB;EAChB,MAAM,QAAQ,MAAKF,OAAQ;EAC3B,MAAM,YAAY,MAAKC,UAAW,OAAO;AACzC,MAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,UAAW;EAExD,MAAM,WAAW,oBAAoB,KAAK,OAAO;AACjD,MAAI,CAAC,SAAU;EAEf,MAAM,EAAE,OAAO,WAAW;AAE1B,QAAKG,UAAW,aAAa,WAAW;GACtC,MAAM,KAAK;GACX;GACA,QAAQ,KAAK;GACb,UAAU,KAAK;GACf,YAAY,CAAC,qBAAqB,OAAO;GACzC,aAAa,QAAQ,QAAQ;AAC3B,aAAS;KAAE;KAAO;KAAK;KAAO,CAAC;;GAElC,CAAC;;CAGJ,cAAoB;AAClB,QAAKA,WAAY;AACjB,QAAKA,UAAW;;;;;;AC3EpB,WAAW,cAAc"}
@@ -0,0 +1,2 @@
1
+ import{c as e,d as t,f as n,i as r,l as i,o as a,s as o,u as s}from"./volume-slider-BbIc1N4U.js";import{a as c,k as l,n as u,s as d}from"./create-player-B_oNyyb5.js";import{o as f,r as p,t as m}from"./context-C-IpVHEt.js";function h(e){return e.startsWith(`toggle`)}const g={togglePaused({store:t}){let n=e(t.state);n&&(n.paused?n.play():n.pause())},toggleMuted({store:e}){n(e.state)?.toggleMuted()},toggleFullscreen({store:e}){let t=a(e.state);t&&(t.fullscreen?t.exitFullscreen():t.requestFullscreen())},toggleSubtitles({store:e}){s(e.state)?.toggleSubtitles()},togglePiP({store:e}){let t=o(e.state);t&&(t.pip?t.exitPictureInPicture():t.requestPictureInPicture())},seekStep({store:e,value:n}){if(l(n))return;let r=t(e.state);r&&r.seek(r.currentTime+n)},volumeStep({store:e,value:t}){if(l(t))return;let r=n(e.state);r&&r.setVolume(r.volume+t)},speedUp({store:e}){let t=i(e.state);if(!t)return;let{playbackRates:n,playbackRate:r}=t,a=n.indexOf(r),o=a<0||a>=n.length-1?0:a+1;t.setPlaybackRate(n[o])},speedDown({store:e}){let t=i(e.state);if(!t)return;let{playbackRates:n,playbackRate:r}=t,a=n.indexOf(r),o=a<=0?n.length-1:a-1;t.setPlaybackRate(n[o])},seekToPercent({store:e,value:n,key:r}){let i=t(e.state);if(!i||i.duration<=0)return;let a;if(!l(n))a=n;else if(r>=`0`&&r<=`9`)a=Number(r)*10;else return;i.seek(a/100*i.duration)}};function _(e){return g[e]}f(class extends c{constructor(...e){super(...e),this.keys=``,this.action=``,this.value=void 0,this.disabled=!1,this.target=`player`}static{this.tagName=`media-hotkey`}static{this.properties={keys:{type:String},action:{type:String},value:{type:Number},disabled:{type:Boolean},target:{type:String}}}#e=new u(this,p);#t=new d(this,{context:m,callback:()=>this.requestUpdate(),subscribe:!0});#n=null;connectedCallback(){super.connectedCallback(),this.style.display=`none`,this.#r()}disconnectedCallback(){super.disconnectedCallback(),this.#i()}update(e){super.update(e),this.isConnected&&(this.#i(),this.#r())}#r(){let e=this.#e.value,t=this.#t.value?.container;if(!this.keys||!this.action||!e||!t)return;let n=_(this.action);if(!n)return;let{value:i,action:a}=this;this.#n=r(t,{keys:this.keys,action:a,target:this.target,disabled:this.disabled,repeatable:!h(a),onActivate:(t,r)=>{n({store:e,key:r,value:i})}})}#i(){this.#n?.(),this.#n=null}});
2
+ //# sourceMappingURL=hotkey-BLEt77Z0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hotkey-BLEt77Z0.js","names":["#player","#container","ContextConsumer","#register","#unregister","#cleanup"],"sources":["../../core/dist/default/dom/hotkey/actions.js","../src/ui/hotkey/hotkey-element.ts","../src/define/ui/hotkey.ts"],"sourcesContent":["import { selectFullscreen, selectPiP, selectPlayback, selectPlaybackRate, selectTextTrack, selectTime, selectVolume } from \"../store/selectors.js\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/dom/hotkey/actions.ts\nfunction isHotkeyToggleAction(action) {\n\treturn action.startsWith(\"toggle\");\n}\nconst HOTKEY_ACTIONS = {\n\ttogglePaused({ store }) {\n\t\tconst playback = selectPlayback(store.state);\n\t\tif (!playback) return;\n\t\tplayback.paused ? playback.play() : playback.pause();\n\t},\n\ttoggleMuted({ store }) {\n\t\tselectVolume(store.state)?.toggleMuted();\n\t},\n\ttoggleFullscreen({ store }) {\n\t\tconst fs = selectFullscreen(store.state);\n\t\tif (!fs) return;\n\t\tfs.fullscreen ? fs.exitFullscreen() : fs.requestFullscreen();\n\t},\n\ttoggleSubtitles({ store }) {\n\t\tselectTextTrack(store.state)?.toggleSubtitles();\n\t},\n\ttogglePiP({ store }) {\n\t\tconst pip = selectPiP(store.state);\n\t\tif (!pip) return;\n\t\tpip.pip ? pip.exitPictureInPicture() : pip.requestPictureInPicture();\n\t},\n\tseekStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst time = selectTime(store.state);\n\t\tif (!time) return;\n\t\ttime.seek(time.currentTime + value);\n\t},\n\tvolumeStep({ store, value }) {\n\t\tif (isUndefined(value)) return;\n\t\tconst vol = selectVolume(store.state);\n\t\tif (!vol) return;\n\t\tvol.setVolume(vol.volume + value);\n\t},\n\tspeedUp({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx < 0 || idx >= playbackRates.length - 1 ? 0 : idx + 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tspeedDown({ store }) {\n\t\tconst rate = selectPlaybackRate(store.state);\n\t\tif (!rate) return;\n\t\tconst { playbackRates, playbackRate } = rate;\n\t\tconst idx = playbackRates.indexOf(playbackRate);\n\t\tconst next = idx <= 0 ? playbackRates.length - 1 : idx - 1;\n\t\trate.setPlaybackRate(playbackRates[next]);\n\t},\n\tseekToPercent({ store, value, key }) {\n\t\tconst time = selectTime(store.state);\n\t\tif (!time || time.duration <= 0) return;\n\t\tlet percent;\n\t\tif (!isUndefined(value)) percent = value;\n\t\telse if (key >= \"0\" && key <= \"9\") percent = Number(key) * 10;\n\t\telse return;\n\t\ttime.seek(percent / 100 * time.duration);\n\t}\n};\nfunction resolveHotkeyAction(name) {\n\treturn HOTKEY_ACTIONS[name];\n}\n//#endregion\nexport { isHotkeyToggleAction, resolveHotkeyAction };\n\n//# sourceMappingURL=actions.js.map","import { createHotkey, type HotkeyActionName, isHotkeyToggleAction, resolveHotkeyAction } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { containerContext, playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class HotkeyElement extends MediaElement {\n static readonly tagName = 'media-hotkey';\n\n static override properties: PropertyDeclarationMap = {\n keys: { type: String },\n action: { type: String },\n value: { type: Number },\n disabled: { type: Boolean },\n target: { type: String },\n };\n\n keys = '';\n action: HotkeyActionName | (string & {}) = '';\n value: number | undefined = undefined;\n disabled = false;\n target: 'player' | 'document' = 'player';\n\n readonly #player = new PlayerController(this, playerContext);\n readonly #container = new ContextConsumer(this, {\n context: containerContext,\n callback: () => this.requestUpdate(),\n subscribe: true,\n });\n #cleanup: (() => void) | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.style.display = 'none';\n this.#register();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#unregister();\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n // Re-register when attributes change.\n if (this.isConnected) {\n this.#unregister();\n this.#register();\n }\n }\n\n #register(): void {\n const store = this.#player.value;\n const container = this.#container.value?.container;\n if (!this.keys || !this.action || !store || !container) return;\n\n const resolver = resolveHotkeyAction(this.action);\n if (!resolver) return;\n\n const { value, action } = this;\n\n this.#cleanup = createHotkey(container, {\n keys: this.keys,\n action,\n target: this.target,\n disabled: this.disabled,\n repeatable: !isHotkeyToggleAction(action),\n onActivate: (_event, key) => {\n resolver({ store, key, value });\n },\n });\n }\n\n #unregister(): void {\n this.#cleanup?.();\n this.#cleanup = null;\n }\n}\n","import { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(HotkeyElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [HotkeyElement.tagName]: HotkeyElement;\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { s as safeDefine } from "../context-BjrbhiSk.js";
2
- import { t as DelegateMixin } from "../delegate-BCw-LjP_.js";
3
- import { t as MediaAttachMixin } from "../media-attach-mixin-DfKkofgF.js";
4
- import { n as CustomVideoElement, t as MediaPropsMixin } from "../media-props-mixin-CNJVvHAH.js";
1
+ import { o as safeDefine } from "../context-CvJ83xGk.js";
2
+ import { i as DelegateMixin, r as CustomVideoElement, t as MediaPropsMixin } from "../media-props-mixin-CZLZIhGT.js";
3
+ import { t as MediaAttachMixin } from "../media-attach-mixin-CMH1ziXP.js";
5
4
 
6
5
  //#region ../../node_modules/.pnpm/dashjs@5.1.1_@svta+cml-cta@1.0.1_@svta+cml-structured-field-values@1.0.1_@svta+cml-util_e62e22cdd187b69d7eef3f6641da2ae0/node_modules/dashjs/dist/modern/esm/dash.all.min.js
7
6
  /*! For license information please see dash.all.min.js.LICENSE.txt */