@micromag/screen-video 0.3.143 → 0.3.144
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/assets/css/styles.css +1 -1
- package/es/index.js +25 -7
- package/lib/index.js +25 -7
- package/package.json +11 -11
package/assets/css/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.micromag-screen-video-container .micromag-screen-video-showControlsButton,.micromag-screen-video-unmuteAndPlayButton{display:inline-block;position:relative;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.micromag-screen-video-container .micromag-screen-video-content,.micromag-screen-video-container .micromag-screen-video-empty,.micromag-screen-video-container .micromag-screen-video-emptyContainer,.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-image,.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-placeholder,.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-video{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-screen-video-container{position:relative;width:100%;height:100%;overflow:hidden}.micromag-screen-video-disabled.micromag-screen-video-container{overflow:hidden;pointer-events:none}.micromag-screen-video-hidden.micromag-screen-video-container{display:none;visibility:hidden}.micromag-screen-video-placeholder.micromag-screen-video-container .micromag-screen-video-content{position:relative;padding:6px}.micromag-screen-video-container .micromag-screen-video-empty{margin:5px auto;border:2px dashed #343434;color:#343434}.micromag-screen-video-container .micromag-screen-video-emptyContainer{top:50%;height:0;padding-bottom:56.25%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.micromag-screen-video-container .micromag-screen-video-empty{margin:0}.micromag-screen-video-container .micromag-screen-video-content{overflow:hidden}.micromag-screen-video-container .micromag-screen-video-callToAction{padding-bottom:5px}.micromag-screen-video-container .micromag-screen-video-bottom{-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.micromag-screen-video-container .micromag-screen-video-bottom.micromag-screen-video-withGradient{background:-webkit-gradient(linear,left top, left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.4)));background:-o-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.4));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.4))}.micromag-screen-video-container .micromag-screen-video-controls{position:relative}.micromag-screen-video-container .micromag-screen-video-mediaControls{position:relative;z-index:1;padding:10px 20px 20px;-webkit-transition:z-index .15s linear,opacity .15s linear;-o-transition:z-index .15s linear,opacity .15s linear;transition:z-index .15s linear,opacity .15s linear;opacity:0}.micromag-screen-video-container .micromag-screen-video-mediaControls.micromag-screen-video-visible{z-index:3;opacity:1}.micromag-screen-video-container .micromag-screen-video-showControlsButton{display:block;position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;opacity:0;background-color:rgba(0,0,0,0)}.micromag-screen-video-container .micromag-screen-video-placeholder{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.micromag-screen-video-container .micromag-screen-video-videoContainer{position:absolute}.micromag-screen-video-container .micromag-screen-video-bottomContent{position:absolute;right:0;bottom:0;left:0;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-emptyContainer{top:0;height:100%;padding-bottom:0;-webkit-transform:none;-ms-transform:none;transform:none}.micromag-screen-video-unmuteAndPlayButton{display:block;position:absolute;z-index:
|
|
1
|
+
.micromag-screen-video-container .micromag-screen-video-showControlsButton,.micromag-screen-video-unmuteAndPlayButton{display:inline-block;position:relative;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.micromag-screen-video-container .micromag-screen-video-content,.micromag-screen-video-container .micromag-screen-video-empty,.micromag-screen-video-container .micromag-screen-video-emptyContainer,.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-image,.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-placeholder,.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-video{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-screen-video-container{position:relative;width:100%;height:100%;overflow:hidden}.micromag-screen-video-disabled.micromag-screen-video-container{overflow:hidden;pointer-events:none}.micromag-screen-video-hidden.micromag-screen-video-container{display:none;visibility:hidden}.micromag-screen-video-placeholder.micromag-screen-video-container .micromag-screen-video-content{position:relative;padding:6px}.micromag-screen-video-container .micromag-screen-video-empty{margin:5px auto;border:2px dashed #343434;color:#343434}.micromag-screen-video-container .micromag-screen-video-emptyContainer{top:50%;height:0;padding-bottom:56.25%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.micromag-screen-video-container .micromag-screen-video-empty{margin:0}.micromag-screen-video-container .micromag-screen-video-content{overflow:hidden}.micromag-screen-video-container .micromag-screen-video-callToAction{padding-bottom:5px}.micromag-screen-video-container .micromag-screen-video-bottom{-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.micromag-screen-video-container .micromag-screen-video-bottom.micromag-screen-video-withGradient{background:-webkit-gradient(linear,left top, left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.4)));background:-o-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.4));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.4))}.micromag-screen-video-container .micromag-screen-video-controls{position:relative}.micromag-screen-video-container .micromag-screen-video-mediaControls{position:relative;z-index:1;padding:10px 20px 20px;-webkit-transition:z-index .15s linear,opacity .15s linear;-o-transition:z-index .15s linear,opacity .15s linear;transition:z-index .15s linear,opacity .15s linear;opacity:0}.micromag-screen-video-container .micromag-screen-video-mediaControls.micromag-screen-video-visible{z-index:3;opacity:1}.micromag-screen-video-container .micromag-screen-video-showControlsButton{display:block;position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;opacity:0;background-color:rgba(0,0,0,0)}.micromag-screen-video-container .micromag-screen-video-placeholder{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.micromag-screen-video-container .micromag-screen-video-videoContainer{position:absolute}.micromag-screen-video-container .micromag-screen-video-bottomContent{position:absolute;right:0;bottom:0;left:0;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}.micromag-screen-video-container.micromag-screen-video-fullscreen .micromag-screen-video-emptyContainer{top:0;height:100%;padding-bottom:0;-webkit-transform:none;-ms-transform:none;transform:none}.micromag-screen-video-unmuteAndPlayButton{display:block;position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;opacity:0;background-color:rgba(0,0,0,0)}.micromag-screen-video-bottomSeekBar{-webkit-transition:-webkit-transform .5s ease-out .5s;transition:-webkit-transform .5s ease-out .5s;-o-transition:transform .5s ease-out .5s;transition:transform .5s ease-out .5s;transition:transform .5s ease-out .5s, -webkit-transform .5s ease-out .5s}.micromag-screen-video-bottomSeekBar.micromag-screen-video-isHidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .2s ease-out;transition:-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out, -webkit-transform .2s ease-out}
|
package/es/index.js
CHANGED
|
@@ -117,7 +117,6 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
117
117
|
seek = _ref3.seek,
|
|
118
118
|
play = _ref3.play,
|
|
119
119
|
pause = _ref3.pause,
|
|
120
|
-
suspended = _ref3.suspended,
|
|
121
120
|
_ref3$mediaRef = _ref3.mediaRef,
|
|
122
121
|
apiMediaRef = _ref3$mediaRef === void 0 ? null : _ref3$mediaRef;
|
|
123
122
|
|
|
@@ -154,6 +153,11 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
154
153
|
muted = _useState10[0],
|
|
155
154
|
setMuted = _useState10[1];
|
|
156
155
|
|
|
156
|
+
var _useState11 = useState(false),
|
|
157
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
158
|
+
allowManualPlayOnTap = _useState12[0],
|
|
159
|
+
setAllowManualPlayOnTap = _useState12[1];
|
|
160
|
+
|
|
157
161
|
var onTimeUpdate = useCallback(function (time) {
|
|
158
162
|
setCurrentTime(time);
|
|
159
163
|
}, [duration, setCurrentTime]);
|
|
@@ -236,10 +240,10 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
236
240
|
var hasCallToAction = callToAction !== null && callToAction.active === true;
|
|
237
241
|
var hasVideo = video !== null;
|
|
238
242
|
|
|
239
|
-
var
|
|
240
|
-
|
|
241
|
-
ready =
|
|
242
|
-
setReady =
|
|
243
|
+
var _useState13 = useState(hasVideo),
|
|
244
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
245
|
+
ready = _useState14[0],
|
|
246
|
+
setReady = _useState14[1]; // useState(!hasVideo);
|
|
243
247
|
|
|
244
248
|
|
|
245
249
|
var transitionPlaying = current && ready;
|
|
@@ -284,9 +288,22 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
284
288
|
}, [videoUrl, hasVideoUrl, setReady]);
|
|
285
289
|
var onVideoReady = useCallback(function () {
|
|
286
290
|
setReady(true);
|
|
287
|
-
}, [setReady]);
|
|
291
|
+
}, [setReady]); // @todo trying to see if it's a better strategy than using `onSuspended`
|
|
292
|
+
|
|
293
|
+
var AUTOPLAY_CHECK_DELAY = 1000; // @todo check if a timeout is needed?
|
|
294
|
+
|
|
295
|
+
var onCanPlay = useCallback(function () {
|
|
296
|
+
var autoplayCheckTimeout = setTimeout(function () {
|
|
297
|
+
if (current && autoPlay && !playing) {
|
|
298
|
+
setAllowManualPlayOnTap(true);
|
|
299
|
+
}
|
|
300
|
+
}, AUTOPLAY_CHECK_DELAY);
|
|
301
|
+
return function () {
|
|
302
|
+
return clearTimeout(autoplayCheckTimeout);
|
|
303
|
+
};
|
|
304
|
+
}, [current, autoPlay, playing, play, allowManualPlayOnTap, setAllowManualPlayOnTap]);
|
|
288
305
|
var visibleControls = !autoPlay && !playing || muted || showMediaControls;
|
|
289
|
-
var items = [
|
|
306
|
+
var items = [allowManualPlayOnTap ? /*#__PURE__*/React.createElement("button", {
|
|
290
307
|
key: "tap-catcher-button",
|
|
291
308
|
type: "button",
|
|
292
309
|
onTouchStart: play,
|
|
@@ -334,6 +351,7 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
334
351
|
className: styles.video,
|
|
335
352
|
onReady: onVideoReady,
|
|
336
353
|
onPlay: onPlay,
|
|
354
|
+
onCanPlay: onCanPlay,
|
|
337
355
|
onPause: onPause,
|
|
338
356
|
onTimeUpdate: onTimeUpdate,
|
|
339
357
|
onProgressStep: onProgressStep,
|
package/lib/index.js
CHANGED
|
@@ -138,7 +138,6 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
138
138
|
seek = _ref3.seek,
|
|
139
139
|
play = _ref3.play,
|
|
140
140
|
pause = _ref3.pause,
|
|
141
|
-
suspended = _ref3.suspended,
|
|
142
141
|
_ref3$mediaRef = _ref3.mediaRef,
|
|
143
142
|
apiMediaRef = _ref3$mediaRef === void 0 ? null : _ref3$mediaRef;
|
|
144
143
|
|
|
@@ -175,6 +174,11 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
175
174
|
muted = _useState10[0],
|
|
176
175
|
setMuted = _useState10[1];
|
|
177
176
|
|
|
177
|
+
var _useState11 = React.useState(false),
|
|
178
|
+
_useState12 = _slicedToArray__default["default"](_useState11, 2),
|
|
179
|
+
allowManualPlayOnTap = _useState12[0],
|
|
180
|
+
setAllowManualPlayOnTap = _useState12[1];
|
|
181
|
+
|
|
178
182
|
var onTimeUpdate = React.useCallback(function (time) {
|
|
179
183
|
setCurrentTime(time);
|
|
180
184
|
}, [duration, setCurrentTime]);
|
|
@@ -257,10 +261,10 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
257
261
|
var hasCallToAction = callToAction !== null && callToAction.active === true;
|
|
258
262
|
var hasVideo = video !== null;
|
|
259
263
|
|
|
260
|
-
var
|
|
261
|
-
|
|
262
|
-
ready =
|
|
263
|
-
setReady =
|
|
264
|
+
var _useState13 = React.useState(hasVideo),
|
|
265
|
+
_useState14 = _slicedToArray__default["default"](_useState13, 2),
|
|
266
|
+
ready = _useState14[0],
|
|
267
|
+
setReady = _useState14[1]; // useState(!hasVideo);
|
|
264
268
|
|
|
265
269
|
|
|
266
270
|
var transitionPlaying = current && ready;
|
|
@@ -305,9 +309,22 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
305
309
|
}, [videoUrl, hasVideoUrl, setReady]);
|
|
306
310
|
var onVideoReady = React.useCallback(function () {
|
|
307
311
|
setReady(true);
|
|
308
|
-
}, [setReady]);
|
|
312
|
+
}, [setReady]); // @todo trying to see if it's a better strategy than using `onSuspended`
|
|
313
|
+
|
|
314
|
+
var AUTOPLAY_CHECK_DELAY = 1000; // @todo check if a timeout is needed?
|
|
315
|
+
|
|
316
|
+
var onCanPlay = React.useCallback(function () {
|
|
317
|
+
var autoplayCheckTimeout = setTimeout(function () {
|
|
318
|
+
if (current && autoPlay && !playing) {
|
|
319
|
+
setAllowManualPlayOnTap(true);
|
|
320
|
+
}
|
|
321
|
+
}, AUTOPLAY_CHECK_DELAY);
|
|
322
|
+
return function () {
|
|
323
|
+
return clearTimeout(autoplayCheckTimeout);
|
|
324
|
+
};
|
|
325
|
+
}, [current, autoPlay, playing, play, allowManualPlayOnTap, setAllowManualPlayOnTap]);
|
|
309
326
|
var visibleControls = !autoPlay && !playing || muted || showMediaControls;
|
|
310
|
-
var items = [
|
|
327
|
+
var items = [allowManualPlayOnTap ? /*#__PURE__*/React__default["default"].createElement("button", {
|
|
311
328
|
key: "tap-catcher-button",
|
|
312
329
|
type: "button",
|
|
313
330
|
onTouchStart: play,
|
|
@@ -355,6 +372,7 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
355
372
|
className: styles.video,
|
|
356
373
|
onReady: onVideoReady,
|
|
357
374
|
onPlay: onPlay,
|
|
375
|
+
onCanPlay: onCanPlay,
|
|
358
376
|
onPause: onPause,
|
|
359
377
|
onTimeUpdate: onTimeUpdate,
|
|
360
378
|
onProgressStep: onProgressStep,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/screen-video",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.144",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -50,15 +50,15 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@babel/runtime": "^7.13.10",
|
|
52
52
|
"@folklore/size": "^0.1.20",
|
|
53
|
-
"@micromag/core": "^0.3.
|
|
54
|
-
"@micromag/element-background": "^0.3.
|
|
55
|
-
"@micromag/element-call-to-action": "^0.3.
|
|
56
|
-
"@micromag/element-closed-captions": "^0.3.
|
|
57
|
-
"@micromag/element-container": "^0.3.
|
|
58
|
-
"@micromag/element-image": "^0.3.
|
|
59
|
-
"@micromag/element-media-controls": "^0.3.
|
|
60
|
-
"@micromag/element-video": "^0.3.
|
|
61
|
-
"@micromag/transforms": "^0.3.
|
|
53
|
+
"@micromag/core": "^0.3.144",
|
|
54
|
+
"@micromag/element-background": "^0.3.144",
|
|
55
|
+
"@micromag/element-call-to-action": "^0.3.144",
|
|
56
|
+
"@micromag/element-closed-captions": "^0.3.144",
|
|
57
|
+
"@micromag/element-container": "^0.3.144",
|
|
58
|
+
"@micromag/element-image": "^0.3.144",
|
|
59
|
+
"@micromag/element-media-controls": "^0.3.144",
|
|
60
|
+
"@micromag/element-video": "^0.3.144",
|
|
61
|
+
"@micromag/transforms": "^0.3.144",
|
|
62
62
|
"classnames": "^2.2.6",
|
|
63
63
|
"lodash": "^4.17.21",
|
|
64
64
|
"prop-types": "^15.7.2",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"publishConfig": {
|
|
69
69
|
"access": "public"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "d0f88b972312c6f728601a828b7ab98fd396dfee"
|
|
72
72
|
}
|