@mattebox/player 0.4.0 → 0.6.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 (71) hide show
  1. package/README.md +9 -6
  2. package/dist/cdn/mattebox-player.min.js +105 -34
  3. package/dist/element.d.ts +17 -21
  4. package/dist/element.d.ts.map +1 -1
  5. package/dist/element.js +59 -41
  6. package/dist/element.js.map +1 -1
  7. package/dist/elements/spinner.d.ts +25 -0
  8. package/dist/elements/spinner.d.ts.map +1 -0
  9. package/dist/elements/spinner.js +80 -0
  10. package/dist/elements/spinner.js.map +1 -0
  11. package/dist/elements/start-button.d.ts.map +1 -1
  12. package/dist/elements/start-button.js +3 -2
  13. package/dist/elements/start-button.js.map +1 -1
  14. package/dist/elements/title.d.ts +19 -0
  15. package/dist/elements/title.d.ts.map +1 -0
  16. package/dist/elements/title.js +139 -0
  17. package/dist/elements/title.js.map +1 -0
  18. package/dist/entries/spinner.d.ts +5 -0
  19. package/dist/entries/spinner.d.ts.map +1 -0
  20. package/dist/entries/spinner.js +9 -0
  21. package/dist/entries/spinner.js.map +1 -0
  22. package/dist/entries/title.d.ts +5 -0
  23. package/dist/entries/title.d.ts.map +1 -0
  24. package/dist/entries/title.js +9 -0
  25. package/dist/entries/title.js.map +1 -0
  26. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.149.0 → _@oxc-project_runtime@0.150.0}/helpers/esm/asyncToGenerator.js +1 -1
  27. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.149.0 → _@oxc-project_runtime@0.150.0}/helpers/esm/defineProperty.js +1 -1
  28. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.149.0 → _@oxc-project_runtime@0.150.0}/helpers/esm/objectSpread2.js +1 -1
  29. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.149.0 → _@oxc-project_runtime@0.150.0}/helpers/esm/toPrimitive.js +1 -1
  30. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.149.0 → _@oxc-project_runtime@0.150.0}/helpers/esm/toPropertyKey.js +1 -1
  31. package/dist/es2015/_virtual/{_@oxc-project_runtime@0.149.0 → _@oxc-project_runtime@0.150.0}/helpers/esm/typeof.js +1 -1
  32. package/dist/es2015/controls/menu.js +1 -1
  33. package/dist/es2015/element.js +47 -33
  34. package/dist/es2015/elements/spinner.js +84 -0
  35. package/dist/es2015/elements/start-button.js +6 -3
  36. package/dist/es2015/elements/title.js +151 -0
  37. package/dist/es2015/entries/spinner.js +7 -0
  38. package/dist/es2015/entries/title.js +7 -0
  39. package/dist/es2015/index.js +5 -3
  40. package/dist/es2015/presets.js +1 -1
  41. package/dist/es2015/style.js +13 -5
  42. package/dist/es2015/tags.js +3 -2
  43. package/dist/index.d.ts +6 -3
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +2 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/namespaces.d.ts +1 -1
  48. package/dist/style.d.ts +1 -1
  49. package/dist/style.d.ts.map +1 -1
  50. package/dist/style.js +13 -5
  51. package/dist/style.js.map +1 -1
  52. package/dist/tags.d.ts +2 -1
  53. package/dist/tags.d.ts.map +1 -1
  54. package/dist/tags.js +2 -1
  55. package/dist/tags.js.map +1 -1
  56. package/package.json +3 -3
  57. package/dist/compose.d.ts +0 -5
  58. package/dist/compose.d.ts.map +0 -1
  59. package/dist/compose.js +0 -31
  60. package/dist/compose.js.map +0 -1
  61. package/dist/elements/panels.d.ts +0 -15
  62. package/dist/elements/panels.d.ts.map +0 -1
  63. package/dist/elements/panels.js +0 -55
  64. package/dist/elements/panels.js.map +0 -1
  65. package/dist/entries/panels.d.ts +0 -5
  66. package/dist/entries/panels.d.ts.map +0 -1
  67. package/dist/entries/panels.js +0 -8
  68. package/dist/entries/panels.js.map +0 -1
  69. package/dist/es2015/compose.js +0 -33
  70. package/dist/es2015/elements/panels.js +0 -52
  71. package/dist/es2015/entries/panels.js +0 -7
