@desynova-digital/player 4.2.0 → 4.2.2

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.
@@ -99,7 +99,8 @@ var propTypes = {
99
99
  userEmail: _propTypes.PropTypes.string,
100
100
  playerSelectedMarker: _propTypes.PropTypes.instanceOf(Object),
101
101
  theme: _propTypes.PropTypes.string,
102
- dubbedTracks: _propTypes.PropTypes.string
102
+ dubbedTracks: _propTypes.PropTypes.string,
103
+ additionalTracks: _propTypes.PropTypes.string
103
104
  };
104
105
  var defaultProps = {
105
106
  startTime: 0,
@@ -111,7 +112,8 @@ var defaultProps = {
111
112
  aspectRatio: 'auto',
112
113
  crossOrigin: 'anonymous',
113
114
  theme: 'dark',
114
- dubbedTracks: null
115
+ dubbedTracks: null,
116
+ additionalTracks: null
115
117
  };
116
118
  var SubTitleSection = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n font-family: SFUIText-Regular;\n font-size: 16px;\n bottom: 20px;\n width: 100%;\n display: flex;\n justify-content: center;\n text-align: center;\n color: #ffffff;\n height: 90%;\n align-items: center;\n\n .subtitleContainer {\n border-radius: 4px;\n width: fit-content;\n background: #000000;\n opacity: 0.9;\n padding: ", ";\n line-height: 20px;\n position: absolute;\n\n i,\n em {\n font-style: italic; /* Override the font style for <em> tags inside elements with the class .someClass */\n }\n\n strong {\n font-weight: bold;\n }\n }\n .longSubtitleStyles {\n overflow-y: auto;\n height: fit-content;\n max-height: 70px;\n max-width: 75%;\n width: fit-content;\n }\n"])), function (props) {
117
119
  return props.currentSubtitleObj && props.currentSubtitleObj.line1 ? '8px 10px' : '0px';
@@ -252,7 +254,8 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
252
254
  };
253
255
  _this.video = null; // the html5 video
254
256
  _this.manager = new _Manager["default"](props.store);
255
- _this.dubbedTrackNames = null;
257
+ _this.dubbedTrackInfo = [];
258
+ _this.additionalTrackInfo = [];
256
259
  _this.getStyle = _this.getStyle.bind(_this);
257
260
  _this.getChildren = _this.getChildren.bind(_this);
258
261
  _this.play = _this.play.bind(_this);
@@ -299,8 +302,8 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
299
302
  return _createClass(Video, [{
300
303
  key: "combineM3U8Manifests",
301
304
  value: function () {
302
- var _combineM3U8Manifests = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(originalUrl, dubbedUrl) {
303
- var fetchManifest, _yield$Promise$all, _yield$Promise$all2, originalContent, dubbedContent, extractAudioTracks, extractVideoStream, originalBase, dubbedBase, videoStreamUri, originalAudioTracks, dubbedAudioTracks, dubbedTrackNames, allTracksMap, allAudioTracks, combinedManifest, _i, _allAudioTracks, track;
305
+ var _combineM3U8Manifests = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(originalUrl, dubbedUrl, additionalTrackUrl) {
306
+ var fetchManifest, fetchPromises, hasDubbed, hasAdditional, contents, originalContent, dubbedContent, additionalContent, extractAudioTracks, extractVideoStream, originalBase, dubbedBase, additionalBase, videoStreamUri, originalAudioTracks, dubbedAudioTracks, additionalAudioTracks, allTracksMap, allAudioTracks, combinedManifest, _i, _allAudioTracks, track;
304
307
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
305
308
  while (1) switch (_context2.prev = _context2.next) {
306
309
  case 0:
@@ -327,17 +330,28 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
327
330
  }
328
331
  }, _callee);
329
332
  }));
330
- return function fetchManifest(_x3) {
333
+ return function fetchManifest(_x4) {
331
334
  return _ref.apply(this, arguments);
332
335
  };
333
- }();
334
- _context2.next = 3;
335
- return Promise.all([fetchManifest(originalUrl), fetchManifest(dubbedUrl)]);
336
- case 3:
337
- _yield$Promise$all = _context2.sent;
338
- _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
339
- originalContent = _yield$Promise$all2[0];
340
- dubbedContent = _yield$Promise$all2[1];
336
+ }(); // Fetch all manifests
337
+ fetchPromises = [fetchManifest(originalUrl)];
338
+ hasDubbed = dubbedUrl && dubbedUrl.trim() !== '';
339
+ hasAdditional = additionalTrackUrl && additionalTrackUrl.trim() !== '';
340
+ if (hasDubbed) fetchPromises.push(fetchManifest(dubbedUrl));
341
+ if (hasAdditional) fetchPromises.push(fetchManifest(additionalTrackUrl));
342
+ _context2.next = 8;
343
+ return Promise.all(fetchPromises);
344
+ case 8:
345
+ contents = _context2.sent;
346
+ originalContent = contents[0];
347
+ dubbedContent = undefined;
348
+ additionalContent = undefined;
349
+ if (hasDubbed) {
350
+ dubbedContent = contents[1];
351
+ if (hasAdditional) additionalContent = contents[2];
352
+ } else if (hasAdditional) {
353
+ additionalContent = contents[1];
354
+ }
341
355
  extractAudioTracks = function extractAudioTracks(content, baseUrl) {
342
356
  var lines = content.split(/\r?\n/);
343
357
  var audioTracks = [];
@@ -387,15 +401,28 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
387
401
  };
