@micromag/element-video 0.3.166 → 0.3.170

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.
package/es/index.js CHANGED
@@ -1,9 +1,10 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
1
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
3
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
4
  import classNames from 'classnames';
4
5
  import isFunction from 'lodash/isFunction';
5
6
  import PropTypes$1 from 'prop-types';
6
- import React, { useMemo, useRef, useEffect, useCallback } from 'react';
7
+ import React, { useMemo, useRef, useEffect, useCallback, useState } from 'react';
7
8
  import { PropTypes } from '@micromag/core';
8
9
  import { useMediaThumbnail, useMediaCurrentTime, useMediaDuration, useMediaReady, useMediaLoad, useProgressSteps } from '@micromag/core/hooks';
9
10
  import { getMediaFilesAsArray } from '@micromag/core/utils';
@@ -90,7 +91,7 @@ var Video = function Video(_ref) {
90
91
  withoutCors = _ref.withoutCors,
91
92
  className = _ref.className,
92
93
  onReady = _ref.onReady,
93
- onPlay = _ref.onPlay,
94
+ customOnPlay = _ref.onPlay,
94
95
  onPause = _ref.onPause,
95
96
  onEnded = _ref.onEnded,
96
97
  onSeeked = _ref.onSeeked,
@@ -98,7 +99,7 @@ var Video = function Video(_ref) {
98
99
  onProgressStep = _ref.onProgressStep,
99
100
  customOnDurationChange = _ref.onDurationChange,
100
101
  customOnVolumeChange = _ref.onVolumeChange,
101
- onSuspend = _ref.onSuspend,
102
+ customOnSuspend = _ref.onSuspend,
102
103
  focusable = _ref.focusable,
103
104
  supportedMimes = _ref.supportedMimes,
104
105
  withPoster = _ref.withPoster;
@@ -203,7 +204,34 @@ var Video = function Video(_ref) {
203
204
  if (customOnVolumeChange !== null) {
204
205
  customOnVolumeChange(element.volume);
205
206
  }
206
- }, [customOnVolumeChange]); // Ensure load if preload value change over time
207
+ }, [customOnVolumeChange]);
208
+
209
+ var _useState = useState(false),
210
+ _useState2 = _slicedToArray(_useState, 2),
211
+ isSuspended = _useState2[0],
212
+ setIsSuspended = _useState2[1];
213
+
214
+ var onPlay = useCallback(function (e) {
215
+ if (isSuspended) {
216
+ setIsSuspended(false);
217
+ }
218
+
219
+ if (customOnPlay !== null) {
220
+ customOnPlay(e);
221
+ }
222
+ }, [isSuspended, setIsSuspended, customOnPlay]);
223
+ var onPlaying = useCallback(function () {
224
+ if (isSuspended) {
225
+ setIsSuspended(false);
226
+ }
227
+ }, [isSuspended, setIsSuspended]);
228
+ var onSuspend = useCallback(function (e) {
229
+ setIsSuspended(true);
230
+
231
+ if (customOnSuspend !== null) {
232
+ customOnSuspend(e);
233
+ }
234
+ }, [setIsSuspended, customOnSuspend]); // Ensure load if preload value change over time
207
235
 
208
236
  var firstPreloadRef = useRef(preload);
209
237
  var firstShouldLoadRef = useRef(shouldLoad);
