@mattebox/player 0.1.0 → 0.3.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.
- package/README.md +4 -3
- package/dist/cdn/mattebox-player.min.js +222 -198
- package/dist/compose.d.ts +5 -0
- package/dist/compose.d.ts.map +1 -0
- package/dist/compose.js +31 -0
- package/dist/compose.js.map +1 -0
- package/dist/controls/chapters.d.ts +29 -0
- package/dist/controls/chapters.d.ts.map +1 -0
- package/dist/controls/chapters.js +81 -0
- package/dist/controls/chapters.js.map +1 -0
- package/dist/controls/cues.d.ts +8 -3
- package/dist/controls/cues.d.ts.map +1 -1
- package/dist/controls/cues.js +44 -10
- package/dist/controls/cues.js.map +1 -1
- package/dist/controls/fullscreen.d.ts +9 -9
- package/dist/controls/fullscreen.d.ts.map +1 -1
- package/dist/controls/fullscreen.js +17 -21
- package/dist/controls/fullscreen.js.map +1 -1
- package/dist/controls/icons.d.ts +1 -3
- package/dist/controls/icons.d.ts.map +1 -1
- package/dist/controls/icons.js +3 -6
- package/dist/controls/icons.js.map +1 -1
- package/dist/controls/menu.d.ts +14 -11
- package/dist/controls/menu.d.ts.map +1 -1
- package/dist/controls/menu.js +39 -34
- package/dist/controls/menu.js.map +1 -1
- package/dist/controls/session.d.ts +27 -0
- package/dist/controls/session.d.ts.map +1 -0
- package/dist/controls/session.js +36 -0
- package/dist/controls/session.js.map +1 -0
- package/dist/controls/slider.d.ts +6 -6
- package/dist/controls/slider.d.ts.map +1 -1
- package/dist/controls/slider.js +18 -13
- package/dist/controls/slider.js.map +1 -1
- package/dist/dom.d.ts +4 -10
- package/dist/dom.d.ts.map +1 -1
- package/dist/dom.js +4 -24
- package/dist/dom.js.map +1 -1
- package/dist/element-entry.d.ts +4 -0
- package/dist/element-entry.d.ts.map +1 -0
- package/dist/element-entry.js +9 -0
- package/dist/element-entry.js.map +1 -0
- package/dist/element.d.ts +54 -14
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +154 -73
- package/dist/element.js.map +1 -1
- package/dist/elements/audio-menu.d.ts +24 -0
- package/dist/elements/audio-menu.d.ts.map +1 -0
- package/dist/elements/audio-menu.js +70 -0
- package/dist/elements/audio-menu.js.map +1 -0
- package/dist/elements/chapters-menu.d.ts +12 -0
- package/dist/elements/chapters-menu.d.ts.map +1 -0
- package/dist/elements/chapters-menu.js +67 -0
- package/dist/elements/chapters-menu.js.map +1 -0
- package/dist/elements/component.d.ts +45 -0
- package/dist/elements/component.d.ts.map +1 -0
- package/dist/elements/component.js +90 -0
- package/dist/elements/component.js.map +1 -0
- package/dist/elements/control-bar.d.ts +75 -0
- package/dist/elements/control-bar.d.ts.map +1 -0
- package/dist/elements/control-bar.js +339 -0
- package/dist/elements/control-bar.js.map +1 -0
- package/dist/elements/current-time.d.ts +5 -0
- package/dist/elements/current-time.d.ts.map +1 -0
- package/dist/elements/current-time.js +27 -0
- package/dist/elements/current-time.js.map +1 -0
- package/dist/elements/drm-badge.d.ts +29 -0
- package/dist/elements/drm-badge.d.ts.map +1 -0
- package/dist/elements/drm-badge.js +145 -0
- package/dist/elements/drm-badge.js.map +1 -0
- package/dist/elements/duration.d.ts +6 -0
- package/dist/elements/duration.d.ts.map +1 -0
- package/dist/elements/duration.js +23 -0
- package/dist/elements/duration.js.map +1 -0
- package/dist/elements/error-screen.d.ts +17 -0
- package/dist/elements/error-screen.d.ts.map +1 -0
- package/dist/elements/error-screen.js +103 -0
- package/dist/elements/error-screen.js.map +1 -0
- package/dist/elements/fullscreen-button.d.ts +19 -0
- package/dist/elements/fullscreen-button.d.ts.map +1 -0
- package/dist/elements/fullscreen-button.js +55 -0
- package/dist/elements/fullscreen-button.js.map +1 -0
- package/dist/elements/live-button.d.ts +12 -0
- package/dist/elements/live-button.d.ts.map +1 -0
- package/dist/elements/live-button.js +96 -0
- package/dist/elements/live-button.js.map +1 -0
- package/dist/elements/menu-element.d.ts +22 -0
- package/dist/elements/menu-element.d.ts.map +1 -0
- package/dist/elements/menu-element.js +31 -0
- package/dist/elements/menu-element.js.map +1 -0
- package/dist/elements/mute-button.d.ts +12 -0
- package/dist/elements/mute-button.d.ts.map +1 -0
- package/dist/elements/mute-button.js +61 -0
- package/dist/elements/mute-button.js.map +1 -0
- package/dist/elements/panels.d.ts +15 -0
- package/dist/elements/panels.d.ts.map +1 -0
- package/dist/elements/panels.js +55 -0
- package/dist/elements/panels.js.map +1 -0
- package/dist/elements/pip-button.d.ts +13 -0
- package/dist/elements/pip-button.d.ts.map +1 -0
- package/dist/elements/pip-button.js +56 -0
- package/dist/elements/pip-button.js.map +1 -0
- package/dist/elements/play-button.d.ts +12 -0
- package/dist/elements/play-button.d.ts.map +1 -0
- package/dist/elements/play-button.js +60 -0
- package/dist/elements/play-button.js.map +1 -0
- package/dist/elements/quality-menu.d.ts +11 -0
- package/dist/elements/quality-menu.d.ts.map +1 -0
- package/dist/elements/quality-menu.js +72 -0
- package/dist/elements/quality-menu.js.map +1 -0
- package/dist/elements/remaining-time.d.ts +6 -0
- package/dist/elements/remaining-time.d.ts.map +1 -0
- package/dist/elements/remaining-time.js +26 -0
- package/dist/elements/remaining-time.js.map +1 -0
- package/dist/elements/seek-bar.d.ts +83 -0
- package/dist/elements/seek-bar.d.ts.map +1 -0
- package/dist/elements/seek-bar.js +352 -0
- package/dist/elements/seek-bar.js.map +1 -0
- package/dist/elements/shared.d.ts +27 -0
- package/dist/elements/shared.d.ts.map +1 -0
- package/dist/elements/shared.js +155 -0
- package/dist/elements/shared.js.map +1 -0
- package/dist/elements/skip-button.d.ts +14 -0
- package/dist/elements/skip-button.d.ts.map +1 -0
- package/dist/elements/skip-button.js +60 -0
- package/dist/elements/skip-button.js.map +1 -0
- package/dist/elements/spacer.d.ts +4 -0
- package/dist/elements/spacer.d.ts.map +1 -0
- package/dist/elements/spacer.js +9 -0
- package/dist/elements/spacer.js.map +1 -0
- package/dist/elements/speed-menu.d.ts +18 -0
- package/dist/elements/speed-menu.d.ts.map +1 -0
- package/dist/elements/speed-menu.js +56 -0
- package/dist/elements/speed-menu.js.map +1 -0
- package/dist/elements/start-button.d.ts +23 -0
- package/dist/elements/start-button.d.ts.map +1 -0
- package/dist/elements/start-button.js +120 -0
- package/dist/elements/start-button.js.map +1 -0
- package/dist/elements/subtitles-menu.d.ts +17 -0
- package/dist/elements/subtitles-menu.d.ts.map +1 -0
- package/dist/elements/subtitles-menu.js +108 -0
- package/dist/elements/subtitles-menu.js.map +1 -0
- package/dist/elements/time-element.d.ts +14 -0
- package/dist/elements/time-element.d.ts.map +1 -0
- package/dist/elements/time-element.js +29 -0
- package/dist/elements/time-element.js.map +1 -0
- package/dist/elements/volume-slider.d.ts +10 -0
- package/dist/elements/volume-slider.d.ts.map +1 -0
- package/dist/elements/volume-slider.js +46 -0
- package/dist/elements/volume-slider.js.map +1 -0
- package/dist/elements/volume.d.ts +9 -0
- package/dist/elements/volume.d.ts.map +1 -0
- package/dist/elements/volume.js +52 -0
- package/dist/elements/volume.js.map +1 -0
- package/dist/entries/audio-menu.d.ts +5 -0
- package/dist/entries/audio-menu.d.ts.map +1 -0
- package/dist/entries/audio-menu.js +8 -0
- package/dist/entries/audio-menu.js.map +1 -0
- package/dist/entries/chapters-menu.d.ts +5 -0
- package/dist/entries/chapters-menu.d.ts.map +1 -0
- package/dist/entries/chapters-menu.js +9 -0
- package/dist/entries/chapters-menu.js.map +1 -0
- package/dist/entries/control-bar.d.ts +5 -0
- package/dist/entries/control-bar.d.ts.map +1 -0
- package/dist/entries/control-bar.js +8 -0
- package/dist/entries/control-bar.js.map +1 -0
- package/dist/entries/current-time.d.ts +5 -0
- package/dist/entries/current-time.d.ts.map +1 -0
- package/dist/entries/current-time.js +8 -0
- package/dist/entries/current-time.js.map +1 -0
- package/dist/entries/drm-badge.d.ts +5 -0
- package/dist/entries/drm-badge.d.ts.map +1 -0
- package/dist/entries/drm-badge.js +8 -0
- package/dist/entries/drm-badge.js.map +1 -0
- package/dist/entries/duration.d.ts +5 -0
- package/dist/entries/duration.d.ts.map +1 -0
- package/dist/entries/duration.js +8 -0
- package/dist/entries/duration.js.map +1 -0
- package/dist/entries/error-screen.d.ts +5 -0
- package/dist/entries/error-screen.d.ts.map +1 -0
- package/dist/entries/error-screen.js +8 -0
- package/dist/entries/error-screen.js.map +1 -0
- package/dist/entries/fullscreen-button.d.ts +5 -0
- package/dist/entries/fullscreen-button.d.ts.map +1 -0
- package/dist/entries/fullscreen-button.js +8 -0
- package/dist/entries/fullscreen-button.js.map +1 -0
- package/dist/entries/live-button.d.ts +5 -0
- package/dist/entries/live-button.d.ts.map +1 -0
- package/dist/entries/live-button.js +8 -0
- package/dist/entries/live-button.js.map +1 -0
- package/dist/entries/mute-button.d.ts +5 -0
- package/dist/entries/mute-button.d.ts.map +1 -0
- package/dist/entries/mute-button.js +8 -0
- package/dist/entries/mute-button.js.map +1 -0
- package/dist/entries/panels.d.ts +5 -0
- package/dist/entries/panels.d.ts.map +1 -0
- package/dist/entries/panels.js +8 -0
- package/dist/entries/panels.js.map +1 -0
- package/dist/entries/pip-button.d.ts +5 -0
- package/dist/entries/pip-button.d.ts.map +1 -0
- package/dist/entries/pip-button.js +8 -0
- package/dist/entries/pip-button.js.map +1 -0
- package/dist/entries/play-button.d.ts +5 -0
- package/dist/entries/play-button.d.ts.map +1 -0
- package/dist/entries/play-button.js +8 -0
- package/dist/entries/play-button.js.map +1 -0
- package/dist/entries/quality-menu.d.ts +5 -0
- package/dist/entries/quality-menu.d.ts.map +1 -0
- package/dist/entries/quality-menu.js +8 -0
- package/dist/entries/quality-menu.js.map +1 -0
- package/dist/entries/remaining-time.d.ts +5 -0
- package/dist/entries/remaining-time.d.ts.map +1 -0
- package/dist/entries/remaining-time.js +9 -0
- package/dist/entries/remaining-time.js.map +1 -0
- package/dist/entries/seek-bar.d.ts +5 -0
- package/dist/entries/seek-bar.d.ts.map +1 -0
- package/dist/entries/seek-bar.js +8 -0
- package/dist/entries/seek-bar.js.map +1 -0
- package/dist/entries/skip-button.d.ts +5 -0
- package/dist/entries/skip-button.d.ts.map +1 -0
- package/dist/entries/skip-button.js +8 -0
- package/dist/entries/skip-button.js.map +1 -0
- package/dist/entries/spacer.d.ts +5 -0
- package/dist/entries/spacer.d.ts.map +1 -0
- package/dist/entries/spacer.js +8 -0
- package/dist/entries/spacer.js.map +1 -0
- package/dist/entries/speed-menu.d.ts +5 -0
- package/dist/entries/speed-menu.d.ts.map +1 -0
- package/dist/entries/speed-menu.js +8 -0
- package/dist/entries/speed-menu.js.map +1 -0
- package/dist/entries/start-button.d.ts +5 -0
- package/dist/entries/start-button.d.ts.map +1 -0
- package/dist/entries/start-button.js +8 -0
- package/dist/entries/start-button.js.map +1 -0
- package/dist/entries/subtitles-menu.d.ts +5 -0
- package/dist/entries/subtitles-menu.d.ts.map +1 -0
- package/dist/entries/subtitles-menu.js +8 -0
- package/dist/entries/subtitles-menu.js.map +1 -0
- package/dist/entries/volume-slider.d.ts +5 -0
- package/dist/entries/volume-slider.d.ts.map +1 -0
- package/dist/entries/volume-slider.js +8 -0
- package/dist/entries/volume-slider.js.map +1 -0
- package/dist/entries/volume.d.ts +7 -0
- package/dist/entries/volume.d.ts.map +1 -0
- package/dist/entries/volume.js +10 -0
- package/dist/entries/volume.js.map +1 -0
- package/dist/es2015/compose.js +33 -0
- package/dist/es2015/controls/chapters.js +61 -0
- package/dist/es2015/controls/cues.js +39 -11
- package/dist/es2015/controls/fullscreen.js +25 -23
- package/dist/es2015/controls/icons.js +5 -9
- package/dist/es2015/controls/menu.js +39 -35
- package/dist/es2015/controls/session.js +40 -0
- package/dist/es2015/controls/slider.js +18 -13
- package/dist/es2015/controls/time.js +1 -5
- package/dist/es2015/dom.js +5 -25
- package/dist/es2015/element-entry.js +10 -0
- package/dist/es2015/element.js +118 -65
- package/dist/es2015/elements/audio-menu.js +68 -0
- package/dist/es2015/elements/chapters-menu.js +68 -0
- package/dist/es2015/elements/component.js +85 -0
- package/dist/es2015/elements/control-bar.js +299 -0
- package/dist/es2015/elements/current-time.js +27 -0
- package/dist/es2015/elements/drm-badge.js +138 -0
- package/dist/es2015/elements/duration.js +23 -0
- package/dist/es2015/elements/error-screen.js +97 -0
- package/dist/es2015/elements/fullscreen-button.js +49 -0
- package/dist/es2015/elements/live-button.js +97 -0
- package/dist/es2015/elements/menu-element.js +39 -0
- package/dist/es2015/elements/mute-button.js +60 -0
- package/dist/es2015/elements/panels.js +52 -0
- package/dist/es2015/elements/pip-button.js +56 -0
- package/dist/es2015/elements/play-button.js +68 -0
- package/dist/es2015/elements/quality-menu.js +68 -0
- package/dist/es2015/elements/remaining-time.js +26 -0
- package/dist/es2015/elements/seek-bar.js +314 -0
- package/dist/es2015/elements/shared.js +155 -0
- package/dist/es2015/elements/skip-button.js +59 -0
- package/dist/es2015/elements/spacer.js +11 -0
- package/dist/es2015/elements/speed-menu.js +60 -0
- package/dist/es2015/elements/start-button.js +124 -0
- package/dist/es2015/elements/subtitles-menu.js +103 -0
- package/dist/es2015/elements/time-element.js +38 -0
- package/dist/es2015/elements/volume-slider.js +47 -0
- package/dist/es2015/elements/volume.js +52 -0
- package/dist/es2015/entries/audio-menu.js +7 -0
- package/dist/es2015/entries/chapters-menu.js +7 -0
- package/dist/es2015/entries/control-bar.js +7 -0
- package/dist/es2015/entries/current-time.js +7 -0
- package/dist/es2015/entries/drm-badge.js +7 -0
- package/dist/es2015/entries/duration.js +7 -0
- package/dist/es2015/entries/error-screen.js +7 -0
- package/dist/es2015/entries/fullscreen-button.js +7 -0
- package/dist/es2015/entries/live-button.js +7 -0
- package/dist/es2015/entries/mute-button.js +7 -0
- package/dist/es2015/entries/panels.js +7 -0
- package/dist/es2015/entries/pip-button.js +7 -0
- package/dist/es2015/entries/play-button.js +7 -0
- package/dist/es2015/entries/quality-menu.js +7 -0
- package/dist/es2015/entries/remaining-time.js +7 -0
- package/dist/es2015/entries/seek-bar.js +7 -0
- package/dist/es2015/entries/skip-button.js +7 -0
- package/dist/es2015/entries/spacer.js +7 -0
- package/dist/es2015/entries/speed-menu.js +7 -0
- package/dist/es2015/entries/start-button.js +7 -0
- package/dist/es2015/entries/subtitles-menu.js +7 -0
- package/dist/es2015/entries/volume-slider.js +7 -0
- package/dist/es2015/entries/volume.js +9 -0
- package/dist/es2015/host.js +23 -0
- package/dist/es2015/index.js +48 -9
- package/dist/es2015/labels.js +14 -0
- package/dist/es2015/style.js +40 -292
- package/dist/es2015/{panels/error.js → surface.js} +3 -3
- package/dist/es2015/tags.js +28 -0
- package/dist/host.d.ts +26 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +23 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +84 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -8
- package/dist/index.js.map +1 -1
- package/dist/labels.d.ts +7 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +12 -0
- package/dist/labels.js.map +1 -0
- package/dist/style.d.ts +10 -2
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +40 -292
- package/dist/style.js.map +1 -1
- package/dist/surface.d.ts +15 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/{panels/error.js → surface.js} +3 -3
- package/dist/surface.js.map +1 -0
- package/dist/tags.d.ts +26 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +26 -0
- package/dist/tags.js.map +1 -0
- package/package.json +22 -2
- package/dist/controls/bar.d.ts +0 -56
- package/dist/controls/bar.d.ts.map +0 -1
- package/dist/controls/bar.js +0 -245
- package/dist/controls/bar.js.map +0 -1
- package/dist/controls/buttons.d.ts +0 -13
- package/dist/controls/buttons.d.ts.map +0 -1
- package/dist/controls/buttons.js +0 -157
- package/dist/controls/buttons.js.map +0 -1
- package/dist/controls/control.d.ts +0 -12
- package/dist/controls/control.d.ts.map +0 -1
- package/dist/controls/control.js +0 -2
- package/dist/controls/control.js.map +0 -1
- package/dist/controls/keys.d.ts +0 -26
- package/dist/controls/keys.d.ts.map +0 -1
- package/dist/controls/keys.js +0 -66
- package/dist/controls/keys.js.map +0 -1
- package/dist/controls/live.d.ts +0 -10
- package/dist/controls/live.d.ts.map +0 -1
- package/dist/controls/live.js +0 -59
- package/dist/controls/live.js.map +0 -1
- package/dist/controls/menus.d.ts +0 -43
- package/dist/controls/menus.d.ts.map +0 -1
- package/dist/controls/menus.js +0 -262
- package/dist/controls/menus.js.map +0 -1
- package/dist/controls/options.d.ts +0 -44
- package/dist/controls/options.d.ts.map +0 -1
- package/dist/controls/options.js +0 -54
- package/dist/controls/options.js.map +0 -1
- package/dist/controls/screens.d.ts +0 -22
- package/dist/controls/screens.d.ts.map +0 -1
- package/dist/controls/screens.js +0 -69
- package/dist/controls/screens.js.map +0 -1
- package/dist/controls/seek.d.ts +0 -52
- package/dist/controls/seek.d.ts.map +0 -1
- package/dist/controls/seek.js +0 -215
- package/dist/controls/seek.js.map +0 -1
- package/dist/controls/speed.d.ts +0 -8
- package/dist/controls/speed.d.ts.map +0 -1
- package/dist/controls/speed.js +0 -34
- package/dist/controls/speed.js.map +0 -1
- package/dist/controls/volume.d.ts +0 -8
- package/dist/controls/volume.d.ts.map +0 -1
- package/dist/controls/volume.js +0 -29
- package/dist/controls/volume.js.map +0 -1
- package/dist/es2015/controls/bar.js +0 -227
- package/dist/es2015/controls/buttons.js +0 -146
- package/dist/es2015/controls/keys.js +0 -60
- package/dist/es2015/controls/live.js +0 -60
- package/dist/es2015/controls/menus.js +0 -258
- package/dist/es2015/controls/options.js +0 -46
- package/dist/es2015/controls/screens.js +0 -74
- package/dist/es2015/controls/seek.js +0 -203
- package/dist/es2015/controls/speed.js +0 -41
- package/dist/es2015/controls/volume.js +0 -30
- package/dist/es2015/panels/drm.js +0 -29
- package/dist/es2015/panels/live.js +0 -48
- package/dist/es2015/panels/quality.js +0 -52
- package/dist/es2015/panels/tracks.js +0 -47
- package/dist/panels/drm.d.ts +0 -8
- package/dist/panels/drm.d.ts.map +0 -1
- package/dist/panels/drm.js +0 -36
- package/dist/panels/drm.js.map +0 -1
- package/dist/panels/error.d.ts +0 -13
- package/dist/panels/error.d.ts.map +0 -1
- package/dist/panels/error.js.map +0 -1
- package/dist/panels/live.d.ts +0 -3
- package/dist/panels/live.d.ts.map +0 -1
- package/dist/panels/live.js +0 -56
- package/dist/panels/live.js.map +0 -1
- package/dist/panels/panel.d.ts +0 -13
- package/dist/panels/panel.d.ts.map +0 -1
- package/dist/panels/panel.js +0 -2
- package/dist/panels/panel.js.map +0 -1
- package/dist/panels/quality.d.ts +0 -3
- package/dist/panels/quality.d.ts.map +0 -1
- package/dist/panels/quality.js +0 -59
- package/dist/panels/quality.js.map +0 -1
- package/dist/panels/tracks.d.ts +0 -3
- package/dist/panels/tracks.d.ts.map +0 -1
- package/dist/panels/tracks.js +0 -49
- package/dist/panels/tracks.js.map +0 -1
package/dist/element.d.ts
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* <mattebox-player>: a real <video> as a light-DOM child, so the integrator
|
|
3
|
-
* can reach it, and the
|
|
3
|
+
* can reach it, and the error surface in shadow DOM. The element never
|
|
4
4
|
* forwards or wraps a media element member: play, pause, seek, volume and
|
|
5
5
|
* the rest live on the video, where the browser, Picture-in-Picture and the
|
|
6
6
|
* OS media session already find them.
|
|
7
7
|
*
|
|
8
|
+
* The controls are elements the page places inside, beside the video, and
|
|
9
|
+
* the stage slots them: over the picture for the bar and the screens, in
|
|
10
|
+
* flow under it for the panels row. A page that places none gets the
|
|
11
|
+
* default composition for its mode appended to its light DOM. The element
|
|
12
|
+
* reflects the video's state as attributes on itself, `paused`, `playing`,
|
|
13
|
+
* `ended` and `muted`, for the page's stylesheet and the controls alike.
|
|
14
|
+
*
|
|
8
15
|
* No class fields, `#private` or otherwise: the ES2015 build would lower
|
|
9
16
|
* them into runtime helpers, and the emit check bans helpers. Statics are
|
|
10
17
|
* getters and instance state is declared, then assigned in the constructor.
|
|
11
18
|
*/
|
|
12
19
|
import type { Handler, Player, PlayerError, Session } from '@mattebox/player-core';
|
|
13
|
-
import type { Mattebox, Stage } from 'mattebox';
|
|
14
|
-
import type {
|
|
20
|
+
import type { KernelConfig, Mattebox, Stage } from 'mattebox';
|
|
21
|
+
import type { PlayerHost } from './host.js';
|
|
15
22
|
/**
|
|
16
23
|
* What the element dispatches. `error` is also a standard DOM event name, so
|
|
17
24
|
* without these overloads a listener on it is typed as `ErrorEvent` and the
|
|
@@ -32,8 +39,12 @@ export interface MatteboxPlayerOptions {
|
|
|
32
39
|
readonly handlers?: readonly Handler[];
|
|
33
40
|
/** Stages for the mattebox handler. Takes precedence over the `preset` attribute. */
|
|
34
41
|
readonly stages?: readonly Stage[];
|
|
35
|
-
/**
|
|
36
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Kernel tuning for the engines the elements build, `traceCapacity` among
|
|
44
|
+
* it. A page decision, like the stages, so not an attribute. Ignored with
|
|
45
|
+
* `handlers`, which carry their own.
|
|
46
|
+
*/
|
|
47
|
+
readonly config?: Partial<KernelConfig>;
|
|
37
48
|
}
|
|
38
49
|
/**
|
|
39
50
|
* The interface above merges only `addEventListener` and `removeEventListener`
|
|
@@ -41,22 +52,38 @@ export interface MatteboxPlayerOptions {
|
|
|
41
52
|
* guards against properties an interface declares and a constructor never
|
|
42
53
|
* assigns, and there are none.
|
|
43
54
|
*/
|
|
44
|
-
export declare class MatteboxPlayerElement extends HTMLElement {
|
|
55
|
+
export declare class MatteboxPlayerElement extends HTMLElement implements PlayerHost {
|
|
45
56
|
static get observedAttributes(): readonly string[];
|
|
46
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Registers the element once, and records the stages markup-only pages
|
|
59
|
+
* get. The controls register through their own entries, the package's
|
|
60
|
+
* root entry importing every one; a control connected before its player
|
|
61
|
+
* is defined waits for the definition.
|
|
62
|
+
*/
|
|
47
63
|
static define(options?: MatteboxPlayerOptions): void;
|
|
48
64
|
private readonly media;
|
|
49
|
-
/** Wraps the slot
|
|
65
|
+
/** Wraps the slot: the picture, and the controls over it or under it. */
|
|
50
66
|
private readonly stage;
|
|
51
|
-
|
|
52
|
-
private
|
|
67
|
+
/** The default composition this element appended, to take back when the mode changes. */
|
|
68
|
+
private composed;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the children are all in. While the parser is still inside the
|
|
71
|
+
* element, a page's own bar has not arrived yet, and appending the
|
|
72
|
+
* default then would leave two. So the decision waits for the document
|
|
73
|
+
* to be parsed, or for the microtask after a scripted connect.
|
|
74
|
+
*/
|
|
75
|
+
private settled;
|
|
53
76
|
/** Whether the element gave itself a tabindex for the bar, to take back with it. */
|
|
54
77
|
private focusable;
|
|
55
78
|
private readonly surface;
|
|
79
|
+
/** The chapters track element, while the `chapters` attribute names one. */
|
|
80
|
+
private track;
|
|
56
81
|
private readonly options;
|
|
57
|
-
private panels;
|
|
58
82
|
private core;
|
|
59
83
|
private current;
|
|
84
|
+
private failure;
|
|
85
|
+
/** Whether an attribute change is the element's own reflection, which must not write back to the video. */
|
|
86
|
+
private reflecting;
|
|
60
87
|
private offs;
|
|
61
88
|
/** Everything the element does to the player runs here, so it runs in order. */
|
|
62
89
|
private queue;
|
|
@@ -69,15 +96,28 @@ export declare class MatteboxPlayerElement extends HTMLElement {
|
|
|
69
96
|
get player(): Player | null;
|
|
70
97
|
/** The engine feeding the video, or null for a native session and before the first load. */
|
|
71
98
|
get engine(): Mattebox | null;
|
|
99
|
+
/**
|
|
100
|
+
* The fatal error of the current load, or null once a load starts or
|
|
101
|
+
* playback resumes. The `error` event says when; this says what, for a
|
|
102
|
+
* control that attaches after the event, such as the default composition
|
|
103
|
+
* behind a source that fails while the page is still parsing.
|
|
104
|
+
*/
|
|
105
|
+
get error(): PlayerError | null;
|
|
72
106
|
connectedCallback(): void;
|
|
107
|
+
/** Decides on the default composition once the children are all in, then on every mode change. */
|
|
108
|
+
private settle;
|
|
109
|
+
/** The video's state on the element, for `mattebox-player[paused]` and the like. */
|
|
110
|
+
private reflect;
|
|
73
111
|
disconnectedCallback(): void;
|
|
74
112
|
attributeChangedCallback(name: string): void;
|
|
75
113
|
/**
|
|
76
|
-
* Applies the `controls` attribute
|
|
77
|
-
*
|
|
78
|
-
*
|
|
114
|
+
* Applies the `controls` attribute: the video's own controls, the
|
|
115
|
+
* tabindex, and the default composition for the mode where the page
|
|
116
|
+
* wrote none. The controls themselves are elements and attach on their own.
|
|
79
117
|
*/
|
|
80
118
|
private mode;
|
|
119
|
+
/** Keeps a hidden chapters track on the video for the `chapters` attribute, or none. */
|
|
120
|
+
private chapters;
|
|
81
121
|
private forward;
|
|
82
122
|
private enqueue;
|
|
83
123
|
/**
|
package/dist/element.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
|
package/dist/element.js
CHANGED
|
@@ -1,30 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* <mattebox-player>: a real <video> as a light-DOM child, so the integrator
|
|
3
|
-
* can reach it, and the
|
|
3
|
+
* can reach it, and the error surface in shadow DOM. The element never
|
|
4
4
|
* forwards or wraps a media element member: play, pause, seek, volume and
|
|
5
5
|
* the rest live on the video, where the browser, Picture-in-Picture and the
|
|
6
6
|
* OS media session already find them.
|
|
7
7
|
*
|
|
8
|
+
* The controls are elements the page places inside, beside the video, and
|
|
9
|
+
* the stage slots them: over the picture for the bar and the screens, in
|
|
10
|
+
* flow under it for the panels row. A page that places none gets the
|
|
11
|
+
* default composition for its mode appended to its light DOM. The element
|
|
12
|
+
* reflects the video's state as attributes on itself, `paused`, `playing`,
|
|
13
|
+
* `ended` and `muted`, for the page's stylesheet and the controls alike.
|
|
14
|
+
*
|
|
8
15
|
* No class fields, `#private` or otherwise: the ES2015 build would lower
|
|
9
16
|
* them into runtime helpers, and the emit check bans helpers. Statics are
|
|
10
17
|
* getters and instance state is declared, then assigned in the constructor.
|
|
11
18
|
*/
|
|
12
19
|
import { createPlayer, matteboxHandler, nativeHandler } from '@mattebox/player-core';
|
|
13
|
-
import {
|
|
14
|
-
import { ATTRIBUTES, resolve } from './controls/options.js';
|
|
20
|
+
import { composeBar, composePanels } from './compose.js';
|
|
15
21
|
import { namespaces } from './namespaces.js';
|
|
16
|
-
import { drmPanel } from './panels/drm.js';
|
|
17
|
-
import { errorSurface } from './panels/error.js';
|
|
18
|
-
import { livePanel } from './panels/live.js';
|
|
19
|
-
import { qualityPanel } from './panels/quality.js';
|
|
20
|
-
import { tracksPanel } from './panels/tracks.js';
|
|
21
22
|
import { drmGuard, resolvePreset } from './presets.js';
|
|
22
23
|
import { STYLE } from './style.js';
|
|
23
|
-
|
|
24
|
+
import { errorSurface } from './surface.js';
|
|
25
|
+
import { CONTROL_BAR, PANELS, PLAYER } from './tags.js';
|
|
24
26
|
/** Attributes forwarded onto the video as attributes, never as properties. */
|
|
25
|
-
const FORWARDED = ['autoplay', 'muted', 'poster'];
|
|
27
|
+
const FORWARDED = ['autoplay', 'muted', 'poster', 'crossorigin'];
|
|
26
28
|
/** Everything else the element watches. Changing any of them reloads. */
|
|
27
29
|
const OWN = ['src', 'type', 'preset', 'license-url', 'thumbnails'];
|
|
30
|
+
/**
|
|
31
|
+
* The chapters track URL. A `<track kind="chapters">` on the video, hidden
|
|
32
|
+
* so its cues load and nothing is drawn: chapters are the browser's own
|
|
33
|
+
* text track, which the seek bar and the chapters menu read, and which a
|
|
34
|
+
* page can also put there itself. Changing it swaps the track and never
|
|
35
|
+
* reloads the source.
|
|
36
|
+
*/
|
|
37
|
+
const CHAPTERS = 'chapters';
|
|
28
38
|
/**
|
|
29
39
|
* The one attribute whose meaning the element owns: `native` keeps the
|
|
30
40
|
* browser's controls on the video, `custom` swaps them for the bar, `none`
|
|
@@ -32,10 +42,8 @@ const OWN = ['src', 'type', 'preset', 'license-url', 'thumbnails'];
|
|
|
32
42
|
* `native`. Changing it swaps the bar without touching the session.
|
|
33
43
|
*/
|
|
34
44
|
const CONTROLS = 'controls';
|
|
35
|
-
/** The
|
|
36
|
-
const
|
|
37
|
-
/** Composed in this order, and each one answers null when its namespace is absent. */
|
|
38
|
-
const PANELS = [qualityPanel, tracksPanel, livePanel, drmPanel];
|
|
45
|
+
/** The video's state, as attributes on the element, read on the events the video fires for it. */
|
|
46
|
+
const STATE_EVENTS = ['play', 'pause', 'ended', 'emptied', 'volumechange', 'loadedmetadata'];
|
|
39
47
|
/** Every stage the engine ships. A narrower preset is optimization. */
|
|
40
48
|
const DEFAULT_PRESET = 'full';
|
|
41
49
|
/**
|
|
@@ -53,23 +61,32 @@ let defaults = {};
|
|
|
53
61
|
// biome-ignore lint/suspicious/noUnsafeDeclarationMerging: method overloads only, no properties
|
|
54
62
|
export class MatteboxPlayerElement extends HTMLElement {
|
|
55
63
|
static get observedAttributes() {
|
|
56
|
-
return [...FORWARDED, ...OWN, CONTROLS,
|
|
64
|
+
return [...FORWARDED, ...OWN, CONTROLS, CHAPTERS];
|
|
57
65
|
}
|
|
58
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Registers the element once, and records the stages markup-only pages
|
|
68
|
+
* get. The controls register through their own entries, the package's
|
|
69
|
+
* root entry importing every one; a control connected before its player
|
|
70
|
+
* is defined waits for the definition.
|
|
71
|
+
*/
|
|
59
72
|
static define(options) {
|
|
60
73
|
if (options !== undefined)
|
|
61
74
|
defaults = options;
|
|
62
|
-
if (customElements.get(
|
|
63
|
-
customElements.define(
|
|
75
|
+
if (customElements.get(PLAYER) === undefined) {
|
|
76
|
+
customElements.define(PLAYER, MatteboxPlayerElement);
|
|
77
|
+
}
|
|
64
78
|
}
|
|
65
79
|
constructor(options) {
|
|
66
80
|
super();
|
|
67
81
|
this.options = options ?? defaults;
|
|
68
|
-
this.
|
|
69
|
-
this.
|
|
82
|
+
this.composed = [];
|
|
83
|
+
this.settled = false;
|
|
70
84
|
this.focusable = false;
|
|
85
|
+
this.track = null;
|
|
71
86
|
this.core = null;
|
|
72
87
|
this.current = null;
|
|
88
|
+
this.failure = null;
|
|
89
|
+
this.reflecting = false;
|
|
73
90
|
this.offs = [];
|
|
74
91
|
this.queue = Promise.resolve();
|
|
75
92
|
this.pending = false;
|
|
@@ -77,18 +94,25 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
77
94
|
// Native until the `controls` attribute says otherwise, which arrives
|
|
78
95
|
// through attributeChangedCallback: a constructor must not read attributes.
|
|
79
96
|
this.media.controls = true;
|
|
97
|
+
for (const name of STATE_EVENTS) {
|
|
98
|
+
this.media.addEventListener(name, () => {
|
|
99
|
+
this.reflect();
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
// An error over a picture that then plays is wrong by definition.
|
|
103
|
+
this.media.addEventListener('playing', () => {
|
|
104
|
+
this.failure = null;
|
|
105
|
+
});
|
|
80
106
|
this.stage = document.createElement('div');
|
|
81
107
|
this.stage.setAttribute('part', 'stage');
|
|
82
108
|
this.stage.append(document.createElement('slot'));
|
|
83
|
-
this.bar = document.createElement('div');
|
|
84
|
-
this.bar.setAttribute('part', 'panels');
|
|
85
109
|
this.surface = errorSurface(() => {
|
|
86
110
|
this.reload();
|
|
87
111
|
});
|
|
88
112
|
const root = this.attachShadow({ mode: 'open' });
|
|
89
113
|
const style = document.createElement('style');
|
|
90
114
|
style.textContent = STYLE;
|
|
91
|
-
root.append(style, this.stage, this.
|
|
115
|
+
root.append(style, this.stage, this.surface.root);
|
|
92
116
|
}
|
|
93
117
|
/** The media element. Everything the browser already does is here. */
|
|
94
118
|
get video() {
|
|
@@ -102,13 +126,51 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
102
126
|
get engine() {
|
|
103
127
|
return this.current?.engine ?? null;
|
|
104
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* The fatal error of the current load, or null once a load starts or
|
|
131
|
+
* playback resumes. The `error` event says when; this says what, for a
|
|
132
|
+
* control that attaches after the event, such as the default composition
|
|
133
|
+
* behind a source that fails while the page is still parsing.
|
|
134
|
+
*/
|
|
135
|
+
get error() {
|
|
136
|
+
return this.failure;
|
|
137
|
+
}
|
|
105
138
|
connectedCallback() {
|
|
106
139
|
if (this.media.parentNode !== this)
|
|
107
140
|
this.append(this.media);
|
|
108
141
|
for (const name of FORWARDED)
|
|
109
142
|
this.forward(name);
|
|
143
|
+
this.reflect();
|
|
144
|
+
if (!this.settled)
|
|
145
|
+
this.settle();
|
|
110
146
|
this.reload();
|
|
111
147
|
}
|
|
148
|
+
/** Decides on the default composition once the children are all in, then on every mode change. */
|
|
149
|
+
settle() {
|
|
150
|
+
const done = () => {
|
|
151
|
+
this.settled = true;
|
|
152
|
+
this.mode();
|
|
153
|
+
};
|
|
154
|
+
if (document.readyState === 'loading') {
|
|
155
|
+
document.addEventListener('DOMContentLoaded', done, { once: true });
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
queueMicrotask(done);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/** The video's state on the element, for `mattebox-player[paused]` and the like. */
|
|
162
|
+
reflect() {
|
|
163
|
+
const video = this.media;
|
|
164
|
+
this.reflecting = true;
|
|
165
|
+
this.toggleAttribute('paused', video.paused);
|
|
166
|
+
this.toggleAttribute('playing', !video.paused);
|
|
167
|
+
this.toggleAttribute('ended', video.ended);
|
|
168
|
+
// `muted` is also forwarded: the page's attribute sets the video, and
|
|
169
|
+
// the video's state sets the attribute. Reflection never forwards, so
|
|
170
|
+
// a read can only ever change the attribute, never the video.
|
|
171
|
+
this.toggleAttribute('muted', video.muted);
|
|
172
|
+
this.reflecting = false;
|
|
173
|
+
}
|
|
112
174
|
disconnectedCallback() {
|
|
113
175
|
// A single-page app must not leave a pipeline attached to a video it
|
|
114
176
|
// navigated away from. Reconnecting loads the `src` again.
|
|
@@ -116,60 +178,81 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
116
178
|
}
|
|
117
179
|
attributeChangedCallback(name) {
|
|
118
180
|
if (FORWARDED.includes(name)) {
|
|
119
|
-
this.
|
|
181
|
+
if (!this.reflecting)
|
|
182
|
+
this.forward(name);
|
|
120
183
|
return;
|
|
121
184
|
}
|
|
122
|
-
if (name === CONTROLS
|
|
185
|
+
if (name === CONTROLS) {
|
|
123
186
|
this.mode();
|
|
124
187
|
return;
|
|
125
188
|
}
|
|
189
|
+
if (name === CHAPTERS) {
|
|
190
|
+
this.chapters();
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
126
193
|
// The preset decides the chain, so it is the one attribute that rebuilds it.
|
|
127
194
|
if (name === 'preset')
|
|
128
195
|
this.enqueue(() => this.discard());
|
|
129
196
|
this.reload();
|
|
130
197
|
}
|
|
131
198
|
/**
|
|
132
|
-
* Applies the `controls` attribute
|
|
133
|
-
*
|
|
134
|
-
*
|
|
199
|
+
* Applies the `controls` attribute: the video's own controls, the
|
|
200
|
+
* tabindex, and the default composition for the mode where the page
|
|
201
|
+
* wrote none. The controls themselves are elements and attach on their own.
|
|
135
202
|
*/
|
|
136
203
|
mode() {
|
|
137
204
|
const value = this.getAttribute(CONTROLS);
|
|
138
205
|
const custom = value === 'custom';
|
|
139
206
|
this.media.controls = !custom && value !== 'none';
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
this.controls = null;
|
|
145
|
-
this.removeAttribute('fullscreen');
|
|
207
|
+
// Under custom controls the error screen element carries a fatal error.
|
|
208
|
+
if (custom)
|
|
209
|
+
this.surface.clear();
|
|
210
|
+
if (!custom) {
|
|
146
211
|
if (this.focusable)
|
|
147
212
|
this.removeAttribute('tabindex');
|
|
148
213
|
this.focusable = false;
|
|
149
214
|
}
|
|
150
|
-
if (!
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
// tabindex keeps it.
|
|
155
|
-
if (!this.hasAttribute('tabindex')) {
|
|
215
|
+
else if (!this.hasAttribute('tabindex')) {
|
|
216
|
+
// A bare video is not focusable, so without this a click on it would
|
|
217
|
+
// leave the shortcuts nowhere to listen. A page that set its own
|
|
218
|
+
// tabindex keeps it.
|
|
156
219
|
this.tabIndex = 0;
|
|
157
220
|
this.focusable = true;
|
|
158
221
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
this.
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
this.
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
222
|
+
if (!this.settled)
|
|
223
|
+
return;
|
|
224
|
+
for (const node of this.composed)
|
|
225
|
+
node.remove();
|
|
226
|
+
this.composed = [];
|
|
227
|
+
const own = custom ? CONTROL_BAR : PANELS;
|
|
228
|
+
if (this.querySelector(`:scope > ${own}`) === null) {
|
|
229
|
+
this.composed = custom ? composeBar() : composePanels();
|
|
230
|
+
this.append(...this.composed);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/** Keeps a hidden chapters track on the video for the `chapters` attribute, or none. */
|
|
234
|
+
chapters() {
|
|
235
|
+
const url = this.getAttribute(CHAPTERS);
|
|
236
|
+
if (url === null) {
|
|
237
|
+
this.track?.remove();
|
|
238
|
+
this.track = null;
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
const held = this.track;
|
|
242
|
+
if (held !== null && held.parentNode === this.media && held.getAttribute('src') === url)
|
|
243
|
+
return;
|
|
244
|
+
// A new element each time: one removed mid-load, as the engine's attach
|
|
245
|
+
// does, stays in its error state, and neither a new `src` nor a second
|
|
246
|
+
// insertion starts it loading again.
|
|
247
|
+
held?.remove();
|
|
248
|
+
const track = document.createElement('track');
|
|
249
|
+
track.kind = 'chapters';
|
|
250
|
+
track.src = url;
|
|
251
|
+
this.track = track;
|
|
252
|
+
this.media.append(track);
|
|
253
|
+
// Set after the insertion: a track element's mode exists once it is in
|
|
254
|
+
// a media element, and `hidden` is what makes its cues load unseen.
|
|
255
|
+
track.track.mode = 'hidden';
|
|
173
256
|
}
|
|
174
257
|
forward(name) {
|
|
175
258
|
const value = this.getAttribute(name);
|
|
@@ -205,9 +288,10 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
205
288
|
}
|
|
206
289
|
report(error) {
|
|
207
290
|
if (error.fatal) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
291
|
+
this.failure = error;
|
|
292
|
+
// Under custom controls the error screen element is the surface, and
|
|
293
|
+
// the row under the video stays quiet, as the panels do.
|
|
294
|
+
if (this.getAttribute(CONTROLS) !== 'custom')
|
|
211
295
|
this.surface.show(error);
|
|
212
296
|
}
|
|
213
297
|
this.emit('error', error);
|
|
@@ -222,8 +306,8 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
222
306
|
const core = await this.ensure();
|
|
223
307
|
const type = this.getAttribute('type');
|
|
224
308
|
const source = type === null ? { url } : { url, type };
|
|
309
|
+
this.failure = null;
|
|
225
310
|
this.surface.clear();
|
|
226
|
-
this.controls?.clearError();
|
|
227
311
|
let session;
|
|
228
312
|
try {
|
|
229
313
|
session = await core.load(source);
|
|
@@ -239,20 +323,21 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
239
323
|
}
|
|
240
324
|
this.current = session;
|
|
241
325
|
this.configure(session);
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
this.bar.append(panel.root);
|
|
249
|
-
}
|
|
326
|
+
// The engine's attach empties the media element to reset its resource
|
|
327
|
+
// selection (`kernel/mse.ts`), and the chapters track goes with the
|
|
328
|
+
// `<source>` children it means. Wanted: the track to survive attach.
|
|
329
|
+
// Had to: put it back once the session is in. The surface that would
|
|
330
|
+
// make it one call: an attach that removes `<source>` children alone.
|
|
331
|
+
this.chapters();
|
|
250
332
|
}
|
|
251
333
|
async ensure() {
|
|
252
334
|
if (this.core !== null)
|
|
253
335
|
return this.core;
|
|
254
336
|
const core = createPlayer(this.media, { handlers: await this.chain() });
|
|
255
337
|
this.offs.push(core.on('sourcechange', (session) => {
|
|
338
|
+
// Before the event goes out, so a control that reads `engine` on
|
|
339
|
+
// `sourcechange` sees the session the event is about.
|
|
340
|
+
this.current = session;
|
|
256
341
|
this.emit('sourcechange', session);
|
|
257
342
|
}), core.on('error', (error) => {
|
|
258
343
|
this.report(error);
|
|
@@ -263,8 +348,9 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
263
348
|
async chain() {
|
|
264
349
|
if (this.options.handlers !== undefined)
|
|
265
350
|
return this.options.handlers;
|
|
351
|
+
const config = this.options.config === undefined ? {} : { config: this.options.config };
|
|
266
352
|
if (this.options.stages !== undefined) {
|
|
267
|
-
return [matteboxHandler({ stages: this.options.stages }), nativeHandler()];
|
|
353
|
+
return [matteboxHandler({ stages: this.options.stages, ...config }), nativeHandler()];
|
|
268
354
|
}
|
|
269
355
|
const name = this.getAttribute('preset') ?? DEFAULT_PRESET;
|
|
270
356
|
const preset = await resolvePreset(name);
|
|
@@ -279,7 +365,7 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
279
365
|
});
|
|
280
366
|
return [nativeHandler()];
|
|
281
367
|
}
|
|
282
|
-
return [matteboxHandler({ preset, ...drmGuard() }), nativeHandler()];
|
|
368
|
+
return [matteboxHandler({ preset, ...config, ...drmGuard() }), nativeHandler()];
|
|
283
369
|
}
|
|
284
370
|
/** What the attributes ask of the session's namespaces, once there is one. */
|
|
285
371
|
configure(session) {
|
|
@@ -303,11 +389,6 @@ export class MatteboxPlayerElement extends HTMLElement {
|
|
|
303
389
|
}
|
|
304
390
|
}
|
|
305
391
|
unmount() {
|
|
306
|
-
this.controls?.detach();
|
|
307
|
-
for (const panel of this.panels)
|
|
308
|
-
panel.dispose();
|
|
309
|
-
this.panels = [];
|
|
310
|
-
this.bar.replaceChildren();
|
|
311
392
|
this.current = null;
|
|
312
393
|
}
|
|
313
394
|
async teardown() {
|
package/dist/element.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <mbx-audio-menu>: the audio track over `engine.tracks`. Hidden unless
|
|
3
|
+
* there is a choice to make, and for a native session. The name comes
|
|
4
|
+
* from `label`. A track reads as its language, then its role, then its
|
|
5
|
+
* id: whichever the manifest gave.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContentType, Mattebox, Track } from 'mattebox';
|
|
8
|
+
import type { PlayerHost } from '../host.js';
|
|
9
|
+
import { MenuElement } from './menu-element.js';
|
|
10
|
+
/** The language, then the role, then the id: whichever the manifest gave. */
|
|
11
|
+
export declare function trackLabel(track: Track): string;
|
|
12
|
+
/** The tracks of one content type as menu items, with the active one's id. */
|
|
13
|
+
export declare function trackItems(engine: Mattebox, contentType: ContentType): [Array<readonly [string, string]>, string | null];
|
|
14
|
+
/** Subscribes `tick` to the track events, and answers the unsubscribe. */
|
|
15
|
+
export declare function onTracks(engine: Mattebox, tick: () => void): () => void;
|
|
16
|
+
export declare class MbxAudioMenu extends MenuElement {
|
|
17
|
+
static get observedAttributes(): readonly string[];
|
|
18
|
+
private engine;
|
|
19
|
+
constructor();
|
|
20
|
+
protected name(): string;
|
|
21
|
+
protected attach(player: PlayerHost): void;
|
|
22
|
+
protected render(): void;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=audio-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-menu.d.ts","sourceRoot":"","sources":["../../src/elements/audio-menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAU,MAAM,mBAAmB,CAAC;AAGxD,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAG/C;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CACxB,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,WAAW,GACvB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAMnD;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKvE;AAED,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,QAAgB,MAAM,CAAkB;;cAQrB,IAAI,IAAI,MAAM;cAId,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;cAWhC,MAAM,IAAI,IAAI;CAqBlC"}
|