388
402
  originalBase = originalUrl;
389
403
  dubbedBase = dubbedUrl;
404
+ additionalBase = additionalTrackUrl;
390
405
  videoStreamUri = extractVideoStream(originalContent, originalBase);
391
406
  originalAudioTracks = extractAudioTracks(originalContent, originalBase);
392
- dubbedAudioTracks = extractAudioTracks(dubbedContent, dubbedBase);
393
- dubbedTrackNames = dubbedAudioTracks.map(function (track) {
394
- return track.name;
407
+ dubbedAudioTracks = dubbedUrl ? extractAudioTracks(dubbedContent, dubbedBase) : [];
408
+ additionalAudioTracks = additionalTrackUrl ? extractAudioTracks(additionalContent, additionalBase) : [];
409
+ this.dubbedTrackInfo = dubbedAudioTracks.map(function (track) {
410
+ return {
411
+ name: track.name,
412
+ uri: track.uri,
413
+ language: track.language
414
+ };
415
+ });
416
+ this.additionalTrackInfo = additionalAudioTracks.map(function (track) {
417
+ return {
418
+ name: track.name,
419
+ uri: track.uri,
420
+ language: track.language
421
+ };
395
422
  });
396
423
  allTracksMap = new Map();
397
- [].concat(_toConsumableArray(originalAudioTracks), _toConsumableArray(dubbedAudioTracks)).forEach(function (track) {
398
- var key = track.name || track.language;
424
+ [].concat(_toConsumableArray(originalAudioTracks), _toConsumableArray(dubbedAudioTracks), _toConsumableArray(additionalAudioTracks)).forEach(function (track) {
425
+ var key = "".concat(track.name || track.language, "_").concat(track.uri || '');
399
426
  if (!allTracksMap.has(key)) {
400
427
  allTracksMap.set(key, track);
401
428
  }
@@ -411,15 +438,16 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
411
438
  }
412
439
  return _context2.abrupt("return", {
413
440
  combinedManifest: combinedManifest,
414
- dubbedTrackNames: dubbedTrackNames
441
+ dubbedTrackInfo: this.dubbedTrackInfo,
442
+ additionalTrackInfo: this.additionalTrackInfo
415
443
  });
416
- case 24:
444
+ case 33:
417
445
  case "end":
418
446
  return _context2.stop();
419
447
  }
420
- }, _callee2);
448
+ }, _callee2, this);
421
449
  }));
422
- function combineM3U8Manifests(_x, _x2) {
450
+ function combineM3U8Manifests(_x, _x2, _x3) {
423
451
  return _combineM3U8Manifests.apply(this, arguments);
424
452
  }
425
453
  return combineM3U8Manifests;
@@ -564,11 +592,13 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
564
592
  value: function setupHLS(originalSrc) {
565
593
  var _this4 = this;
566
594
  var dubbedTracksOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
595
+ var additionalTracksOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
567
596
  var _this$props6 = this.props,
568
597
  actions = _this$props6.actions,
569
598
  activeTrackIndex = _this$props6.activeTrackIndex;
570
599
  var self = this;
571
600
  var effectiveDubbedTracks = dubbedTracksOverride !== undefined ? dubbedTracksOverride : this.props.dubbedTracks;
601
+ var effectiveAdditionalTracks = additionalTracksOverride !== undefined ? additionalTracksOverride : this.props.additionalTracks;
572
602
  var attachAndLoad = function attachAndLoad(sourceUrl) {
573
603
  if (!self.hls) return;
574
604
  self.hls.attachMedia(self.video);
@@ -576,11 +606,15 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
576
606
  self.hls.loadSource(sourceUrl);
577
607
  });
578
608
  };
