@desynova-digital/player 4.0.0 → 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 +93 -0
  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
package/index.js CHANGED
@@ -1,13 +1,210 @@
1
1
  "use strict";
2
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
7
+ Object.defineProperty(exports, "BigPlayButton", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _BigPlayButton["default"];
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "ControlBar", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _ControlBar["default"];
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "CurrentTimeDisplay", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _CurrentTimeDisplay["default"];
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "DurationDisplay", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _DurationDisplay["default"];
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "ForwardControl", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _ForwardControl["default"];
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "FullscreenToggle", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _FullscreenToggle["default"];
41
+ }
42
+ });
43
+ Object.defineProperty(exports, "ImageViewer", {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _ImageViewer["default"];
47
+ }
48
+ });
49
+ Object.defineProperty(exports, "LoadProgressBar", {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _LoadProgressBar["default"];
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "MarkerBar", {
56
+ enumerable: true,
57
+ get: function get() {
58
+ return _MarkerBar["default"];
59
+ }
60
+ });
61
+ Object.defineProperty(exports, "MouseTimeDisplay", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _MouseTimeDisplay["default"];
65
+ }
66
+ });
67
+ Object.defineProperty(exports, "PlayProgressBar", {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _PlayProgressBar["default"];
71
+ }
72
+ });
73
+ Object.defineProperty(exports, "PlayToggle", {
74
+ enumerable: true,
75
+ get: function get() {
76
+ return _PlayToggle["default"];
77
+ }
78
+ });
6
79
  Object.defineProperty(exports, "Player", {
7
80
  enumerable: true,
8
81
  get: function get() {
9
82
  return _Player["default"];
10
83
  }
11
84
  });