@@ -280,13 +308,15 @@ var Video = function Video(_ref) {
280
308
  tabIndex: focusable ? '0' : '-1',
281
309
  className: classNames(styles.video),
282
310
  onPlay: onPlay,
311
+ onPlaying: onPlaying,
283
312
  onPause: onPause,
284
313
  onEnded: onEnded,
285
314
  onSeeked: onSeeked,
286
315
  onVolumeChange: onVolumeChange,
287
316
  onTimeUpdate: onTimeUpdate,
288
317
  onSuspend: onSuspend,
289
- "data-has-audio": hasAudio
318
+ "data-has-audio": hasAudio,
319
+ "data-is-suspended": isSuspended
290
320
  }, (sourceFiles || []).map(function (_ref8) {
291
321
  var sourceUrl = _ref8.url,
292
322
  sourceMime = _ref8.mime;
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
3
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
5
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
5
6
  var classNames = require('classnames');
@@ -12,6 +13,7 @@ var utils = require('@micromag/core/utils');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
15
 
16
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
15
17
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
18
  var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
17
19
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
@@ -101,7 +103,7 @@ var Video = function Video(_ref) {
101
103
  withoutCors = _ref.withoutCors,
102
104
  className = _ref.className,
103
105
  onReady = _ref.onReady,
104
- onPlay = _ref.onPlay,
106
+ customOnPlay = _ref.onPlay,
105
107
  onPause = _ref.onPause,
106
108
  onEnded = _ref.onEnded,
107
109
  onSeeked = _ref.onSeeked,
@@ -109,7 +111,7 @@ var Video = function Video(_ref) {
109
111
  onProgressStep = _ref.onProgressStep,
110
112
  customOnDurationChange = _ref.onDurationChange,
111
113
  customOnVolumeChange = _ref.onVolumeChange,
112
- onSuspend = _ref.onSuspend,
114
+ customOnSuspend = _ref.onSuspend,
113
115
  focusable = _ref.focusable,
114
116
  supportedMimes = _ref.supportedMimes,
115
117
  withPoster = _ref.withPoster;
@@ -214,7 +216,34 @@ var Video = function Video(_ref) {
214
216
  if (customOnVolumeChange !== null) {
215
217
  customOnVolumeChange(element.volume);
216
218
  }
217
- }, [customOnVolumeChange]); // Ensure load if preload value change over time
219
+ }, [customOnVolumeChange]);
220
+
221
+ var _useState = React.useState(false),
222
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
223
+ isSuspended = _useState2[0],
224
+ setIsSuspended = _useState2[1];
225
+
226
+ var onPlay = React.useCallback(function (e) {
227
+ if (isSuspended) {
228
+ setIsSuspended(false);
229
+ }
230
+
231
+ if (customOnPlay !== null) {
232
+ customOnPlay(e);
233
+ }
234
+ }, [isSuspended, setIsSuspended, customOnPlay]);
235
+ var onPlaying = React.useCallback(function () {
236
+ if (isSuspended) {
237
+ setIsSuspended(false);
238
+ }
239
+ }, [isSuspended, setIsSuspended]);
240
+ var onSuspend = React.useCallback(function (e) {
241
+ setIsSuspended(true);
242
+
243
+ if (customOnSuspend !== null) {
244
+ customOnSuspend(e);
245
+ }
246
+ }, [setIsSuspended, customOnSuspend]); // Ensure load if preload value change over time
218
247
 
219
248
  var firstPreloadRef = React.useRef(preload);
220
249
  var firstShouldLoadRef = React.useRef(shouldLoad);
@@ -291,13 +320,15 @@ var Video = function Video(_ref) {
291
320
  tabIndex: focusable ? '0' : '-1',
292
321
  className: classNames__default["default"](styles.video),
293
322
  onPlay: onPlay,
323
+ onPlaying: onPlaying,
294
324
  onPause: onPause,
295
325
  onEnded: onEnded,
296
326
  onSeeked: onSeeked,
297
327
  onVolumeChange: onVolumeChange,
298
328
  onTimeUpdate: onTimeUpdate,
299
329
  onSuspend: onSuspend,
300
- "data-has-audio": hasAudio
330
+ "data-has-audio": hasAudio,
331
+ "data-is-suspended": isSuspended
301
332
  }, (sourceFiles || []).map(function (_ref8) {
302
333
  var sourceUrl = _ref8.url,
303
334
  sourceMime = _ref8.mime;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/element-video",
3
- "version": "0.3.166",
3
+ "version": "0.3.170",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -52,9 +52,9 @@
52
52
  "@fortawesome/fontawesome-svg-core": "^1.2.32",
53
53
  "@fortawesome/free-solid-svg-icons": "^5.15.1",
54
54
  "@fortawesome/react-fontawesome": "^0.1.13",
55
- "@micromag/core": "^0.3.166",
56
- "@micromag/element-closed-captions": "^0.3.166",
57
- "@micromag/element-media-controls": "^0.3.166",
55
+ "@micromag/core": "^0.3.169",
56
+ "@micromag/element-closed-captions": "^0.3.169",
57
+ "@micromag/element-media-controls": "^0.3.169",
58
58
  "classnames": "^2.2.6",
59
59
  "lodash": "^4.17.21",
60
60
  "prop-types": "^15.7.2",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "8e9777e36990e941b73a3cdb989e31872981de74"
67
+ "gitHead": "2aa04370d70f3bc7ee3992cad30b0877b23f5a20"
68
68
  }