@npo/player 1.11.4 → 1.12.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.
Files changed (90) hide show
  1. package/lib/js/ads/ster.js.map +1 -1
  2. package/lib/js/ads/ster.test.js.map +1 -1
  3. package/lib/js/api/getstreamobject.js +34 -13
  4. package/lib/js/api/getstreamobject.js.map +1 -1
  5. package/lib/js/api/getstreamobject.test.d.ts +1 -0
  6. package/lib/js/api/getstreamobject.test.js +46 -0
  7. package/lib/js/api/getstreamobject.test.js.map +1 -0
  8. package/lib/js/checks/safari.test.js.map +1 -1
  9. package/lib/js/drm/verifydrm.js +1 -1
  10. package/lib/js/drm/verifydrm.js.map +1 -1
  11. package/lib/js/drm/verifydrm.test.js.map +1 -1
  12. package/lib/js/fragments/setfragments.js +1 -1
  13. package/lib/js/fragments/setfragments.js.map +1 -1
  14. package/lib/js/playeractions/customerrors.test.js.map +1 -1
  15. package/lib/js/playeractions/handlers/customerrors.js.map +1 -1
  16. package/lib/js/playeractions/handlers/error.js.map +1 -1
  17. package/lib/js/playeractions/handlers/error.test.js.map +1 -1
  18. package/lib/js/playeractions/handlers/handleoffsets.test.js.map +1 -1
  19. package/lib/js/playeractions/handlers/processplayerconfig.js.map +1 -1
  20. package/lib/js/playeractions/handlers/resolvekeypress.js +6 -0
  21. package/lib/js/playeractions/handlers/resolvekeypress.js.map +1 -1
  22. package/lib/js/playeractions/playeractions.js.map +1 -1
  23. package/lib/js/tracking/handlers/eventbinding.js +45 -22
  24. package/lib/js/tracking/handlers/eventbinding.js.map +1 -1
  25. package/lib/js/tracking/handlers/eventlogging.js.map +1 -1
  26. package/lib/js/tracking/handlers/playertrackerinit.js +7 -5
  27. package/lib/js/tracking/handlers/playertrackerinit.js.map +1 -1
  28. package/lib/js/tracking/handlers/playertrackerstart.d.ts +1 -1
  29. package/lib/js/tracking/handlers/playertrackerstart.js +6 -4
  30. package/lib/js/tracking/handlers/playertrackerstart.js.map +1 -1
  31. package/lib/js/ui/components/buttons.d.ts +6 -0
  32. package/lib/js/ui/components/buttons.js +8 -2
  33. package/lib/js/ui/components/buttons.js.map +1 -1
  34. package/lib/js/ui/components/controlbar.js +0 -1
  35. package/lib/js/ui/components/controlbar.js.map +1 -1
  36. package/lib/js/ui/components/nativemobile/buttons.d.ts +3 -0
  37. package/lib/js/ui/components/nativemobile/buttons.js +3 -0
  38. package/lib/js/ui/components/nativemobile/buttons.js.map +1 -1
  39. package/lib/js/ui/components/nativemobile/ctabar.d.ts +1 -0
  40. package/lib/js/ui/components/nativemobile/playnext.d.ts +1 -0
  41. package/lib/js/ui/components/nativemobile/playnext.js.map +1 -1
  42. package/lib/js/ui/components/playnext.d.ts +1 -0
  43. package/lib/js/ui/components/settingspanel.js +4 -1
  44. package/lib/js/ui/components/settingspanel.js.map +1 -1
  45. package/lib/js/ui/components/shared/playnextscreen.js +1 -1
  46. package/lib/js/ui/components/shared/playnextscreen.js.map +1 -1
  47. package/lib/js/ui/handlers/accessibilityhandler.d.ts +2 -0
  48. package/lib/js/ui/handlers/accessibilityhandler.js +10 -0
  49. package/lib/js/ui/handlers/accessibilityhandler.js.map +1 -0
  50. package/lib/js/ui/handlers/listboxhandlers.js.map +1 -1
  51. package/lib/js/ui/handlers/nicamhandler.d.ts +3 -2
  52. package/lib/js/ui/handlers/nicamhandler.js +17 -4
  53. package/lib/js/ui/handlers/nicamhandler.js.map +1 -1
  54. package/lib/js/ui/handlers/nicamhandler.test.js +12 -6
  55. package/lib/js/ui/handlers/nicamhandler.test.js.map +1 -1
  56. package/lib/js/ui/nativemobileuicontainer.js.map +1 -1
  57. package/lib/js/ui/nativemobileuifactory.js +1 -1
  58. package/lib/js/ui/nativemobileuifactory.js.map +1 -1
  59. package/lib/js/ui/uicontainer.js +6 -1
  60. package/lib/js/ui/uicontainer.js.map +1 -1
  61. package/lib/js/utilities/utilities.d.ts +3 -1
  62. package/lib/js/utilities/utilities.js +19 -2
  63. package/lib/js/utilities/utilities.js.map +1 -1
  64. package/lib/lang/nl.json +8 -7
  65. package/lib/npoplayer.d.ts +1 -1
  66. package/lib/npoplayer.js +71 -55
  67. package/lib/npoplayer.js.map +1 -1
  68. package/lib/npoplayer.test.js.map +1 -1
  69. package/lib/package.json +2 -1
  70. package/lib/src/js/api/getstreamobject.test.d.ts +1 -0
  71. package/lib/src/js/tracking/handlers/playertrackerstart.d.ts +1 -1
  72. package/lib/src/js/ui/components/buttons.d.ts +6 -0
  73. package/lib/src/js/ui/components/nativemobile/buttons.d.ts +3 -0
  74. package/lib/src/js/ui/components/nativemobile/ctabar.d.ts +1 -0
  75. package/lib/src/js/ui/components/nativemobile/playnext.d.ts +1 -0
  76. package/lib/src/js/ui/components/playnext.d.ts +1 -0
  77. package/lib/src/js/ui/handlers/accessibilityhandler.d.ts +2 -0
  78. package/lib/src/js/ui/handlers/nicamhandler.d.ts +3 -2
  79. package/lib/src/js/utilities/utilities.d.ts +3 -1
  80. package/lib/src/npoplayer.d.ts +1 -1
  81. package/lib/src/types/interfaces.d.ts +5 -2
  82. package/lib/types/interfaces.d.ts +5 -2
  83. package/lib/types/interfaces.js.map +1 -1
  84. package/package.json +2 -1
  85. package/src/scss/components/_advert.scss +1 -1
  86. package/src/scss/components/_hugeplaybacktogglebutton.scss +15 -4
  87. package/src/scss/components/_metadata.scss +7 -0
  88. package/src/scss/components/_nicam.scss +19 -16
  89. package/src/scss/npoplayer.css +24 -20
  90. package/src/scss/variants/_player-base.scss +3 -5
