@desynova-digital/player 3.9.7 → 4.0.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 (130) hide show
  1. package/Player.js +945 -0
  2. package/control/AudioTracksMenuButton.js +91 -0
  3. package/control/AudioTracksMenuButton.jsx +80 -0
  4. package/control/ControlBar.js +303 -0
  5. package/control/ControlBar.jsx +264 -0
  6. package/control/CurrentTimeDisplay.js +34 -0
  7. package/control/CurrentTimeDisplay.jsx +35 -0
  8. package/control/DurationDisplay.js +38 -0
  9. package/control/DurationDisplay.jsx +48 -0
  10. package/control/ForwardBackwardControl.js +76 -0
  11. package/control/ForwardBackwardControl.jsx +79 -0
  12. package/control/FullscreenToggle.js +82 -0
  13. package/control/FullscreenToggle.jsx +83 -0
  14. package/control/MarkInControl.js +124 -0
  15. package/control/MarkInControl.jsx +109 -0
  16. package/control/MarkOutControl.js +137 -0
  17. package/control/MarkOutControl.jsx +131 -0
  18. package/control/MarkerBar.js +127 -0
  19. package/control/MarkerBar.jsx +107 -0
  20. package/control/MarkingControl.js +82 -0
  21. package/control/MarkingControl.jsx +143 -0
  22. package/control/MarkingDuration.js +44 -0
  23. package/control/MarkingPreview.js +49 -0
  24. package/control/MarkingPreview.jsx +60 -0
  25. package/control/PlayBackRateControl.js +106 -0
  26. package/control/PlayBackRateControl.jsx +106 -0
  27. package/control/PlayProgressBar.js +61 -0
  28. package/control/PlayProgressBar.jsx +92 -0
  29. package/control/PlayToggle.js +56 -0
  30. package/control/PlayToggle.jsx +57 -0
  31. package/control/PointersBar.js +231 -0
  32. package/control/PointersBar.jsx +286 -0
  33. package/control/ProgressControl.js +127 -0
  34. package/control/ProgressControl.jsx +155 -0
  35. package/control/SeekBar.js +204 -0
  36. package/control/SeekBar.jsx +229 -0
  37. package/control/SettingsMenuButton.js +63 -0
  38. package/control/SettingsMenuButton.jsx +69 -0
  39. package/control/Slider.js +274 -0
  40. package/control/Slider.jsx +243 -0
  41. package/control/Timeline.js +118 -0
  42. package/control/Timeline.jsx +131 -0
  43. package/control/VolumeBar.js +198 -0
  44. package/control/VolumeBar.jsx +174 -0
  45. package/control/VolumeLevel.js +61 -0
  46. package/control/VolumeLevel.jsx +66 -0
  47. package/control/VolumneMenuButton.js +112 -0
  48. package/control/VolumneMenuButton.jsx +111 -0
  49. package/header/Header.js +309 -0
  50. package/header/Header.jsx +479 -0
  51. package/index.js +9 -151
  52. package/media/AudioMeter.js +381 -0
  53. package/media/AudioMeter.jsx +411 -0
  54. package/media/SDOutline.js +82 -0
  55. package/media/SDOutline.jsx +90 -0
  56. package/media/Video.js +684 -0
  57. package/media/Video.jsx +714 -0
  58. package/package.json +5 -1
  59. package/playlist/Playlist.js +67 -0
  60. package/playlist/Playlist.jsx +91 -0
  61. package/playlist/index.js +13 -0
  62. package/shortcuts/Shortcut.js +662 -0
  63. package/utils/Menu.js +50 -0
  64. package/utils/Menu.jsx +105 -0
  65. package/{colors.js → utils/colors.js} +13 -13
  66. package/utils/dom.js +6 -16
  67. package/utils/index.js +52 -122
  68. package/Manager.js +0 -124
  69. package/actions/player.js +0 -375
  70. package/actions/video.js +0 -230
  71. package/components/AudioMeter.js +0 -414
  72. package/components/BigPlayButton.js +0 -110
  73. package/components/ImageViewer.js +0 -318
  74. package/components/MarkerBar.js +0 -138
  75. package/components/Menu.js +0 -77
  76. package/components/Player.js +0 -821
  77. package/components/PlayerHeader.js +0 -472
  78. package/components/Playlist.js +0 -133
  79. package/components/PointersBar.js +0 -299
  80. package/components/PosterImage.js +0 -61
  81. package/components/SDOutline.js +0 -68
  82. package/components/Shortcut.js +0 -621
  83. package/components/Slider.js +0 -317
  84. package/components/TagsBar.js +0 -100
  85. package/components/Video.js +0 -1431
  86. package/components/control-bar/AudioTracksMenuButton.js +0 -113
  87. package/components/control-bar/CameraButton.js +0 -88
  88. package/components/control-bar/CommentsButton.js +0 -216
  89. package/components/control-bar/ControlBar.js +0 -260
  90. package/components/control-bar/EditorControlMenuButton.js +0 -412
  91. package/components/control-bar/ForwardControl.js +0 -17
  92. package/components/control-bar/ForwardReplayControl.js +0 -122
  93. package/components/control-bar/FullscreenToggle.js +0 -101
  94. package/components/control-bar/PlayToggle.js +0 -98
  95. package/components/control-bar/ReplayControl.js +0 -17
  96. package/components/control-bar/SettingsMenuButton.js +0 -43
  97. package/components/control-bar/SubtitleLanguagesMenuButton.js +0 -174
  98. package/components/control-bar/VolumeMenuButton.js +0 -134
  99. package/components/control-bar/ZoomMenuButton.js +0 -116
  100. package/components/marking-controls/MarkInControl.js +0 -140
  101. package/components/marking-controls/MarkOutControl.js +0 -155
  102. package/components/marking-controls/MarkingAddButton.js +0 -94
  103. package/components/marking-controls/MarkingControl.js +0 -135
  104. package/components/marking-controls/MarkingDeleteButton.js +0 -84
  105. package/components/marking-controls/MarkingDuration.js +0 -77
  106. package/components/marking-controls/MarkingPreview.js +0 -86
  107. package/components/progress-bar/AudioWaveform.js +0 -144
  108. package/components/progress-bar/LoadProgressBar.js +0 -90
  109. package/components/progress-bar/MouseTimeDisplay.js +0 -53
  110. package/components/progress-bar/PlayProgressBar.js +0 -79
  111. package/components/progress-bar/ProgressControl.js +0 -222
  112. package/components/progress-bar/SeekBar.js +0 -261
  113. package/components/progress-bar/Timeline.js +0 -134
  114. package/components/settings-menu-control/PlaybackRateControl.js +0 -147
  115. package/components/settings-menu-control/SafeAreaControl.js +0 -92
  116. package/components/settings-menu-control/SettingsMenu.js +0 -68
  117. package/components/settings-menu-control/SubtitleControl.js +0 -1
  118. package/components/time-controls/CurrentTimeDisplay.js +0 -53
  119. package/components/time-controls/DurationDisplay.js +0 -51
  120. package/components/time-controls/TimeDivider.js +0 -41
  121. package/components/volume-control/VolumeBar.js +0 -216
  122. package/components/volume-control/VolumeControl.js +0 -35
  123. package/components/volume-control/VolumeLevel.js +0 -78
  124. package/components/zoom-control/ZoomBar.js +0 -189
  125. package/components/zoom-control/ZoomLevel.js +0 -68
  126. package/reducers/index.js +0 -23
  127. package/reducers/operation.js +0 -36
  128. package/reducers/player.js +0 -222
  129. package/utils/browser.js +0 -29
  130. package/utils/fullscreen.js +0 -73
