@micromag/screen-video 0.3.143 → 0.3.146
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 +31 -7
- package/lib/index.js +31 -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;
|
|
@@ -285,11 +289,30 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
285
289
|
var onVideoReady = useCallback(function () {
|
|
286
290
|
setReady(true);
|
|
287
291
|
}, [setReady]);
|
|
292
|
+
/**
|
|
293
|
+
* if video can play, but:
|
|
294
|
+
* - it's the current screen
|
|
295
|
+
* - the video doesn't provide visual controls
|
|
296
|
+
* - the video is set to play automatically
|
|
297
|
+
* - and it's **not** playing
|
|
298
|
+
* -> then set up a button that catches a click and plays the video
|
|
299
|
+
*/
|
|
300
|
+
|
|
301
|
+
var onCanPlay = useCallback(function () {
|
|
302
|
+
if (current && !withControls && autoPlay && !playing) {
|
|
303
|
+
setAllowManualPlayOnTap(true);
|
|
304
|
+
}
|
|
305
|
+
}, [current, withControls, autoPlay, playing, play, allowManualPlayOnTap, setAllowManualPlayOnTap]);
|
|
306
|
+
var onForcePlay = useCallback(function (e) {
|
|
307
|
+
e.stopPropagation();
|
|
308
|
+
setAllowManualPlayOnTap(false);
|
|
309
|
+
play();
|
|
310
|
+
}, [setAllowManualPlayOnTap, play]);
|
|
288
311
|
var visibleControls = !autoPlay && !playing || muted || showMediaControls;
|
|
289
|
-
var items = [
|
|
312
|
+
var items = [allowManualPlayOnTap ? /*#__PURE__*/React.createElement("button", {
|
|
290
313
|
key: "tap-catcher-button",
|
|
291
314
|
type: "button",
|
|
292
|
-
|
|
315
|
+
onClick: onForcePlay,
|
|
293
316
|
className: styles.unmuteAndPlayButton
|
|
294
317
|
}) : null, /*#__PURE__*/React.createElement(ScreenElement, {
|
|
295
318
|
key: "video",
|
|
@@ -334,6 +357,7 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
334
357
|
className: styles.video,
|
|
335
358
|
onReady: onVideoReady,
|
|
336
359
|
onPlay: onPlay,
|
|
360
|
+
onCanPlay: onCanPlay,
|
|
337
361
|
onPause: onPause,
|
|
338
362
|
onTimeUpdate: onTimeUpdate,
|
|
339
363
|
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;
|
|
@@ -306,11 +310,30 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
306
310
|
var onVideoReady = React.useCallback(function () {
|
|
307
311
|
setReady(true);
|
|
308
312
|
}, [setReady]);
|
|
313
|
+
/**
|
|
314
|
+
* if video can play, but:
|
|
315
|
+
* - it's the current screen
|
|
316
|
+
* - the video doesn't provide visual controls
|
|
317
|
+
* - the video is set to play automatically
|
|
318
|
+
* - and it's **not** playing
|
|
319
|
+
* -> then set up a button that catches a click and plays the video
|
|
320
|
+
*/
|
|
321
|
+
|
|
322
|
+
var onCanPlay = React.useCallback(function () {
|
|
323
|
+
if (current && !withControls && autoPlay && !playing) {
|
|
324
|
+
setAllowManualPlayOnTap(true);
|
|
325
|
+
}
|
|
326
|
+
}, [current, withControls, autoPlay, playing, play, allowManualPlayOnTap, setAllowManualPlayOnTap]);
|
|
327
|
+
var onForcePlay = React.useCallback(function (e) {
|
|
328
|
+
e.stopPropagation();
|
|
329
|
+
setAllowManualPlayOnTap(false);
|
|
330
|
+
play();
|
|
331
|
+
}, [setAllowManualPlayOnTap, play]);
|
|
309
332
|
var visibleControls = !autoPlay && !playing || muted || showMediaControls;
|
|
310
|
-
var items = [
|
|
333
|
+
var items = [allowManualPlayOnTap ? /*#__PURE__*/React__default["default"].createElement("button", {
|
|
311
334
|
key: "tap-catcher-button",
|
|
312
335
|
type: "button",
|
|
313
|
-
|
|
336
|
+
onClick: onForcePlay,
|
|
314
337
|
className: styles.unmuteAndPlayButton
|
|
315
338
|
}) : null, /*#__PURE__*/React__default["default"].createElement(components.ScreenElement, {
|
|
316
339
|
key: "video",
|
|
@@ -355,6 +378,7 @@ var VideoScreen = function VideoScreen(_ref) {
|
|
|
355
378
|
className: styles.video,
|
|
356
379
|
onReady: onVideoReady,
|
|
357
380
|
onPlay: onPlay,
|
|
381
|
+
onCanPlay: onCanPlay,
|
|
358
382
|
onPause: onPause,
|
|
359
383
|
onTimeUpdate: onTimeUpdate,
|
|
360
384
|
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.146",
|
|
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": "161a49be3e6b699576c4e95d5f0b6c7eb276582a"
|
|
72
72
|
}
|