package/lib/npoplayer.js CHANGED
@@ -2,7 +2,7 @@ import { HttpResponseType, Player, PlayerEvent, } from 'bitmovin-player';
2
2
  import AdsModuleBM from 'bitmovin-player/modules/bitmovinplayer-advertising-bitmovin';
3
3
  import { logEvent, initPlayerTracker, startPlayerTracker } from './js/tracking/playertracker';
4
4
  import { hidePlayNextScreen, showPlayNextScreen } from './js/ui/components/shared/playnextscreen';
5
- import { validateStreamLength, getModuleExport } from './js/utilities/utilities';
5
+ import * as utility from './js/utilities/utilities';
6
6
  import { verifyDRM } from './js/drm/verifydrm';
7
7
  import { setFragments } from './js/fragments/setfragments';
8
8
  import * as playerAction from './js/playeractions/playeractions';
@@ -11,8 +11,8 @@ import { printVersion } from './js/utilities/printversion';
11
11
  import { UIManager } from 'bitmovin-player-ui';
12
12
  import { customSpecificErrorMessageOverlayConfig } from './js/playeractions/handlers/customerrors';
13
13
  import { createUIContainer } from './js/ui/uicontainer';
14
- import { localizationConfig } from './js/utilities/localizationconfig';
15
14
  import { processNicam } from './js/ui/handlers/nicamhandler';
15
+ import { addAccessibilityAttributes } from './js/ui/handlers/accessibilityhandler';
16
16
  import { npoCdnProviders } from './js/cdnproviders';
17
17
  import { LogEmitter } from './types/classes';
18
18
  import { handlePreRolls } from './js/ads/ster';