@@ -1,472 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
-
9
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
10
-
11
- var _propTypes = require('prop-types');
12
-
13
- var _react = require('react');
14
-
15
- var _react2 = _interopRequireDefault(_react);
16
-
17
- var _styledComponents = require('styled-components');
18
-
19
- var _styledComponents2 = _interopRequireDefault(_styledComponents);
20
-
21
- var _components = require('@desynova-digital/components');
22
-
23
- var _colors = require('../colors');
24
-
25
- var _colors2 = _interopRequireDefault(_colors);
26
-
27
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
-
29
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30
-
31
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
32
-
33
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
34
- // import { colors } from '@desynova-digital/tokens';
35
-
36
-
37
- var propTypes = {
38
- actions: _propTypes.PropTypes.instanceOf(Object),
39
- onPlayerClose: _propTypes.PropTypes.func,
40
- onPlayerChange: _propTypes.PropTypes.func,
41
- versionClick: _propTypes.PropTypes.func,
42
- controlType: _propTypes.PropTypes.string,
43
- player: _propTypes.PropTypes.instanceOf(Object),
44
- onTitleClick: _propTypes.PropTypes.func,
45
- openSharePopup: _propTypes.PropTypes.func,
46
- onReportClick: _propTypes.PropTypes.func,
47
- qcReportAvailable: _propTypes.PropTypes.bool,
48
- isShowPageAvailable: _propTypes.PropTypes.bool,
49
- isShareAvailable: _propTypes.PropTypes.bool,
50
- isUserGuest: _propTypes.PropTypes.bool,
51
- playerType: _propTypes.PropTypes.oneOf(['dubbing_review', 'clipping_default', 'default', 'tagging', 'qc', 'subtitle', 'snp_edit', 'archive', 'restore', 'clipping', 'storyboard', 'panel']),
52
- videoDetails: _propTypes.PropTypes.instanceOf(Object),
53
- activeVersion: _propTypes.PropTypes.instanceOf(Object),
54
- versions: _propTypes.PropTypes.instanceOf(Array)
55
- };
56
-
57
- var PlayerHeaderBlock = _styledComponents2.default.div.withConfig({
58
- displayName: 'PlayerHeader__PlayerHeaderBlock',
59
- componentId: 'sc-conl4h-0'
60
- })(['position:relative;display:flex;justify-content:flex-start;align-items:center;background:#000;transition:all 250ms ease-in-out;height:', ';width:100%;z-index:1;position:', ';top:', ';overflow:', ';'], function (props) {
61
- return props.player === 'panel' && props.active || props.player !== 'panel' ? '60px' : '0px';
62
- }, function (props) {
63
- return props.player === 'panel' ? 'absolute' : 'relative';
64
- }, function (props) {
65
- return props.player === 'panel' ? '0px' : 'initial';
66
- }, function (props) {
67
- return props.player === 'panel' && props.active || props.player !== 'panel' ? 'visible' : 'hidden';
68
- });
69
-
70
- var VideoTitle = _styledComponents2.default.button.withConfig({
71
- displayName: 'PlayerHeader__VideoTitle',
72
- componentId: 'sc-conl4h-1'
73
- })(['font-family:SFUIText-Regular;text-align:left;padding:0;font-size:13px;color:#ffffff;background-color:transparent;border:none;outline:none;cursor:', ';'], function (_ref) {
74
- var isShowPageAvailable = _ref.isShowPageAvailable;
75
- return isShowPageAvailable ? 'pointer' : 'default';
76
- });
77
-
78
- var PlayerDetails = _styledComponents2.default.div.withConfig({
79
- displayName: 'PlayerHeader__PlayerDetails',
80
- componentId: 'sc-conl4h-2'
81
- })(['margin-left:20px;text-align:left;.video-bottom-container{display:flex;justify-content:flex-start;align-items:center;margin-top:8px;.video-sub-title{color:#afb2ba;font-size:10px;font-family:SFUIText-Medium;margin-right:5px;}.version-category{font-size:10px;letter-spacing:0.4px;color:#fff;font-family:SFUIText-Regular;text-transform:uppercase;}.versions-dropdown-block{position:relative;&:hover{.active-version{cursor:pointer;border-color:#00cec6 !important;}.versions-dropdown-container{visibility:visible;opacity:1;}}.active-version{transition:all 350ms ease-in-out;border:1px solid #fff;border-radius:10px;margin-left:5px;padding:3px 10px;color:#fff;font-size:10px;font-family:SFUIText-Regular;font-weight:bold;pointer-events:none;}.versions-dropdown-container{padding-top:15px;position:absolute;top:13px;left:50%;transform:translateX(-50%);visibility:hidden;opacity:0;transition:all 450ms ease-in-out;&:after{content:\'\';border-bottom:6px solid #00cec6;border-right:6px solid transparent;border-left:6px solid transparent;position:absolute;top:9px;left:50%;transform:translateX(-50%);}.versions-container{overflow-y:auto;overflow-x:hidden;max-height:204px;box-shadow:0px 12px 24px rgb(0 0 0 / 20%);min-width:250px;background:#fff;border-radius:10px;.ingest-versions-container{border-bottom:1px solid rgba(0,0,0,0.1);padding:10px 15px;.ingest-version-block{display:flex;justify-content:space-between;align-items:center;.upload-type{width:6px;height:6px;border-radius:100%;overflow:hidden;left:5px;position:absolute;}.ingest-version-name{color:#182738;font-size:11px;font-family:SFUIText-Regular;font-weight:bold;margin-right:10px;}.video-versions-container{display:inline-flex;align-items:center;.more-dropdown-icon{padding-top:8px;cursor:pointer;}path{fill:#182738;}}}}&::-webkit-scrollbar{width:5px;background-color:#6d6a6a;}}}}.video-time-block{margin-left:5px;display:flex;justify-content:center;align-items:center;.tv-time,.ott-time{display:flex;justify-content:center;align-items:center;margin-left:10px;p{margin-left:5px;color:rgb(175,178,186);font-family:\'SFUIText-Regular\';font-size:10px;align-self:self-end;}}}}']);
82
-
83
- var VersionBlock = _styledComponents2.default.div.withConfig({
84
- displayName: 'PlayerHeader__VersionBlock',
85
- componentId: 'sc-conl4h-3'
86
- })(['font-family:SFUIText-Regular;font-weight:bold;font-size:10px;line-height:1.2;border-radius:100%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:', ';color:', ';&.active{background:', ';color:#ffffff;pointer-events:none;}margin-right:10px;'], function (props) {
87
- return props.upload_type === 'fc' ? 'rgba(0, 206, 198, 0.1)' : 'rgba(255, 99, 39, 0.1)';
88
- }, function (props) {
89
- return props.upload_type === 'fc' ? '#00CEC6' : '#FF6327';
90
- }, function (props) {
91
- return props.upload_type === 'fc' ? '#00cec6' : '#FF6327';
92
- });
93
-
94
- var PlayerType = _styledComponents2.default.div.withConfig({
95
- displayName: 'PlayerHeader__PlayerType',
96
- componentId: 'sc-conl4h-4'
97
- })(['margin-left:auto;margin-right:15px;display:flex;', '{padding:7px;background-color:rgba(255,255,255,0.1);border:none;}'], _components.Button.Element);
98
-
99
- var QCReportButton = (0, _styledComponents2.default)(_components.Button).withConfig({
100
- displayName: 'PlayerHeader__QCReportButton',
101
- componentId: 'sc-conl4h-5'
102
- })(['pointer-events:all !important;margin-right:10px;']);
103
-
104
- var BackButton = (0, _styledComponents2.default)(_components.Button).withConfig({
105
- displayName: 'PlayerHeader__BackButton',
106
- componentId: 'sc-conl4h-6'
107
- })(['background:', ';border:none;margin:10px;margin-right:0;width:40px;height:40px;&:hover,&:focus{background:', ';}', '{transform:translate(-50%,-50%);top:50%;left:50%;position:absolute;}'], function (props) {
108
- return _colors2.default.common.video[props.assetType].base;
109
- }, function (props) {
110
- return _colors2.default.common.video[props.assetType].base;
111
- }, _components.Icon.Element);
112
-
113
- var PlayerHeader = function (_Component) {
114
- _inherits(PlayerHeader, _Component);
115
-
116
- function PlayerHeader(props, context) {
117
- _classCallCheck(this, PlayerHeader);
118
-
119
- var _this = _possibleConstructorReturn(this, (PlayerHeader.__proto__ || Object.getPrototypeOf(PlayerHeader)).call(this, props, context));
120
-
121
- _this.state = {
122
- versionIndex: -1,
123
- updatedVersionsList: []
124
- };
125
- _this.handleClick = _this.handleClick.bind(_this);
126
- return _this;
127
- }
128
-
129
- _createClass(PlayerHeader, [{
130
- key: 'componentDidMount',
131
- value: function componentDidMount() {}
132
- }, {
133
- key: 'handleClick',
134
- value: function handleClick() {
135
- var _props = this.props,
136
- onPlayerClose = _props.onPlayerClose,
137
- onPlayerChange = _props.onPlayerChange,
138
- controlType = _props.controlType;
139
-
140
- if (controlType !== 'default') {
141
- onPlayerChange();
142
- } else {
143
- if (onPlayerClose) {
144
- onPlayerClose();
145
- }
146
- }
147
- }
148
- }, {
149
- key: 'openQCReport',
150
- value: function openQCReport() {
151
- var _props2 = this.props,
152
- onReportClick = _props2.onReportClick,
153
- actions = _props2.actions;
154
-
155
- if (onReportClick) {
156
- actions.pause();
157
- onReportClick();
158
- }
159
- }
160
-
161
- /**
162
- * saves the index of version that is expanded.
163
- * @param {Number} index index of the versionList
164
- */
165
-
166
- }, {
167
- key: 'saveIndexOfVersion',
168
- value: function saveIndexOfVersion(index) {
169
- var versionIndex = this.state.versionIndex;
170
-
171
- var currentIndex = versionIndex === index ? -1 : index;
172
- this.setState({
173
- versionIndex: currentIndex
174
- });
175
- }
176
-
177
- /**
178
- * returns the object with active version at the first element in object
179
- * @param {Object} version object containing complete version list.
180
- * @param {Object} activeVersion object containing currently active version.
181
- */
182
-
183
- }, {
184
- key: 'updateVersion',
185
- value: function updateVersion(version, activeVersion) {
186
- var updatedVersionsList = JSON.parse(JSON.stringify(version));
187
- updatedVersionsList.map(function (ele, index) {
188
- ele.versions.map(function (versionsList, innerIndex) {
189
- if (versionsList.ingest_db_id === activeVersion.ingest_db_id) {
190
- var tempData = updatedVersionsList[index]["versions"][innerIndex];
191
- updatedVersionsList[index]["versions"].splice(innerIndex, 1);
192
- updatedVersionsList[index]["versions"].unshift(tempData);
193
- }
194
- });
195
- });
196
- this.setState({
197
- updatedVersionsList: updatedVersionsList
198
- });
199
- }
200
- }, {
201
- key: 'componentDidUpdate',
202
- value: function componentDidUpdate(prevProps, prevState) {
203
- var _props3 = this.props,
204
- versions = _props3.versions,
205
- activeVersion = _props3.activeVersion;
206
-
207
- if (activeVersion.ingest_db_id !== prevProps.activeVersion.ingest_db_id || !prevState.updatedVersionsList.length) {
208
- if (versions && versions.length) {
209
- this.updateVersion(versions, activeVersion);
210
- }
211
- }
212
- }
213
- }, {
214
- key: 'componentDidMount',
215
- value: function componentDidMount() {
216
- var _props4 = this.props,
217
- versions = _props4.versions,
218
- activeVersion = _props4.activeVersion;
219
-
220
- if (versions && versions.length) {
221
- this.updateVersion(versions, activeVersion);
222
- }
223
- }
224
- }, {
225
- key: 'render',
226
- value: function render() {
227
- var _this2 = this;
228
-
229
- var _props5 = this.props,
230
- videoDetails = _props5.videoDetails,
231
- versionClick = _props5.versionClick,
232
- activeVersion = _props5.activeVersion,
233
- onTitleClick = _props5.onTitleClick,
234
- _props5$player = _props5.player,
235
- userActivity = _props5$player.userActivity,
236
- isFullscreen = _props5$player.isFullscreen,
237
- playerType = _props5.playerType,
238
- qcReportAvailable = _props5.qcReportAvailable,
239
- openSharePopup = _props5.openSharePopup,
240
- isShareAvailable = _props5.isShareAvailable,
241
- isUserGuest = _props5.isUserGuest;
242
- var _state = this.state,
243
- versionIndex = _state.versionIndex,
244
- updatedVersionsList = _state.updatedVersionsList;
245
-
246
-
247
- return _react2.default.createElement(
248
- PlayerHeaderBlock,
249
- {
250
- className: 'player-header-block',
251
- active: userActivity,
252
- player: playerType
253
- },
254
- !isFullscreen && !isUserGuest && _react2.default.createElement(BackButton, _extends({
255
- display: 'rounded',
256
- appearance: 'cta',
257
- icon: 'arrow-left',
258
- width: 50,
259
- height: 50,
260
- iconWidth: 16,
261
- iconHeight: 16,
262
- tabIndex: '0',
263
- onClick: this.handleClick
264
- }, this.props)),
265
- _react2.default.createElement(
266
- PlayerDetails,
267
- null,
268
- _react2.default.createElement(
269
- VideoTitle,
270
- {
271
- type: 'button',
272
- isShowPageAvailable: !isUserGuest,
273
- onClick: function onClick() {
274
- return !isUserGuest && onTitleClick();
275
- }
276
- },
277
- videoDetails.title
278
- ),
279
- activeVersion && _react2.default.createElement(
280
- 'div',
281
- { className: 'video-bottom-container' },
282
- _react2.default.createElement(
283
- 'p',
284
- { className: 'video-sub-title' },
285
- videoDetails.subTitle
286
- ),
287
- _react2.default.createElement(
288
- 'p',
289
- { className: 'version-category' },
290
- activeVersion.category
291
- ),
292
- _react2.default.createElement(
293
- 'div',
294
- { className: 'versions-dropdown-block' },
295
- _react2.default.createElement(
296
- 'p',
297
- { className: 'active-version' },
298
- activeVersion.version_name + ' ' + activeVersion.version
299
- ),
300
- updatedVersionsList && updatedVersionsList.length > 0 && playerType === 'default' && _react2.default.createElement(
301
- 'div',
302
- { className: 'versions-dropdown-container' },
303
- _react2.default.createElement(
304
- 'div',
305
- { className: 'versions-container' },
306
- updatedVersionsList.map(function (version, index) {
307
- return _react2.default.createElement(
308
- 'div',
309
- {
310
- className: 'ingest-versions-container',
311
- key: version.version_name_short + version.upload_type
312
- },
313
- _react2.default.createElement(
314
- 'div',
315
- { className: 'ingest-version-block' },
316
- _react2.default.createElement(
317
- 'p',
318
- { className: 'ingest-version-name' },
319
- version.version_name_short
320
- ),
321
- _react2.default.createElement(
322
- 'div',
323
- { className: 'video-versions-container' },
324
- _react2.default.createElement(
325
- VersionBlock,
326
- {
327
- role: 'presentation',
328
- upload_type: version.upload_type,
329
- className: version.versions[0].ingest_db_id === activeVersion.ingest_db_id && 'active',
330
- key: version.versions[0].ingest_db_id,
331
- onClick: function onClick() {
332
- return versionClick(version.versions[0].ingest_db_id);
333
- }
334
- },
335
- version.versions[0].version_name
336
- ),
337
- version.versions.length > 1 && _react2.default.createElement(
338
- 'span',
339
- {
340
- className: 'more-dropdown-icon',
341
- onClick: function onClick() {
342
- return _this2.saveIndexOfVersion(index);
343
- } },
344
- versionIndex === index ? _react2.default.createElement(_components.Icon, {
345
- name: 'dropdown_less_icon',
346
- width: '14',
347
- height: '14'
348
- }) : _react2.default.createElement(_components.Icon, {
349
- name: 'dropdown_more_icon',
350
- width: '14',
351
- height: '14'
352
- })
353
- )
354
- )
355
- ),
356
- _react2.default.createElement(
357
- 'div',
358
- { className: 'ingest-version-block' },
359
- _react2.default.createElement(
360
- 'div',
361
- { className: 'video-versions-container' },
362
- versionIndex === index && version.versions.slice(1).map(function (video_version, idx) {
363
- return _react2.default.createElement(
364
- VersionBlock,
365
- {
366
- role: 'presentation',
367
- key: video_version.ingest_db_id,
368
- upload_type: version.upload_type,
369
- className: video_version.ingest_db_id === activeVersion.ingest_db_id && 'active',
370
- onClick: function onClick() {
371
- return versionClick(video_version.ingest_db_id);
372
- }
373
- },
374
- video_version.version_name
375
- );
376
- })
377
- )
378
- )
379
- );
380
- })
381
- )
382
- )
383
- ),
384
- _react2.default.createElement(
385
- 'div',
386
- { className: 'video-time-block' },
387
- videoDetails.txDate ? _react2.default.createElement(
388
- 'div',
389
- { className: 'tv-time' },
390
- _react2.default.createElement(
391
- 'p',
392
- null,
393
- videoDetails.txDate
394
- )
395
- ) : null,
396
- videoDetails.tvTime ? _react2.default.createElement(
397
- 'div',
398
- { className: 'tv-time' },
399
- _react2.default.createElement(_components.Icon, { name: 'tv', width: 14, height: 12, color: '#afb2ba' }),
400
- _react2.default.createElement(
401
- 'p',
402
- null,
403
- videoDetails.tvTime
404
- )
405
- ) : null,
406
- videoDetails.ottTime ? _react2.default.createElement(
407
- 'div',
408
- { className: 'ott-time' },
409
- _react2.default.createElement(_components.Icon, { name: 'tablet', width: 16, height: 12, color: '#afb2ba' }),
410
- _react2.default.createElement(
411
- 'p',
412
- null,
413
- videoDetails.ottTime
414
- )
415
- ) : null
416
- )
417
- )
418
- ),
419
- _react2.default.createElement(
420
- PlayerType,
421
- null,
422
- !isFullscreen && !isUserGuest && isShareAvailable && playerType === 'default' && _react2.default.createElement(_components.Button, _extends({
423
- display: 'rounded',
424
- appearance: 'cta',
425
- icon: 'share',
426
- width: 25,
427
- height: 25,
428
- iconWidth: 12,
429
- iconHeight: 12,
430
- tabIndex: '0'
431
- }, this.props, {
432
- onClick: openSharePopup
433
- })),
434
- !isFullscreen && !isUserGuest && (playerType === 'default' || playerType === 'qc') && qcReportAvailable && _react2.default.createElement(QCReportButton, _extends({
435
- display: 'rounded',
436
- appearance: 'cta',
437
- icon: 'qc_report',
438
- width: 25,
439
- height: 25,
440
- iconWidth: 12,
441
- iconHeight: 12,
442
- tabIndex: '0',
443
- onClick: function onClick() {
444
- return _this2.openQCReport();
445
- }
446
- }, this.props)),
447
- playerType !== 'default' && playerType !== 'clipping_default' ? _react2.default.createElement(_components.Button, _extends({
448
- display: 'rounded',
449
- appearance: 'cta',
450
- icon: playerType === 'dubbing_review' ? 'access_dubbing_studio' : playerType,
451
- width: 25,
452
- height: 25,
453
- iconWidth: 12,
454
- iconHeight: 12,
455
- tabIndex: '0',
456
- style: {
457
- pointerEvents: 'none'
458
- }
459
- }, this.props)) : null
460
- )
461
- );
462
- }
463
- }]);
464
-
465
- return PlayerHeader;
466
- }(_react.Component);
467
-
468
- exports.default = PlayerHeader;
469
-
470
-
471
- PlayerHeader.propTypes = propTypes;
472
- PlayerHeader.displayName = 'PlayerHeader';
@@ -1,133 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
-
9
- var _propTypes = require('prop-types');
10
-
11
- var _react = require('react');
12
-
13
- var _react2 = _interopRequireDefault(_react);
14
-
15
- var _styledComponents = require('styled-components');
16
-
17
- var _styledComponents2 = _interopRequireDefault(_styledComponents);
18
-
19
- var _components = require('@desynova-digital/components');
20
-
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
-
23
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24
-
25
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
26
-
27
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
28
-
29
- /*
30
- * import { play } from '../actions/player';
31
- * import { colors } from '@desynova-digital/tokens';
32
- */
33
-
34
- // import colors from '../colors';
35
-
36
- var propTypes = {
37
- playlist: _propTypes.PropTypes.instanceOf(Array),
38
- videoId: _propTypes.PropTypes.string,
39
- playlistClick: _propTypes.PropTypes.func
40
- };
41
-
42
- var PlaylistContainer = (0, _styledComponents2.default)('div').withConfig({
43
- displayName: 'Playlist__PlaylistContainer',
44
- componentId: 'sc-pwroms-0'
45
- })(['', '{display:none;}'], _components.Carousel.Header);
46
-
47
- var PlaylistCarousel = (0, _styledComponents2.default)(_components.Carousel).withConfig({
48
- displayName: 'Playlist__PlaylistCarousel',
49
- componentId: 'sc-pwroms-1'
50
- })(['width:100%;']);
51
-
52
- var PlaylistCard = (0, _styledComponents2.default)('div').withConfig({
53
- displayName: 'Playlist__PlaylistCard',
54
- componentId: 'sc-pwroms-2'
55
- })(['width:143px;height:80px;opacity:', ';background:url(', ') 50% 50%/100% auto no-repeat;transform:', ';transition:all 550ms cubic-bezier(0.02,0.01,0.47,1);cursor:', ';pointer-events:', ';&:hover{opacity:1;transform:translateY(0px);}.asset-filename{text-shadow:0 2px 4px rgba(0,0,0,0.7);font-family:SFUIText-Medium;font-size:12px;line-height:1;color:#ffffff;text-align:left;height:auto;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;line-height:17px;padding:5px;}'], function (props) {
56
- return props.active ? '1' : '0.5';
57
- }, function (props) {
58
- return props.thumbnail;
59
- }, function (props) {
60
- return props.active ? 'translateY(0px)' : 'translateY(20px)';
61
- }, function (props) {
62
- return props.active ? 'default' : 'pointer';
63
- }, function (props) {
64
- return props.active ? 'none' : 'all';
65
- });
66
-
67
- var Playlist = function (_Component) {
68
- _inherits(Playlist, _Component);
69
-
70
- function Playlist(props, context) {
71
- _classCallCheck(this, Playlist);
72
-
73
- return _possibleConstructorReturn(this, (Playlist.__proto__ || Object.getPrototypeOf(Playlist)).call(this, props, context));
74
- }
75
-
76
- _createClass(Playlist, [{
77
- key: 'componentDidMount',
78
- value: function componentDidMount() {}
79
- }, {
80
- key: 'handleCardClick',
81
- value: function handleCardClick(ingest_db_id) {
82
- var playlistClick = this.props.playlistClick;
83
-
84
- if (playlistClick) {
85
- playlistClick(ingest_db_id);
86
- }
87
- }
88
- }, {
89
- key: 'render',
90
- value: function render() {
91
- var _this2 = this;
92
-
93
- var _props = this.props,
94
- playlist = _props.playlist,
95
- videoId = _props.videoId;
96
-
97
- return _react2.default.createElement(
98
- PlaylistContainer,
99
- null,
100
- playlist && playlist.length ? _react2.default.createElement(
101
- PlaylistCarousel,
102
- null,
103
- playlist.map(function (asset) {
104
- return _react2.default.createElement(
105
- PlaylistCard,
106
- {
107
- key: asset.ingest_db_id,
108
- thumbnail: asset.thumbnail,
109
- active: videoId === asset.ingest_db_id,
110
- onClick: function onClick() {
111
- _this2.handleCardClick(asset.ingest_db_id);
112
- }
113
- },
114
- _react2.default.createElement(
115
- 'p',
116
- { className: 'asset-filename' },
117
- asset.filename || asset.asset_name
118
- )
119
- );
120
- })
121
- ) : null
122
- );
123
- }
124
- }]);
125
-
126
- return Playlist;
127
- }(_react.Component);
128
-
129
- exports.default = Playlist;
130
-
131
-
132
- Playlist.propTypes = propTypes;
133
- Playlist.displayName = 'Playlist';