12
- var _Player = _interopRequireDefault(require("./Player"));
85
+ Object.defineProperty(exports, "PointersBar", {
86
+ enumerable: true,
87
+ get: function get() {
88
+ return _PointersBar["default"];
89
+ }
90
+ });
91
+ Object.defineProperty(exports, "PosterImage", {
92
+ enumerable: true,
93
+ get: function get() {
94
+ return _PosterImage["default"];
95
+ }
96
+ });
97
+ Object.defineProperty(exports, "ProgressControl", {
98
+ enumerable: true,
99
+ get: function get() {
100
+ return _ProgressControl["default"];
101
+ }
102
+ });
103
+ Object.defineProperty(exports, "ReplayControl", {
104
+ enumerable: true,
105
+ get: function get() {
106
+ return _ReplayControl["default"];
107
+ }
108
+ });
109
+ Object.defineProperty(exports, "SeekBar", {
110
+ enumerable: true,
111
+ get: function get() {
112
+ return _SeekBar["default"];
113
+ }
114
+ });
115
+ Object.defineProperty(exports, "SettingsMenuButton", {
116
+ enumerable: true,
117
+ get: function get() {
118
+ return _SettingsMenuButton["default"];
119
+ }
120
+ });
121
+ Object.defineProperty(exports, "Shortcut", {
122
+ enumerable: true,
123
+ get: function get() {
124
+ return _Shortcut["default"];
125
+ }
126
+ });
127
+ Object.defineProperty(exports, "Slider", {
128
+ enumerable: true,
129
+ get: function get() {
130
+ return _Slider["default"];
131
+ }
132
+ });
133
+ Object.defineProperty(exports, "TagsBar", {
134
+ enumerable: true,
135
+ get: function get() {
136
+ return _TagsBar["default"];
137
+ }
138
+ });
139
+ Object.defineProperty(exports, "TimeDivider", {
140
+ enumerable: true,
141
+ get: function get() {
142
+ return _TimeDivider["default"];
143
+ }
144
+ });
145
+ Object.defineProperty(exports, "Video", {
146
+ enumerable: true,
147
+ get: function get() {
148
+ return _Video["default"];
149
+ }
150
+ });
151
+ Object.defineProperty(exports, "VolumeMenuButton", {
152
+ enumerable: true,
153
+ get: function get() {
154
+ return _VolumeMenuButton["default"];
155
+ }
156
+ });
157
+ Object.defineProperty(exports, "ZoomMenuButton", {
158
+ enumerable: true,
159
+ get: function get() {
160
+ return _ZoomMenuButton["default"];
161
+ }
162
+ });
163
+ Object.defineProperty(exports, "operationReducer", {
164
+ enumerable: true,
165
+ get: function get() {
166
+ return _reducers.operationReducer;
167
+ }
168
+ });
169
+ exports.playerActions = void 0;
170
+ Object.defineProperty(exports, "playerReducer", {
171
+ enumerable: true,
172
+ get: function get() {
173
+ return _reducers.playerReducer;
174
+ }
175
+ });
176
+ exports.videoActions = void 0;
177
+ var _Player = _interopRequireDefault(require("./components/Player"));
178
+ var _Video = _interopRequireDefault(require("./components/Video"));
179
+ var _ImageViewer = _interopRequireDefault(require("./components/ImageViewer"));
180
+ var _BigPlayButton = _interopRequireDefault(require("./components/BigPlayButton"));
181
+ var _MarkerBar = _interopRequireDefault(require("./components/MarkerBar"));
182
+ var _TagsBar = _interopRequireDefault(require("./components/TagsBar"));
183
+ var _PointersBar = _interopRequireDefault(require("./components/PointersBar"));
184
+ var _PosterImage = _interopRequireDefault(require("./components/PosterImage"));
185
+ var _Slider = _interopRequireDefault(require("./components/Slider"));
186
+ var _Shortcut = _interopRequireDefault(require("./components/Shortcut"));
187
+ var _ControlBar = _interopRequireDefault(require("./components/control-bar/ControlBar"));
188
+ var _PlayToggle = _interopRequireDefault(require("./components/control-bar/PlayToggle"));
189
+ var _ForwardControl = _interopRequireDefault(require("./components/control-bar/ForwardControl"));
190
+ var _ReplayControl = _interopRequireDefault(require("./components/control-bar/ReplayControl"));
191
+ var _FullscreenToggle = _interopRequireDefault(require("./components/control-bar/FullscreenToggle"));
192
+ var _ProgressControl = _interopRequireDefault(require("./components/progress-bar/ProgressControl"));
193
+ var _SeekBar = _interopRequireDefault(require("./components/progress-bar/SeekBar"));
194
+ var _PlayProgressBar = _interopRequireDefault(require("./components/progress-bar/PlayProgressBar"));
195
+ var _LoadProgressBar = _interopRequireDefault(require("./components/progress-bar/LoadProgressBar"));
196
+ var _MouseTimeDisplay = _interopRequireDefault(require("./components/progress-bar/MouseTimeDisplay"));
197
+ var _SettingsMenuButton = _interopRequireDefault(require("./components/control-bar/SettingsMenuButton"));
198
+ var _VolumeMenuButton = _interopRequireDefault(require("./components/control-bar/VolumeMenuButton"));
199
+ var _ZoomMenuButton = _interopRequireDefault(require("./components/control-bar/ZoomMenuButton"));
200
+ var _CurrentTimeDisplay = _interopRequireDefault(require("./components/time-controls/CurrentTimeDisplay"));
201
+ var _DurationDisplay = _interopRequireDefault(require("./components/time-controls/DurationDisplay"));
202
+ var _TimeDivider = _interopRequireDefault(require("./components/time-controls/TimeDivider"));
203
+ var playerActions = _interopRequireWildcard(require("./actions/player"));
204
+ exports.playerActions = playerActions;
205
+ var videoActions = _interopRequireWildcard(require("./actions/video"));
206
+ exports.videoActions = videoActions;
207
+ var _reducers = require("./reducers");
208
+ 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); }
209
+ 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; }
13
210
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desynova-digital/player",
3
- "version": "4.0.0",
3
+ "version": "4.0.2",
4
4
  "description": "Video Player Package for Contido Application",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -27,14 +27,10 @@
