@mattebox/player 0.2.0 → 0.3.1
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 -1
- package/dist/cdn/mattebox-player.min.js +49 -29
- package/dist/controls/slider.d.ts.map +1 -1
- package/dist/controls/slider.js +16 -2
- package/dist/controls/slider.js.map +1 -1
- package/dist/elements/component.d.ts +2 -2
- package/dist/elements/component.d.ts.map +1 -1
- package/dist/elements/component.js +3 -3
- package/dist/elements/component.js.map +1 -1
- package/dist/elements/control-bar.d.ts +29 -0
- package/dist/elements/control-bar.d.ts.map +1 -1
- package/dist/elements/control-bar.js +136 -4
- package/dist/elements/control-bar.js.map +1 -1
- 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/start-button.d.ts +10 -0
- package/dist/elements/start-button.d.ts.map +1 -1
- package/dist/elements/start-button.js +37 -0
- package/dist/elements/start-button.js.map +1 -1
- package/dist/elements/volume.d.ts.map +1 -1
- package/dist/elements/volume.js +2 -0
- package/dist/elements/volume.js.map +1 -1
- 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/es2015/controls/slider.js +13 -1
- package/dist/es2015/elements/component.js +4 -3
- package/dist/es2015/elements/control-bar.js +126 -5
- package/dist/es2015/elements/remaining-time.js +26 -0
- package/dist/es2015/elements/start-button.js +37 -0
- package/dist/es2015/elements/volume.js +2 -0
- package/dist/es2015/entries/remaining-time.js +7 -0
- package/dist/es2015/index.js +3 -1
- package/dist/es2015/style.js +36 -15
- package/dist/es2015/tags.js +2 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/style.d.ts +7 -1
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +36 -15
- package/dist/style.js.map +1 -1
- package/dist/tags.d.ts +1 -0
- package/dist/tags.d.ts.map +1 -1
- package/dist/tags.js +1 -0
- package/dist/tags.js.map +1 -1
- package/package.json +3 -3
package/dist/controls/slider.js
CHANGED
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
*
|
|
16
16
|
* The steps are read on every key, so an element can take them from its
|
|
17
17
|
* attributes as they change.
|
|
18
|
+
*
|
|
19
|
+
* A drag ends on `pointerup`, and also on a move that reports no button
|
|
20
|
+
* held: the button went up where no `pointerup` reached the slider, such
|
|
21
|
+
* as outside the window, and the thumb must not stay on the pointer. A
|
|
22
|
+
* lost capture ends it too.
|
|
18
23
|
*/
|
|
19
24
|
import { el } from '../dom.js';
|
|
20
25
|
function clamp(value, min, max) {
|
|
@@ -68,8 +73,15 @@ export function slider(options) {
|
|
|
68
73
|
onInput(at(event.clientX));
|
|
69
74
|
}
|
|
70
75
|
function move(event) {
|
|
71
|
-
if (held)
|
|
72
|
-
|
|
76
|
+
if (!held)
|
|
77
|
+
return;
|
|
78
|
+
// A mouse that moves with no button down has let go; a touch or a pen
|
|
79
|
+
// in contact reports one.
|
|
80
|
+
if (event.buttons === 0) {
|
|
81
|
+
up(event);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
onInput(at(event.clientX));
|
|
73
85
|
}
|
|
74
86
|
function up(event) {
|
|
75
87
|
if (!held)
|
|
@@ -114,6 +126,7 @@ export function slider(options) {
|
|
|
114
126
|
root.addEventListener('pointermove', move);
|
|
115
127
|
root.addEventListener('pointerup', up);
|
|
116
128
|
root.addEventListener('pointercancel', cancel);
|
|
129
|
+
root.addEventListener('lostpointercapture', cancel);
|
|
117
130
|
root.addEventListener('keydown', key);
|
|
118
131
|
return {
|
|
119
132
|
root,
|
|
@@ -143,6 +156,7 @@ export function slider(options) {
|
|
|
143
156
|
root.removeEventListener('pointermove', move);
|
|
144
157
|
root.removeEventListener('pointerup', up);
|
|
145
158
|
root.removeEventListener('pointercancel', cancel);
|
|
159
|
+
root.removeEventListener('lostpointercapture', cancel);
|
|
146
160
|
root.removeEventListener('keydown', key);
|
|
147
161
|
},
|
|
148
162
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../src/controls/slider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../src/controls/slider.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,8 @@ export declare abstract class Component extends HTMLElement {
|
|
|
33
33
|
* subscriptions live exactly as long as the session. Detach runs it too.
|
|
34
34
|
*/
|
|
35
35
|
protected follow(player: PlayerHost, fn: (engine: Mattebox | null) => (() => void) | undefined): void;
|
|
36
|
-
/** Runs `fn` when any of `names` changes on `target`, until detach. */
|
|
37
|
-
protected observe(target: Element, names: readonly string[], fn: () => void): void;
|
|
36
|
+
/** Runs `fn` when any of `names` changes on `target`, or under it with `subtree`, until detach. */
|
|
37
|
+
protected observe(target: Element, names: readonly string[], fn: () => void, subtree?: boolean): void;
|
|
38
38
|
/** The control is connected inside an upgraded player. Subscribe and render. */
|
|
39
39
|
protected abstract attach(player: PlayerHost): void;
|
|
40
40
|
/** The control left its player. Listeners are already gone; undo anything else. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/elements/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,8BAAsB,SAAU,SAAQ,WAAW;IACjD,UAAkB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5C,QAAgB,IAAI,CAAoB;IACxC,yGAAyG;IACzG,QAAgB,KAAK,CAAS;;IAS9B,iBAAiB,IAAI,IAAI;IAiBzB,oBAAoB,IAAI,IAAI;IAU5B,wBAAwB,IAAI,IAAI;IAIhC,qEAAqE;IACrE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAOrF,oCAAoC;IACpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI;IAIrC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CACd,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GACxD,IAAI;IAcP,
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/elements/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,8BAAsB,SAAU,SAAQ,WAAW;IACjD,UAAkB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5C,QAAgB,IAAI,CAAoB;IACxC,yGAAyG;IACzG,QAAgB,KAAK,CAAS;;IAS9B,iBAAiB,IAAI,IAAI;IAiBzB,oBAAoB,IAAI,IAAI;IAU5B,wBAAwB,IAAI,IAAI;IAIhC,qEAAqE;IACrE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAOrF,oCAAoC;IACpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI;IAIrC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CACd,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GACxD,IAAI;IAcP,mGAAmG;IACnG,SAAS,CAAC,OAAO,CACf,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,EAAE,EAAE,MAAM,IAAI,EACd,OAAO,UAAQ,GACd,IAAI;IAQP,gFAAgF;IAChF,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAEnD,mFAAmF;IACnF,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAE3C,yFAAyF;IACzF,SAAS,CAAC,MAAM,IAAI,IAAI;CACzB"}
|
|
@@ -74,10 +74,10 @@ export class Component extends HTMLElement {
|
|
|
74
74
|
});
|
|
75
75
|
run();
|
|
76
76
|
}
|
|
77
|
-
/** Runs `fn` when any of `names` changes on `target`, until detach. */
|
|
78
|
-
observe(target, names, fn) {
|
|
77
|
+
/** Runs `fn` when any of `names` changes on `target`, or under it with `subtree`, until detach. */
|
|
78
|
+
observe(target, names, fn, subtree = false) {
|
|
79
79
|
const observer = new MutationObserver(fn);
|
|
80
|
-
observer.observe(target, { attributes: true, attributeFilter: [...names] });
|
|
80
|
+
observer.observe(target, { attributes: true, attributeFilter: [...names], subtree });
|
|
81
81
|
this.offs.push(() => {
|
|
82
82
|
observer.disconnect();
|
|
83
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/elements/component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/elements/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,18 +21,47 @@
|
|
|
21
21
|
* toggles fullscreen, the arrows seek by `seek-step`. Space is left to a
|
|
22
22
|
* focused button, which is its own. A click on the video toggles play.
|
|
23
23
|
* Fullscreen goes on the player itself, so the bar comes along.
|
|
24
|
+
*
|
|
25
|
+
* A narrow bar collapses the buttons row by `priority`: each child carries
|
|
26
|
+
* a number, its own attribute or the default for its tag, and the bar
|
|
27
|
+
* marks the highest numbers `collapsed` one at a time until the row fits
|
|
28
|
+
* with a little slack, from the right among equals. Zero, the default for
|
|
29
|
+
* anything unlisted, never collapses: play and fullscreen stay whatever
|
|
30
|
+
* the width. The mark is an attribute and the hiding is one `::slotted`
|
|
31
|
+
* rule here, so a page styles or overrides it by the tag. The volume's
|
|
32
|
+
* slider is a candidate of its own, and counts at its unfolded width, so
|
|
33
|
+
* the row is sized for what the pointer will make of it.
|
|
24
34
|
*/
|
|
25
35
|
import type { PlayerHost } from '../host.js';
|
|
26
36
|
import { Component } from './component.js';
|
|
27
37
|
export declare class MbxControlBar extends Component {
|
|
28
38
|
static get observedAttributes(): readonly string[];
|
|
29
39
|
private readonly seekRow;
|
|
40
|
+
private readonly buttonsRow;
|
|
41
|
+
private readonly buttons;
|
|
30
42
|
private timer;
|
|
43
|
+
/** Fires on a width change of the buttons row, so the collapse follows the page's layout. */
|
|
44
|
+
private resizer;
|
|
31
45
|
/** Whether the last input was a key, so focus inside holds the bar. */
|
|
32
46
|
private keyboard;
|
|
33
47
|
private cues;
|
|
34
48
|
private screen;
|
|
35
49
|
constructor();
|
|
50
|
+
/**
|
|
51
|
+
* What the buttons need: their widths and the gaps between them, the
|
|
52
|
+
* spacer aside since it takes what is left, and a folded slider at the
|
|
53
|
+
* width it unfolds to. The row's own width says nothing, because the
|
|
54
|
+
* spacer fills it whatever the buttons take.
|
|
55
|
+
*/
|
|
56
|
+
private needed;
|
|
57
|
+
/**
|
|
58
|
+
* Collapses the buttons row to its width. Everything is shown first, so
|
|
59
|
+
* a wider bar gets its controls back, then the highest priorities go one
|
|
60
|
+
* at a time while the buttons need more than the row has, less the
|
|
61
|
+
* slack. Each step lays the row out again; a bar carries a dozen
|
|
62
|
+
* controls, so that is cheap.
|
|
63
|
+
*/
|
|
64
|
+
private collapse;
|
|
36
65
|
/** From the first row's top to the bar's bottom: what the bar covers of the picture. */
|
|
37
66
|
private covered;
|
|
38
67
|
private held;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-bar.d.ts","sourceRoot":"","sources":["../../src/elements/control-bar.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"control-bar.d.ts","sourceRoot":"","sources":["../../src/elements/control-bar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAe7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgG3C,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,iBAAyB,OAAO,CAAiB;IACjD,iBAAyB,UAAU,CAAiB;IACpD,iBAAyB,OAAO,CAAkB;IAClD,QAAgB,KAAK,CAA4C;IACjE,6FAA6F;IAC7F,QAAgB,OAAO,CAAwB;IAC/C,uEAAuE;IACvE,QAAgB,QAAQ,CAAU;IAClC,QAAgB,IAAI,CAAiB;IACrC,QAAgB,MAAM,CAAoB;;IAsB1C;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAgBd;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAyBhB,wFAAwF;IACxF,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,GAAG;cAsCQ,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;cAmDhC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;CAgBpD"}
|
|
@@ -21,13 +21,67 @@
|
|
|
21
21
|
* toggles fullscreen, the arrows seek by `seek-step`. Space is left to a
|
|
22
22
|
* focused button, which is its own. A click on the video toggles play.
|
|
23
23
|
* Fullscreen goes on the player itself, so the bar comes along.
|
|
24
|
+
*
|
|
25
|
+
* A narrow bar collapses the buttons row by `priority`: each child carries
|
|
26
|
+
* a number, its own attribute or the default for its tag, and the bar
|
|
27
|
+
* marks the highest numbers `collapsed` one at a time until the row fits
|
|
28
|
+
* with a little slack, from the right among equals. Zero, the default for
|
|
29
|
+
* anything unlisted, never collapses: play and fullscreen stay whatever
|
|
30
|
+
* the width. The mark is an attribute and the hiding is one `::slotted`
|
|
31
|
+
* rule here, so a page styles or overrides it by the tag. The volume's
|
|
32
|
+
* slider is a candidate of its own, and counts at its unfolded width, so
|
|
33
|
+
* the row is sized for what the pointer will make of it.
|
|
24
34
|
*/
|
|
25
35
|
import { cueLift, cueStyle } from '../controls/cues.js';
|
|
26
36
|
import { fullscreen } from '../controls/fullscreen.js';
|
|
37
|
+
import { AUDIO_MENU, CHAPTERS_MENU, DRM_BADGE, MUTE_BUTTON, PIP_BUTTON, QUALITY_MENU, SKIP_BUTTON, SPACER, SPEED_MENU, SUBTITLES_MENU, VOLUME, VOLUME_SLIDER, } from '../tags.js';
|
|
27
38
|
import { Component } from './component.js';
|
|
28
39
|
import { number, style } from './shared.js';
|
|
29
40
|
const IDLE_MS = 3000;
|
|
30
41
|
const SEEK_STEP = 5;
|
|
42
|
+
/**
|
|
43
|
+
* What goes first when the row is too narrow, by tag: the slider, which
|
|
44
|
+
* takes the most room for the least; then the diagnostics, the lock and
|
|
45
|
+
* the menus a viewer rarely opens; then the menus for the picture and the
|
|
46
|
+
* sound; then the skips; then the mute and the subtitles. The subtitles
|
|
47
|
+
* menu goes last of the menus because it is the one a viewer may need.
|
|
48
|
+
* The diagnostics is another package's, named here as a string. A
|
|
49
|
+
* `priority` attribute on the control replaces its default.
|
|
50
|
+
*/
|
|
51
|
+
const PRIORITY = {
|
|
52
|
+
[VOLUME_SLIDER]: 5,
|
|
53
|
+
'mbx-diagnostics': 4,
|
|
54
|
+
[DRM_BADGE]: 4,
|
|
55
|
+
[SPEED_MENU]: 4,
|
|
56
|
+
[CHAPTERS_MENU]: 4,
|
|
57
|
+
[AUDIO_MENU]: 3,
|
|
58
|
+
[QUALITY_MENU]: 3,
|
|
59
|
+
[PIP_BUTTON]: 3,
|
|
60
|
+
[SKIP_BUTTON]: 2,
|
|
61
|
+
[SUBTITLES_MENU]: 1,
|
|
62
|
+
[VOLUME]: 1,
|
|
63
|
+
[MUTE_BUTTON]: 1,
|
|
64
|
+
};
|
|
65
|
+
/** The width the volume group unfolds its slider to, from volume.ts: what a folded slider is counted at. */
|
|
66
|
+
const SLIDER_WIDTH = 80;
|
|
67
|
+
/** Room kept between the last button and the edge, so nothing sits flush against it. */
|
|
68
|
+
const SLACK = 8;
|
|
69
|
+
function shown(node) {
|
|
70
|
+
return node.getClientRects().length > 0;
|
|
71
|
+
}
|
|
72
|
+
/** The slider inside a volume group child, when it has one. */
|
|
73
|
+
function slider(child) {
|
|
74
|
+
return child.localName === VOLUME ? child.querySelector(VOLUME_SLIDER) : null;
|
|
75
|
+
}
|
|
76
|
+
/** A child's priority: its attribute, else its tag's default, else zero. */
|
|
77
|
+
function priority(child) {
|
|
78
|
+
const own = child.getAttribute('priority');
|
|
79
|
+
if (own !== null) {
|
|
80
|
+
const value = Number(own);
|
|
81
|
+
return Number.isFinite(value) && value > 0 ? value : 0;
|
|
82
|
+
}
|
|
83
|
+
return PRIORITY[child.localName] ?? 0;
|
|
84
|
+
}
|
|
31
85
|
const STYLE = `
|
|
32
86
|
:host {
|
|
33
87
|
position: absolute;
|
|
@@ -45,6 +99,7 @@ const STYLE = `
|
|
|
45
99
|
:host([idle]) { opacity: 0; pointer-events: none; }
|
|
46
100
|
[part~="row"] { display: flex; align-items: center; gap: 8px; }
|
|
47
101
|
[part~="seek-row"] { gap: 16px; }
|
|
102
|
+
::slotted([collapsed]) { display: none; }
|
|
48
103
|
@media (prefers-reduced-motion: reduce) {
|
|
49
104
|
:host { transition: none; }
|
|
50
105
|
}
|
|
@@ -71,16 +126,74 @@ export class MbxControlBar extends Component {
|
|
|
71
126
|
this.keyboard = false;
|
|
72
127
|
this.cues = null;
|
|
73
128
|
this.screen = null;
|
|
129
|
+
this.resizer = null;
|
|
74
130
|
const root = this.attachShadow({ mode: 'open' });
|
|
75
131
|
this.seekRow = document.createElement('div');
|
|
76
132
|
this.seekRow.setAttribute('part', 'row seek-row');
|
|
77
133
|
const seek = document.createElement('slot');
|
|
78
134
|
seek.name = 'seek';
|
|
79
135
|
this.seekRow.append(seek);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
buttons
|
|
83
|
-
|
|
136
|
+
this.buttonsRow = document.createElement('div');
|
|
137
|
+
this.buttonsRow.setAttribute('part', 'row buttons-row');
|
|
138
|
+
this.buttons = document.createElement('slot');
|
|
139
|
+
this.buttonsRow.append(this.buttons);
|
|
140
|
+
root.append(style(STYLE), this.seekRow, this.buttonsRow);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* What the buttons need: their widths and the gaps between them, the
|
|
144
|
+
* spacer aside since it takes what is left, and a folded slider at the
|
|
145
|
+
* width it unfolds to. The row's own width says nothing, because the
|
|
146
|
+
* spacer fills it whatever the buttons take.
|
|
147
|
+
*/
|
|
148
|
+
needed(children) {
|
|
149
|
+
const gap = Number.parseFloat(getComputedStyle(this.buttonsRow).columnGap) || 0;
|
|
150
|
+
let sum = 0;
|
|
151
|
+
let count = 0;
|
|
152
|
+
for (const child of children) {
|
|
153
|
+
if (child.localName === SPACER || !shown(child))
|
|
154
|
+
continue;
|
|
155
|
+
sum += child.getBoundingClientRect().width;
|
|
156
|
+
count += 1;
|
|
157
|
+
const folded = slider(child);
|
|
158
|
+
if (folded !== null && shown(folded)) {
|
|
159
|
+
sum += Math.max(0, SLIDER_WIDTH - folded.getBoundingClientRect().width);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return sum + gap * Math.max(0, count - 1);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Collapses the buttons row to its width. Everything is shown first, so
|
|
166
|
+
* a wider bar gets its controls back, then the highest priorities go one
|
|
167
|
+
* at a time while the buttons need more than the row has, less the
|
|
168
|
+
* slack. Each step lays the row out again; a bar carries a dozen
|
|
169
|
+
* controls, so that is cheap.
|
|
170
|
+
*/
|
|
171
|
+
collapse() {
|
|
172
|
+
const children = this.buttons.assignedElements();
|
|
173
|
+
const candidates = [];
|
|
174
|
+
for (const [index, child] of children.entries()) {
|
|
175
|
+
child.removeAttribute('collapsed');
|
|
176
|
+
const inner = slider(child);
|
|
177
|
+
inner?.removeAttribute('collapsed');
|
|
178
|
+
// A nested slider goes before its group, so it sorts as if it sat
|
|
179
|
+
// after it. What is not shown, by its own `hidden` or a page's rule,
|
|
180
|
+
// takes no room, so marking it would hide nothing and say something
|
|
181
|
+
// false.
|
|
182
|
+
if (inner !== null && shown(inner)) {
|
|
183
|
+
candidates.push({ node: inner, index: index + 0.5, priority: priority(inner) });
|
|
184
|
+
}
|
|
185
|
+
if (shown(child))
|
|
186
|
+
candidates.push({ node: child, index, priority: priority(child) });
|
|
187
|
+
}
|
|
188
|
+
candidates.sort((a, b) => b.priority - a.priority || b.index - a.index);
|
|
189
|
+
const room = this.buttonsRow.clientWidth - SLACK;
|
|
190
|
+
for (const { node, priority: level } of candidates) {
|
|
191
|
+
if (level === 0)
|
|
192
|
+
return;
|
|
193
|
+
if (this.needed(children) <= room)
|
|
194
|
+
return;
|
|
195
|
+
node.setAttribute('collapsed', '');
|
|
196
|
+
}
|
|
84
197
|
}
|
|
85
198
|
/** From the first row's top to the bar's bottom: what the bar covers of the picture. */
|
|
86
199
|
covered() {
|
|
@@ -192,10 +305,29 @@ export class MbxControlBar extends Component {
|
|
|
192
305
|
});
|
|
193
306
|
this.wake(player);
|
|
194
307
|
this.cues.lifted(true);
|
|
308
|
+
// The row's width, its children, and what they hide or reprioritise on
|
|
309
|
+
// their own: each can change what fits. `collapsed` is left out of the
|
|
310
|
+
// filter, since the bar writes it.
|
|
311
|
+
const collapse = () => {
|
|
312
|
+
this.collapse();
|
|
313
|
+
};
|
|
314
|
+
this.listen(this.buttons, ['slotchange'], collapse);
|
|
315
|
+
this.observe(this, ['hidden', 'priority', 'slot'], collapse, true);
|
|
316
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
317
|
+
this.resizer = new ResizeObserver(collapse);
|
|
318
|
+
this.resizer.observe(this.buttonsRow);
|
|
319
|
+
}
|
|
320
|
+
collapse();
|
|
195
321
|
}
|
|
196
322
|
detach(player) {
|
|
197
323
|
clearTimeout(this.timer);
|
|
198
324
|
this.timer = undefined;
|
|
325
|
+
this.resizer?.disconnect();
|
|
326
|
+
this.resizer = null;
|
|
327
|
+
for (const child of this.buttons.assignedElements()) {
|
|
328
|
+
child.removeAttribute('collapsed');
|
|
329
|
+
slider(child)?.removeAttribute('collapsed');
|
|
330
|
+
}
|
|
199
331
|
this.cues?.dispose();
|
|
200
332
|
this.cues = null;
|
|
201
333
|
this.screen = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-bar.js","sourceRoot":"","sources":["../../src/elements/control-bar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-bar.js","sourceRoot":"","sources":["../../src/elements/control-bar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EACL,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,UAAU,EACV,cAAc,EACd,MAAM,EACN,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAqC;IACjD,CAAC,aAAa,CAAC,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;IACpB,CAAC,SAAS,CAAC,EAAE,CAAC;IACd,CAAC,UAAU,CAAC,EAAE,CAAC;IACf,CAAC,aAAa,CAAC,EAAE,CAAC;IAClB,CAAC,UAAU,CAAC,EAAE,CAAC;IACf,CAAC,YAAY,CAAC,EAAE,CAAC;IACjB,CAAC,UAAU,CAAC,EAAE,CAAC;IACf,CAAC,WAAW,CAAC,EAAE,CAAC;IAChB,CAAC,cAAc,CAAC,EAAE,CAAC;IACnB,CAAC,MAAM,CAAC,EAAE,CAAC;IACX,CAAC,WAAW,CAAC,EAAE,CAAC;CACjB,CAAC;AAEF,4GAA4G;AAC5G,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,wFAAwF;AACxF,MAAM,KAAK,GAAG,CAAC,CAAC;AAShB,SAAS,KAAK,CAAC,IAAa;IAC1B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,+DAA+D;AAC/D,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChF,CAAC;AAED,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBb,CAAC;AAEF,SAAS,GAAG,CAAC,KAAuB;IAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC9B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;AAC/E,CAAC;AAED,SAAS,MAAM,CAAC,KAAuB;IACrC,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;;QACjD,KAAK,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClC,CAAC;IAaD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,QAA4B;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC1D,GAAG,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YAC3C,KAAK,IAAI,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACK,QAAQ;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;YACpC,kEAAkE;YAClE,qEAAqE;YACrE,oEAAoE;YACpE,SAAS;YACT,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;QACjD,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI;gBAAE,OAAO;YAC1C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,wFAAwF;IAChF,OAAO;QACb,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG;YAC7C,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM;SAC5C,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,MAAkB;QAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,MAAM,GAAI,IAAI,CAAC,WAAW,EAA4B,CAAC,aAAa,CAAC;QAC3E,OAAO,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,IAAI,CAAC,MAAkB,EAAE,EAAW;QAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE;YAAE,OAAO;QAC7C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,MAAkB;QAC9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,wEAAwE;QACxE,0BAA0B;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,IAAI,CAAC,MAAkB;QAC7B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,GAAG,CAAC,MAAkB,EAAE,KAAoB;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO;QACrF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,iBAAiB,CAAC;QACtE,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,GAAG;gBACN,IAAI,QAAQ;oBAAE,OAAO;gBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,WAAW;gBACd,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC1F,MAAM;YACR,KAAK,YAAY;gBACf,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,GAAG,CAAC,KAAK,CAAC,EACV,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CACzD,CAAC;gBACF,MAAM;YACR;gBACE,OAAO;QACX,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAEkB,MAAM,CAAC,MAAkB;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC;QAEV,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,KAAY,EAAQ,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAsB,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,KAAY,EAAQ,EAAE;YACnC,+DAA+D;YAC/D,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvB,uEAAuE;QACvE,uEAAuE;QACvE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IAEkB,MAAM,CAAC,MAAkB;QAC1C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remaining-time.d.ts","sourceRoot":"","sources":["../../src/elements/remaining-time.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,WAAW;;cAK5B,MAAM,IAAI,IAAI;CAUlC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <mbx-remaining-time>: what is left, "-4:53", once the metadata is in. A
|
|
3
|
+
* bar that shows one number shows this one: a viewer asks how much is
|
|
4
|
+
* left more often than where they are. A live stream has no end, so the
|
|
5
|
+
* element hides while the stream is live, as the duration does.
|
|
6
|
+
*/
|
|
7
|
+
import { live, span } from '../controls/session.js';
|
|
8
|
+
import { format } from '../controls/time.js';
|
|
9
|
+
import { TimeElement } from './time-element.js';
|
|
10
|
+
export class MbxRemainingTime extends TimeElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(':host { text-align: right; }');
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
const player = this.player;
|
|
16
|
+
if (player === null)
|
|
17
|
+
return;
|
|
18
|
+
const video = player.video;
|
|
19
|
+
const engine = player.engine;
|
|
20
|
+
const on = live(engine) !== undefined;
|
|
21
|
+
this.hidden = on;
|
|
22
|
+
if (!on)
|
|
23
|
+
this.text.data = `-${format(Math.max(0, span(video, engine).end - video.currentTime))}`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=remaining-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remaining-time.js","sourceRoot":"","sources":["../../src/elements/remaining-time.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C;QACE,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACxC,CAAC;IAEkB,MAAM;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;IAC5F,CAAC;CACF"}
|
|
@@ -6,8 +6,18 @@ export declare class MbxStartButton extends Component {
|
|
|
6
6
|
private readonly slots;
|
|
7
7
|
/** A fatal error is on screen, and the play stays out of its way until playback or a load. */
|
|
8
8
|
private failed;
|
|
9
|
+
/** Watches the player's box: in a short one the button would sit over the bar. */
|
|
10
|
+
private resizer;
|
|
9
11
|
constructor();
|
|
10
12
|
protected attach(player: PlayerHost): void;
|
|
13
|
+
protected detach(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Cramped when the button's foot would be inside the bar's box, which
|
|
16
|
+
* starts at the top of its gradient: then the bar's own play button is
|
|
17
|
+
* the one to press. Measured with the button shown, since a hidden one
|
|
18
|
+
* has no box.
|
|
19
|
+
*/
|
|
20
|
+
private fit;
|
|
11
21
|
protected render(): void;
|
|
12
22
|
}
|
|
13
23
|
//# sourceMappingURL=start-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-button.d.ts","sourceRoot":"","sources":["../../src/elements/start-button.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"start-button.d.ts","sourceRoot":"","sources":["../../src/elements/start-button.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA+B3C,qBAAa,cAAe,SAAQ,SAAS;IAC3C,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,iBAAyB,MAAM,CAAoB;IACnD,iBAAyB,KAAK,CAAiC;IAC/D,8FAA8F;IAC9F,QAAgB,MAAM,CAAU;IAChC,kFAAkF;IAClF,QAAgB,OAAO,CAAwB;;cAkB5B,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;cAkChC,MAAM,IAAI,IAAI;IAMjC;;;;;OAKG;IACH,OAAO,CAAC,GAAG;cAgBQ,MAAM,IAAI,IAAI;CAWlC"}
|
|
@@ -19,6 +19,8 @@ const STYLE = `${BUTTON_STYLE}
|
|
|
19
19
|
transition: opacity 0.15s, background 0.15s;
|
|
20
20
|
}
|
|
21
21
|
[part~="button"]:hover { opacity: 1; background: rgba(0, 0, 0, 0.6); }
|
|
22
|
+
/* A box too short for the button above the bar: the bar's play does the job. */
|
|
23
|
+
:host([cramped]) { display: none; }
|
|
22
24
|
[part~="icon"], ::slotted(*) { width: 40px; height: 40px; margin-left: 2px; }
|
|
23
25
|
@media (prefers-reduced-motion: reduce) {
|
|
24
26
|
[part~="button"] { transition: none; }
|
|
@@ -31,6 +33,7 @@ export class MbxStartButton extends Component {
|
|
|
31
33
|
constructor() {
|
|
32
34
|
super();
|
|
33
35
|
this.failed = false;
|
|
36
|
+
this.resizer = null;
|
|
34
37
|
const root = this.attachShadow({ mode: 'open' });
|
|
35
38
|
this.button = document.createElement('button');
|
|
36
39
|
this.button.type = 'button';
|
|
@@ -68,8 +71,42 @@ export class MbxStartButton extends Component {
|
|
|
68
71
|
player.removeEventListener('error', failure);
|
|
69
72
|
});
|
|
70
73
|
this.failed = player.error !== null;
|
|
74
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
75
|
+
this.resizer = new ResizeObserver(() => {
|
|
76
|
+
this.fit(player);
|
|
77
|
+
});
|
|
78
|
+
this.resizer.observe(player);
|
|
79
|
+
}
|
|
80
|
+
this.fit(player);
|
|
71
81
|
this.render();
|
|
72
82
|
}
|
|
83
|
+
detach() {
|
|
84
|
+
this.resizer?.disconnect();
|
|
85
|
+
this.resizer = null;
|
|
86
|
+
this.removeAttribute('cramped');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Cramped when the button's foot would be inside the bar's box, which
|
|
90
|
+
* starts at the top of its gradient: then the bar's own play button is
|
|
91
|
+
* the one to press. Measured with the button shown, since a hidden one
|
|
92
|
+
* has no box.
|
|
93
|
+
*/
|
|
94
|
+
fit(player) {
|
|
95
|
+
const bar = player.querySelector('mbx-control-bar');
|
|
96
|
+
if (bar === null) {
|
|
97
|
+
this.removeAttribute('cramped');
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const wasHidden = this.hidden;
|
|
101
|
+
const wasCramped = this.hasAttribute('cramped');
|
|
102
|
+
this.hidden = false;
|
|
103
|
+
this.removeAttribute('cramped');
|
|
104
|
+
const cramped = this.button.getBoundingClientRect().bottom > bar.getBoundingClientRect().top;
|
|
105
|
+
this.hidden = wasHidden;
|
|
106
|
+
this.toggleAttribute('cramped', cramped);
|
|
107
|
+
if (cramped !== wasCramped)
|
|
108
|
+
this.render();
|
|
109
|
+
}
|
|
73
110
|
render() {
|
|
74
111
|
const video = this.player?.video;
|
|
75
112
|
if (video === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-button.js","sourceRoot":"","sources":["../../src/elements/start-button.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGnE,MAAM,MAAM,GAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEpD,MAAM,KAAK,GAAG,GAAG,YAAY
|
|
1
|
+
{"version":3,"file":"start-button.js","sourceRoot":"","sources":["../../src/elements/start-button.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../src/elements/volume.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../src/elements/volume.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAe3C,qBAAa,SAAU,SAAQ,SAAS;;IAMtC,iFAAiF;IACxE,iBAAiB,IAAI,IAAI;cAOf,MAAM,IAAI,IAAI;cASd,MAAM,IAAI,IAAI;CAGlC"}
|
package/dist/elements/volume.js
CHANGED
|
@@ -18,6 +18,8 @@ const STYLE = `
|
|
|
18
18
|
:host { display: inline-flex; align-items: center; }
|
|
19
19
|
:host([hidden]) { display: none; }
|
|
20
20
|
::slotted(mbx-volume-slider) { width: 0; opacity: 0; overflow: hidden; transition: width 0.2s ease, opacity 0.2s ease; }
|
|
21
|
+
/* The bar collapses the slider on its own when the row is narrow; then the pointer unfolds nothing. */
|
|
22
|
+
::slotted(mbx-volume-slider[collapsed]) { display: none; }
|
|
21
23
|
:host(:hover) ::slotted(mbx-volume-slider), :host(:focus-within:not([pointer])) ::slotted(mbx-volume-slider) { width: 80px; opacity: 1; }
|
|
22
24
|
@media (prefers-reduced-motion: reduce) {
|
|
23
25
|
::slotted(mbx-volume-slider) { transition: none; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volume.js","sourceRoot":"","sources":["../../src/elements/volume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"volume.js","sourceRoot":"","sources":["../../src/elements/volume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,KAAK,GAAG;;;;;;;;;;CAUb,CAAC;AAEF,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,iFAAiF;IACxE,iBAAiB;QACxB,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC;IAEkB,MAAM;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE;YAC9C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAEkB,MAAM;QACvB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** `@mattebox/player/elements/remaining-time`: registers <mbx-remaining-time>, and the player with it. */
|
|
2
|
+
import '../element-entry.js';
|
|
3
|
+
import { MbxRemainingTime } from '../elements/remaining-time.js';
|
|
4
|
+
export { MbxRemainingTime };
|
|
5
|
+
//# sourceMappingURL=remaining-time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remaining-time.d.ts","sourceRoot":"","sources":["../../src/entries/remaining-time.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAOjE,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** `@mattebox/player/elements/remaining-time`: registers <mbx-remaining-time>, and the player with it. */
|
|
2
|
+
import '../element-entry.js';
|
|
3
|
+
import { MbxRemainingTime } from '../elements/remaining-time.js';
|
|
4
|
+
import { REMAINING_TIME } from '../tags.js';
|
|
5
|
+
if (customElements.get(REMAINING_TIME) === undefined) {
|
|
6
|
+
customElements.define(REMAINING_TIME, MbxRemainingTime);
|
|
7
|
+
}
|
|
8
|
+
export { MbxRemainingTime };
|
|
9
|
+
//# sourceMappingURL=remaining-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remaining-time.js","sourceRoot":"","sources":["../../src/entries/remaining-time.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,IAAI,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;IACrD,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAC1D,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|