@mattebox/player 0.1.0 → 0.2.0

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 (410) hide show
  1. package/README.md +4 -3
  2. package/dist/cdn/mattebox-player.min.js +200 -196
  3. package/dist/compose.d.ts +5 -0
  4. package/dist/compose.d.ts.map +1 -0
  5. package/dist/compose.js +31 -0
  6. package/dist/compose.js.map +1 -0
  7. package/dist/controls/chapters.d.ts +29 -0
  8. package/dist/controls/chapters.d.ts.map +1 -0
  9. package/dist/controls/chapters.js +81 -0
  10. package/dist/controls/chapters.js.map +1 -0
  11. package/dist/controls/cues.d.ts +8 -3
  12. package/dist/controls/cues.d.ts.map +1 -1
  13. package/dist/controls/cues.js +44 -10
  14. package/dist/controls/cues.js.map +1 -1
  15. package/dist/controls/fullscreen.d.ts +9 -9
  16. package/dist/controls/fullscreen.d.ts.map +1 -1
  17. package/dist/controls/fullscreen.js +17 -21
  18. package/dist/controls/fullscreen.js.map +1 -1
  19. package/dist/controls/icons.d.ts +1 -3
  20. package/dist/controls/icons.d.ts.map +1 -1
  21. package/dist/controls/icons.js +3 -6
  22. package/dist/controls/icons.js.map +1 -1
  23. package/dist/controls/menu.d.ts +14 -11
  24. package/dist/controls/menu.d.ts.map +1 -1
  25. package/dist/controls/menu.js +39 -34
  26. package/dist/controls/menu.js.map +1 -1
  27. package/dist/controls/session.d.ts +27 -0
  28. package/dist/controls/session.d.ts.map +1 -0
  29. package/dist/controls/session.js +36 -0
  30. package/dist/controls/session.js.map +1 -0
  31. package/dist/controls/slider.d.ts +6 -6
  32. package/dist/controls/slider.d.ts.map +1 -1
  33. package/dist/controls/slider.js +18 -13
  34. package/dist/controls/slider.js.map +1 -1
  35. package/dist/dom.d.ts +4 -10
  36. package/dist/dom.d.ts.map +1 -1
  37. package/dist/dom.js +4 -24
  38. package/dist/dom.js.map +1 -1
  39. package/dist/element-entry.d.ts +4 -0
  40. package/dist/element-entry.d.ts.map +1 -0
  41. package/dist/element-entry.js +9 -0
  42. package/dist/element-entry.js.map +1 -0
  43. package/dist/element.d.ts +54 -14
  44. package/dist/element.d.ts.map +1 -1
  45. package/dist/element.js +154 -73
  46. package/dist/element.js.map +1 -1
  47. package/dist/elements/audio-menu.d.ts +24 -0
  48. package/dist/elements/audio-menu.d.ts.map +1 -0
  49. package/dist/elements/audio-menu.js +70 -0
  50. package/dist/elements/audio-menu.js.map +1 -0
  51. package/dist/elements/chapters-menu.d.ts +12 -0
  52. package/dist/elements/chapters-menu.d.ts.map +1 -0
  53. package/dist/elements/chapters-menu.js +67 -0
  54. package/dist/elements/chapters-menu.js.map +1 -0
  55. package/dist/elements/component.d.ts +45 -0
  56. package/dist/elements/component.d.ts.map +1 -0
  57. package/dist/elements/component.js +90 -0
  58. package/dist/elements/component.js.map +1 -0
  59. package/dist/elements/control-bar.d.ts +46 -0
  60. package/dist/elements/control-bar.d.ts.map +1 -0
  61. package/dist/elements/control-bar.js +207 -0
  62. package/dist/elements/control-bar.js.map +1 -0
  63. package/dist/elements/current-time.d.ts +5 -0
  64. package/dist/elements/current-time.d.ts.map +1 -0
  65. package/dist/elements/current-time.js +27 -0
  66. package/dist/elements/current-time.js.map +1 -0
  67. package/dist/elements/drm-badge.d.ts +29 -0
  68. package/dist/elements/drm-badge.d.ts.map +1 -0
  69. package/dist/elements/drm-badge.js +145 -0
  70. package/dist/elements/drm-badge.js.map +1 -0
  71. package/dist/elements/duration.d.ts +6 -0
  72. package/dist/elements/duration.d.ts.map +1 -0
  73. package/dist/elements/duration.js +23 -0
  74. package/dist/elements/duration.js.map +1 -0
  75. package/dist/elements/error-screen.d.ts +17 -0
  76. package/dist/elements/error-screen.d.ts.map +1 -0
  77. package/dist/elements/error-screen.js +103 -0
  78. package/dist/elements/error-screen.js.map +1 -0
  79. package/dist/elements/fullscreen-button.d.ts +19 -0
  80. package/dist/elements/fullscreen-button.d.ts.map +1 -0
  81. package/dist/elements/fullscreen-button.js +55 -0
  82. package/dist/elements/fullscreen-button.js.map +1 -0
  83. package/dist/elements/live-button.d.ts +12 -0
  84. package/dist/elements/live-button.d.ts.map +1 -0
  85. package/dist/elements/live-button.js +96 -0
  86. package/dist/elements/live-button.js.map +1 -0
  87. package/dist/elements/menu-element.d.ts +22 -0
  88. package/dist/elements/menu-element.d.ts.map +1 -0
  89. package/dist/elements/menu-element.js +31 -0
  90. package/dist/elements/menu-element.js.map +1 -0
  91. package/dist/elements/mute-button.d.ts +12 -0
  92. package/dist/elements/mute-button.d.ts.map +1 -0
  93. package/dist/elements/mute-button.js +61 -0
  94. package/dist/elements/mute-button.js.map +1 -0
  95. package/dist/elements/panels.d.ts +15 -0
  96. package/dist/elements/panels.d.ts.map +1 -0
  97. package/dist/elements/panels.js +55 -0
  98. package/dist/elements/panels.js.map +1 -0
  99. package/dist/elements/pip-button.d.ts +13 -0
  100. package/dist/elements/pip-button.d.ts.map +1 -0
  101. package/dist/elements/pip-button.js +56 -0
  102. package/dist/elements/pip-button.js.map +1 -0
  103. package/dist/elements/play-button.d.ts +12 -0
  104. package/dist/elements/play-button.d.ts.map +1 -0
  105. package/dist/elements/play-button.js +60 -0
  106. package/dist/elements/play-button.js.map +1 -0
  107. package/dist/elements/quality-menu.d.ts +11 -0
  108. package/dist/elements/quality-menu.d.ts.map +1 -0
  109. package/dist/elements/quality-menu.js +72 -0
  110. package/dist/elements/quality-menu.js.map +1 -0
  111. package/dist/elements/seek-bar.d.ts +83 -0
  112. package/dist/elements/seek-bar.d.ts.map +1 -0
  113. package/dist/elements/seek-bar.js +352 -0
  114. package/dist/elements/seek-bar.js.map +1 -0
  115. package/dist/elements/shared.d.ts +27 -0
  116. package/dist/elements/shared.d.ts.map +1 -0
  117. package/dist/elements/shared.js +155 -0
  118. package/dist/elements/shared.js.map +1 -0
  119. package/dist/elements/skip-button.d.ts +14 -0
  120. package/dist/elements/skip-button.d.ts.map +1 -0
  121. package/dist/elements/skip-button.js +60 -0
  122. package/dist/elements/skip-button.js.map +1 -0
  123. package/dist/elements/spacer.d.ts +4 -0
  124. package/dist/elements/spacer.d.ts.map +1 -0
  125. package/dist/elements/spacer.js +9 -0
  126. package/dist/elements/spacer.js.map +1 -0
  127. package/dist/elements/speed-menu.d.ts +18 -0
  128. package/dist/elements/speed-menu.d.ts.map +1 -0
  129. package/dist/elements/speed-menu.js +56 -0
  130. package/dist/elements/speed-menu.js.map +1 -0
  131. package/dist/elements/start-button.d.ts +13 -0
  132. package/dist/elements/start-button.d.ts.map +1 -0
  133. package/dist/elements/start-button.js +83 -0
  134. package/dist/elements/start-button.js.map +1 -0
  135. package/dist/elements/subtitles-menu.d.ts +17 -0
  136. package/dist/elements/subtitles-menu.d.ts.map +1 -0
  137. package/dist/elements/subtitles-menu.js +108 -0
  138. package/dist/elements/subtitles-menu.js.map +1 -0
  139. package/dist/elements/time-element.d.ts +14 -0
  140. package/dist/elements/time-element.d.ts.map +1 -0
  141. package/dist/elements/time-element.js +29 -0
  142. package/dist/elements/time-element.js.map +1 -0
  143. package/dist/elements/volume-slider.d.ts +10 -0
  144. package/dist/elements/volume-slider.d.ts.map +1 -0
  145. package/dist/elements/volume-slider.js +46 -0
  146. package/dist/elements/volume-slider.js.map +1 -0
  147. package/dist/elements/volume.d.ts +9 -0
  148. package/dist/elements/volume.d.ts.map +1 -0
  149. package/dist/elements/volume.js +50 -0
  150. package/dist/elements/volume.js.map +1 -0
  151. package/dist/entries/audio-menu.d.ts +5 -0
  152. package/dist/entries/audio-menu.d.ts.map +1 -0
  153. package/dist/entries/audio-menu.js +8 -0
  154. package/dist/entries/audio-menu.js.map +1 -0
  155. package/dist/entries/chapters-menu.d.ts +5 -0
  156. package/dist/entries/chapters-menu.d.ts.map +1 -0
  157. package/dist/entries/chapters-menu.js +9 -0
  158. package/dist/entries/chapters-menu.js.map +1 -0
  159. package/dist/entries/control-bar.d.ts +5 -0
  160. package/dist/entries/control-bar.d.ts.map +1 -0
  161. package/dist/entries/control-bar.js +8 -0
  162. package/dist/entries/control-bar.js.map +1 -0
  163. package/dist/entries/current-time.d.ts +5 -0
  164. package/dist/entries/current-time.d.ts.map +1 -0
  165. package/dist/entries/current-time.js +8 -0
  166. package/dist/entries/current-time.js.map +1 -0
  167. package/dist/entries/drm-badge.d.ts +5 -0
  168. package/dist/entries/drm-badge.d.ts.map +1 -0
  169. package/dist/entries/drm-badge.js +8 -0
  170. package/dist/entries/drm-badge.js.map +1 -0
  171. package/dist/entries/duration.d.ts +5 -0
  172. package/dist/entries/duration.d.ts.map +1 -0
  173. package/dist/entries/duration.js +8 -0
  174. package/dist/entries/duration.js.map +1 -0
  175. package/dist/entries/error-screen.d.ts +5 -0
  176. package/dist/entries/error-screen.d.ts.map +1 -0
  177. package/dist/entries/error-screen.js +8 -0
  178. package/dist/entries/error-screen.js.map +1 -0
  179. package/dist/entries/fullscreen-button.d.ts +5 -0
  180. package/dist/entries/fullscreen-button.d.ts.map +1 -0
  181. package/dist/entries/fullscreen-button.js +8 -0
  182. package/dist/entries/fullscreen-button.js.map +1 -0
  183. package/dist/entries/live-button.d.ts +5 -0
  184. package/dist/entries/live-button.d.ts.map +1 -0
  185. package/dist/entries/live-button.js +8 -0
  186. package/dist/entries/live-button.js.map +1 -0
  187. package/dist/entries/mute-button.d.ts +5 -0
  188. package/dist/entries/mute-button.d.ts.map +1 -0
  189. package/dist/entries/mute-button.js +8 -0
  190. package/dist/entries/mute-button.js.map +1 -0
  191. package/dist/entries/panels.d.ts +5 -0
  192. package/dist/entries/panels.d.ts.map +1 -0
  193. package/dist/entries/panels.js +8 -0
  194. package/dist/entries/panels.js.map +1 -0
  195. package/dist/entries/pip-button.d.ts +5 -0
  196. package/dist/entries/pip-button.d.ts.map +1 -0
  197. package/dist/entries/pip-button.js +8 -0
  198. package/dist/entries/pip-button.js.map +1 -0
  199. package/dist/entries/play-button.d.ts +5 -0
  200. package/dist/entries/play-button.d.ts.map +1 -0
  201. package/dist/entries/play-button.js +8 -0
  202. package/dist/entries/play-button.js.map +1 -0
  203. package/dist/entries/quality-menu.d.ts +5 -0
  204. package/dist/entries/quality-menu.d.ts.map +1 -0
  205. package/dist/entries/quality-menu.js +8 -0
  206. package/dist/entries/quality-menu.js.map +1 -0
  207. package/dist/entries/seek-bar.d.ts +5 -0
  208. package/dist/entries/seek-bar.d.ts.map +1 -0
  209. package/dist/entries/seek-bar.js +8 -0
  210. package/dist/entries/seek-bar.js.map +1 -0
  211. package/dist/entries/skip-button.d.ts +5 -0
  212. package/dist/entries/skip-button.d.ts.map +1 -0
  213. package/dist/entries/skip-button.js +8 -0
  214. package/dist/entries/skip-button.js.map +1 -0
  215. package/dist/entries/spacer.d.ts +5 -0
  216. package/dist/entries/spacer.d.ts.map +1 -0
  217. package/dist/entries/spacer.js +8 -0
  218. package/dist/entries/spacer.js.map +1 -0
  219. package/dist/entries/speed-menu.d.ts +5 -0
  220. package/dist/entries/speed-menu.d.ts.map +1 -0
  221. package/dist/entries/speed-menu.js +8 -0
  222. package/dist/entries/speed-menu.js.map +1 -0
  223. package/dist/entries/start-button.d.ts +5 -0
  224. package/dist/entries/start-button.d.ts.map +1 -0
  225. package/dist/entries/start-button.js +8 -0
  226. package/dist/entries/start-button.js.map +1 -0
  227. package/dist/entries/subtitles-menu.d.ts +5 -0
  228. package/dist/entries/subtitles-menu.d.ts.map +1 -0
  229. package/dist/entries/subtitles-menu.js +8 -0
  230. package/dist/entries/subtitles-menu.js.map +1 -0
  231. package/dist/entries/volume-slider.d.ts +5 -0
  232. package/dist/entries/volume-slider.d.ts.map +1 -0
  233. package/dist/entries/volume-slider.js +8 -0
  234. package/dist/entries/volume-slider.js.map +1 -0
  235. package/dist/entries/volume.d.ts +7 -0
  236. package/dist/entries/volume.d.ts.map +1 -0
  237. package/dist/entries/volume.js +10 -0
  238. package/dist/entries/volume.js.map +1 -0
  239. package/dist/es2015/compose.js +33 -0
  240. package/dist/es2015/controls/chapters.js +61 -0
  241. package/dist/es2015/controls/cues.js +39 -11
  242. package/dist/es2015/controls/fullscreen.js +25 -23
  243. package/dist/es2015/controls/icons.js +5 -9
  244. package/dist/es2015/controls/menu.js +39 -35
  245. package/dist/es2015/controls/session.js +40 -0
  246. package/dist/es2015/controls/slider.js +18 -13
  247. package/dist/es2015/controls/time.js +1 -5
  248. package/dist/es2015/dom.js +5 -25
  249. package/dist/es2015/element-entry.js +10 -0
  250. package/dist/es2015/element.js +118 -65
  251. package/dist/es2015/elements/audio-menu.js +68 -0
  252. package/dist/es2015/elements/chapters-menu.js +68 -0
  253. package/dist/es2015/elements/component.js +84 -0
  254. package/dist/es2015/elements/control-bar.js +178 -0
  255. package/dist/es2015/elements/current-time.js +27 -0
  256. package/dist/es2015/elements/drm-badge.js +138 -0
  257. package/dist/es2015/elements/duration.js +23 -0
  258. package/dist/es2015/elements/error-screen.js +97 -0
  259. package/dist/es2015/elements/fullscreen-button.js +49 -0
  260. package/dist/es2015/elements/live-button.js +97 -0
  261. package/dist/es2015/elements/menu-element.js +39 -0
  262. package/dist/es2015/elements/mute-button.js +60 -0
  263. package/dist/es2015/elements/panels.js +52 -0
  264. package/dist/es2015/elements/pip-button.js +56 -0
  265. package/dist/es2015/elements/play-button.js +68 -0
  266. package/dist/es2015/elements/quality-menu.js +68 -0
  267. package/dist/es2015/elements/seek-bar.js +314 -0
  268. package/dist/es2015/elements/shared.js +155 -0
  269. package/dist/es2015/elements/skip-button.js +59 -0
  270. package/dist/es2015/elements/spacer.js +11 -0
  271. package/dist/es2015/elements/speed-menu.js +60 -0
  272. package/dist/es2015/elements/start-button.js +87 -0
  273. package/dist/es2015/elements/subtitles-menu.js +103 -0
  274. package/dist/es2015/elements/time-element.js +38 -0
  275. package/dist/es2015/elements/volume-slider.js +47 -0
  276. package/dist/es2015/elements/volume.js +50 -0
  277. package/dist/es2015/entries/audio-menu.js +7 -0
  278. package/dist/es2015/entries/chapters-menu.js +7 -0
  279. package/dist/es2015/entries/control-bar.js +7 -0
  280. package/dist/es2015/entries/current-time.js +7 -0
  281. package/dist/es2015/entries/drm-badge.js +7 -0
  282. package/dist/es2015/entries/duration.js +7 -0
  283. package/dist/es2015/entries/error-screen.js +7 -0
  284. package/dist/es2015/entries/fullscreen-button.js +7 -0
  285. package/dist/es2015/entries/live-button.js +7 -0
  286. package/dist/es2015/entries/mute-button.js +7 -0
  287. package/dist/es2015/entries/panels.js +7 -0
  288. package/dist/es2015/entries/pip-button.js +7 -0
  289. package/dist/es2015/entries/play-button.js +7 -0
  290. package/dist/es2015/entries/quality-menu.js +7 -0
  291. package/dist/es2015/entries/seek-bar.js +7 -0
  292. package/dist/es2015/entries/skip-button.js +7 -0
  293. package/dist/es2015/entries/spacer.js +7 -0
  294. package/dist/es2015/entries/speed-menu.js +7 -0
  295. package/dist/es2015/entries/start-button.js +7 -0
  296. package/dist/es2015/entries/subtitles-menu.js +7 -0
  297. package/dist/es2015/entries/volume-slider.js +7 -0
  298. package/dist/es2015/entries/volume.js +9 -0
  299. package/dist/es2015/host.js +23 -0
  300. package/dist/es2015/index.js +46 -9
  301. package/dist/es2015/labels.js +14 -0
  302. package/dist/es2015/style.js +21 -294
  303. package/dist/es2015/{panels/error.js → surface.js} +3 -3
  304. package/dist/es2015/tags.js +27 -0
  305. package/dist/host.d.ts +26 -0
  306. package/dist/host.d.ts.map +1 -0
  307. package/dist/host.js +23 -0
  308. package/dist/host.js.map +1 -0
  309. package/dist/index.d.ts +81 -3
  310. package/dist/index.d.ts.map +1 -1
  311. package/dist/index.js +23 -8
  312. package/dist/index.js.map +1 -1
  313. package/dist/labels.d.ts +7 -0
  314. package/dist/labels.d.ts.map +1 -0
  315. package/dist/labels.js +12 -0
  316. package/dist/labels.js.map +1 -0
  317. package/dist/style.d.ts +4 -2
  318. package/dist/style.d.ts.map +1 -1
  319. package/dist/style.js +21 -294
  320. package/dist/style.js.map +1 -1
  321. package/dist/surface.d.ts +15 -0
  322. package/dist/surface.d.ts.map +1 -0
  323. package/dist/{panels/error.js → surface.js} +3 -3
  324. package/dist/surface.js.map +1 -0
  325. package/dist/tags.d.ts +25 -0
  326. package/dist/tags.d.ts.map +1 -0
  327. package/dist/tags.js +25 -0
  328. package/dist/tags.js.map +1 -0
  329. package/package.json +22 -2
  330. package/dist/controls/bar.d.ts +0 -56
  331. package/dist/controls/bar.d.ts.map +0 -1
  332. package/dist/controls/bar.js +0 -245
  333. package/dist/controls/bar.js.map +0 -1
  334. package/dist/controls/buttons.d.ts +0 -13
  335. package/dist/controls/buttons.d.ts.map +0 -1
  336. package/dist/controls/buttons.js +0 -157
  337. package/dist/controls/buttons.js.map +0 -1
  338. package/dist/controls/control.d.ts +0 -12
  339. package/dist/controls/control.d.ts.map +0 -1
  340. package/dist/controls/control.js +0 -2
  341. package/dist/controls/control.js.map +0 -1
  342. package/dist/controls/keys.d.ts +0 -26
  343. package/dist/controls/keys.d.ts.map +0 -1
  344. package/dist/controls/keys.js +0 -66
  345. package/dist/controls/keys.js.map +0 -1
  346. package/dist/controls/live.d.ts +0 -10
  347. package/dist/controls/live.d.ts.map +0 -1
  348. package/dist/controls/live.js +0 -59
  349. package/dist/controls/live.js.map +0 -1
  350. package/dist/controls/menus.d.ts +0 -43
  351. package/dist/controls/menus.d.ts.map +0 -1
  352. package/dist/controls/menus.js +0 -262
  353. package/dist/controls/menus.js.map +0 -1
  354. package/dist/controls/options.d.ts +0 -44
  355. package/dist/controls/options.d.ts.map +0 -1
  356. package/dist/controls/options.js +0 -54
  357. package/dist/controls/options.js.map +0 -1
  358. package/dist/controls/screens.d.ts +0 -22
  359. package/dist/controls/screens.d.ts.map +0 -1
  360. package/dist/controls/screens.js +0 -69
  361. package/dist/controls/screens.js.map +0 -1
  362. package/dist/controls/seek.d.ts +0 -52
  363. package/dist/controls/seek.d.ts.map +0 -1
  364. package/dist/controls/seek.js +0 -215
  365. package/dist/controls/seek.js.map +0 -1
  366. package/dist/controls/speed.d.ts +0 -8
  367. package/dist/controls/speed.d.ts.map +0 -1
  368. package/dist/controls/speed.js +0 -34
  369. package/dist/controls/speed.js.map +0 -1
  370. package/dist/controls/volume.d.ts +0 -8
  371. package/dist/controls/volume.d.ts.map +0 -1
  372. package/dist/controls/volume.js +0 -29
  373. package/dist/controls/volume.js.map +0 -1
  374. package/dist/es2015/controls/bar.js +0 -227
  375. package/dist/es2015/controls/buttons.js +0 -146
  376. package/dist/es2015/controls/keys.js +0 -60
  377. package/dist/es2015/controls/live.js +0 -60
  378. package/dist/es2015/controls/menus.js +0 -258
  379. package/dist/es2015/controls/options.js +0 -46
  380. package/dist/es2015/controls/screens.js +0 -74
  381. package/dist/es2015/controls/seek.js +0 -203
  382. package/dist/es2015/controls/speed.js +0 -41
  383. package/dist/es2015/controls/volume.js +0 -30
  384. package/dist/es2015/panels/drm.js +0 -29
  385. package/dist/es2015/panels/live.js +0 -48
  386. package/dist/es2015/panels/quality.js +0 -52
  387. package/dist/es2015/panels/tracks.js +0 -47
  388. package/dist/panels/drm.d.ts +0 -8
  389. package/dist/panels/drm.d.ts.map +0 -1
  390. package/dist/panels/drm.js +0 -36
  391. package/dist/panels/drm.js.map +0 -1
  392. package/dist/panels/error.d.ts +0 -13
  393. package/dist/panels/error.d.ts.map +0 -1
  394. package/dist/panels/error.js.map +0 -1
  395. package/dist/panels/live.d.ts +0 -3
  396. package/dist/panels/live.d.ts.map +0 -1
  397. package/dist/panels/live.js +0 -56
  398. package/dist/panels/live.js.map +0 -1
  399. package/dist/panels/panel.d.ts +0 -13
  400. package/dist/panels/panel.d.ts.map +0 -1
  401. package/dist/panels/panel.js +0 -2
  402. package/dist/panels/panel.js.map +0 -1
  403. package/dist/panels/quality.d.ts +0 -3
  404. package/dist/panels/quality.d.ts.map +0 -1
  405. package/dist/panels/quality.js +0 -59
  406. package/dist/panels/quality.js.map +0 -1
  407. package/dist/panels/tracks.d.ts +0 -3
  408. package/dist/panels/tracks.d.ts.map +0 -1
  409. package/dist/panels/tracks.js +0 -49
  410. package/dist/panels/tracks.js.map +0 -1