27
27
  "@babel/core": "^7.21.3",
28
28
  "@babel/preset-env": "^7.20.2",
29
29
  "@babel/preset-react": "^7.18.6",
30
- "babel-cli": "^6.26.0",
31
- "babel-core": "^6.26.3",
32
30
  "babel-eslint": "^10.1.0",
33
31
  "babel-loader": "7.1.5",
34
32
  "babel-plugin-transform-object-rest-spread": "^6.26.0",
35
- "babel-preset-env": "^1.7.0",
36
33
  "babel-preset-es2015": "^6.24.1",
37
- "babel-preset-react": "^6.24.1",
38
34
  "babel-runtime": "^6.26.0",
39
35
  "eslint": "^5.16.0",
40
36
  "eslint-config-airbnb": "^17.1.1",
@@ -57,9 +53,10 @@
57
53
  "webpack-dev-server": "^3.11.0"
58
54
  },
59
55
  "dependencies": {
60
- "@desynova-digital/components": "^8.16.0",
61
- "@desynova-digital/tokens": "^8.16.0",
62
- "hls.js": "^0.11.0",
56
+ "@desynova-digital/components": "^8.19.3",
57
+ "@desynova-digital/tokens": "^8.19.3",
58
+ "hls.js": "1.4.12",
59
+ "babel-core": "7.0.0-bridge.0",
63
60
  "latest-version": "^4.0.0",
64
61
  "prettycli": "^1.4.3",
65
62
  "prop-types": "^15.7.2",
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = _default;
7
+ exports.playerReducer = exports.operationReducer = void 0;
8
+ var _player = require("./player");
9
+ var _operation = require("./operation");
10
+ function _default() {
11
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
12
+ var action = arguments.length > 1 ? arguments[1] : undefined;
13
+ return {
14
+ player: (0, _player.player)(state.player, action),
15
+ operation: (0, _operation.operation)(state.operation, action)
16
+ };
17
+ }
18
+ var playerReducer = exports.playerReducer = _player.player;
19
+ var operationReducer = exports.operationReducer = _operation.operation;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ exports.operation = operation;
8
+ var _player = require("../actions/player");
9
+ 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); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
+ 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); }
15
+ var initialState = {
16
+ count: 0,
17
+ operation: {
18
+ action: '',
19
+ source: ''
20
+ }
21
+ };
22
+ function operation() {
23
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
24
+ var action = arguments.length > 1 ? arguments[1] : undefined;
25
+ switch (action.type) {
26
+ case _player.OPERATE:
27
+ return _objectSpread(_objectSpread({}, state), {}, {
28
+ count: state.count + 1,
29
+ operation: _objectSpread(_objectSpread({}, state.operation), action.operation)
30
+ });
31
+ default:
32
+ return state;
33
+ }
34
+ }
35
+ var _default = exports["default"] = operation;
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ exports.player = player;
8
+ var _video = require("../actions/video");
9
+ var _player = require("../actions/player");
10
+ 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); }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
+ 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); }
16
+ var initialState = {
17
+ currentSrc: null,
18
+ duration: 0,
19
+ currentTime: 0,
20
+ seekingTime: 0,
21
+ leftMarker: -1,
22
+ rightMarker: -1,
23
+ selectedMarker: {},
24
+ markerType: 'create',
25
+ SDBorderActive: true,
26
+ buffered: null,
27
+ waiting: false,
28
+ seeking: false,
29
+ paused: true,
30
+ autoPaused: false,
31
+ ended: false,
32
+ playbackRate: 1,
33
+ muted: false,
34
+ volume: 1,
35
+ zoom: 0,
36
+ readyState: 0,
37
+ networkState: 0,
38
+ videoWidth: 0,
39
+ videoHeight: 0,
40
+ hasStarted: false,
41
+ userActivity: true,
42
+ isActive: false,
43
+ isFullscreen: false,
44
+ playerType: 'default',
45
+ controlType: 'default',
46
+ previewActive: false,
47
+ audioTracksArr: [],
48
+ activeAudio: {},
49
+ markerCreate: false,
50
+ rewindActive: false,
51
+ HLSConfig: {
52
+ debug: true,
53
+ capLevelToPlayerSize: false,
54
+ maxBufferLength: 30,
55
+ maxMaxBufferLength: 600,
56
+ maxBufferSize: 60,
57
+ enableWebVTT: false,
58
+ enableCEA708Captions: false,
59
+ enableWorker: true,
60
+ // Enable the worker for better performance
61
+ enableStashBuffer: true // Enable stash buffer for adaptive bitrate streaming
62
+ }
63
+ };
64
+ function player() {
65
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
66
+ var action = arguments.length > 1 ? arguments[1] : undefined;
67
+ switch (action.type) {
68
+ case _player.USER_ACTIVATE:
69
+ return _objectSpread(_objectSpread({}, state), {}, {
70
+ userActivity: action.activity
71
+ });
72
+ case _player.PLAYER_ACTIVATE:
73
+ return _objectSpread(_objectSpread({}, state), {}, {
74
+ isActive: action.activity
75
+ });
76
+ case _player.FULLSCREEN_CHANGE:
77
+ return _objectSpread(_objectSpread({}, state), {}, {
78
+ isFullscreen: !!action.isFullscreen
79
+ });
80
+ case _player.PREVIEW_VIDEO:
81
+ return _objectSpread(_objectSpread({}, state), {}, {
82
+ previewActive: action.active
83
+ });
84
+ case _player.REWIND_VIDEO:
85
+ return _objectSpread(_objectSpread({}, state), {}, {
86
+ rewindActive: action.active
87
+ });
88
+ case _video.SEEKING_TIME:
89
+ return _objectSpread(_objectSpread({}, state), {}, {
90
+ seekingTime: action.time
91
+ });
92
+ case _video.END_SEEKING:
93
+ return _objectSpread(_objectSpread({}, state), {}, {
94
+ seekingTime: 0
95
+ });
96
+ case _video.LOAD_START:
97
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
98
+ hasStarted: false,
99
+ ended: false
100
+ });
101
+ case _video.CAN_PLAY:
102
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
103
+ waiting: false
104
+ });
105
+ case _video.WAITING:
106
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
107
+ waiting: true
108
+ });
109
+ case _video.CAN_PLAY_THROUGH:
110
+ case _video.PLAYING:
111
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
112
+ waiting: false
113
+ });
114
+ case _video.PLAY:
115
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
116
+ ended: false,
117
+ paused: false,
118
+ autoPaused: false,
119
+ waiting: false,
120
+ hasStarted: true
121
+ });
122
+ case _video.PAUSE:
123
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
124
+ paused: true
125
+ });
126
+ case _video.END:
127
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
128
+ ended: true
129
+ });
130
+ case _video.SEEKING:
131
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
132
+ seeking: true
133
+ });
134
+ case _video.SEEKED:
135
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
136
+ seeking: false
137
+ });
138
+ case _video.ERROR:
139
+ return _objectSpread(_objectSpread(_objectSpread({}, state), action.videoProps), {}, {
140
+ error: 'UNKNOWN ERROR',
141
+ ended: true
142
+ });
143
+ case _player.PLAYER_TYPE:
144
+ return _objectSpread(_objectSpread({}, state), {}, {
145
+ playerType: action.playerType
146
+ });
147
+ case _player.AUDIO_TRACKS:
148
+ return _objectSpread(_objectSpread({}, state), {}, {
149
+ audioTracksArr: action.tracks
150
+ });
151
+ case _player.ACTIVE_AUDIO_TRACK:
152
+ return _objectSpread(_objectSpread({}, state), {}, {
153
+ activeAudio: action.track
154
+ });
155
+ case _player.ZOOM_CHANGE:
156
+ return _objectSpread(_objectSpread({}, state), {}, {
157
+ zoom: action.z
158
+ });
159
+ case _player.MARKER_CREATE:
160
+ {
161
+ var markerState = _objectSpread({}, state);
162
+ markerState.markerCreate = action.markerCreate;
163
+ return markerState;
164
+ }
165
+ case _player.MARKER_POINT_CHANGE:
166
+ {
167
+ var _markerState = _objectSpread({}, state);
168
+ if (action.leftMarker && action.rightMarker) {
169
+ _markerState.leftMarker = action.leftMarker;
170
+ _markerState.rightMarker = action.rightMarker;
171
+ } else if (action.leftMarker > -1 && !action.rightMarker) {
172
+ _markerState.leftMarker = action.leftMarker;
173
+ } else if (!action.leftMarker && action.rightMarker > -1) {
174
+ _markerState.rightMarker = action.rightMarker;
175
+ }
176
+ _markerState.markerType = action.markerType || 'create';
177
+ _markerState.markerCreate = state.leftMarker > -1 && state.rightMarker > -1 && !state.markerCreate ? false : action.markerCreate;
178
+ _markerState.selectedMarker = _markerState.markerType === 'update' ? action.selectedMarker || state.selectedMarker : action.selectedMarker || {};
179
+ return _markerState;
180
+ }
181
+ case _player.MARKER_UPDATE:
182
+ {
183
+ var _markerState2 = _objectSpread({}, state);
184
+ _markerState2.leftMarker = action.leftMarker;
185
+ _markerState2.rightMarker = action.rightMarker;
186
+ _markerState2.markerType = 'update';
187
+ _markerState2.selectedMarker = action.selectedMarker;
188
+ return _markerState2;
189
+ }
190
+ case _player.CONTROL_TYPE:
191
+ return _objectSpread(_objectSpread({}, state), {}, {
192
+ controlType: action.controlType
193
+ });
194
+ case _player.SD_BORDER_SWITCH:
195
+ return _objectSpread(_objectSpread({}, state), {}, {
196
+ SDBorderActive: action.SDBorderActive
197
+ });
198
+ case _video.DURATION_CHANGE:
199
+ case _video.TIME_UPDATE:
200
+ case _video.VOLUME_CHANGE:
201
+ case _video.PROGRESS_CHANGE:
202
+ case _video.RATE_CHANGE:
203
+ case _video.SUSPEND:
204
+ case _video.ABORT:
205
+ case _video.EMPTIED:
206
+ case _video.STALLED:
207
+ case _video.LOADED_META_DATA:
208
+ case _video.LOADED_DATA:
209
+ case _video.RESIZE:
210
+ {
211
+ var newState = _objectSpread(_objectSpread({}, state), action.videoProps);
212
+ if (action.videoProps.paused === false) {
213
+ newState.hasStarted = true;
214
+ newState.waiting = false;
215
+ }
216
+ return newState;
217
+ }
218
+ default:
219
+ return state;
220
+ }
221
+ }
222
+ var _default = exports["default"] = player;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.IS_IOS = void 0;
7
+ var USER_AGENT = typeof window !== 'undefined' && window.navigator ? window.navigator.userAgent : '';
8
+ /*
9
+ * const webkitVersionMap = (/AppleWebKit\/([\d.]+)/i).exec(USER_AGENT);
10
+ * const appleWebkitVersion = webkitVersionMap ?
11
+ * parseFloat(webkitVersionMap.pop()) : null;
12
+ */
13
+
14
+ /*
15
+ * Device is an iPhone
16
+ *
17
+ * @type {Boolean}
18
+ * @constant
19
+ * @private
20
+ */
21
+ var IS_IPAD = exports.IS_IPAD = /iPad/i.test(USER_AGENT);
22
+
23
+ /*
24
+ * The Facebook app's UIWebView identifies as both an iPhone and iPad, so
25
+ * to identify iPhones, we need to exclude iPads.
26
+ * http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/
27
+ */
28
+ var IS_IPHONE = exports.IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;
29
+ var IS_IPOD = exports.IS_IPOD = /iPod/i.test(USER_AGENT);
30
+ var IS_IOS = exports.IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;
package/utils/dom.js ADDED
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.blurNode = blurNode;
7
+ exports.findElPosition = findElPosition;
8
+ exports.getPointerPosition = getPointerPosition;
9
+ exports.hasClass = hasClass;
10
+ var _reactDom = require("react-dom");
11
+ /**
12
+ * Offset Left
13
+ * getBoundingClientRect technique from
14
+ * John Resig http://ejohn.org/blog/getboundingclientrect-is-awesome/
15
+ *
16
+ * @function findElPosition
17
+ * @param {Element} el Element from which to get offset
18
+ * @return {Object}
19
+ */
20
+ function findElPosition(el) {
21
+ var box;
22
+ if (el.getBoundingClientRect && el.parentNode) {
23
+ box = el.getBoundingClientRect();
24
+ }
25
+ if (!box) {
26
+ return {
27
+ left: 0,
28
+ top: 0
29
+ };
30
+ }
31
+ var docEl = document.documentElement;
32
+ var body = document.body;
33
+ var clientLeft = docEl.clientLeft || body.clientLeft || 0;
34
+ var scrollLeft = window.pageXOffset || body.scrollLeft;
35
+ var left = box.left + scrollLeft - clientLeft;
36
+ var clientTop = docEl.clientTop || body.clientTop || 0;
37
+ var scrollTop = window.pageYOffset || body.scrollTop;
38
+ var top = box.top + scrollTop - clientTop;
39
+
40
+ // Android sometimes returns slightly off decimal values, so need to round
41
+ return {
42
+ left: Math.round(left),
43
+ top: Math.round(top)
44
+ };
45
+ }
46
+
47
+ /**
48
+ * Get pointer position in element
49
+ * Returns an object with x and y coordinates.
50
+ * The base on the coordinates are the bottom left of the element.
51
+ *
52
+ * @function getPointerPosition
53
+ * @param {Element} el Element on which to get the pointer position on
54
+ * @param {Event} event Event object
55
+ * @return {Object} This object will have x and y
56
+ * coordinates corresponding to the mouse position
57
+ */
58
+ function getPointerPosition(el, event) {
59
+ var position = {};
60
+ var box = findElPosition(el);
61
+ var boxW = el.offsetWidth;
62
+ var boxH = el.offsetHeight;
63
+ var boxY = box.top;
64
+ var boxX = box.left;
65
+ var pageY = event.pageY;
66
+ var pageX = event.pageX;
67
+ if (event.changedTouches) {
68
+ pageX = event.changedTouches[0].pageX;
69
+ pageY = event.changedTouches[0].pageY;
70
+ }
71
+ position.y = Math.max(0, Math.min(1, (boxY - pageY + boxH) / boxH));
72
+ position.x = Math.max(0, Math.min(1, (pageX - boxX) / boxW));
73
+ return position;
74
+ }
75
+
76
+ // blur an element
77
+ function blurNode(reactNode) {
78
+ var domNode = (0, _reactDom.findDOMNode)(reactNode);
79
+ if (domNode && domNode.blur) {
80
+ domNode.blur();
81
+ }
82
+ }
83
+
84
+ // check if an element has a class name
85
+ function hasClass(elm, cls) {
86
+ var classes = elm.className.split(' ');
87
+ for (var i = 0; i < classes.length; i++) {
88
+ if (classes[i].toLowerCase() === cls.toLowerCase()) {
89
+ return true;
90
+ }
91
+ }
92
+ return false;
93
+ }