@desynova-digital/player 4.0.1 → 4.0.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.
Files changed (111) hide show
  1. package/Manager.js +99 -0
  2. package/actions/player.js +331 -0
  3. package/actions/video.js +206 -0
  4. package/{utils/colors.js → colors.js} +1 -2
  5. package/{media → components}/AudioMeter.js +96 -109
  6. package/components/BigPlayButton.js +84 -0
  7. package/components/ImageViewer.js +272 -0
  8. package/{control → components}/MarkerBar.js +33 -24
  9. package/{utils → components}/Menu.js +13 -4
  10. package/components/Player.js +706 -0
  11. package/{header/Header.js → components/PlayerHeader.js} +104 -78
  12. package/components/Playlist.js +95 -0
  13. package/{control → components}/PointersBar.js +122 -61
  14. package/components/PosterImage.js +50 -0
  15. package/{media → components}/SDOutline.js +13 -49
  16. package/components/Shortcut.js +821 -0
  17. package/{control → components}/Slider.js +27 -23
  18. package/components/TagsBar.js +81 -0
  19. package/components/Video.js +1280 -0
  20. package/{control → components/control-bar}/AudioTracksMenuButton.js +32 -28
  21. package/components/control-bar/CameraButton.js +75 -0
  22. package/components/control-bar/CommentsButton.js +186 -0
  23. package/components/control-bar/ControlBar.js +266 -0
  24. package/components/control-bar/EditorControlMenuButton.js +317 -0
  25. package/components/control-bar/ForwardControl.js +12 -0
  26. package/components/control-bar/ForwardReplayControl.js +106 -0
  27. package/{control → components/control-bar}/FullscreenToggle.js +26 -21
  28. package/components/control-bar/PlayToggle.js +85 -0
  29. package/components/control-bar/ReplayControl.js +12 -0
  30. package/components/control-bar/SettingsMenuButton.js +41 -0
  31. package/components/control-bar/SubtitleLanguagesMenuButton.js +149 -0
  32. package/components/control-bar/SubtitleMovementMenu.js +140 -0
  33. package/{control/VolumneMenuButton.js → components/control-bar/VolumeMenuButton.js} +26 -27
  34. package/components/control-bar/ZoomMenuButton.js +90 -0
  35. package/{control → components/marking-controls}/MarkInControl.js +32 -25
  36. package/{control → components/marking-controls}/MarkOutControl.js +35 -26
  37. package/components/marking-controls/MarkingAddButton.js +79 -0
  38. package/components/marking-controls/MarkingControl.js +95 -0
  39. package/components/marking-controls/MarkingDeleteButton.js +70 -0
  40. package/{control → components/marking-controls}/MarkingDuration.js +12 -5
  41. package/components/marking-controls/MarkingPreview.js +72 -0
  42. package/components/progress-bar/AudioWaveform.js +126 -0
  43. package/components/progress-bar/LoadProgressBar.js +67 -0
  44. package/components/progress-bar/MouseTimeDisplay.js +36 -0
  45. package/{control → components/progress-bar}/PlayProgressBar.js +4 -4
  46. package/components/progress-bar/ProgressControl.js +186 -0
  47. package/{control → components/progress-bar}/SeekBar.js +113 -72
  48. package/{control → components/progress-bar}/Timeline.js +43 -32
  49. package/{control/PlayBackRateControl.js → components/settings-menu-control/PlaybackRateControl.js} +44 -30
  50. package/components/settings-menu-control/SafeAreaControl.js +81 -0
  51. package/components/settings-menu-control/SettingsMenu.js +56 -0
  52. package/components/settings-menu-control/SubtitleControl.js +1 -0
  53. package/components/time-controls/CurrentTimeDisplay.js +83 -0
  54. package/{control → components/time-controls}/DurationDisplay.js +8 -15
  55. package/components/time-controls/TimeDivider.js +25 -0
  56. package/{control → components/volume-control}/VolumeBar.js +62 -80
  57. package/components/volume-control/VolumeControl.js +19 -0
  58. package/{control → components/volume-control}/VolumeLevel.js +2 -3
  59. package/components/zoom-control/ZoomBar.js +155 -0
  60. package/components/zoom-control/ZoomLevel.js +55 -0
  61. package/index.js +198 -1
  62. package/package.json +5 -8
  63. package/reducers/index.js +19 -0
  64. package/reducers/operation.js +35 -0
  65. package/reducers/player.js +222 -0
  66. package/utils/browser.js +30 -0
  67. package/utils/dom.js +1 -2
  68. package/utils/fullscreen.js +72 -0
  69. package/utils/index.js +156 -57
  70. package/Player.js +0 -945
  71. package/control/AudioTracksMenuButton.jsx +0 -80
  72. package/control/ControlBar.js +0 -303
  73. package/control/ControlBar.jsx +0 -264
  74. package/control/CurrentTimeDisplay.js +0 -34
  75. package/control/CurrentTimeDisplay.jsx +0 -35
  76. package/control/DurationDisplay.jsx +0 -48
  77. package/control/ForwardBackwardControl.js +0 -76
  78. package/control/ForwardBackwardControl.jsx +0 -79
  79. package/control/FullscreenToggle.jsx +0 -83
  80. package/control/MarkInControl.jsx +0 -109
  81. package/control/MarkOutControl.jsx +0 -131
  82. package/control/MarkerBar.jsx +0 -107
  83. package/control/MarkingControl.js +0 -82
  84. package/control/MarkingControl.jsx +0 -143
  85. package/control/MarkingPreview.js +0 -49
  86. package/control/MarkingPreview.jsx +0 -60
  87. package/control/PlayBackRateControl.jsx +0 -106
  88. package/control/PlayProgressBar.jsx +0 -92
  89. package/control/PlayToggle.js +0 -56
  90. package/control/PlayToggle.jsx +0 -57
  91. package/control/PointersBar.jsx +0 -286
  92. package/control/ProgressControl.js +0 -127
  93. package/control/ProgressControl.jsx +0 -155
  94. package/control/SeekBar.jsx +0 -229
  95. package/control/SettingsMenuButton.js +0 -63
  96. package/control/SettingsMenuButton.jsx +0 -69
  97. package/control/Slider.jsx +0 -243
  98. package/control/Timeline.jsx +0 -131
  99. package/control/VolumeBar.jsx +0 -174
  100. package/control/VolumeLevel.jsx +0 -66
  101. package/control/VolumneMenuButton.jsx +0 -111
  102. package/header/Header.jsx +0 -479
  103. package/media/AudioMeter.jsx +0 -411
  104. package/media/SDOutline.jsx +0 -90
  105. package/media/Video.js +0 -684
  106. package/media/Video.jsx +0 -714
  107. package/playlist/Playlist.js +0 -67
  108. package/playlist/Playlist.jsx +0 -91
  109. package/playlist/index.js +0 -13
  110. package/shortcuts/Shortcut.js +0 -662
  111. package/utils/Menu.jsx +0 -105
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _propTypes = require("prop-types");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _PlayToggle = _interopRequireDefault(require("./PlayToggle"));
12
+ var _ForwardControl = _interopRequireDefault(require("./ForwardControl"));
13
+ var _ReplayControl = _interopRequireDefault(require("./ReplayControl"));
14
+ var _FullscreenToggle = _interopRequireDefault(require("./FullscreenToggle"));
15
+ var _CurrentTimeDisplay = _interopRequireDefault(require("../time-controls/CurrentTimeDisplay"));
16
+ var _DurationDisplay = _interopRequireDefault(require("../time-controls/DurationDisplay"));
17
+ var _TimeDivider = _interopRequireDefault(require("../time-controls/TimeDivider"));
18
+ var _SettingsMenuButton = _interopRequireDefault(require("./SettingsMenuButton"));
19
+ var _AudioTracksMenuButton = _interopRequireDefault(require("./AudioTracksMenuButton"));
20
+ var _VolumeMenuButton = _interopRequireDefault(require("./VolumeMenuButton"));
21
+ var _utils = require("../../utils");
22
+ var _MarkingControl = _interopRequireDefault(require("../marking-controls/MarkingControl"));
23
+ var _SubtitleLanguagesMenuButton = _interopRequireDefault(require("./SubtitleLanguagesMenuButton"));
24
+ var _CameraButton = _interopRequireDefault(require("./CameraButton"));
25
+ var _SubtitleMovementMenu = _interopRequireDefault(require("./SubtitleMovementMenu"));
26
+ var _ZoomMenuButton = _interopRequireDefault(require("./ZoomMenuButton"));
27
+ var _colors = _interopRequireDefault(require("../../colors"));
28
+ var _templateObject, _templateObject2; // import CommentsButton from './CommentsButton';
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
30
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
32
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }
33
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
+ 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, _toPropertyKey(descriptor.key), descriptor); } }
35
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
36
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
37
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
38
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
39
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
40
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
41
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
42
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
44
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
45
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
46
+ var propTypes = {
47
+ autoHide: _propTypes.PropTypes.bool,
48
+ className: _propTypes.PropTypes.string,
49
+ controlType: _propTypes.PropTypes.string,
50
+ fileType: _propTypes.PropTypes.oneOf(['video', 'image', 'audio']),
51
+ playerType: _propTypes.PropTypes.oneOf(['dubbing_review', 'clipping_default', 'default', 'tagging', 'qc', 'subtitle', 'snp_edit', 'archive', 'restore', 'clipping', 'storyboard', 'panel']),
52
+ children: _propTypes.PropTypes.arrayOf(_propTypes.PropTypes.element),
53
+ player: _propTypes.PropTypes.instanceOf(Object),
54
+ theme: _propTypes.PropTypes.string
55
+ };
56
+ var PlayerControlBlock = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: ", ";\n overflow: ", ";\n position: ", ";\n bottom: ", ";\n background: ", ";\n display: flex;\n justify-content: flex-start;\n align-items: center;\n transition: all 250ms ease-in-out;\n"])), function (props) {
57
+ return props.player === 'panel' && props.active || props.player !== 'panel' ? '50px' : '0px';
58
+ }, function (props) {
59
+ return props.player === 'panel' && props.active || props.player !== 'panel' ? 'visible' : 'hidden';
60
+ }, function (props) {
61
+ return props.player === 'panel' ? 'absolute' : 'relative';
62
+ }, function (props) {
63
+ return props.player === 'panel' ? '0px' : 'initial';
64
+ }, _colors["default"].common.base.black);
65
+ var VideoControlBlock = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n"])));
66
+ var defaultProps = {
67
+ autoHide: false,
68
+ className: ''
69
+ };
70
+ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
71
+ _inherits(ControlBar, _Component);
72
+ function ControlBar(props) {
73
+ var _this;
74
+ _classCallCheck(this, ControlBar);
75
+ _this = _callSuper(this, ControlBar, [props]);
76
+ _this.getDefaultChildren = _this.getDefaultChildren.bind(_assertThisInitialized(_this));
77
+ _this.getAdvancedChildren = _this.getAdvancedChildren.bind(_assertThisInitialized(_this));
78
+ return _this;
79
+ }
80
+ _createClass(ControlBar, [{
81
+ key: "getDefaultChildren",
82
+ value: function getDefaultChildren() {
83
+ var playerType = this.props.playerType;
84
+ return [/*#__PURE__*/_react["default"].createElement(_PlayToggle["default"], _extends({}, this.props, {
85
+ key: "play-toggle",
86
+ order: 2
87
+ })), /*#__PURE__*/_react["default"].createElement(_ReplayControl["default"], _extends({}, this.props, {
88
+ seconds: 10,
89
+ key: "replay-control-10",
90
+ order: 3
91
+ })), /*#__PURE__*/_react["default"].createElement(_ReplayControl["default"], _extends({}, this.props, {
92
+ key: "replay-control",
93
+ order: 3.1
94
+ })), /*#__PURE__*/_react["default"].createElement(_ForwardControl["default"], _extends({}, this.props, {
95
+ key: "forward-control",
96
+ order: 4
97
+ })), /*#__PURE__*/_react["default"].createElement(_ForwardControl["default"], _extends({}, this.props, {
98
+ seconds: 10,
99
+ key: "forward-control-10",
100
+ order: 4.1
101
+ })), /*#__PURE__*/_react["default"].createElement(_CurrentTimeDisplay["default"], _extends({}, this.props, {
102
+ key: "current-time-display",
103
+ order: 5.1
104
+ })), /*#__PURE__*/_react["default"].createElement(_TimeDivider["default"], _extends({}, this.props, {
105
+ key: "time-divider",
106
+ order: 5.2
107
+ })), /*#__PURE__*/_react["default"].createElement(_DurationDisplay["default"], _extends({}, this.props, {
108
+ key: "duration-display",
109
+ order: 5.3
110
+ })), /*#__PURE__*/_react["default"].createElement(_MarkingControl["default"], _extends({}, this.props, {
111
+ key: "marking-controls",
112
+ order: 6
113
+ })),
114
+ /*#__PURE__*/
115
+ // <CommentsButton {...this.props} key="comments-button" order={6.01} />,
116
+ // <EditorControlMenuButton
117
+ // style={{ margin: 'auto 10px auto auto' }}
118
+ // {...this.props}
119
+ // key="edit-menu-button"
120
+ // order={6.1}
121
+ // />,
122
+ _react["default"].createElement(_VolumeMenuButton["default"], _extends({
123
+ style: {
124
+ margin: 'auto 10px auto auto'
125
+ }
126
+ }, this.props, {
127
+ key: "volume-menu-button",
128
+ order: 7
129
+ })), /*#__PURE__*/_react["default"].createElement(_SubtitleLanguagesMenuButton["default"], _extends({}, this.props, {
130
+ key: "subtitle-menu-button",
131
+ order: 7
132
+ })), /*#__PURE__*/_react["default"].createElement(_AudioTracksMenuButton["default"], _extends({}, this.props, {
133
+ key: "audio-tracks-menu-button",
134
+ order: 7
135
+ })), /*#__PURE__*/_react["default"].createElement(_SettingsMenuButton["default"], _extends({}, this.props, {
136
+ key: "settings-menu-button",
137
+ order: 8
138
+ })), /*#__PURE__*/_react["default"].createElement(_FullscreenToggle["default"], _extends({}, this.props, {
139
+ key: "fullscreen-toggle",
140
+ order: 9,
141
+ style: {
142
+ marginRight: '10px'
143
+ }
144
+ }))];
145
+ }
146
+ }, {
147
+ key: "getAdvancedChildren",
148
+ value: function getAdvancedChildren() {
149
+ var playerType = this.props.playerType;
150
+ return [/*#__PURE__*/_react["default"].createElement(_PlayToggle["default"], _extends({}, this.props, {
151
+ key: "play-toggle",
152
+ order: 2
153
+ })), /*#__PURE__*/_react["default"].createElement(_ReplayControl["default"], _extends({}, this.props, {
154
+ seconds: 10,
155
+ key: "replay-control-10",
156
+ order: 3
157
+ })), /*#__PURE__*/_react["default"].createElement(_ReplayControl["default"], _extends({}, this.props, {
158
+ key: "replay-control",
159
+ order: 3.1
160
+ })), /*#__PURE__*/_react["default"].createElement(_ForwardControl["default"], _extends({}, this.props, {
161
+ key: "forward-control",
162
+ order: 4
163
+ })), /*#__PURE__*/_react["default"].createElement(_ForwardControl["default"], _extends({}, this.props, {
164
+ seconds: 10,
165
+ key: "forward-control-10",
166
+ order: 4.1
167
+ })), /*#__PURE__*/_react["default"].createElement(_CurrentTimeDisplay["default"], _extends({}, this.props, {
168
+ key: "current-time-display",
169
+ order: 5.1
170
+ })), /*#__PURE__*/_react["default"].createElement(_TimeDivider["default"], _extends({}, this.props, {
171
+ key: "time-divider",
172
+ order: 5.2
173
+ })), /*#__PURE__*/_react["default"].createElement(_DurationDisplay["default"], _extends({}, this.props, {
174
+ key: "duration-display",
175
+ order: 5.3
176
+ })), /*#__PURE__*/_react["default"].createElement(_MarkingControl["default"], _extends({}, this.props, {
177
+ key: "marking-controls",
178
+ order: 6
179
+ })),
180
+ /*#__PURE__*/
181
+ // {/* <CommentsButton {...this.props} key="comments-button" order={6.01} />, */}
182
+ _react["default"].createElement(_ZoomMenuButton["default"], _extends({
183
+ style: {
184
+ margin: 'auto 10px auto auto'
185
+ }
186
+ }, this.props, {
187
+ key: "zoom-menu-button",
188
+ order: 7
189
+ })),
190
+ /*#__PURE__*/
191
+ // <EditorControlMenuButton
192
+ // style={{ margin: 'auto 10px auto auto' }}
193
+ // {...this.props}
194
+ // key="edit-menu-button"
195
+ // order={7}
196
+ // />,
197
+ _react["default"].createElement(_VolumeMenuButton["default"], _extends({
198
+ style: {
199
+ margin: '10px'
200
+ }
201
+ }, this.props, {
202
+ key: "volume-menu-button",
203
+ order: 8
204
+ })), /*#__PURE__*/_react["default"].createElement(_SubtitleLanguagesMenuButton["default"], _extends({}, this.props, {
205
+ key: "subtitle-menu-button",
206
+ order: 8
207
+ })), /*#__PURE__*/_react["default"].createElement(_CameraButton["default"], {
208
+ order: 9,
209
+ playerType: playerType
210
+ }), /*#__PURE__*/_react["default"].createElement(_SubtitleMovementMenu["default"], _extends({}, this.props, {
211
+ key: "subtitle-movement-menu",
212
+ order: 8
213
+ })), /*#__PURE__*/_react["default"].createElement(_AudioTracksMenuButton["default"], _extends({}, this.props, {
214
+ key: "audio-tracks-menu-button",
215
+ order: 9
216
+ })), /*#__PURE__*/_react["default"].createElement(_SettingsMenuButton["default"], _extends({}, this.props, {
217
+ key: "settings-menu-button",
218
+ order: 10
219
+ })), /*#__PURE__*/_react["default"].createElement(_FullscreenToggle["default"], _extends({}, this.props, {
220
+ key: "fullscreen-toggle",
221
+ order: 11,
222
+ style: {
223
+ marginRight: '10px'
224
+ }
225
+ }))];
226
+ }
227
+ }, {
228
+ key: "getImageChildrens",
229
+ value: function getImageChildrens() {
230
+ return [];
231
+ }
232
+ }, {
233
+ key: "getChildren",
234
+ value: function getChildren() {
235
+ var _this$props = this.props,
236
+ controlType = _this$props.controlType,
237
+ children = _this$props.children,
238
+ fileType = _this$props.fileType,
239
+ player = _this$props.player;
240
+ var childrens = _react["default"].Children.toArray(children);
241
+ var defaultChildren = [];
242
+ if (fileType === 'image') {
243
+ defaultChildren = this.getImageChildrens();
244
+ } else {
245
+ defaultChildren = controlType === 'advanced' && !player.isFullscreen ? this.getAdvancedChildren() : this.getDefaultChildren();
246
+ }
247
+ return (0, _utils.mergeAndSortChildren)(defaultChildren, childrens, this.props);
248
+ }
249
+ }, {
250
+ key: "render",
251
+ value: function render() {
252
+ var children = this.getChildren();
253
+ var _this$props2 = this.props,
254
+ userActivity = _this$props2.player.userActivity,
255
+ playerType = _this$props2.playerType;
256
+ return /*#__PURE__*/_react["default"].createElement(PlayerControlBlock, {
257
+ active: userActivity,
258
+ player: playerType
259
+ }, /*#__PURE__*/_react["default"].createElement(VideoControlBlock, this.props, children));
260
+ }
261
+ }]);
262
+ return ControlBar;
263
+ }(_react.Component);
264
+ ControlBar.propTypes = propTypes;
265
+ ControlBar.defaultProps = defaultProps;
266
+ ControlBar.displayName = 'ControlBar';
@@ -0,0 +1,317 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _propTypes = require("prop-types");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _components = require("@desynova-digital/components");
12
+ var _Menu = _interopRequireDefault(require("../Menu"));
13
+ var _tokens = require("@desynova-digital/tokens");
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }
19
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ 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, _toPropertyKey(descriptor.key), descriptor); } }
21
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
23
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
25
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
26
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
27
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
29
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
30
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
32
+ var propTypes = {
33
+ player: _propTypes.PropTypes.instanceOf(Object),
34
+ actions: _propTypes.PropTypes.instanceOf(Object),
35
+ style: _propTypes.PropTypes.instanceOf(Object),
36
+ onEditAction: _propTypes.PropTypes.func,
37
+ assetType: _propTypes.PropTypes.oneOf(['fc', 'rc']),
38
+ contentType: _propTypes.PropTypes.string,
39
+ playerType: _propTypes.PropTypes.oneOf(['dubbing_review', 'clipping_default', 'default', 'tagging', 'qc', 'subtitle', 'snp_edit', 'archive', 'restore', 'clipping', 'storyboard', 'panel']),
40
+ theme: _propTypes.PropTypes.string
41
+ };
42
+ var EditContainer = (0, _styledComponents["default"])('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
43
+ var EditBlock = (0, _styledComponents["default"])('div')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n background: transparent;\n font-family: SFUIText-Medium;\n font-size: 12px;\n text-transform: uppercase;\n justify-content: flex-start;\n align-items: center;\n border-bottom: 1px solid #eeeeee;\n box-sizing: border-box;\n height: ", ";\n padding: ", ";\n transition: all 250ms ease-in-out;\n opacity: ", ";\n pointer-events: ", ";\n overflow: hidden;\n &:last-child {\n border: none;\n }\n &:hover,\n &:focus {\n svg path {\n fill: #00cec6;\n }\n p {\n color: #00cec6;\n }\n }\n svg path {\n fill: #afb2ba;\n }\n p {\n margin-left: 10px;\n white-space: nowrap;\n color: #999999;\n }\n"])), function (props) {
44
+ return props.active ? '45px' : '0px';
45
+ }, function (props) {
46
+ return props.active ? '15px' : '0px';
47
+ }, function (props) {
48
+ return props.leftMarker > -1 && props.rightMarker > -1 ? 1 : 0.5;
49
+ }, function (props) {
50
+ return props.leftMarker > -1 && props.rightMarker > -1 ? 'all' : 'none';
51
+ });
52
+ var CommentBlock = (0, _styledComponents["default"])('div')(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: relative;\n width: ", ";\n padding: ", ";\n height: ", ";\n overflow: hidden;\n transition: all 250ms ease-in-out;\n ", " {\n border: none;\n resize: none;\n }\n"])), function (props) {
53
+ return props.active ? '300px' : '0px';
54
+ }, function (props) {
55
+ return props.active ? '15px 45px 15px 15px' : '0px';
56
+ }, function (props) {
57
+ return props.active ? '100px' : '0px';
58
+ }, _components.Textarea.Element);
59
+ var BackButton = (0, _styledComponents["default"])(_components.Button)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background: transparent;\n border: none;\n margin: 0 !important;\n width: 20px;\n height: 20px;\n padding: 0;\n right: 15px;\n top: 10px;\n position: absolute;\n &:hover,\n &:focus {\n background: transparent;\n }\n ", " {\n transform: translate(-50%, -50%);\n top: 50%;\n left: 50%;\n position: absolute;\n svg path {\n fill: #000;\n }\n }\n"])), _components.Icon.Element);
60
+ var SendButton = (0, _styledComponents["default"])(_components.Button)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background: rgba(0, 206, 198, 0.1);\n border: none;\n margin: 0 !important;\n width: 30px;\n height: 30px;\n padding: 0;\n position: absolute;\n right: 15px;\n top: calc(100% - 45px);\n &:hover,\n &:focus {\n background: rgba(0, 206, 198, 0.1);\n }\n ", " {\n transform: translate(-50%, -50%);\n top: 50%;\n left: 50%;\n position: absolute;\n svg path {\n fill: ", ";\n }\n }\n"])), _components.Icon.Element, function (props) {
61
+ return props.theme ? " ".concat(_tokens.colors[props.theme].videoPlayer.rgbaThemeColor) : 'rgba(0, 206, 198, 0.1)';
62
+ });
63
+ var EditorControlMenuButton = exports["default"] = /*#__PURE__*/function (_Component) {
64
+ _inherits(EditorControlMenuButton, _Component);
65
+ function EditorControlMenuButton(props) {
66
+ var _this;
67
+ _classCallCheck(this, EditorControlMenuButton);
68
+ _this = _callSuper(this, EditorControlMenuButton, [props]);
69
+ _this.state = {
70
+ comment: '',
71
+ commentActive: false,
72
+ commentType: ''
73
+ };
74
+ _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));
75
+ return _this;
76
+ }
77
+ _createClass(EditorControlMenuButton, [{
78
+ key: "onClick",
79
+ value: function onClick(type) {
80
+ switch (type) {
81
+ case 'edit_out':
82
+ case 'mute':
83
+ case 'mute-beep':
84
+ case 'no_smoking':
85
+ case 'no_drinking':
86
+ case 'comment':
87
+ case 'blur':
88
+ this.setState({
89
+ commentActive: true,
90
+ commentType: type
91
+ }, function () {
92
+ var inputElem = document.querySelectorAll('.menu-list textarea')[0];
93
+ if (inputElem) {
94
+ inputElem.focus();
95
+ }
96
+ });
97
+ break;
98
+ }
99
+ }
100
+ }, {
101
+ key: "onCommentEnter",
102
+ value: function onCommentEnter() {
103
+ var _this$props = this.props,
104
+ _this$props$player = _this$props.player,
105
+ leftMarker = _this$props$player.leftMarker,
106
+ rightMarker = _this$props$player.rightMarker,
107
+ onEditAction = _this$props.onEditAction,
108
+ actions = _this$props.actions;
109
+ var _this$state = this.state,
110
+ commentType = _this$state.commentType,
111
+ comment = _this$state.comment;
112
+ var title = '';
113
+ var subTitle = '';
114
+ switch (commentType) {
115
+ case 'comment':
116
+ title = 'Comment';
117
+ subTitle = comment;
118
+ break;
119
+ case 'blur':
120
+ title = 'Blur';
121
+ subTitle = comment;
122
+ break;
123
+ case 'edit_out':
124
+ title = 'Edit Out';
125
+ subTitle = comment;
126
+ break;
127
+ case 'mute':
128
+ title = 'Mute';
129
+ subTitle = comment;
130
+ break;
131
+ case 'mute-beep':
132
+ title = 'Beep';
133
+ subTitle = comment;
134
+ break;
135
+ case 'no_smoking':
136
+ title = 'Smoking Disclaimer';
137
+ subTitle = comment;
138
+ break;
139
+ case 'no_drinking':
140
+ title = 'Drinking Disclaimer';
141
+ subTitle = comment;
142
+ break;
143
+ }
144
+ var data = {
145
+ type: commentType,
146
+ icon: commentType,
147
+ value: {
148
+ title: title,
149
+ sub_title: subTitle,
150
+ in_time: leftMarker,
151
+ out_time: rightMarker,
152
+ is_selected: false
153
+ }
154
+ };
155
+ this.onCommentClose();
156
+ onEditAction(data);
157
+ actions.handleMarkerPointChange('delete');
158
+ }
159
+ }, {
160
+ key: "onCommentClose",
161
+ value: function onCommentClose() {
162
+ this.setState({
163
+ commentActive: false,
164
+ commentType: '',
165
+ comment: ''
166
+ });
167
+ }
168
+ }, {
169
+ key: "updateComment",
170
+ value: function updateComment(value) {
171
+ this.setState({
172
+ comment: value
173
+ });
174
+ }
175
+ }, {
176
+ key: "render",
177
+ value: function render() {
178
+ var _this2 = this;
179
+ var _this$props2 = this.props,
180
+ player = _this$props2.player,
181
+ actions = _this$props2.actions,
182
+ style = _this$props2.style,
183
+ playerType = _this$props2.playerType,
184
+ assetType = _this$props2.assetType,
185
+ contentType = _this$props2.contentType,
186
+ theme = _this$props2.theme;
187
+ var _this$state2 = this.state,
188
+ comment = _this$state2.comment,
189
+ commentActive = _this$state2.commentActive,
190
+ commentType = _this$state2.commentType;
191
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, playerType === 'snp_edit' || playerType === 'dubbing_review' ? /*#__PURE__*/_react["default"].createElement(_Menu["default"], {
192
+ theme: theme,
193
+ icon: "editor",
194
+ player: player,
195
+ actions: actions,
196
+ style: style,
197
+ active: commentActive
198
+ }, /*#__PURE__*/_react["default"].createElement(EditContainer, null, /*#__PURE__*/_react["default"].createElement(CommentBlock, {
199
+ active: commentActive
200
+ }, /*#__PURE__*/_react["default"].createElement(BackButton, _extends({
201
+ display: "rounded",
202
+ appearance: "cta",
203
+ icon: "cross",
204
+ width: 20,
205
+ height: 20,
206
+ iconWidth: 10,
207
+ iconHeight: 10,
208
+ tabIndex: "0",
209
+ onClick: function onClick() {
210
+ return _this2.onCommentClose();
211
+ }
212
+ }, this.props)), /*#__PURE__*/_react["default"].createElement(_components.Textarea, {
213
+ type: "text",
214
+ label: commentType.split('_').join(' '),
215
+ value: comment,
216
+ resize: false,
217
+ onChange: function onChange(e) {
218
+ return _this2.updateComment(e.target.value);
219
+ },
220
+ placeholder: commentType.split('_').join(' ')
221
+ }), /*#__PURE__*/_react["default"].createElement(SendButton, _extends({
222
+ theme: theme,
223
+ display: "rounded",
224
+ appearance: "cta",
225
+ icon: "send",
226
+ width: 30,
227
+ height: 30,
228
+ iconWidth: 12,
229
+ iconHeight: 11,
230
+ tabIndex: "0",
231
+ onClick: function onClick() {
232
+ return _this2.onCommentEnter();
233
+ }
234
+ }, this.props))), /*#__PURE__*/_react["default"].createElement(EditBlock, {
235
+ active: !commentActive,
236
+ leftMarker: player.leftMarker,
237
+ rightMarker: player.rightMarker,
238
+ onClick: function onClick() {
239
+ return _this2.onClick('comment');
240
+ }
241
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
242
+ name: "comment",
243
+ width: 14,
244
+ height: 14
245
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Comment")), playerType === 'snp_edit' && assetType === 'fc' && contentType !== 'promo' && /*#__PURE__*/_react["default"].createElement(EditBlock, {
246
+ active: !commentActive,
247
+ leftMarker: player.leftMarker,
248
+ rightMarker: player.rightMarker,
249
+ onClick: function onClick() {
250
+ return _this2.onClick('edit_out');
251
+ }
252
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
253
+ name: "cut",
254
+ width: 14,
255
+ height: 14
256
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Edit Out")), (playerType === 'snp_edit' && assetType === 'fc' && contentType !== 'promo' || playerType === 'dubbing_review') && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(EditBlock, {
257
+ active: !commentActive,
258
+ leftMarker: player.leftMarker,
259
+ rightMarker: player.rightMarker,
260
+ onClick: function onClick() {
261
+ return _this2.onClick('mute');
262
+ }
263
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
264
+ name: "mute",
265
+ width: 14,
266
+ height: 14
267
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Mute")), /*#__PURE__*/_react["default"].createElement(EditBlock, {
268
+ active: !commentActive,
269
+ leftMarker: player.leftMarker,
270
+ rightMarker: player.rightMarker,
271
+ onClick: function onClick() {
272
+ return _this2.onClick('mute-beep');
273
+ }
274
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
275
+ name: "mute-beep",
276
+ width: 14,
277
+ height: 14
278
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Beep"))), playerType === 'snp_edit' && assetType === 'fc' && contentType !== 'promo' && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(EditBlock, {
279
+ active: !commentActive,
280
+ leftMarker: player.leftMarker,
281
+ rightMarker: player.rightMarker,
282
+ onClick: function onClick() {
283
+ return _this2.onClick('blur');
284
+ }
285
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
286
+ name: "blur",
287
+ width: 14,
288
+ height: 14
289
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Blur")), /*#__PURE__*/_react["default"].createElement(EditBlock, {
290
+ active: !commentActive,
291
+ leftMarker: player.leftMarker,
292
+ rightMarker: player.rightMarker,
293
+ onClick: function onClick() {
294
+ return _this2.onClick('no_smoking');
295
+ }
296
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
297
+ name: "no_smoking",
298
+ width: 14,
299
+ height: 14
300
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Smoking Disclaimer")), /*#__PURE__*/_react["default"].createElement(EditBlock, {
301
+ active: !commentActive,
302
+ leftMarker: player.leftMarker,
303
+ rightMarker: player.rightMarker,
304
+ onClick: function onClick() {
305
+ return _this2.onClick('no_drinking');
306
+ }
307
+ }, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
308
+ name: "no_drinking",
309
+ width: 14,
310
+ height: 14
311
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "Drinking Disclaimer"))))) : null);
312
+ }
313
+ }]);
314
+ return EditorControlMenuButton;
315
+ }(_react.Component);
316
+ EditorControlMenuButton.propTypes = propTypes;
317
+ EditorControlMenuButton.displayName = 'EditorControlMenuButton';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _ForwardReplayControl = _interopRequireDefault(require("./ForwardReplayControl"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ // Pass mode into parent function
10
+ var ForwardControl = (0, _ForwardReplayControl["default"])('forward');
11
+ ForwardControl.displayName = 'ForwardControl';
12
+ var _default = exports["default"] = ForwardControl;