@@ -1,48 +0,0 @@
1
- import { el, state } from "../dom.js";
2
- import { namespaces } from "../namespaces.js";
3
- //#region src/panels/live.ts
4
- /**
5
- * The live badge over `engine.live`. Present only when a live stage is
6
- * composed, so the factory answers null for VOD-only engines and for native.
7
- *
8
- * Latency has no event; it moves with the playhead. The video's `timeupdate`
9
- * is the clock the browser already runs, so the badge reads on that.
10
- */
11
- const livePanel = (session, video) => {
12
- const engine = session.engine;
13
- if (engine === null) return null;
14
- const found = namespaces(engine).live;
15
- if (found === void 0) return null;
16
- const live = found;
17
- const root = el("div", "panel live");
18
- const badge = el("span", "badge live-badge", "Live");
19
- const latency = el("span", "value live-latency");
20
- const button = el("button", "button live-edge-button", "Go to live");
21
- button.type = "button";
22
- root.append(badge, latency, button);
23
- let shown = "";
24
- function tick() {
25
- root.hidden = live.edge === null;
26
- const atEdge = live.atEdge;
27
- state(root, "panel live", { "at-edge": atEdge });
28
- button.disabled = atEdge;
29
- const seconds = live.latency;
30
- const text = seconds === null ? "" : `${seconds.toFixed(1)}s behind`;
31
- if (text === shown) return;
32
- shown = text;
33
- latency.textContent = text;
34
- }
35
- button.addEventListener("click", () => {
36
- live.seekToEdge();
37
- });
38
- video.addEventListener("timeupdate", tick);
39
- tick();
40
- return {
41
- root,
42
- dispose() {
43
- video.removeEventListener("timeupdate", tick);
44
- }
45
- };
46
- };
47
- //#endregion
48
- export { livePanel };
@@ -1,52 +0,0 @@
1
- import { el, fill, menu } from "../dom.js";
2
- //#region src/panels/quality.ts
3
- const AUTO = "auto";
4
- /** A rendition's height when the manifest declared one, its bitrate otherwise. */
5
- function label(rendition) {
6
- if (rendition.height !== void 0) return `${rendition.height}p`;
7
- return `${Math.round(rendition.bitrate / 1e3)} kbps`;
8
- }
9
- const qualityPanel = (session, video) => {
10
- const engine = session.engine;
11
- if (engine === null) return null;
12
- const quality = engine.quality;
13
- const root = el("div", "panel quality");
14
- const [wrapper, select] = menu("quality", "Quality");
15
- const playing = el("span", "value quality-playing");
16
- root.append(wrapper, playing);
17
- let shown = "";
18
- function render() {
19
- var _quality$pinned;
20
- const items = [[AUTO, "Auto"]];
21
- for (const rendition of quality.renditions) items.push([rendition.id, label(rendition)]);
22
- fill(select, items, (_quality$pinned = quality.pinned) !== null && _quality$pinned !== void 0 ? _quality$pinned : AUTO);
23
- root.hidden = quality.renditions.length === 0;
24
- }
25
- function tick() {
26
- const current = quality.playing === null ? "" : label(quality.playing);
27
- if (current === shown) return;
28
- shown = current;
29
- playing.textContent = current;
30
- }
31
- select.addEventListener("change", () => {
32
- if (select.value === AUTO) quality.auto();
33
- else quality.pin(select.value);
34
- });
35
- const offs = [
36
- engine.on("tracks:changed", render),
37
- engine.on("quality:constraints-unsatisfiable", render),
38
- engine.on("quality:pin-unsatisfiable", render)
39
- ];
40
- video.addEventListener("timeupdate", tick);
41
- render();
42
- tick();
43
- return {
44
- root,
45
- dispose() {
46
- for (const off of offs) off();
47
- video.removeEventListener("timeupdate", tick);
48
- }
49
- };
50
- };
51
- //#endregion
52
- export { qualityPanel };
@@ -1,47 +0,0 @@
1
- import { el, fill, menu } from "../dom.js";
2
- //#region src/panels/tracks.ts
3
- const OFF = "off";
4
- /** The language, then the role, then the id: whichever the manifest gave. */
5
- function label(track) {
6
- const parts = [track.lang, track.role].filter((part) => part !== void 0);
7
- return parts.length === 0 ? track.id : parts.join(" · ");
8
- }
9
- const tracksPanel = (session) => {
10
- const engine = session.engine;
11
- if (engine === null) return null;
12
- const tracks = engine.tracks;
13
- const root = el("div", "panel tracks");
14
- const [audioLabel, audio] = menu("audio", "Audio");
15
- const [textLabel, text] = menu("text", "Subtitles");
16
- root.append(audioLabel, textLabel);
17
- function renderOne(select, wrapper, contentType, off) {
18
- var _tracks$active$id, _tracks$active;
19
- const available = tracks.available.filter((track) => track.contentType === contentType);
20
- const items = off ? [[OFF, "Off"]] : [];
21
- for (const track of available) items.push([track.id, label(track)]);
22
- fill(select, items, (_tracks$active$id = (_tracks$active = tracks.active(contentType)) === null || _tracks$active === void 0 ? void 0 : _tracks$active.id) !== null && _tracks$active$id !== void 0 ? _tracks$active$id : OFF);
23
- wrapper.hidden = available.length === 0;
24
- return available.length;
25
- }
26
- function render() {
27
- const count = renderOne(audio, audioLabel, "audio", false) + renderOne(text, textLabel, "text", true);
28
- root.hidden = count === 0;
29
- }
30
- audio.addEventListener("change", () => {
31
- tracks.select(audio.value);
32
- });
33
- text.addEventListener("change", () => {
34
- if (text.value === OFF) tracks.deselect("text");
35
- else tracks.select(text.value);
36
- });
37
- const offs = [engine.on("tracks:changed", render), engine.on("tracks:selected", render)];
38
- render();
39
- return {
40
- root,
41
- dispose() {
42
- for (const off of offs) off();
43
- }
44
- };
45
- };
46
- //#endregion
47
- export { tracksPanel };
@@ -1,8 +0,0 @@
1
- /**
2
- * The DRM indicator over `engine.drm`. Present only when the EME stages are
3
- * composed. It shows the key system in use and nothing else: sessions and key
4
- * statuses are diagnostics, and the element is not a diagnostics surface.
5
- */
6
- import type { PanelFactory } from './panel.js';
7
- export declare const drmPanel: PanelFactory;
8
- //# sourceMappingURL=drm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drm.d.ts","sourceRoot":"","sources":["../../src/panels/drm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAS,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,QAAQ,EAAE,YA6BtB,CAAC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * The DRM indicator over `engine.drm`. Present only when the EME stages are
3
- * composed. It shows the key system in use and nothing else: sessions and key
4
- * statuses are diagnostics, and the element is not a diagnostics surface.
5
- */
6
- import { el } from '../dom.js';
7
- import { namespaces } from '../namespaces.js';
8
- export const drmPanel = (session) => {
9
- const engine = session.engine;
10
- if (engine === null)
11
- return null;
12
- const found = namespaces(engine).drm;
13
- if (found === undefined)
14
- return null;
15
- const drm = found;
16
- const root = el('div', 'panel drm');
17
- root.append(el('span', 'text drm-text', 'DRM'));
18
- const keySystem = el('span', 'value drm-key-system');
19
- root.append(keySystem);
20
- function render() {
21
- const name = drm.keySystem;
22
- keySystem.textContent = name ?? '';
23
- // Nothing to show until a key session opens, and an empty indicator is
24
- // worse than none.
25
- root.hidden = name === null;
26
- }
27
- const off = engine.on('drm:keysystem', render);
28
- render();
29
- return {
30
- root,
31
- dispose() {
32
- off();
33
- },
34
- };
35
- };
36
- //# sourceMappingURL=drm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drm.js","sourceRoot":"","sources":["../../src/panels/drm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,CAAC,MAAM,QAAQ,GAAiB,CAAC,OAAO,EAAgB,EAAE;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAW,KAAK,CAAC;IAE1B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEvB,SAAS,MAAM;QACb,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC3B,SAAS,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,uEAAuE;QACvE,mBAAmB;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC;IAET,OAAO;QACL,IAAI;QACJ,OAAO;YACL,GAAG,EAAE,CAAC;QACR,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * The error surface. It is not a panel: it outlives a session, because the
3
- * core reports "no handler claimed this source" when there is no session to
4
- * hang it on. It stays hidden until a fatal error arrives.
5
- */
6
- import type { PlayerError } from '@mattebox/player-core';
7
- export interface ErrorSurface {
8
- readonly root: HTMLElement;
9
- show(error: PlayerError): void;
10
- clear(): void;
11
- }
12
- export declare function errorSurface(retry: () => void): ErrorSurface;
13
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/panels/error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,YAAY,CAqB5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/panels/error.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAQ/B,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAEnB,OAAO;QACL,IAAI;QACJ,IAAI,CAAC,KAAkB;YACrB,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,KAAK;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { PanelFactory } from './panel.js';
2
- export declare const livePanel: PanelFactory;
3
- //# sourceMappingURL=live.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/panels/live.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAS,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,SAAS,EAAE,YA8CvB,CAAC"}
@@ -1,56 +0,0 @@
1
- /**
2
- * The live badge over `engine.live`. Present only when a live stage is
3
- * composed, so the factory answers null for VOD-only engines and for native.
4
- *
5
- * Latency has no event; it moves with the playhead. The video's `timeupdate`
6
- * is the clock the browser already runs, so the badge reads on that.
7
- */
8
- import { el, state } from '../dom.js';
9
- import { namespaces } from '../namespaces.js';
10
- export const livePanel = (session, video) => {
11
- const engine = session.engine;
12
- if (engine === null)
13
- return null;
14
- const found = namespaces(engine).live;
15
- if (found === undefined)
16
- return null;
17
- // Annotated, not narrowed: a hoisted function declaration below reads it.
18
- const live = found;
19
- const root = el('div', 'panel live');
20
- const badge = el('span', 'badge live-badge', 'Live');
21
- const latency = el('span', 'value live-latency');
22
- const button = el('button', 'button live-edge-button', 'Go to live');
23
- button.type = 'button';
24
- root.append(badge, latency, button);
25
- let shown = '';
26
- function tick() {
27
- // The namespace is present whenever a live stage was composed, which says
28
- // nothing about the stream: `full` carries both live adapters, so a VOD
29
- // presentation has `engine.live` too. A window that never opened leaves
30
- // `edge` null, and that is what makes a stream live.
31
- root.hidden = live.edge === null;
32
- const atEdge = live.atEdge;
33
- // State rides the part name: `::part()` takes no attribute selector, so
34
- // `::part(at-edge)` is the only way a page can style the edge state.
35
- state(root, 'panel live', { 'at-edge': atEdge });
36
- button.disabled = atEdge;
37
- const seconds = live.latency;
38
- const text = seconds === null ? '' : `${seconds.toFixed(1)}s behind`;
39
- if (text === shown)
40
- return;
41
- shown = text;
42
- latency.textContent = text;
43
- }
44
- button.addEventListener('click', () => {
45
- live.seekToEdge();
46
- });
47
- video.addEventListener('timeupdate', tick);
48
- tick();
49
- return {
50
- root,
51
- dispose() {
52
- video.removeEventListener('timeupdate', tick);
53
- },
54
- };
55
- };
56
- //# sourceMappingURL=live.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/panels/live.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,CAAC,MAAM,SAAS,GAAiB,CAAC,OAAO,EAAE,KAAK,EAAgB,EAAE;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,0EAA0E;IAC1E,MAAM,IAAI,GAAY,KAAK,CAAC;IAE5B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAAC;IACrE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEpC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,SAAS,IAAI;QACX,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,qDAAqD;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,wEAAwE;QACxE,qEAAqE;QACrE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACrE,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO;QAC3B,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC;IAEP,OAAO;QACL,IAAI;QACJ,OAAO;YACL,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * What a panel is. A panel reads one engine namespace, subscribes to what it
3
- * needs, and hands back a root and a teardown. It renders nothing for a
4
- * native session, and nothing for an engine whose stage was not composed:
5
- * the factory answers null and the element never inserts it.
6
- */
7
- import type { Session } from '@mattebox/player-core';
8
- export interface Panel {
9
- readonly root: HTMLElement;
10
- dispose(): void;
11
- }
12
- export type PanelFactory = (session: Session, video: HTMLVideoElement) => Panel | null;
13
- //# sourceMappingURL=panel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/panels/panel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,KAAK,KAAK,GAAG,IAAI,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/panels/panel.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import type { PanelFactory } from './panel.js';
2
- export declare const qualityPanel: PanelFactory;
3
- //# sourceMappingURL=quality.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/panels/quality.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAS,YAAY,EAAE,MAAM,YAAY,CAAC;AAUtD,eAAO,MAAM,YAAY,EAAE,YAiD1B,CAAC"}
@@ -1,59 +0,0 @@
1
- import { el, fill, menu } from '../dom.js';
2
- const AUTO = 'auto';
3
- /** A rendition's height when the manifest declared one, its bitrate otherwise. */
4
- function label(rendition) {
5
- if (rendition.height !== undefined)
6
- return `${rendition.height}p`;
7
- return `${Math.round(rendition.bitrate / 1000)} kbps`;
8
- }
9
- export const qualityPanel = (session, video) => {
10
- const engine = session.engine;
11
- if (engine === null)
12
- return null;
13
- const quality = engine.quality;
14
- const root = el('div', 'panel quality');
15
- const [wrapper, select] = menu('quality', 'Quality');
16
- const playing = el('span', 'value quality-playing');
17
- root.append(wrapper, playing);
18
- let shown = '';
19
- function render() {
20
- const items = [[AUTO, 'Auto']];
21
- for (const rendition of quality.renditions)
22
- items.push([rendition.id, label(rendition)]);
23
- fill(select, items, quality.pinned ?? AUTO);
24
- root.hidden = quality.renditions.length === 0;
25
- }
26
- function tick() {
27
- const current = quality.playing === null ? '' : label(quality.playing);
28
- if (current === shown)
29
- return;
30
- shown = current;
31
- playing.textContent = current;
32
- }
33
- select.addEventListener('change', () => {
34
- if (select.value === AUTO)
35
- quality.auto();
36
- else
37
- quality.pin(select.value);
38
- });
39
- const offs = [
40
- engine.on('tracks:changed', render),
41
- engine.on('quality:constraints-unsatisfiable', render),
42
- engine.on('quality:pin-unsatisfiable', render),
43
- ];
44
- // No event reports the playing rendition: it is derived from currentTime
45
- // against the append log, so the element reads it on the clock the video
46
- // already ticks.
47
- video.addEventListener('timeupdate', tick);
48
- render();
49
- tick();
50
- return {
51
- root,
52
- dispose() {
53
- for (const off of offs)
54
- off();
55
- video.removeEventListener('timeupdate', tick);
56
- },
57
- };
58
- };
59
- //# sourceMappingURL=quality.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality.js","sourceRoot":"","sources":["../../src/panels/quality.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { PanelFactory } from './panel.js';
2
- export declare const tracksPanel: PanelFactory;
3
- //# sourceMappingURL=tracks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracks.d.ts","sourceRoot":"","sources":["../../src/panels/tracks.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAS,YAAY,EAAE,MAAM,YAAY,CAAC;AAUtD,eAAO,MAAM,WAAW,EAAE,YA+CzB,CAAC"}
@@ -1,49 +0,0 @@
1
- import { el, fill, menu } from '../dom.js';
2
- const OFF = 'off';
3
- /** The language, then the role, then the id: whichever the manifest gave. */
4
- function label(track) {
5
- const parts = [track.lang, track.role].filter((part) => part !== undefined);
6
- return parts.length === 0 ? track.id : parts.join(' · ');
7
- }
8
- export const tracksPanel = (session) => {
9
- const engine = session.engine;
10
- if (engine === null)
11
- return null;
12
- const tracks = engine.tracks;
13
- const root = el('div', 'panel tracks');
14
- const [audioLabel, audio] = menu('audio', 'Audio');
15
- const [textLabel, text] = menu('text', 'Subtitles');
16
- root.append(audioLabel, textLabel);
17
- function renderOne(select, wrapper, contentType, off) {
18
- const available = tracks.available.filter((track) => track.contentType === contentType);
19
- const items = off ? [[OFF, 'Off']] : [];
20
- for (const track of available)
21
- items.push([track.id, label(track)]);
22
- fill(select, items, tracks.active(contentType)?.id ?? OFF);
23
- wrapper.hidden = available.length === 0;
24
- return available.length;
25
- }
26
- function render() {
27
- const count = renderOne(audio, audioLabel, 'audio', false) + renderOne(text, textLabel, 'text', true);
28
- root.hidden = count === 0;
29
- }
30
- audio.addEventListener('change', () => {
31
- tracks.select(audio.value);
32
- });
33
- text.addEventListener('change', () => {
34
- if (text.value === OFF)
35
- tracks.deselect('text');
36
- else
37
- tracks.select(text.value);
38
- });
39
- const offs = [engine.on('tracks:changed', render), engine.on('tracks:selected', render)];
40
- render();
41
- return {
42
- root,
43
- dispose() {
44
- for (const off of offs)
45
- off();
46
- },
47
- };
48
- };
49
- //# sourceMappingURL=tracks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracks.js","sourceRoot":"","sources":["../../src/panels/tracks.ts"],"names":[],"mappings":"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"}