videojs-mobile-ui 1.0.0 → 1.0.1
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @name videojs-mobile-ui @version 1.0.
|
|
1
|
+
/*! @name videojs-mobile-ui @version 1.0.1 @license MIT */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var videojs = require('video.js');
|
|
@@ -9,14 +9,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
9
9
|
var videojs__default = /*#__PURE__*/_interopDefaultLegacy(videojs);
|
|
10
10
|
var window__default = /*#__PURE__*/_interopDefaultLegacy(window);
|
|
11
11
|
|
|
12
|
-
var version = "1.0.
|
|
12
|
+
var version = "1.0.1";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @file touchOverlay.js
|
|
16
16
|
* Touch UI component
|
|
17
17
|
*/
|
|
18
|
-
const Component = videojs__default[
|
|
19
|
-
const dom = videojs__default[
|
|
18
|
+
const Component = videojs__default["default"].getComponent('Component');
|
|
19
|
+
const dom = videojs__default["default"].dom || videojs__default["default"];
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* The `TouchOverlay` is an overlay to capture tap events.
|
|
@@ -59,7 +59,7 @@ class TouchOverlay extends Component {
|
|
|
59
59
|
*
|
|
60
60
|
* @param {Event} event
|
|
61
61
|
*/
|
|
62
|
-
this.handleTaps_ = videojs__default[
|
|
62
|
+
this.handleTaps_ = videojs__default["default"].fn.debounce(event => {
|
|
63
63
|
const increment = (this.taps - 1) * this.seekSeconds;
|
|
64
64
|
this.taps = 0;
|
|
65
65
|
if (increment < 1) {
|
|
@@ -85,7 +85,7 @@ class TouchOverlay extends Component {
|
|
|
85
85
|
// Remove and readd class to trigger animation
|
|
86
86
|
this.setAttribute('data-skip-text', `${increment} ${this.localize('seconds')}`);
|
|
87
87
|
this.removeClass('skip');
|
|
88
|
-
window__default[
|
|
88
|
+
window__default["default"].requestAnimationFrame(() => {
|
|
89
89
|
this.addClass('skip');
|
|
90
90
|
});
|
|
91
91
|
}, this.tapTimeout);
|
|
@@ -161,7 +161,7 @@ const defaults = {
|
|
|
161
161
|
disabled: false
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
|
-
const screen = window__default[
|
|
164
|
+
const screen = window__default["default"].screen;
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
167
|
* Gets 'portrait' or 'lanscape' from the two orientation APIs
|
|
@@ -169,17 +169,17 @@ const screen = window__default['default'].screen;
|
|
|
169
169
|
* @return {string} orientation
|
|
170
170
|
*/
|
|
171
171
|
const getOrientation = () => {
|
|
172
|
-
if (window__default[
|
|
172
|
+
if (window__default["default"].screen) {
|
|
173
173
|
// Prefer the string over angle, as 0° can be landscape on some tablets
|
|
174
|
-
const orientationString = ((window__default[
|
|
174
|
+
const orientationString = ((window__default["default"].screen.orientation || {}).type || window__default["default"].screen.mozOrientation || window__default["default"].screen.msOrientation || '').split('-')[0];
|
|
175
175
|
if (orientationString === 'landscape' || orientationString === 'portrait') {
|
|
176
176
|
return orientationString;
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
// iOS only supports window.orientation
|
|
181
|
-
if (typeof window__default[
|
|
182
|
-
if (window__default[
|
|
181
|
+
if (typeof window__default["default"].orientation === 'number') {
|
|
182
|
+
if (window__default["default"].orientation === 0 || window__default["default"].orientation === 180) {
|
|
183
183
|
return 'portrait';
|
|
184
184
|
}
|
|
185
185
|
return 'landscape';
|
|
@@ -221,7 +221,7 @@ const onPlayerReady = (player, options) => {
|
|
|
221
221
|
screen.orientation.lock('landscape').then(() => {
|
|
222
222
|
locked = true;
|
|
223
223
|
}).catch(e => {
|
|
224
|
-
videojs__default[
|
|
224
|
+
videojs__default["default"].log('Browser refused orientation lock:', e);
|
|
225
225
|
});
|
|
226
226
|
}
|
|
227
227
|
}
|
|
@@ -232,10 +232,10 @@ const onPlayerReady = (player, options) => {
|
|
|
232
232
|
}
|
|
233
233
|
};
|
|
234
234
|
if (options.fullscreen.enterOnRotate || options.fullscreen.exitOnRotate) {
|
|
235
|
-
if (videojs__default[
|
|
236
|
-
window__default[
|
|
235
|
+
if (videojs__default["default"].browser.IS_IOS) {
|
|
236
|
+
window__default["default"].addEventListener('orientationchange', rotationHandler);
|
|
237
237
|
player.on('dispose', () => {
|
|
238
|
-
window__default[
|
|
238
|
+
window__default["default"].removeEventListener('orientationchange', rotationHandler);
|
|
239
239
|
});
|
|
240
240
|
} else if (screen.orientation) {
|
|
241
241
|
// addEventListener('orientationchange') is not a user interaction on Android
|
|
@@ -250,7 +250,7 @@ const onPlayerReady = (player, options) => {
|
|
|
250
250
|
screen.orientation.lock('landscape').then(() => {
|
|
251
251
|
locked = true;
|
|
252
252
|
}).catch(e => {
|
|
253
|
-
videojs__default[
|
|
253
|
+
videojs__default["default"].log('Browser refused orientation lock:', e);
|
|
254
254
|
});
|
|
255
255
|
} else if (!player.isFullscreen() && locked) {
|
|
256
256
|
screen.orientation.unlock();
|
|
@@ -304,15 +304,15 @@ const onPlayerReady = (player, options) => {
|
|
|
304
304
|
* Never shows if the endscreen plugin is present
|
|
305
305
|
*/
|
|
306
306
|
const mobileUi = function (options = {}) {
|
|
307
|
-
if (options.forceForTesting || videojs__default[
|
|
307
|
+
if (options.forceForTesting || videojs__default["default"].browser.IS_ANDROID || videojs__default["default"].browser.IS_IOS) {
|
|
308
308
|
this.ready(() => {
|
|
309
|
-
onPlayerReady(this, videojs__default[
|
|
309
|
+
onPlayerReady(this, videojs__default["default"].obj.merge(defaults, options));
|
|
310
310
|
});
|
|
311
311
|
}
|
|
312
312
|
};
|
|
313
313
|
|
|
314
314
|
// Register the plugin with video.js.
|
|
315
|
-
videojs__default[
|
|
315
|
+
videojs__default["default"].registerPlugin('mobileUi', mobileUi);
|
|
316
316
|
|
|
317
317
|
// Include the version number.
|
|
318
318
|
mobileUi.VERSION = version;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @name videojs-mobile-ui @version 1.0.
|
|
1
|
+
/*! @name videojs-mobile-ui @version 1.0.1 @license MIT */
|
|
2
2
|
@keyframes fadeAndScale{0%,to{opacity:0}25%{opacity:1}}.video-js.vjs-has-started .vjs-touch-overlay{position:absolute;pointer-events:auto;top:0}.video-js .vjs-touch-overlay{display:block;width:100%;height:100%;pointer-events:none}.video-js .vjs-touch-overlay.skip{opacity:0;animation:fadeAndScale .8s linear;background-repeat:no-repeat;background-position:80% center;background-size:10%;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.video-js .vjs-touch-overlay.skip:after{content:attr(data-skip-text);position:absolute;top:60%;left:70%}.video-js .vjs-touch-overlay.skip.reverse{background-position:20% center;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.video-js .vjs-touch-overlay.skip.reverse:after{right:70%;left:unset}.video-js .vjs-touch-overlay .vjs-play-control{top:50%;left:50%;transform:translate(-50%,-50%);position:absolute;width:30%;height:80%;pointer-events:none;opacity:0;transition:opacity .3s ease}.video-js .vjs-touch-overlay .vjs-play-control .vjs-icon-placeholder::before{content:'';background-size:60%;background-position:center center;background-repeat:no-repeat;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.video-js .vjs-touch-overlay .vjs-play-control.vjs-paused .vjs-icon-placeholder::before{content:'';background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8 5v14l11-7z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.video-js .vjs-touch-overlay .vjs-play-control.vjs-ended .vjs-icon-placeholder::before{content:'';background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"/></svg>')}.video-js .vjs-touch-overlay.show-play-toggle .vjs-play-control{opacity:1;pointer-events:auto}.video-js.vjs-mobile-ui-disable-end.vjs-ended .vjs-touch-overlay{display:none}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*! @name videojs-mobile-ui @version 1.0.
|
|
1
|
+
/*! @name videojs-mobile-ui @version 1.0.1 @license MIT */
|
|
2
2
|
import videojs from 'video.js';
|
|
3
3
|
import window from 'global/window';
|
|
4
4
|
|
|
5
|
-
var version = "1.0.
|
|
5
|
+
var version = "1.0.1";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @file touchOverlay.js
|
|
@@ -310,4 +310,4 @@ videojs.registerPlugin('mobileUi', mobileUi);
|
|
|
310
310
|
// Include the version number.
|
|
311
311
|
mobileUi.VERSION = version;
|
|
312
312
|
|
|
313
|
-
export default
|
|
313
|
+
export { mobileUi as default };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/*! @name videojs-mobile-ui @version 1.0.
|
|
1
|
+
/*! @name videojs-mobile-ui @version 1.0.1 @license MIT */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('video.js')) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['video.js'], factory) :
|
|
5
5
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.videojsMobileUi = factory(global.videojs));
|
|
6
|
-
}(this, (function (videojs) { 'use strict';
|
|
6
|
+
})(this, (function (videojs) { 'use strict';
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
10
10
|
var videojs__default = /*#__PURE__*/_interopDefaultLegacy(videojs);
|
|
11
11
|
|
|
12
|
-
var version = "1.0.
|
|
12
|
+
var version = "1.0.1";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @file touchOverlay.js
|
|
16
16
|
* Touch UI component
|
|
17
17
|
*/
|
|
18
|
-
const Component = videojs__default[
|
|
19
|
-
const dom = videojs__default[
|
|
18
|
+
const Component = videojs__default["default"].getComponent('Component');
|
|
19
|
+
const dom = videojs__default["default"].dom || videojs__default["default"];
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* The `TouchOverlay` is an overlay to capture tap events.
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
*
|
|
60
60
|
* @param {Event} event
|
|
61
61
|
*/
|
|
62
|
-
this.handleTaps_ = videojs__default[
|
|
62
|
+
this.handleTaps_ = videojs__default["default"].fn.debounce(event => {
|
|
63
63
|
const increment = (this.taps - 1) * this.seekSeconds;
|
|
64
64
|
this.taps = 0;
|
|
65
65
|
if (increment < 1) {
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
screen.orientation.lock('landscape').then(() => {
|
|
222
222
|
locked = true;
|
|
223
223
|
}).catch(e => {
|
|
224
|
-
videojs__default[
|
|
224
|
+
videojs__default["default"].log('Browser refused orientation lock:', e);
|
|
225
225
|
});
|
|
226
226
|
}
|
|
227
227
|
}
|
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
}
|
|
233
233
|
};
|
|
234
234
|
if (options.fullscreen.enterOnRotate || options.fullscreen.exitOnRotate) {
|
|
235
|
-
if (videojs__default[
|
|
235
|
+
if (videojs__default["default"].browser.IS_IOS) {
|
|
236
236
|
window.addEventListener('orientationchange', rotationHandler);
|
|
237
237
|
player.on('dispose', () => {
|
|
238
238
|
window.removeEventListener('orientationchange', rotationHandler);
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
screen.orientation.lock('landscape').then(() => {
|
|
251
251
|
locked = true;
|
|
252
252
|
}).catch(e => {
|
|
253
|
-
videojs__default[
|
|
253
|
+
videojs__default["default"].log('Browser refused orientation lock:', e);
|
|
254
254
|
});
|
|
255
255
|
} else if (!player.isFullscreen() && locked) {
|
|
256
256
|
screen.orientation.unlock();
|
|
@@ -304,19 +304,19 @@
|
|
|
304
304
|
* Never shows if the endscreen plugin is present
|
|
305
305
|
*/
|
|
306
306
|
const mobileUi = function (options = {}) {
|
|
307
|
-
if (options.forceForTesting || videojs__default[
|
|
307
|
+
if (options.forceForTesting || videojs__default["default"].browser.IS_ANDROID || videojs__default["default"].browser.IS_IOS) {
|
|
308
308
|
this.ready(() => {
|
|
309
|
-
onPlayerReady(this, videojs__default[
|
|
309
|
+
onPlayerReady(this, videojs__default["default"].obj.merge(defaults, options));
|
|
310
310
|
});
|
|
311
311
|
}
|
|
312
312
|
};
|
|
313
313
|
|
|
314
314
|
// Register the plugin with video.js.
|
|
315
|
-
videojs__default[
|
|
315
|
+
videojs__default["default"].registerPlugin('mobileUi', mobileUi);
|
|
316
316
|
|
|
317
317
|
// Include the version number.
|
|
318
318
|
mobileUi.VERSION = version;
|
|
319
319
|
|
|
320
320
|
return mobileUi;
|
|
321
321
|
|
|
322
|
-
}))
|
|
322
|
+
}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @name videojs-mobile-ui @version 1.0.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).videojsMobileUi=t(e.videojs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e);const o=n.default.getComponent("Component"),i=n.default.dom||n.default;o.registerComponent("TouchOverlay",class extends o{constructor(e,t){super(e,t),this.seekSeconds=t.seekSeconds,this.tapTimeout=t.tapTimeout,this.taps=0,this.addChild("playToggle",{}),e.on(["playing","userinactive"],(e=>{this.removeClass("show-play-toggle")})),0===this.player_.options_.inactivityTimeout&&(this.player_.options_.inactivityTimeout=5e3),this.handleTaps_=n.default.fn.debounce((e=>{const t=(this.taps-1)*this.seekSeconds;if(this.taps=0,t<1)return;const n=this.el_.getBoundingClientRect(),o=e.changedTouches[0].clientX-n.left;if(o<.4*n.width)this.player_.currentTime(Math.max(0,this.player_.currentTime()-t)),this.addClass("reverse");else{if(!(o>n.width-.4*n.width))return;this.player_.currentTime(Math.min(this.player_.duration(),this.player_.currentTime()+t)),this.removeClass("reverse")}this.removeClass("show-play-toggle"),this.setAttribute("data-skip-text",`${t} ${this.localize("seconds")}`),this.removeClass("skip"),window.requestAnimationFrame((()=>{this.addClass("skip")}))}),this.tapTimeout),this.enable()}createEl(){return i.createEl("div",{className:"vjs-touch-overlay",tabIndex:-1})}handleTap(e){e.target===this.el_&&(e.preventDefault(),this.taps+=1,1===this.taps&&(this.removeClass("skip"),this.toggleClass("show-play-toggle")),this.handleTaps_(e))}enable(){this.firstTapCaptured=!1,this.on("touchend",this.handleTap)}disable(){this.off("touchend",this.handleTap)}});const s={fullscreen:{enterOnRotate:!0,exitOnRotate:!0,lockOnRotate:!0,lockToLandscapeOnEnter:!1,disabled:!1},touchControls:{seekSeconds:10,tapTimeout:300,disableOnEnd:!1,disabled:!1}},a=window.screen,r=()=>{if(window.screen){const e=((window.screen.orientation||{}).type||window.screen.mozOrientation||window.screen.msOrientation||"").split("-")[0];if("landscape"===e||"portrait"===e)return e}return"number"==typeof window.orientation?0===window.orientation||180===window.orientation?"portrait":"landscape":"portrait"},l=function(e={}){(e.forceForTesting||n.default.browser.IS_ANDROID||n.default.browser.IS_IOS)&&this.ready((()=>{((e,t)=>{if(e.addClass("vjs-mobile-ui"),!t.touchControls.disabled){(t.touchControls.disableOnEnd||"function"==typeof e.endscreen)&&e.addClass("vjs-mobile-ui-disable-end");const n=e.children_.indexOf(e.getChild("ControlBar"));e.touchOverlay=e.addChild("TouchOverlay",t.touchControls,n)}if(t.fullscreen.disabled)return;let o=!1;const i=()=>{const i=r();"landscape"===i&&t.fullscreen.enterOnRotate?!1===e.paused()&&(e.requestFullscreen(),(t.fullscreen.lockOnRotate||t.fullscreen.lockToLandscapeOnEnter)&&a.orientation&&a.orientation.lock&&a.orientation.lock("landscape").then((()=>{o=!0})).catch((e=>{n.default.log("Browser refused orientation lock:",e)}))):"portrait"===i&&t.fullscreen.exitOnRotate&&!o&&e.isFullscreen()&&e.exitFullscreen()};(t.fullscreen.enterOnRotate||t.fullscreen.exitOnRotate)&&(n.default.browser.IS_IOS?(window.addEventListener("orientationchange",i),e.on("dispose",(()=>{window.removeEventListener("orientationchange",i)}))):a.orientation&&(a.orientation.onchange=i,e.on("dispose",(()=>{a.orientation.onchange=null})))),e.on("fullscreenchange",(i=>{e.isFullscreen()&&t.fullscreen.lockToLandscapeOnEnter&&"portrait"===r()?a.orientation.lock("landscape").then((()=>{o=!0})).catch((e=>{n.default.log("Browser refused orientation lock:",e)})):!e.isFullscreen()&&o&&(a.orientation.unlock(),o=!1)})),e.on("ended",(e=>{!0===o&&(a.orientation.unlock(),o=!1)}))})(this,n.default.obj.merge(s,e))}))};return n.default.registerPlugin("mobileUi",l),l.VERSION="1.0.
|
|
1
|
+
/*! @name videojs-mobile-ui @version 1.0.1 @license MIT */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).videojsMobileUi=t(e.videojs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e);const o=n.default.getComponent("Component"),i=n.default.dom||n.default;o.registerComponent("TouchOverlay",class extends o{constructor(e,t){super(e,t),this.seekSeconds=t.seekSeconds,this.tapTimeout=t.tapTimeout,this.taps=0,this.addChild("playToggle",{}),e.on(["playing","userinactive"],(e=>{this.removeClass("show-play-toggle")})),0===this.player_.options_.inactivityTimeout&&(this.player_.options_.inactivityTimeout=5e3),this.handleTaps_=n.default.fn.debounce((e=>{const t=(this.taps-1)*this.seekSeconds;if(this.taps=0,t<1)return;const n=this.el_.getBoundingClientRect(),o=e.changedTouches[0].clientX-n.left;if(o<.4*n.width)this.player_.currentTime(Math.max(0,this.player_.currentTime()-t)),this.addClass("reverse");else{if(!(o>n.width-.4*n.width))return;this.player_.currentTime(Math.min(this.player_.duration(),this.player_.currentTime()+t)),this.removeClass("reverse")}this.removeClass("show-play-toggle"),this.setAttribute("data-skip-text",`${t} ${this.localize("seconds")}`),this.removeClass("skip"),window.requestAnimationFrame((()=>{this.addClass("skip")}))}),this.tapTimeout),this.enable()}createEl(){return i.createEl("div",{className:"vjs-touch-overlay",tabIndex:-1})}handleTap(e){e.target===this.el_&&(e.preventDefault(),this.taps+=1,1===this.taps&&(this.removeClass("skip"),this.toggleClass("show-play-toggle")),this.handleTaps_(e))}enable(){this.firstTapCaptured=!1,this.on("touchend",this.handleTap)}disable(){this.off("touchend",this.handleTap)}});const s={fullscreen:{enterOnRotate:!0,exitOnRotate:!0,lockOnRotate:!0,lockToLandscapeOnEnter:!1,disabled:!1},touchControls:{seekSeconds:10,tapTimeout:300,disableOnEnd:!1,disabled:!1}},a=window.screen,r=()=>{if(window.screen){const e=((window.screen.orientation||{}).type||window.screen.mozOrientation||window.screen.msOrientation||"").split("-")[0];if("landscape"===e||"portrait"===e)return e}return"number"==typeof window.orientation?0===window.orientation||180===window.orientation?"portrait":"landscape":"portrait"},l=function(e={}){(e.forceForTesting||n.default.browser.IS_ANDROID||n.default.browser.IS_IOS)&&this.ready((()=>{((e,t)=>{if(e.addClass("vjs-mobile-ui"),!t.touchControls.disabled){(t.touchControls.disableOnEnd||"function"==typeof e.endscreen)&&e.addClass("vjs-mobile-ui-disable-end");const n=e.children_.indexOf(e.getChild("ControlBar"));e.touchOverlay=e.addChild("TouchOverlay",t.touchControls,n)}if(t.fullscreen.disabled)return;let o=!1;const i=()=>{const i=r();"landscape"===i&&t.fullscreen.enterOnRotate?!1===e.paused()&&(e.requestFullscreen(),(t.fullscreen.lockOnRotate||t.fullscreen.lockToLandscapeOnEnter)&&a.orientation&&a.orientation.lock&&a.orientation.lock("landscape").then((()=>{o=!0})).catch((e=>{n.default.log("Browser refused orientation lock:",e)}))):"portrait"===i&&t.fullscreen.exitOnRotate&&!o&&e.isFullscreen()&&e.exitFullscreen()};(t.fullscreen.enterOnRotate||t.fullscreen.exitOnRotate)&&(n.default.browser.IS_IOS?(window.addEventListener("orientationchange",i),e.on("dispose",(()=>{window.removeEventListener("orientationchange",i)}))):a.orientation&&(a.orientation.onchange=i,e.on("dispose",(()=>{a.orientation.onchange=null})))),e.on("fullscreenchange",(i=>{e.isFullscreen()&&t.fullscreen.lockToLandscapeOnEnter&&"portrait"===r()?a.orientation.lock("landscape").then((()=>{o=!0})).catch((e=>{n.default.log("Browser refused orientation lock:",e)})):!e.isFullscreen()&&o&&(a.orientation.unlock(),o=!1)})),e.on("ended",(e=>{!0===o&&(a.orientation.unlock(),o=!1)}))})(this,n.default.obj.merge(s,e))}))};return n.default.registerPlugin("mobileUi",l),l.VERSION="1.0.1",l}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "videojs-mobile-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Mobile tap controls and fullscreen on rotate for Video.js",
|
|
5
5
|
"main": "dist/videojs-mobile-ui.cjs.js",
|
|
6
6
|
"module": "dist/videojs-mobile-ui.es.js",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"postcss": "^8.2.13",
|
|
83
83
|
"postcss-cli": "^8.3.1",
|
|
84
84
|
"rollup": "^2.46.0",
|
|
85
|
-
"sinon": "^
|
|
85
|
+
"sinon": "^15.0.0",
|
|
86
86
|
"video.js": "^8.0.0",
|
|
87
87
|
"videojs-generate-karma-config": "~8.0.0",
|
|
88
88
|
"videojs-generate-postcss-config": "~3.0.0",
|