@@ -1 +0,0 @@
1
- {"version":3,"file":"panels.js","sourceRoot":"","sources":["../../src/elements/panels.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYb,CAAC;AAEF,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC;QACE,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK;QACX,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAqB,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAEkB,MAAM;QACvB,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,uEAAuE;YACvE,2DAA2D;YAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;gBAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACjD,CAAC,CAAC;QACF,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- /** `@mattebox/player/elements/panels`: registers <mbx-panels>, and the player with it. */
2
- import '../element-entry.js';
3
- import { MbxPanels } from '../elements/panels.js';
4
- export { MbxPanels };
5
- //# sourceMappingURL=panels.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../src/entries/panels.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- /** `@mattebox/player/elements/panels`: registers <mbx-panels>, and the player with it. */
2
- import '../element-entry.js';
3
- import { MbxPanels } from '../elements/panels.js';
4
- import { PANELS } from '../tags.js';
5
- if (customElements.get(PANELS) === undefined)
6
- customElements.define(PANELS, MbxPanels);
7
- export { MbxPanels };
8
- //# sourceMappingURL=panels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"panels.js","sourceRoot":"","sources":["../../src/entries/panels.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS;IAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,33 +0,0 @@
1
- import { AIRPLAY_BUTTON, AUDIO_MENU, CHAPTERS_MENU, CONTROL_BAR, CURRENT_TIME, DRM_BADGE, DURATION, ERROR_SCREEN, FULLSCREEN_BUTTON, LIVE_BUTTON, PANELS, PIP_BUTTON, PLAY_BUTTON, QUALITY_MENU, SEEK_BAR, SKIP_BUTTON, SPACER, SPEED_MENU, START_BUTTON, SUBTITLES_MENU, VOLUME } from "./tags.js";
2
- //#region src/compose.ts
3
- /**
4
- * The default compositions: what a player gets when the page wrote none of
5
- * its own. Under `controls="custom"` the screens and the bar, appended
6
- * when there is no `<mbx-control-bar>` child; under `native` and `none`
7
- * the panels row under the video, appended when there is no
8
- * `<mbx-panels>` child. Built by tag, so this module needs no element
9
- * class, and appended to the player's light DOM, where the page can see
10
- * it and style it the way it would its own.
11
- */
12
- function skip(seconds) {
13
- const node = document.createElement(SKIP_BUTTON);
14
- node.setAttribute("seconds", String(seconds));
15
- return node;
16
- }
17
- function each(...tags) {
18
- return tags.map((tag) => document.createElement(tag));
19
- }
20
- /** The screens and the bar. */
21
- function composeBar() {
22
- const bar = document.createElement(CONTROL_BAR);
23
- bar.append(...each(CURRENT_TIME, SEEK_BAR, DURATION, LIVE_BUTTON), skip(-10), document.createElement(PLAY_BUTTON), skip(10), ...each(VOLUME, SPACER, SPEED_MENU, CHAPTERS_MENU, SUBTITLES_MENU, AUDIO_MENU), ...each(QUALITY_MENU, AIRPLAY_BUTTON, PIP_BUTTON, FULLSCREEN_BUTTON));
24
- return [...each(START_BUTTON, ERROR_SCREEN), bar];
25
- }
26
- /** The row under the video. */
27
- function composePanels() {
28
- const row = document.createElement(PANELS);
29
- row.append(...each(QUALITY_MENU, AUDIO_MENU, SUBTITLES_MENU, CHAPTERS_MENU, LIVE_BUTTON, DRM_BADGE));
30
- return [row];
31
- }
32
- //#endregion
33
- export { composeBar, composePanels };
@@ -1,52 +0,0 @@
1
- import { Component } from "./component.js";
2
- import { style } from "./shared.js";
3
- //#region src/elements/panels.ts
4
- /**
5
- * <mbx-panels>: the row under the video for what native controls cannot
6
- * show. It sits in the player beside the video, in flow, so it lands
7
- * under the picture, and lays its children out in a row: the quality,
8
- * audio and subtitles menus, the live button, the lock. Each child hides
9
- * itself when its session has nothing for it, and the row hides when
10
- * every child has, so a native session shows no strip at all.
11
- */
12
- const STYLE = `
13
- :host {
14
- display: flex;
15
- flex-wrap: wrap;
16
- align-items: center;
17
- gap: var(--mbx-gap);
18
- padding: var(--mbx-pad);
19
- background: var(--mbx-surface);
20
- color: var(--mbx-text);
21
- font: 400 13px/1.4 var(--mbx-font);
22
- }
23
- :host([hidden]) { display: none; }
24
- `;
25
- var MbxPanels = class extends Component {
26
- constructor() {
27
- super();
28
- this.attachShadow({ mode: "open" }).append(style(STYLE), document.createElement("slot"));
29
- }
30
- empty() {
31
- return ![...this.children].some((child) => !child.hidden);
32
- }
33
- attach() {
34
- const tick = () => {
35
- const empty = this.empty();
36
- if (this.hidden !== empty) this.hidden = empty;
37
- };
38
- const observer = new MutationObserver(tick);
39
- observer.observe(this, {
40
- childList: true,
41
- subtree: true,
42
- attributes: true,
43
- attributeFilter: ["hidden"]
44
- });
45
- this.keep(() => {
46
- observer.disconnect();
47
- });
48
- tick();
49
- }
50
- };
51
- //#endregion
52
- export { MbxPanels };
@@ -1,7 +0,0 @@
1
- import { PANELS } from "../tags.js";
2
- import "../element-entry.js";
3
- import { MbxPanels } from "../elements/panels.js";
4
- //#region src/entries/panels.ts
5
- if (customElements.get("mbx-panels") === void 0) customElements.define(PANELS, MbxPanels);
6
- //#endregion
7
- export { MbxPanels };