@@ -46,14 +46,14 @@ export default class NpoPlayer {
46
46
  initPlayer(_container, playerConfig) {
47
47
  printVersion(this.version);
48
48
  const processedPlayerConfig = playerAction.processPlayerConfig(this, playerConfig);
49
- Player.addModule(getModuleExport(AdsModuleBM));
49
+ Player.addModule(utility.getModuleExport(AdsModuleBM));
50
50
  this.player = new Player(_container, processedPlayerConfig);
51
51
  this.createUIManager(this.player, 'default');
52
52
  this.container.addEventListener('keydown', e => {
53
53
  this.keyPress(e);
54
54
  }, true);
55
55
  }
56
- async loadStream(_jwt, options = {}) {
56
+ async loadStream(source, options = {}) {
57
57
  if (this.player == null) {
58
58
  console.error('Er is nog geen player geladen.');
59
59
  return;
@@ -62,43 +62,81 @@ export default class NpoPlayer {
62
62
  console.error('Je kunt geen nieuwe content laden tijdens een reclameblok.');
63
63
  return;
64
64
  }
65
- this.jwt = _jwt;
66
- this.drmProfile = await this.decideProfile(options?.preferredDRM ?? '');
67
- const defaultEndpoint = 'https://prod.npoplayer.nl/';
68
- const endpoint = options?.endpoint ?? defaultEndpoint;
69
- const payload = {
70
- baseURL: endpoint,
71
- jwt: _jwt,
72
- data: { profileName: this.drmProfile.profileName, drmType: this.drmProfile.drm, referrerUrl: window.location.href }
73
- };
74
65
  let _streamObject;
75
- try {
76
- _streamObject = await getStreamObject(this, payload);
77
- this.streamObject = _streamObject;
66
+ const addFragments = (section) => {
67
+ void this.setFragments({ sections: [section] });
68
+ };
69
+ const isMedia = await utility.isMediaUrl(source);
70
+ if (isMedia) {
71
+ this.sourceConfig = {
72
+ "progressive": source
73
+ };
74
+ this.player?.load(this.sourceConfig);
75
+ this.player.on(PlayerEvent.SourceLoaded, () => {
76
+ startPlayerTracker(this, utility.validateStreamLength(this.player?.getDuration(), true), this.version, source);
77
+ });
78
78
  }
79
- catch (err) {
80
- this.doError('Het is niet gelukt de stream op te halen. \n' + err);
81
- this.player.pause();
82
- return;
79
+ else {
80
+ this.jwt = source;
81
+ const profile = await this.decideProfile(options?.preferredDRM ?? '');
82
+ const defaultEndpoint = 'https://prod.npoplayer.nl/';
83
+ const endpoint = options?.endpoint ?? defaultEndpoint;
84
+ const payload = {
85
+ baseURL: endpoint,
86
+ jwt: source,
87
+ data: { profileName: profile.profileName, drmType: profile.drm, referrerUrl: window.location.href }
88
+ };
89
+ try {
90
+ _streamObject = await getStreamObject(this, payload);
91
+ this.streamObject = _streamObject;
92
+ }
93
+ catch (err) {
94
+ this.doError('Het is niet gelukt de stream op te halen. \n' + err);
95
+ this.player.pause();
96
+ return;
97
+ }
98
+ if (this.streamObject?.stream == undefined)
99
+ return;
100
+ const drmType = this.streamObject.stream.drmType ?? null;
101
+ this.sourceConfig = this.processSourceConfig(options.sourceConfig ?? {}, this.streamObject, drmType && drmType.length > 0 ? profile.drm : null);
102
+ await verifyDRM(this, this.player, payload);
103
+ if (_streamObject.segment != null) {
104
+ const seg = _streamObject.segment;
105
+ const section = {
106
+ start: seg.inpoint,
107
+ end: seg.outpoint,
108
+ title: this.sourceConfig.title || '',
109
+ };
110
+ this.player.off(PlayerEvent.Ready, () => addFragments(section));
111
+ this.player.on(PlayerEvent.Ready, () => addFragments(section));
112
+ }
113
+ if (_streamObject.segment === undefined && options?.fragments === undefined) {
114
+ const element = this.container.querySelector('.bmpui-seekbar-label-title');
115
+ if (element !== null) {
116
+ element.textContent = this.sourceConfig.title || '';
117
+ }
118
+ }
119
+ logEvent(this, 'load');
120
+ handlePreRolls(this.player, _streamObject, this);
121
+ startPlayerTracker(this, utility.validateStreamLength(_streamObject.metadata.duration, false), this.version, _streamObject.metadata.prid);
83
122
  }
84
- if (this.streamObject?.stream == undefined)
85
- return;
123
+ processNicam(this.streamObject, this.container.id, options);
124
+ this.player.off(PlayerEvent.SourceLoaded, () => { void addAccessibilityAttributes(this.container, this.streamObject.metadata); });
125
+ this.player.on(PlayerEvent.SourceLoaded, () => { void addAccessibilityAttributes(this.container, this.streamObject.metadata); });
86
126
  const drmType = this.streamObject.stream.drmType ?? null;
87
127
  this.sourceConfig = this.processSourceConfig(options.sourceConfig ?? {}, this.streamObject, drmType && drmType.length > 0 ? this.drmProfile.drm : null);
88
128
  if (this.sourceConfig?.metadata) {
89
129
  this.sourceConfig.metadata.streamProfile = this.drmProfile.profileName;
90
130
  this.sourceConfig.metadata.drmType = this.drmProfile.drm;
91
- this.sourceConfig.metadata.jwt = _jwt;
131
+ this.sourceConfig.metadata.jwt = source;
92
132
  this.sourceConfig.metadata.av_type = this.streamObject.stream.avType;
93
133
  }
94
- await verifyDRM(this, this.player, payload);
95
134
  const isLiveStream = this.streamObject.stream.isLiveStream && this.streamObject.stream.hasDvrWindow;
96
135
  if (isLiveStream) {
97
- document.querySelector(`#${this.container.id} .bmpui-npo-player`)?.classList.add('livestream-dvr');
136
+ this.container.classList.add('livestream-dvr');
98
137
  }
99
- processNicam(this.streamObject, this.container.id);
100
138
  const isAutoplayEnabled = this.player.getConfig()?.playback?.autoplay ?? false;
101
- if (isAutoplayEnabled && this.streamObject.stream.streamProfile === 'progressive') {
139
+ if (isAutoplayEnabled && (this.sourceConfig?.progressive || this.streamObject?.stream?.streamProfile === 'progressive')) {
102
140
  this.player.on(PlayerEvent.SourceLoaded, () => {
103
141
  this.player?.play();
104
142
  });
@@ -110,29 +148,15 @@ export default class NpoPlayer {
110
148
  if (subtitles != null && subtitles.length > 0 && this.uiComponents.subtitlesButton) {
111
149
  this.uiComponents.subtitlesButton.show();
112
150
  }
113
- else if (this.uiComponents.subtitlesButton)
151
+ else if (this.uiComponents.subtitlesButton) {
114
152
  this.uiComponents.subtitlesButton.hide();
153
+ }
115
154
  };
116
- this.player.on(PlayerEvent.Ready, checkSubtitles);
117
155
  this.player.off(PlayerEvent.Ready, checkSubtitles);
156
+ this.player.on(PlayerEvent.Ready, checkSubtitles);
118
157
  if (this.player.getAvailableVideoQualities().length > 0 && this.uiComponents.qualityButton) {
119
158
  this.uiComponents.qualityButton.show();
120
159
  }
121
- startPlayerTracker(this, validateStreamLength(this.streamObject.metadata.duration), this.version);
122
- logEvent(this, 'load');
123
- const addFragments = (section) => {
124
- void this.setFragments({ sections: [section] });
125
- };
126
- if (_streamObject.segment != null) {
127
- const seg = _streamObject.segment;
128
- const section = {
129
- start: seg.inpoint,
130
- end: seg.outpoint,
131
- title: this.sourceConfig.title || '',
132
- };
133
- this.player.off(PlayerEvent.Ready, () => addFragments(section));
134
- this.player.on(PlayerEvent.Ready, () => addFragments(section));
135
- }
136
160
  if (options?.startOffset != null)
137
161
  playerAction.handleStartOffset(this.player, options.startOffset);
138
162
  const setLiveOffsetListener = function () {
@@ -147,12 +171,6 @@ export default class NpoPlayer {
147
171
  this.player.off(PlayerEvent.Ready, () => { void this.setFragments(fragments); });
148
172
  this.player.on(PlayerEvent.Ready, () => { void this.setFragments(fragments); });
149
173
  }
150
- if (_streamObject.segment === undefined && options?.fragments === undefined) {
151
- const element = document.querySelector('.bmpui-npo-player .bmpui-seekbar-label-title');
152
- if (element !== null) {
153
- element.textContent = this.sourceConfig.title || '';
154
- }
155
- }
156
174
  this.player.on(PlayerEvent.Seeked, () => {
157
175
  document.querySelector('.bmpui-npo-player.bmpui-player-state-finished')?.classList.remove('bmpui-player-state-finished');
158
176
  });
@@ -164,7 +182,6 @@ export default class NpoPlayer {
164
182
  this.showPlayNextScreen();
165
183
  });
166
184
  }
167
- handlePreRolls(this.player, this.streamObject, this);
168
185
  }
169
186
  async createUIManager(player, variant) {
170
187
  const uiConfig = {
@@ -172,7 +189,6 @@ export default class NpoPlayer {
172
189
  disableAutoHideWhenHovered: true
173
190
  };
174
191
  this.uiManager = new UIManager(player, createUIContainer(this, player, variant), uiConfig);
175
- UIManager.setLocalizationConfig(localizationConfig);
176
192
  }
177
193
  async setFragments(fragments) {
178
194
  if (this.player && this.uiManager) {
@@ -186,7 +202,7 @@ export default class NpoPlayer {
186
202
  let supportedTech;
187
203
  let supportedDRM;
188
204
  if (this.player == null) {
189
- console.log('No player detected');
205
+ console.error('No player detected');
190
206
  return { profileName: '', drm: '' };
191
207
  }
192
208
  else {
@@ -449,7 +465,7 @@ export default class NpoPlayer {
449
465
  return true;
450
466
  }
451
467
  catch (e) {
452
- console.log('NPO Player is al destroyed', e);
468
+ console.error('NPO Player is al destroyed', e);
453
469
  return false;
454
470
  }
455
471
  }
@@ -462,7 +478,7 @@ export default class NpoPlayer {
462
478
  return true;
463
479
  }
464
480
  catch (e) {
465
- console.log('NPO Player is al unloaded', e);
481
+ console.error('NPO Player is al unloaded', e);
466
482
  return false;
467
483
  }
468
484
  }
@@ -1 +1 @@
1
- {"version":3,"file":"npoplayer.js","sourceRoot":"","sources":["../../src/npoplayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npoplayer.js","sourceRoot":"","sources":["../../src/npoplayer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"npoplayer.test.js","sourceRoot":"","sources":["../../src/npoplayer.test.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,GAAG,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEvD,MAAM,gBAAgB,GAAiB;IACnC,GAAG,EAAE,sCAAsC;CAC9C,CAAC;AAEF,IAAI,MAAiB,CAAC;AAEtB,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC3B,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"npoplayer.test.js","sourceRoot":"","sources":["../../src/npoplayer.test.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,aAAa,CAAA;AAEnC,MAAM,GAAG,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAEtD,MAAM,gBAAgB,GAAiB;IACnC,GAAG,EAAE,sCAAsC;CAC9C,CAAA;AAED,IAAI,MAAiB,CAAA;AAErB,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC3B,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA"}
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npo/player",
3
- "version": "1.11.4",
3
+ "version": "1.12.1",
4
4
  "description": "NPO Player",
5
5
  "author": "Publieke Omroep <player@npo.nl>",
6
6
  "contributors": [
@@ -59,6 +59,7 @@
59
59
  "fs-extra": "^11.1.1",
60
60
  "jest": "^28.1.3",
61
61
  "jest-environment-jsdom": "^29.4.1",
62
+ "jest-fetch-mock": "^3.0.3",
62
63
  "jest-sonar-reporter": "2.0.0",
63
64
  "jest-transform-css": "^6.0.1",
64
65
  "mini-css-extract-plugin": "^2.7.2",
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- export declare function startPlayerTracker(playerInstance: any, duration: number, version: string): void;
1
+ export declare function startPlayerTracker(playerInstance: any, duration: number, version: string, source: string | null): void;
@@ -4,27 +4,33 @@ import type NpoPlayer from '../../../npoplayer';
4
4
  export declare function createMiddleButtons(player: PlayerAPI): ControlBar;
5
5
  export declare function createRewindButton(player: PlayerAPI | null): Button<{
6
6
  cssClass: string;
7
+ ariaLabel: string;
7
8
  }>;
8
9
  export declare function createForwardButton(player: PlayerAPI | null): Button<{
9
10
  cssClass: string;
11
+ ariaLabel: string;
10
12
  }>;
11
13
  export declare function createPlayNextButton(player: PlayerAPI, npoplayer: NpoPlayer): Button<{
12
14
  cssClass: string;
13
15
  text: string;
16
+ ariaLabel: string;
14
17
  hidden: false;
15
18
  }>;
16
19
  export declare function createskipIntroButton(player: PlayerAPI): Button<{
17
20
  cssClass: string;
18
21
  text: string;
22
+ ariaLabel: string;
19
23
  hidden: true;
20
24
  }>;
21
25
  export declare function createGoBackLiveButton(player: PlayerAPI): Button<{
22
26
  cssClass: string;
23
27
  text: string;
28
+ ariaLabel: string;
24
29
  hidden: true;
25
30
  }>;
26
31
  export declare function createWatchFromStartButton(player: PlayerAPI, npoplayer: NpoPlayer): Button<{
27
32
  cssClass: string;
28
33
  text: string;
34
+ ariaLabel: string;
29
35
  hidden: true;
30
36
  }>;
@@ -3,16 +3,19 @@ import { PlayerAPI } from 'bitmovin-player';
3
3
  export declare function createPlayNextButton(): Button<{
4
4
  cssClass: string;
5
5
  text: string;
6
+ ariaLabel: string;
6
7
  hidden: false;
7
8
  }>;
8
9
  export declare function createWatchFromStartButton(): Button<{
9
10
  cssClass: string;
10
11
  text: string;
12
+ ariaLabel: string;
11
13
  hidden: true;
12
14
  }>;
13
15
  export declare function createGoBackLiveButton(player: PlayerAPI): Button<{
14
16
  cssClass: string;
15
17
  text: string;
18
+ ariaLabel: string;
16
19
  hidden: true;
17
20
  }>;
18
21
  export declare function createSettingsButton(settingsPanel: SettingsPanel): SettingsToggleButton;
@@ -4,6 +4,7 @@ export declare function createCTABar(player: PlayerAPI): Container<{
4
4
  components: import("bitmovin-player-ui").Button<{
5
5
  cssClass: string;
6
6
  text: string;
7
+ ariaLabel: string;
7
8
  hidden: true;
8
9
  }>[];
9
10
  cssClasses: string[];
@@ -3,6 +3,7 @@ export declare function createPlayNextScreen(): Container<{
3
3
  components: import("bitmovin-player-ui").Button<{
4
4
  cssClass: string;
5
5
  text: string;
6
+ ariaLabel: string;
6
7
  hidden: false;
7
8
  }>[];
8
9
  cssClasses: string[];
@@ -5,6 +5,7 @@ export declare function createPlayNextScreen(player: PlayerAPI, npoplayer: NpoPl
5
5
  components: import("bitmovin-player-ui").Button<{
6
6
  cssClass: string;
7
7
  text: string;
8
+ ariaLabel: string;
8
9
  hidden: false;
9
10
  }>[];
10
11
  cssClasses: string[];
@@ -0,0 +1,2 @@
1
+ import { StreamObject_Metadata } from 'types/interfaces';
2
+ export declare function addAccessibilityAttributes(container: HTMLElement, metadata: StreamObject_Metadata): void;
@@ -1,2 +1,3 @@
1
- import { StreamObject } from 'types/interfaces';
2
- export declare function processNicam(streamObject: StreamObject, containerId: string): void;
1
+ import { StreamObject, StreamOptions } from 'types/interfaces';
2
+ export declare function processNicam(streamObject: StreamObject, containerId: string, streamOptions: StreamOptions | null): void;
3
+ export declare function addNicamIcon(character: string, nicamElement: Element): void;
@@ -3,8 +3,10 @@ export declare const jwtToBase64: (jwt: string) => string;
3
3
  export declare const base64ToObject: (base64: string) => any;
4
4
  export declare const noTrailingSlash: (url: string) => string;
5
5
  export declare function localize(key: string): LocalizableText;
6
- export declare function validateStreamLength(duration: string | number | undefined): number;
6
+ export declare function validateStreamLength(duration: string | number | undefined, seconds?: boolean): number;
7
7
  export declare function msToSeconds(ms: number): number;
8
8
  export declare function validatePrid(prid: string | null): string;
9
9
  export declare function getModuleExport(module: unknown): unknown;
10
10
  export declare function airPlaySupported(): boolean;
11
+ export declare function isUrl(url: string): boolean;
12
+ export declare function isMediaUrl(url: string): Promise<boolean>;
@@ -24,7 +24,7 @@ export default class NpoPlayer {
24
24
  drmProfile: DRMProfile;
25
25
  constructor(_container: HTMLElement, _playerConfig: PlayerConfig, _npotag?: InitialisationProps | null, _npotaginstance?: NPOTag);
26
26
  initPlayer(_container: HTMLElement, playerConfig: PlayerConfig): void;
27
- loadStream(_jwt: string, options?: StreamOptions): Promise<void>;
27
+ loadStream(source: string, options?: StreamOptions): Promise<void>;
28
28
  createUIManager(player: PlayerAPI, variant: string): Promise<void>;
29
29
  setFragments(fragments: Fragments): Promise<void>;
30
30
  decideProfile(preferredDRM?: string): Promise<Profile>;
@@ -1,5 +1,5 @@
1
1
  import { type SourceConfig } from 'bitmovin-player';
2
- import { type ErrorMessageOverlay, type Label, ControlBar, SettingsPanelItem, Button, SeekBar, CastToggleButton } from 'bitmovin-player-ui';
2
+ import { type ErrorMessageOverlay, type Label, ControlBar, SettingsPanelItem, Button, SeekBar, CastToggleButton, SettingsPanel } from 'bitmovin-player-ui';
3
3
  import { type NPOTag, type PageTracker } from '@npotag/tag';
4
4
  import { ButtonConfig } from 'bitmovin-player-ui/dist/js/framework/components/button';
5
5
  export interface Profile {
@@ -44,7 +44,7 @@ interface StreamObject_Assets {
44
44
  subtitles: Subtitle[] | null;
45
45
  preroll?: string;
46
46
  }
47
- interface StreamObject_Metadata {
47
+ export interface StreamObject_Metadata {
48
48
  broadcaster?: string;
49
49
  broadcasters?: string[];
50
50
  country?: string[];
@@ -83,6 +83,8 @@ export interface StreamOptions {
83
83
  endpoint?: string;
84
84
  preferredDRM?: string;
85
85
  prid?: string;
86
+ ageRating?: string;
87
+ nicam?: string[] | null;
86
88
  }
87
89
  export interface UIComponents {
88
90
  errorMessageOverlay?: ErrorMessageOverlay;
@@ -101,6 +103,7 @@ export interface UIComponents {
101
103
  }> | undefined;
102
104
  seekBar?: SeekBar | undefined;
103
105
  chromeCastButton?: CastToggleButton | undefined;
106
+ settingsPanel?: SettingsPanel | undefined;
104
107
  }
105
108
  export interface CustomMessageHandlerInterface {
106
109
  defaultActionRequired?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { type SourceConfig } from 'bitmovin-player';
2
- import { type ErrorMessageOverlay, type Label, ControlBar, SettingsPanelItem, Button, SeekBar, CastToggleButton } from 'bitmovin-player-ui';
2
+ import { type ErrorMessageOverlay, type Label, ControlBar, SettingsPanelItem, Button, SeekBar, CastToggleButton, SettingsPanel } from 'bitmovin-player-ui';
3
3
  import { type NPOTag, type PageTracker } from '@npotag/tag';
4
4
  import { ButtonConfig } from 'bitmovin-player-ui/dist/js/framework/components/button';
5
5
  export interface Profile {
@@ -44,7 +44,7 @@ interface StreamObject_Assets {
44
44
  subtitles: Subtitle[] | null;
45
45
  preroll?: string;
46
46
  }
47
- interface StreamObject_Metadata {
47
+ export interface StreamObject_Metadata {
48
48
  broadcaster?: string;
49
49
  broadcasters?: string[];
50
50
  country?: string[];
@@ -83,6 +83,8 @@ export interface StreamOptions {
83
83
  endpoint?: string;
84
84
  preferredDRM?: string;
85
85
  prid?: string;
86
+ ageRating?: string;
87
+ nicam?: string[] | null;
86
88
  }
87
89
  export interface UIComponents {
88
90
  errorMessageOverlay?: ErrorMessageOverlay;
@@ -101,6 +103,7 @@ export interface UIComponents {
101
103
  }> | undefined;
102
104
  seekBar?: SeekBar | undefined;
103
105
  chromeCastButton?: CastToggleButton | undefined;
106
+ settingsPanel?: SettingsPanel | undefined;
104
107
  }
105
108
  export interface CustomMessageHandlerInterface {
106
109
  defaultActionRequired?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/types/interfaces.ts"],"names":[],"mappings":"AAgIA,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACtB,gDAA8B,CAAA;IAC9B,6DAA2C,CAAA;IAC3C,mDAAiC,CAAA;IACjC,gEAA8C,CAAA;IAC9C,6CAA2B,CAAA;IAC3B,sDAAoC,CAAA;IACpC,mDAAiC,CAAA;IACjC,kDAAgC,CAAA;IAChC,wDAAsC,CAAA;IACtC,6DAA2C,CAAA;IAC3C,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,uDAAqC,CAAA;IACrC,+DAA6C,CAAA;AACjD,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/types/interfaces.ts"],"names":[],"mappings":"AAmIA,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACtB,gDAA8B,CAAA;IAC9B,6DAA2C,CAAA;IAC3C,mDAAiC,CAAA;IACjC,gEAA8C,CAAA;IAC9C,6CAA2B,CAAA;IAC3B,sDAAoC,CAAA;IACpC,mDAAiC,CAAA;IACjC,kDAAgC,CAAA;IAChC,wDAAsC,CAAA;IACtC,6DAA2C,CAAA;IAC3C,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,uDAAqC,CAAA;IACrC,+DAA6C,CAAA;AACjD,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npo/player",
3
- "version": "1.11.4",
3
+ "version": "1.12.1",
4
4
  "description": "NPO Player",
5
5
  "author": "Publieke Omroep <player@npo.nl>",
6
6
  "contributors": [
@@ -59,6 +59,7 @@
59
59
  "fs-extra": "^11.1.1",
60
60
  "jest": "^28.1.3",
61
61
  "jest-environment-jsdom": "^29.4.1",
62
+ "jest-fetch-mock": "^3.0.3",
62
63
  "jest-sonar-reporter": "2.0.0",
63
64
  "jest-transform-css": "^6.0.1",
64
65
  "mini-css-extract-plugin": "^2.7.2",
@@ -47,7 +47,7 @@
47
47
  width: 59px;
48
48
  bottom: -12px;
49
49
  left: -65px;
50
- background-image: url("data:image/svg+xml,%3Csvg width='59' height='44' viewBox='0 0 39 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 15.0338L19.4156 0.414307L38.8238 15.0338L19.4156 29.5855L0 15.0338ZM19.4223 27.5128L36.0603 15.0303L19.4223 2.48968L2.76764 15.0301L19.4223 27.5128Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.2215 13.9887C12.4213 13.3085 11.7303 12.721 11.7303 11.9329C11.7303 11.2697 12.064 10.8895 12.6461 10.8895C12.8494 10.8895 13.5139 10.9733 13.6141 12.0211L15.2164 11.8445C15.0406 10.3315 14.1464 9.42878 12.8164 9.42878C11.1077 9.42878 10.1279 10.3468 10.1279 11.9472C10.1279 13.5345 11.202 14.4297 12.1495 15.2195C12.9488 15.8859 13.704 16.5152 13.704 17.4532C13.704 18.0625 13.3087 18.4261 12.6463 18.4261C12.0333 18.4261 11.6413 17.8635 11.5647 16.8842C11.4962 16.894 10.0231 17.1058 9.96039 17.1152C10.0361 18.5001 10.8656 19.8866 12.5614 19.8866C14.2547 19.8866 15.3066 18.8944 15.3066 17.297C15.3062 15.7618 14.1987 14.8196 13.2215 13.9887ZM15.7374 13.4513V12.1456H16.6171V10.0881H18.2065V12.1456H19.2708V13.4513H18.2067V17.8506C18.2067 18.2478 18.377 18.4748 18.746 18.4748H19.271V19.837C19.0583 19.8936 18.8736 19.922 18.4762 19.922C17.2843 19.922 16.6173 19.3688 16.6173 18.2048V13.4513H15.7374ZM26.2467 19.7803V12.1458H27.7649V13.0398H27.7933C28.1768 12.3871 28.8435 12.0041 29.5958 12.0041H29.922V13.6642C29.6383 13.5932 29.3688 13.5081 28.9002 13.5081C28.3611 13.5081 27.8358 13.8485 27.8358 14.5297V19.7803H26.2467ZM23.4859 17.5288C23.4599 18.3273 23.1512 18.6659 22.6083 18.6659C22.0409 18.6659 21.7284 18.2968 21.7284 17.4167V16.3098H25.0775V14.8908C25.0775 13.2164 24.4249 12.0528 22.6085 12.0528C20.7921 12.0528 20.1395 13.2164 20.1395 14.8908V17.133C20.1395 18.8073 20.7921 19.9714 22.6085 19.9714C24.2771 19.9714 24.9661 18.9917 25.0655 17.5288H23.4859ZM21.7284 14.6073C21.7284 13.7275 22.0409 13.3583 22.6083 13.3583C23.1761 13.3583 23.4882 13.7275 23.4882 14.6073V15.0049H21.7284V14.6073Z' fill='white'/%3E%3C/svg%3E%0A");
50
+ background-image: url("data:image/svg+xml,%3Csvg width='59' height='44' viewBox='0 0 39 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ESter reclame%3C/title%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 15.0338L19.4156 0.414307L38.8238 15.0338L19.4156 29.5855L0 15.0338ZM19.4223 27.5128L36.0603 15.0303L19.4223 2.48968L2.76764 15.0301L19.4223 27.5128Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.2215 13.9887C12.4213 13.3085 11.7303 12.721 11.7303 11.9329C11.7303 11.2697 12.064 10.8895 12.6461 10.8895C12.8494 10.8895 13.5139 10.9733 13.6141 12.0211L15.2164 11.8445C15.0406 10.3315 14.1464 9.42878 12.8164 9.42878C11.1077 9.42878 10.1279 10.3468 10.1279 11.9472C10.1279 13.5345 11.202 14.4297 12.1495 15.2195C12.9488 15.8859 13.704 16.5152 13.704 17.4532C13.704 18.0625 13.3087 18.4261 12.6463 18.4261C12.0333 18.4261 11.6413 17.8635 11.5647 16.8842C11.4962 16.894 10.0231 17.1058 9.96039 17.1152C10.0361 18.5001 10.8656 19.8866 12.5614 19.8866C14.2547 19.8866 15.3066 18.8944 15.3066 17.297C15.3062 15.7618 14.1987 14.8196 13.2215 13.9887ZM15.7374 13.4513V12.1456H16.6171V10.0881H18.2065V12.1456H19.2708V13.4513H18.2067V17.8506C18.2067 18.2478 18.377 18.4748 18.746 18.4748H19.271V19.837C19.0583 19.8936 18.8736 19.922 18.4762 19.922C17.2843 19.922 16.6173 19.3688 16.6173 18.2048V13.4513H15.7374ZM26.2467 19.7803V12.1458H27.7649V13.0398H27.7933C28.1768 12.3871 28.8435 12.0041 29.5958 12.0041H29.922V13.6642C29.6383 13.5932 29.3688 13.5081 28.9002 13.5081C28.3611 13.5081 27.8358 13.8485 27.8358 14.5297V19.7803H26.2467ZM23.4859 17.5288C23.4599 18.3273 23.1512 18.6659 22.6083 18.6659C22.0409 18.6659 21.7284 18.2968 21.7284 17.4167V16.3098H25.0775V14.8908C25.0775 13.2164 24.4249 12.0528 22.6085 12.0528C20.7921 12.0528 20.1395 13.2164 20.1395 14.8908V17.133C20.1395 18.8073 20.7921 19.9714 22.6085 19.9714C24.2771 19.9714 24.9661 18.9917 25.0655 17.5288H23.4859ZM21.7284 14.6073C21.7284 13.7275 22.0409 13.3583 22.6083 13.3583C23.1761 13.3583 23.4882 13.7275 23.4882 14.6073V15.0049H21.7284V14.6073Z' fill='white'/%3E%3C/svg%3E%0A");
51
51
  }
52
52
  }
53
53
 
@@ -1,20 +1,31 @@
1
1
  &.bmpui-player-state-paused,
2
2
  &.bmpui-player-state-prepared,
3
3
  &.bmpui-player-state-finished {
4
- .bmpui-ui-hugeplaybacktogglebutton {
5
- .bmpui-image {
6
- animation: none;
4
+ .bmpui-ui-playbacktoggle-overlay {
5
+ display: unset;
6
+ .bmpui-ui-hugeplaybacktogglebutton {
7
+ .bmpui-image {
8
+ animation: none;
9
+ }
7
10
  }
8
11
  }
9
12
  }
10
13
 
14
+ &.bmpui-player-state-playing {
15
+ .bmpui-ui-playbacktoggle-overlay {
16
+ display: unset;
17
+ }
18
+ }
19
+
20
+ .bmpui-ui-playbacktoggle-overlay {
21
+ display: none;
22
+ }
11
23
 
12
24
  /* Icon Play */
13
25
  .bmpui-ui-hugeplaybacktogglebutton {
14
26
  .bmpui-image {
15
27
  cursor: pointer;
16
28
  position: relative;
17
- // animation: none;
18
29
  background: none;
19
30
  display: flex;
20
31
  align-items: center;
@@ -18,5 +18,12 @@
18
18
  line-height: 20px;
19
19
  margin: 4px 0;
20
20
  opacity: 0.65;
21
+
22
+ // Max 4 lines
23
+ display: -webkit-box;
24
+ -webkit-line-clamp: 4;
25
+ -webkit-box-orient: vertical;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
21
28
  }
22
29
  }