579
- if (effectiveDubbedTracks && effectiveDubbedTracks.length && effectiveDubbedTracks.trim() !== '') {
580
- this.combineM3U8Manifests(originalSrc, effectiveDubbedTracks).then(function (_ref2) {
609
+ var hasDubbed = effectiveDubbedTracks && effectiveDubbedTracks.trim() !== '';
610
+ var hasAdditionalTracks = effectiveAdditionalTracks && effectiveAdditionalTracks.trim() !== '';
611
+ if (hasDubbed || hasAdditionalTracks) {
612
+ this.combineM3U8Manifests(originalSrc, hasDubbed ? effectiveDubbedTracks : null, hasAdditionalTracks ? effectiveAdditionalTracks : null).then(function (_ref2) {
581
613
  var combinedManifest = _ref2.combinedManifest,
582
- dubbedTrackNames = _ref2.dubbedTrackNames;
583
- self.dubbedTrackNames = dubbedTrackNames;
614
+ dubbedTrackInfo = _ref2.dubbedTrackInfo,
615
+ additionalTrackInfo = _ref2.additionalTrackInfo;
616
+ self.dubbedTrackInfo = dubbedTrackInfo || [];
617
+ self.additionalTrackInfo = additionalTrackInfo || [];
584
618
  var blob = new Blob([combinedManifest], {
585
619
  type: 'application/vnd.apple.mpegurl'
586
620
  });
@@ -589,31 +623,52 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
589
623
  attachAndLoad(combinedUrl);
590
624
  })["catch"](function (err) {
591
625
  console.error('Failed to combine manifests, falling back to original', err);
592
- self.dubbedTrackNames = [];
626
+ self.dubbedTrackInfo = [];
627
+ self.additionalTrackInfo = [];
593
628
  attachAndLoad(originalSrc);
594
629
  });
595
630
  } else {
596
- self.dubbedTrackNames = [];
631
+ self.dubbedTrackInfo = [];
632
+ self.additionalTrackInfo = [];
597
633
  attachAndLoad(originalSrc);
598
634
  }
599
635
  this.hls.on(_hls["default"].Events.MANIFEST_PARSED, function (event, data) {
600
- var audioTracksWithFlag = (data.audioTracks || []).map(function (track) {
601
- if (self.dubbedTrackNames && self.dubbedTrackNames.includes(track.name)) {
602
- return _objectSpread(_objectSpread({}, track), {}, {
603
- isDubbedTrack: true
636
+ var audioTracksWithFlags = (data.audioTracks || []).map(function (track) {
637
+ var flaggedTrack = _objectSpread({}, track);
638
+ // Match by NAME and URI
639
+ if (self.dubbedTrackInfo && self.dubbedTrackInfo.length > 0 && hasDubbed) {
640
+ var matched = self.dubbedTrackInfo.some(function (dubbedTrack) {
641
+ return dubbedTrack.name === track.name && dubbedTrack.uri === track.url;
604
642
  });
643
+ if (matched) {
644
+ flaggedTrack.isDubbedTrack = true;
645
+ }
646
+ }
647
+ if (self.additionalTrackInfo && self.additionalTrackInfo.length > 0 && hasAdditionalTracks) {
648
+ var _matched = self.additionalTrackInfo.some(function (additionalTrack) {
649
+ return additionalTrack.name === track.name && additionalTrack.uri === track.url;
650
+ });
651
+ if (_matched) {
652
+ flaggedTrack.isAdditionalTrack = true;
653
+ }
605
654
  }
606
- return track;
655
+ return flaggedTrack;
607
656
  });
608
- actions.handleAudioTracks(audioTracksWithFlag);
657
+ actions.handleAudioTracks(audioTracksWithFlags);
609
658
  var defaultIndex;
610
- var firstDubbedIndex = audioTracksWithFlag.findIndex(function (t) {
611
- return t.isDubbedTrack;
659
+ var firstAdditionalIndex = audioTracksWithFlags.findIndex(function (t) {
660
+ return t.isAdditionalTrack;
612
661
  });
613
- if (firstDubbedIndex !== -1) {
662
+ var firstDubbedIndex = audioTracksWithFlags.findIndex(function (t) {
663
+ return t.isDubbedTrack && !t.isAdditionalTrack;
664
+ } // Don't override HD if already selected
665
+ );
666
+ if (firstAdditionalIndex !== -1) {
667
+ defaultIndex = firstAdditionalIndex;
668
+ } else if (firstDubbedIndex !== -1) {
614
669
  defaultIndex = firstDubbedIndex;
615
670
  } else {
616
- if (activeTrackIndex !== undefined && activeTrackIndex < audioTracksWithFlag.length) {
671
+ if (activeTrackIndex !== undefined && activeTrackIndex < audioTracksWithFlags.length) {
617
672
  defaultIndex = activeTrackIndex;
618
673
  } else {
619
674
  var autoselectIndex = data.audioTracks.findIndex(function (t) {
@@ -624,12 +679,12 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
624
679
  }
625
680
  self._desiredAudioTrackIndex = defaultIndex;
626
681
  var _onTrackSwitched = function onTrackSwitched(event, switchData) {
627
- var _audioTracksWithFlag$;
628
- var switchedTrack = audioTracksWithFlag.find(function (t) {
682
+ var _audioTracksWithFlags;
683
+ var switchedTrack = audioTracksWithFlags.find(function (t) {
629
684
  return t.id === switchData.id;
630
685
  });
631
686
  if (!switchedTrack) return;
632
- if (switchData.id !== ((_audioTracksWithFlag$ = audioTracksWithFlag[defaultIndex]) === null || _audioTracksWithFlag$ === void 0 ? void 0 : _audioTracksWithFlag$.id)) {
687
+ if (switchData.id !== ((_audioTracksWithFlags = audioTracksWithFlags[defaultIndex]) === null || _audioTracksWithFlags === void 0 ? void 0 : _audioTracksWithFlags.id)) {
633
688
  self.hls.audioTrack = defaultIndex;
634
689
  return;
635
690
  }
@@ -860,6 +915,7 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
860
915
  var _this$props9 = this.props,
861
916
  src = _this$props9.src,
862
917
  dubbedTracks = _this$props9.dubbedTracks,
918
+ additionalTracks = _this$props9.additionalTracks,
863
919
  activeAudio = _this$props9.player.activeAudio,
864
920
  currentSubtitleObj = _this$props9.currentSubtitleObj,
865
921
  markers = _this$props9.markers,
@@ -867,7 +923,7 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
867
923
  if (markers && markers !== newProps.markers && newProps.markers) {
868
924
  this.displaySubtitle(newProps.markers);
869
925
  }
870
- if (newProps.src !== src || newProps.dubbedTracks !== dubbedTracks) {
926
+ if (newProps.src !== src || newProps.dubbedTracks !== dubbedTracks || newProps.additionalTracks !== additionalTracks) {
871
927
  var isM3U8 = this.state.isM3U8;
872
928
  if (_hls["default"].isSupported() && isM3U8) {
873
929
  if (this.hls) {
@@ -881,6 +937,8 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
881
937
  URL.revokeObjectURL(this.combinedManifestUrl);
882
938
  this.combinedManifestUrl = null;
883
939
  }
940
+ this.dubbedTrackInfo = [];
941
+ this.additionalTrackInfo = [];
884
942
  var m3u8 = newProps.src.split('.').pop() === 'm3u8';
885
943
  this.setState({
886
944
  isM3U8: m3u8
@@ -889,7 +947,7 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
889
947
  var _this$manager$getStat3 = this.manager.getState(),
890
948
  HLSConfig = _this$manager$getStat3.player.HLSConfig;
891
949
  this.hls = new _hls["default"](HLSConfig);
892
- this.setupHLS(newProps.src, newProps.dubbedTracks);
950
+ this.setupHLS(newProps.src, newProps.dubbedTracks, newProps.additionalTracks);
893
951
  } else if (this.video) {
894
952
  this.video.src = newProps.src;
895
953
  }
@@ -32,7 +32,8 @@ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.fre
32
32
  var propTypes = {
33
33
  actions: _propTypes.PropTypes.instanceOf(Object),
34
34
  player: _propTypes.PropTypes.instanceOf(Object),
35
- theme: _propTypes.PropTypes.string
35
+ theme: _propTypes.PropTypes.string,
36
+ additionalTrackQuality: _propTypes.PropTypes.string
36
37
  };
37
38
  var AudioTrackBlock = (0, _styledComponents["default"])('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n text-align: left;\n background: transparent;\n cursor: pointer;\n border-bottom: 1px solid #eeeeee;\n &:last-child {\n border: none;\n }\n &:hover,\n &:focus {\n background: ", ";\n }\n p {\n padding: 15px;\n font-family: SFUIText-Medium;\n font-size: 12px;\n white-space: nowrap;\n }\n"])), function (props) {
38
39
  return props.theme ? " ".concat(_tokens.colors[props.theme].videoPlayer.rgbaThemeColor) : 'rgba(0, 206, 198, 0.1)';
@@ -74,8 +75,16 @@ var AudioTracksMenuButton = /*#__PURE__*/function (_Component) {
74
75
  };
75
76
  });
76
77
  });
78
+ _defineProperty(_this, "toggleAdditionalAccordion", function () {
79
+ var additionalTrackQuality = _this.props.additionalTrackQuality;
80
+ _this.setState(function (prevState) {
81
+ return {
82
+ openAccordion: prevState.openAccordion === additionalTrackQuality ? null : additionalTrackQuality
83
+ };
84
+ });
85
+ });
77
86
  _this.state = {
78
- openAccordion: 'dubbed'
87
+ openAccordion: 'original'
79
88
  };
80
89
  return _this;
81
90
  }
@@ -100,23 +109,9 @@ var AudioTracksMenuButton = /*#__PURE__*/function (_Component) {
100
109
  }, {
101
110
  key: "ensureValidAudioTrack",
102
111
  value: function ensureValidAudioTrack() {
103
- var _this$props = this.props,
104
- player = _this$props.player,
105
- actions = _this$props.actions;
112
+ var player = this.props.player;
106
113
  var allTracks = player.audioTracksArr || [];
107
- var dubbedTracks = allTracks.filter(function (track) {
108
- return track.isDubbedTrack === true;
109
- });
110
114
  if (allTracks.length === 0) return;
111
- if (dubbedTracks.length) {
112
- this.setState({
113
- openAccordion: 'dubbed'
114
- });
115
- } else {
116
- this.setState({
117
- openAccordion: 'original'
118
- });
119
- }
120
115
  }
121
116
  }, {
122
117
  key: "changeTrack",
@@ -129,22 +124,28 @@ var AudioTracksMenuButton = /*#__PURE__*/function (_Component) {
129
124
  value: function render() {
130
125
  var _player$activeAudio,
131
126
  _this2 = this;
132
- var _this$props2 = this.props,
133
- player = _this$props2.player,
134
- actions = _this$props2.actions,
135
- theme = _this$props2.theme;
127
+ var _this$props = this.props,
128
+ player = _this$props.player,
129
+ actions = _this$props.actions,
130
+ theme = _this$props.theme,
131
+ activeVersion = _this$props.activeVersion,
132
+ additionalTrackQuality = _this$props.additionalTrackQuality;
136
133
  var openAccordion = this.state.openAccordion;
137
134
  var allTracks = player.audioTracksArr || [];
138
135
  var originalTracks = allTracks.filter(function (track) {
139
- return !track.isDubbedTrack;
136
+ return !track.isDubbedTrack && !track.isAdditionalTrack;
140
137
  });
141
138
  var dubbedTracks = allTracks.filter(function (track) {
142
139
  return track.isDubbedTrack === true;
143
140
  });
141
+ var additionalTrack = allTracks.filter(function (track) {
142
+ return track.isAdditionalTrack === true;
143
+ });
144
144
  var currentTrackName = ((_player$activeAudio = player.activeAudio) === null || _player$activeAudio === void 0 ? void 0 : _player$activeAudio.name) || 'No track playing';
145
145
  var hasOriginalTracks = originalTracks.length > 0;
146
146
  var hasDubbedTracks = dubbedTracks.length > 0;
147
- if (!hasOriginalTracks && !hasDubbedTracks) {
147
+ var hasAdditionalTracks = additionalTrack.length > 0;
148
+ if (!hasOriginalTracks && !hasDubbedTracks && !hasAdditionalTracks) {
148
149
  return null;
149
150
  }
150
151
  return /*#__PURE__*/_react["default"].createElement(_Menu["default"], {
@@ -158,7 +159,7 @@ var AudioTracksMenuButton = /*#__PURE__*/function (_Component) {
158
159
  position: "left"
159
160
  }, /*#__PURE__*/_react["default"].createElement("div", {
160
161
  className: "menu-container"
161
- }, hasDubbedTracks && /*#__PURE__*/_react["default"].createElement(NowPlayingContainer, null, /*#__PURE__*/_react["default"].createElement(NowPlayingLabel, null, "Now playing"), /*#__PURE__*/_react["default"].createElement(NowPlayingTrackName, {
162
+ }, (hasDubbedTracks || hasAdditionalTracks) && /*#__PURE__*/_react["default"].createElement(NowPlayingContainer, null, /*#__PURE__*/_react["default"].createElement(NowPlayingLabel, null, "Now playing"), /*#__PURE__*/_react["default"].createElement(NowPlayingTrackName, {
162
163
  theme: theme
163
164
  }, currentTrackName)), hasDubbedTracks && /*#__PURE__*/_react["default"].createElement(AccordionContainer, null, /*#__PURE__*/_react["default"].createElement(AccordionHeader, {
164
165
  theme: theme,
@@ -189,7 +190,36 @@ var AudioTracksMenuButton = /*#__PURE__*/function (_Component) {
189
190
  color: '#333333'
190
191
  }
191
192
  }, track.name || "Dubbed Track ".concat(index + 1)));
192
- }))), hasOriginalTracks && /*#__PURE__*/_react["default"].createElement(AccordionContainer, null, hasDubbedTracks && /*#__PURE__*/_react["default"].createElement(AccordionHeader, {
193
+ }))), hasAdditionalTracks && /*#__PURE__*/_react["default"].createElement(AccordionContainer, null, /*#__PURE__*/_react["default"].createElement(AccordionHeader, {
194
+ theme: theme,
195
+ onClick: this.toggleAdditionalAccordion
196
+ }, /*#__PURE__*/_react["default"].createElement(HeaderTitle, null, activeVersion.category, " ", additionalTrackQuality), /*#__PURE__*/_react["default"].createElement(HeaderIcon, {
197
+ isOpen: openAccordion === additionalTrackQuality
198
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
199
+ color: "#999999",
200
+ name: "dropdown_more_icon"
201
+ }))), /*#__PURE__*/_react["default"].createElement(AccordionContent, {
202
+ isOpen: openAccordion === additionalTrackQuality
203
+ }, additionalTrack.map(function (track, index) {
204
+ return /*#__PURE__*/_react["default"].createElement(AudioTrackBlock, {
205
+ theme: theme,
206
+ onClick: function onClick() {
207
+ return _this2.changeTrack(track);
208
+ },
209
+ role: "presentation",
210
+ key: track.id || index,
211
+ style: player.activeAudio && player.activeAudio.id === track.id ? {
212
+ pointerEvents: 'none'
213
+ } : null
214
+ }, /*#__PURE__*/_react["default"].createElement("p", {
215
+ style: player.activeAudio && player.activeAudio.id === track.id ? {
216
+ color: theme ? "".concat(_tokens.colors[theme].videoPlayer.themeColor) : '#00cec6',
217
+ pointerEvents: 'none'
218
+ } : {
219
+ color: '#333333'
220
+ }
221
+ }, track.name || "Track ".concat(index + 1)));
222
+ }))), hasOriginalTracks && /*#__PURE__*/_react["default"].createElement(AccordionContainer, null, (hasDubbedTracks || hasAdditionalTracks) && /*#__PURE__*/_react["default"].createElement(AccordionHeader, {
193
223
  theme: theme,
194
224
  onClick: this.toggleOriginalAccordion
195
225
  }, /*#__PURE__*/_react["default"].createElement(HeaderTitle, null, "Original tracks"), /*#__PURE__*/_react["default"].createElement(HeaderIcon, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desynova-digital/player",
3
- "version": "4.2.0",
3
+ "version": "4.2.2",
4
4
  "description": "Video Player Package for Contido Application",
5
5
  "main": "index.js",
6
6
  "scripts": {