@micromag/element-video 0.3.168 → 0.3.169

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,39 @@ 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
+ console.log('PLAY');
216
+
217
+ if (isSuspended) {
218
+ setIsSuspended(false);
219
+ }
220
+
221
+ if (customOnPlay !== null) {
222
+ customOnPlay(e);
223
+ }
224
+ }, [isSuspended, setIsSuspended, customOnPlay]);
225
+ var onPlaying = useCallback(function (e) {
226
+ console.log('PLAYing');
227
+
228
+ if (isSuspended) {
229
+ setIsSuspended(false);
230
+ }
231
+ }, [isSuspended, setIsSuspended]);
232
+ var onSuspend = useCallback(function (e) {
233
+ console.log('suspend');
234
+ setIsSuspended(true);
235
+
236
+ if (customOnSuspend !== null) {
237
+ customOnSuspend(e);
238
+ }
239
+ }, [setIsSuspended, customOnSuspend]); // Ensure load if preload value change over time
207
240
 
208
241
  var firstPreloadRef = useRef(preload);
209
242
  var firstShouldLoadRef = useRef(shouldLoad);
@@ -280,13 +313,15 @@ var Video = function Video(_ref) {
280
313
  tabIndex: focusable ? '0' : '-1',
281
314
  className: classNames(styles.video),
282
315
  onPlay: onPlay,
316
+ onPlaying: onPlaying,
283
317
  onPause: onPause,
284
318
  onEnded: onEnded,
285
319
  onSeeked: onSeeked,
286
320
  onVolumeChange: onVolumeChange,
287
321
  onTimeUpdate: onTimeUpdate,
288
322
  onSuspend: onSuspend,
289
- "data-has-audio": hasAudio
323
+ "data-has-audio": hasAudio,
324
+ "data-is-suspended": isSuspended
290
325
  }, (sourceFiles || []).map(function (_ref8) {
291
326
  var sourceUrl = _ref8.url,
292
327
  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,39 @@ 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
+ console.log('PLAY');
228
+
229
+ if (isSuspended) {
230
+ setIsSuspended(false);
231
+ }
232
+
233
+ if (customOnPlay !== null) {
234
+ customOnPlay(e);
235
+ }
236
+ }, [isSuspended, setIsSuspended, customOnPlay]);
237
+ var onPlaying = React.useCallback(function (e) {
238
+ console.log('PLAYing');
239
+
240
+ if (isSuspended) {
241
+ setIsSuspended(false);
242
+ }
243
+ }, [isSuspended, setIsSuspended]);
244
+ var onSuspend = React.useCallback(function (e) {
245
+ console.log('suspend');
246
+ setIsSuspended(true);
247
+
248
+ if (customOnSuspend !== null) {
249
+ customOnSuspend(e);
250
+ }
251
+ }, [setIsSuspended, customOnSuspend]); // Ensure load if preload value change over time
218
252
 
219
253
  var firstPreloadRef = React.useRef(preload);
220
254
  var firstShouldLoadRef = React.useRef(shouldLoad);
@@ -291,13 +325,15 @@ var Video = function Video(_ref) {
291
325
  tabIndex: focusable ? '0' : '-1',
292
326
  className: classNames__default["default"](styles.video),
293
327
  onPlay: onPlay,
328
+ onPlaying: onPlaying,
294
329
  onPause: onPause,
295
330
  onEnded: onEnded,
296
331
  onSeeked: onSeeked,
297
332
  onVolumeChange: onVolumeChange,
298
333
  onTimeUpdate: onTimeUpdate,
299
334
  onSuspend: onSuspend,
300
- "data-has-audio": hasAudio
335
+ "data-has-audio": hasAudio,
336
+ "data-is-suspended": isSuspended
301
337
  }, (sourceFiles || []).map(function (_ref8) {
302
338
  var sourceUrl = _ref8.url,
303
339
  sourceMime = _ref8.mime;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/element-video",
3
- "version": "0.3.168",
3
+ "version": "0.3.169",
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.168",
56
- "@micromag/element-closed-captions": "^0.3.168",
57
- "@micromag/element-media-controls": "^0.3.168",
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": "b1010cb410363b9350053a07784b0255c4d09027"
67
+ "gitHead": "0c1d21566e76943b0d1548cfe7f0e95380cf017c"
68
68
  }