@gcorevideo/player 2.28.19 → 2.28.21
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/bottom-gear/gear.scss +2 -2
- package/assets/icons/new/arrow-right.svg +1 -1
- package/assets/icons/new/hd.svg +1 -1
- package/assets/icons/new/speed.svg +1 -1
- package/dist/core.js +1 -1
- package/dist/index.css +303 -303
- package/dist/index.embed.js +118 -37
- package/dist/index.js +118 -38
- package/lib/plugins/audio-selector/AudioTracks.d.ts +2 -0
- package/lib/plugins/audio-selector/AudioTracks.d.ts.map +1 -1
- package/lib/plugins/audio-selector/AudioTracks.js +11 -0
- package/lib/plugins/bottom-gear/BottomGear.d.ts +2 -0
- package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
- package/lib/plugins/bottom-gear/BottomGear.js +11 -0
- package/lib/plugins/level-selector/QualityLevels.d.ts.map +1 -1
- package/lib/plugins/level-selector/QualityLevels.js +4 -0
- package/lib/plugins/media-control/MediaControl.d.ts +10 -0
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +21 -22
- package/lib/plugins/subtitles/ClosedCaptions.d.ts +3 -0
- package/lib/plugins/subtitles/ClosedCaptions.d.ts.map +1 -1
- package/lib/plugins/subtitles/ClosedCaptions.js +30 -11
- package/lib/testUtils.d.ts.map +1 -1
- package/lib/testUtils.js +2 -0
- package/lib/utils/clickaway.d.ts +15 -0
- package/lib/utils/clickaway.d.ts.map +1 -0
- package/lib/utils/clickaway.js +40 -0
- package/package.json +1 -1
- package/src/plugins/audio-selector/AudioTracks.ts +15 -1
- package/src/plugins/bottom-gear/BottomGear.ts +13 -0
- package/src/plugins/level-selector/QualityLevels.ts +4 -0
- package/src/plugins/media-control/MediaControl.ts +21 -24
- package/src/plugins/subtitles/ClosedCaptions.ts +34 -12
- package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +9 -3
- package/src/testUtils.ts +2 -0
- package/src/utils/clickaway.ts +43 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.js
CHANGED
|
@@ -51409,7 +51409,7 @@ class Player {
|
|
|
51409
51409
|
}
|
|
51410
51410
|
}
|
|
51411
51411
|
|
|
51412
|
-
var version$1 = "2.28.
|
|
51412
|
+
var version$1 = "2.28.21";
|
|
51413
51413
|
|
|
51414
51414
|
var packages = {
|
|
51415
51415
|
"node_modules/@clappr/core": {
|
|
@@ -51712,6 +51712,46 @@ const fullscreenOffIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"
|
|
|
51712
51712
|
|
|
51713
51713
|
const fullscreenOnIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.1568 23.15C15.7408 23.15 16.2142 22.6766 16.2142 22.0926V17.1947C16.2142 16.7253 16.5948 16.3447 17.0642 16.3447H21.9621C22.5461 16.3447 23.0195 15.8713 23.0195 15.2873C23.0195 14.7034 22.5461 14.2299 21.9621 14.2299H16.0642C14.9832 14.2299 14.0995 15.1137 14.0995 16.1947V22.0926C14.0995 22.6766 14.5729 23.15 15.1568 23.15Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n <path\n d=\"M1.90739 10.7701H7.80528C8.88627 10.7701 9.77006 9.88627 9.77006 8.80528V2.90739C9.77006 2.32341 9.29665 1.85 8.71267 1.85C8.12869 1.85 7.65528 2.32341 7.65528 2.90739V7.80528C7.65528 8.27472 7.27472 8.65528 6.80528 8.65528H1.90739C1.32341 8.65528 0.85 9.12869 0.85 9.71267C0.85 10.2966 1.32341 10.7701 1.90739 10.7701Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n <path\n d=\"M8.71261 23.15C9.29659 23.15 9.77 22.6766 9.77 22.0926V16.1947C9.77 15.1137 8.88621 14.2299 7.80521 14.2299H1.90733C1.32335 14.2299 0.849939 14.7034 0.849939 15.2873C0.849939 15.8713 1.32335 16.3447 1.90733 16.3447H6.80521C7.27466 16.3447 7.65521 16.7253 7.65521 17.1947V22.0926C7.65521 22.6766 8.12862 23.15 8.71261 23.15Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n <path\n d=\"M21.9621 10.7701C22.5461 10.7701 23.0195 10.2966 23.0195 9.71267C23.0195 9.12869 22.5461 8.65528 21.9621 8.65528H17.0642C16.5948 8.65528 16.2142 8.27472 16.2142 7.80528V2.90739C16.2142 2.32341 15.7408 1.85 15.1568 1.85C14.5729 1.85 14.0995 2.32341 14.0995 2.90739V8.80528C14.0995 9.88627 14.9832 10.7701 16.0642 10.7701H21.9621Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n</svg>\n";
|
|
51714
51714
|
|
|
51715
|
+
/**
|
|
51716
|
+
*
|
|
51717
|
+
* @param {() => void} callback - The callback to call when the user clicks away from the element
|
|
51718
|
+
* @returns {(HTMLElement | null) => void}
|
|
51719
|
+
*/
|
|
51720
|
+
function clickaway(callback) {
|
|
51721
|
+
let handler = (event) => { };
|
|
51722
|
+
return (node) => {
|
|
51723
|
+
window.removeEventListener('click', handler);
|
|
51724
|
+
if (!node) {
|
|
51725
|
+
return;
|
|
51726
|
+
}
|
|
51727
|
+
handler = (event) => {
|
|
51728
|
+
if (!node.contains(event.target)) {
|
|
51729
|
+
window.removeEventListener('click', handler);
|
|
51730
|
+
callback();
|
|
51731
|
+
}
|
|
51732
|
+
};
|
|
51733
|
+
window.addEventListener('click', handler);
|
|
51734
|
+
};
|
|
51735
|
+
}
|
|
51736
|
+
/**
|
|
51737
|
+
* Sets up a clickaway handler for the media control on mobile devices.
|
|
51738
|
+
* The handler is deferred to ensure it is called after the next event loop tick.
|
|
51739
|
+
*
|
|
51740
|
+
* @param {() => void} callback - The callback to call when the user clicks away from the media control
|
|
51741
|
+
* @returns {(HTMLElement | null) => void}
|
|
51742
|
+
*/
|
|
51743
|
+
function mediaControlClickaway(callback) {
|
|
51744
|
+
if (!Browser.isMobile) {
|
|
51745
|
+
return () => { };
|
|
51746
|
+
}
|
|
51747
|
+
const cw = clickaway(callback);
|
|
51748
|
+
return (node) => {
|
|
51749
|
+
setTimeout(() => {
|
|
51750
|
+
cw(node);
|
|
51751
|
+
}, 0);
|
|
51752
|
+
};
|
|
51753
|
+
}
|
|
51754
|
+
|
|
51715
51755
|
// This is a derived work from the {@link https://github.com/clappr/clappr-plugins/tree/ffaa9d27005fa5a8a7c243ffc47eb5655b84b371/src/plugins/media_control | Clappr MediaControl plugin}
|
|
51716
51756
|
// It is redistributed under the terms of the {@link ../../../../../LICENSE | Apache 2.0} license.
|
|
51717
51757
|
// Copyright 2014 Globo.com Player authors. All rights reserved.
|
|
@@ -51965,6 +52005,7 @@ class MediaControl extends UICorePlugin {
|
|
|
51965
52005
|
}
|
|
51966
52006
|
/**
|
|
51967
52007
|
* @internal
|
|
52008
|
+
* The methods declared here will be exposed via the main player object API
|
|
51968
52009
|
*/
|
|
51969
52010
|
getExternalInterface() {
|
|
51970
52011
|
return {
|
|
@@ -52009,9 +52050,7 @@ class MediaControl extends UICorePlugin {
|
|
|
52009
52050
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PAUSE, this.changeTogglePlay);
|
|
52010
52051
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_STOP, this.changeTogglePlay);
|
|
52011
52052
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_DBLCLICK, this.toggleFullscreen);
|
|
52012
|
-
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_CLICK, () =>
|
|
52013
|
-
this.clickaway(this.core.activeContainer.$el[0]);
|
|
52014
|
-
});
|
|
52053
|
+
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_CLICK, () => this.clickaway(this.core.activeContainer.$el[0]));
|
|
52015
52054
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
|
|
52016
52055
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PROGRESS, this.updateProgressBar);
|
|
52017
52056
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_SETTINGSUPDATE, this.updateSettings);
|
|
@@ -52635,6 +52674,23 @@ class MediaControl extends UICorePlugin {
|
|
|
52635
52674
|
mount(name, element) {
|
|
52636
52675
|
mountTo(this.getMountParent(name), element);
|
|
52637
52676
|
}
|
|
52677
|
+
/**
|
|
52678
|
+
* Set or reset the keep visibility state
|
|
52679
|
+
*
|
|
52680
|
+
* Keep visibility state controls whether the media control is hidden automatically after a delay.
|
|
52681
|
+
* Keep visibility prevents the the auto-hide behaviour
|
|
52682
|
+
*
|
|
52683
|
+
* @param keepVisible - The state
|
|
52684
|
+
*/
|
|
52685
|
+
setKeepVisible(keepVisible) {
|
|
52686
|
+
this.keepVisible = keepVisible;
|
|
52687
|
+
if (keepVisible) {
|
|
52688
|
+
this.clickaway(this.core.activeContainer.$el[0]);
|
|
52689
|
+
}
|
|
52690
|
+
else {
|
|
52691
|
+
this.clickaway(null);
|
|
52692
|
+
}
|
|
52693
|
+
}
|
|
52638
52694
|
getMountParent(name) {
|
|
52639
52695
|
switch (name) {
|
|
52640
52696
|
case 'root':
|
|
@@ -52934,9 +52990,7 @@ class MediaControl extends UICorePlugin {
|
|
|
52934
52990
|
delayHide() {
|
|
52935
52991
|
this.hide(this.options.hideMediaControlDelay || DEFAULT_HIDE_DELAY);
|
|
52936
52992
|
}
|
|
52937
|
-
|
|
52938
|
-
// as opposed to the click event
|
|
52939
|
-
clickaway = clickaway(() => setTimeout(this.resetUserKeepVisible, 0));
|
|
52993
|
+
clickaway = mediaControlClickaway(() => this.resetUserKeepVisible());
|
|
52940
52994
|
}
|
|
52941
52995
|
MediaControl.extend = function (properties) {
|
|
52942
52996
|
return extend(MediaControl, properties);
|
|
@@ -52977,22 +53031,6 @@ function mergeElements(a, b) {
|
|
|
52977
53031
|
return acc;
|
|
52978
53032
|
}, a);
|
|
52979
53033
|
}
|
|
52980
|
-
function clickaway(callback) {
|
|
52981
|
-
let handler = (event) => { };
|
|
52982
|
-
return (node) => {
|
|
52983
|
-
window.removeEventListener('click', handler);
|
|
52984
|
-
if (!node) {
|
|
52985
|
-
return;
|
|
52986
|
-
}
|
|
52987
|
-
handler = (event) => {
|
|
52988
|
-
if (!node.contains(event.target)) {
|
|
52989
|
-
window.removeEventListener('click', handler);
|
|
52990
|
-
callback();
|
|
52991
|
-
}
|
|
52992
|
-
};
|
|
52993
|
-
window.addEventListener('click', handler);
|
|
52994
|
-
};
|
|
52995
|
-
}
|
|
52996
53034
|
|
|
52997
53035
|
const VERSION$7 = '2.22.4';
|
|
52998
53036
|
// const T = 'plugins.audiotracks'
|
|
@@ -53086,6 +53124,9 @@ class AudioTracks extends UICorePlugin {
|
|
|
53086
53124
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_CLICK, () => {
|
|
53087
53125
|
this.hideMenu();
|
|
53088
53126
|
});
|
|
53127
|
+
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_DESTROYED, () => {
|
|
53128
|
+
this.clickaway(null);
|
|
53129
|
+
});
|
|
53089
53130
|
}
|
|
53090
53131
|
shouldRender() {
|
|
53091
53132
|
// Render is called from the parent class constructor so tracks aren't available
|
|
@@ -53125,6 +53166,7 @@ class AudioTracks extends UICorePlugin {
|
|
|
53125
53166
|
this.open = false;
|
|
53126
53167
|
this.$el.find('#gplayer-audiotracks-menu').hide();
|
|
53127
53168
|
this.$el.find('#gplayer-audiotracks-button').attr('aria-expanded', 'false');
|
|
53169
|
+
this.setKeepVisible(false);
|
|
53128
53170
|
}
|
|
53129
53171
|
toggleMenu() {
|
|
53130
53172
|
this.open = !this.open;
|
|
@@ -53140,6 +53182,11 @@ class AudioTracks extends UICorePlugin {
|
|
|
53140
53182
|
this.$el
|
|
53141
53183
|
.find('#gplayer-audiotracks-button')
|
|
53142
53184
|
.attr('aria-expanded', this.open);
|
|
53185
|
+
this.setKeepVisible(this.open);
|
|
53186
|
+
}
|
|
53187
|
+
setKeepVisible(keepVisible) {
|
|
53188
|
+
this.core.getPlugin('media_control').setKeepVisible(keepVisible);
|
|
53189
|
+
this.clickaway(keepVisible ? this.core.activeContainer.$el[0] : null);
|
|
53143
53190
|
}
|
|
53144
53191
|
buttonElement() {
|
|
53145
53192
|
return this.$('#gplayer-audiotracks-button');
|
|
@@ -53185,6 +53232,7 @@ class AudioTracks extends UICorePlugin {
|
|
|
53185
53232
|
this.core.getPlugin('media_control')?.slot('audiotracks', this.$el);
|
|
53186
53233
|
}
|
|
53187
53234
|
}
|
|
53235
|
+
clickaway = mediaControlClickaway(() => this.hideMenu());
|
|
53188
53236
|
}
|
|
53189
53237
|
|
|
53190
53238
|
const templateHtml$2 = "<div class=\"big-mute-icon-wrapper\" data-big-mute id=\"gplayer-big-mute-button\">\n <div class=\"big-mute-icon gcore-skin-border-color\" data-big-mute-icon id=\"gplayer-big-mute-icon\"></div>\n</div>\n";
|
|
@@ -53513,6 +53561,9 @@ class BottomGear extends UICorePlugin {
|
|
|
53513
53561
|
this.listenTo(container, Events$1.CONTAINER_CLICK, () => {
|
|
53514
53562
|
this.collapse();
|
|
53515
53563
|
});
|
|
53564
|
+
this.listenTo(container, Events$1.CONTAINER_DESTROYED, () => {
|
|
53565
|
+
this.clickaway(null);
|
|
53566
|
+
});
|
|
53516
53567
|
}
|
|
53517
53568
|
highDefinitionUpdate(isHd) {
|
|
53518
53569
|
this.hd = isHd;
|
|
@@ -53565,6 +53616,11 @@ class BottomGear extends UICorePlugin {
|
|
|
53565
53616
|
this.$el
|
|
53566
53617
|
.find('#gear-button')
|
|
53567
53618
|
.attr('aria-expanded', (!this.collapsed).toString());
|
|
53619
|
+
this.setKeepVisible(!this.collapsed);
|
|
53620
|
+
}
|
|
53621
|
+
setKeepVisible(keepVisible) {
|
|
53622
|
+
this.core.getPlugin('media_control').setKeepVisible(keepVisible);
|
|
53623
|
+
this.clickaway(keepVisible ? this.core.activeContainer.$el[0] : null);
|
|
53568
53624
|
}
|
|
53569
53625
|
collapse() {
|
|
53570
53626
|
this.collapsed = true;
|
|
@@ -53572,6 +53628,7 @@ class BottomGear extends UICorePlugin {
|
|
|
53572
53628
|
this.$el.find('#gear-button').attr('aria-expanded', 'false');
|
|
53573
53629
|
// TODO hide submenus
|
|
53574
53630
|
this.collapseSubmenus();
|
|
53631
|
+
this.setKeepVisible(false);
|
|
53575
53632
|
}
|
|
53576
53633
|
onCoreReady() {
|
|
53577
53634
|
const mediaControl = this.core.getPlugin('media_control');
|
|
@@ -53604,6 +53661,7 @@ class BottomGear extends UICorePlugin {
|
|
|
53604
53661
|
.find('.gear-sub-menu')
|
|
53605
53662
|
.css('max-height', `${availableHeight - MENU_BACKLINK_HEIGHT}px`);
|
|
53606
53663
|
}
|
|
53664
|
+
clickaway = mediaControlClickaway(() => this.collapse());
|
|
53607
53665
|
}
|
|
53608
53666
|
|
|
53609
53667
|
/**
|
|
@@ -58129,9 +58187,9 @@ const buttonHtml$1 = "<button class='gplayer-lite-btn gcore-skin-text-color gear
|
|
|
58129
58187
|
|
|
58130
58188
|
const listHtml$1 = "<button class=\"gplayer-lite-btn go-back gcore-skin-text-color\" id=\"playback-rate-back-button\">\n <span class=\"arrow-left-icon\"><%= arrowLeftIcon %></span>\n <%= i18n.t('playback_rate') %>\n</button>\n<ul class=\"gear-sub-menu\" id=\"playback-rate-menu\">\n <% for (const item of playbackRates) { %>\n <li<%= item.value === current ? ' class=\"current\"' : '' %>>\n <a href=\"#\" class=\"gear-sub-menu_btn gcore-skin-text-color<%= item.value === current ? ' gcore-skin-active' : '' %>\" data-rate=\"<%= item.value %>\">\n <span class=\"check-icon\"><%= checkIcon %></span>\n <%= item.label %>\n </a>\n </li>\n <% } %>\n</ul>";
|
|
58131
58189
|
|
|
58132
|
-
const speedIcon = "<svg width=\"
|
|
58190
|
+
const speedIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.9854 23.9999C11.4272 23.9999 10.9571 23.5293 10.9571 22.9704C10.9571 22.4115 11.4272 21.9409 11.9854 21.9409C17.4492 21.9409 21.9143 17.4704 21.9143 11.9999C21.9143 6.52948 17.4492 2.05899 11.9854 2.05899C11.4272 2.05899 10.9571 1.58836 10.9571 1.02949C10.9571 0.470625 11.4272 0 11.9854 0C18.5949 0 24 5.38224 24 12.0291C24 18.6766 18.5949 24 11.9854 24V23.9999ZM10.2227 17.853L17.4785 13.4413C18.0072 13.1178 18.301 12.5885 18.301 11.9707C18.301 11.353 17.9779 10.8237 17.4785 10.5002L10.2227 6.08852C9.69405 5.76499 9.01826 5.76499 8.4896 6.05919C7.96094 6.35338 7.60828 6.94157 7.60828 7.5591V16.3824C7.60828 17.0002 7.93142 17.5883 8.4896 17.8824C8.75393 18.0294 9.04779 18.1177 9.34139 18.1177C9.63523 18.1177 9.95838 18.0294 10.2227 17.853V17.853ZM15.9216 11.9707L9.66457 15.7647V8.17661L15.9216 11.9707ZM8.22516 22.3529C8.4602 21.8236 8.25447 21.2058 7.7258 20.9705C7.19714 20.7353 6.69755 20.4413 6.2277 20.0882C5.75764 19.7646 5.11137 19.8822 4.78824 20.3235C4.46509 20.7941 4.58251 21.4412 5.02327 21.7647C5.58146 22.1764 6.19819 22.5293 6.81519 22.8235C6.96211 22.8824 7.10903 22.9117 7.25574 22.9117C7.66699 22.941 8.04893 22.7057 8.22513 22.3528L8.22516 22.3529ZM3.58381 19.0882C4.05387 18.7647 4.17127 18.1177 3.84814 17.647C3.52502 17.1764 3.23115 16.6765 2.99635 16.1471C2.76132 15.6178 2.14456 15.4118 1.6157 15.6472C1.08704 15.8825 0.881306 16.5 1.11634 17.0295C1.41018 17.6472 1.7626 18.2648 2.14459 18.8236C2.35032 19.1178 2.67325 19.2646 2.99638 19.2646C3.20191 19.2942 3.40763 19.2353 3.58384 19.0882L3.58381 19.0882ZM1.14563 13.9707C1.70382 13.9118 2.14435 13.4118 2.08576 12.853C2.05645 12.5588 2.05645 12.2648 2.05645 11.9706C2.05645 11.6764 2.05645 11.4117 2.08576 11.1178C2.14456 10.5589 1.70381 10.059 1.14563 10.0001C0.587439 9.94122 0.0881057 10.3825 0.0293019 10.9414C1.96979e-07 11.2942 0 11.6178 0 11.9709C0 12.3237 0.0293018 12.6768 0.0588091 13.0297C0.117618 13.5589 0.558169 13.9709 1.08706 13.9709C1.08686 13.9707 1.11636 13.9707 1.14567 13.9707L1.14563 13.9707ZM2.96687 7.79432C3.2019 7.26502 3.49553 6.76482 3.81866 6.2944C4.1418 5.82377 4.02439 5.17672 3.55432 4.8532C3.08427 4.52967 2.438 4.64722 2.11486 5.11786C1.73292 5.67672 1.38047 6.2942 1.08661 6.91193C0.851579 7.44123 1.08661 8.05897 1.58597 8.29426C1.73289 8.35314 1.87981 8.38247 2.02652 8.38247C2.40888 8.41181 2.7906 8.1767 2.96686 7.7943L2.96687 7.79432ZM6.22757 3.85328C6.69762 3.52974 7.19696 3.23554 7.69635 2.97089C8.22501 2.73558 8.43074 2.11807 8.19571 1.58857C7.96068 1.05927 7.34392 0.85329 6.81505 1.08861C6.19806 1.3828 5.58128 1.73565 5.02314 2.14741C4.55308 2.47094 4.43568 3.11797 4.78811 3.5886C4.99384 3.8828 5.31676 4.02969 5.6399 4.02969C5.84583 4.05902 6.05135 4.00014 6.22757 3.85325V3.85328Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
|
|
58133
58191
|
|
|
58134
|
-
const arrowRightIcon = "<svg width=\"
|
|
58192
|
+
const arrowRightIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.70725 20.7073C8.51225 20.9023 8.25625 21.0002 8.00025 21.0002C7.74425 21.0002 7.48825 20.9023 7.29325 20.7073C6.90225 20.3162 6.90225 19.6842 7.29325 19.2932L14.5863 12.0002L7.29325 4.70725C6.90225 4.31625 6.90225 3.68425 7.29325 3.29325C7.68425 2.90225 8.31625 2.90225 8.70725 3.29325L16.7073 11.2933C17.0983 11.6842 17.0983 12.3162 16.7073 12.7072L8.70725 20.7073Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
|
|
58135
58193
|
|
|
58136
58194
|
const arrowLeftIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M16.7073 19.2932C17.0983 19.6842 17.0983 20.3162 16.7073 20.7073C16.5123 20.9023 16.2563 21.0002 16.0003 21.0002C15.7443 21.0002 15.4882 20.9023 15.2933 20.7073L7.29325 12.7072C6.90225 12.3162 6.90225 11.6842 7.29325 11.2933L15.2933 3.29325C15.6842 2.90225 16.3163 2.90225 16.7073 3.29325C17.0983 3.68425 17.0983 4.31625 16.7073 4.70725L9.41425 12.0002L16.7073 19.2932Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
|
|
58137
58195
|
|
|
@@ -58651,7 +58709,7 @@ const buttonHtml = "<button class='gplayer-lite-btn gcore-skin-text-color gear-o
|
|
|
58651
58709
|
|
|
58652
58710
|
const listHtml = "<button class=\"gplayer-lite-btn go-back gcore-skin-text-color\" id=\"level-selector-back-button\">\n <span class=\"arrow-left-icon\"><%= arrowLeftIcon %></span>\n <%= i18n.t('quality') %>\n</button>\n<ul class=\"gear-sub-menu quality-levels\" id=\"level-selector-menu\" role=\"menu\">\n <% if (!removeAuto) { %>\n <li>\n <a href=\"#\"\n class=\"gear-sub-menu_btn gcore-skin-text-color\"\n data-id=\"-1\"\n id=\"level_selector_auto\"\n aria-checked=\"<%= current === -1 %>\"\n role=\"menuitemradio\"\n >\n <span class=\"check-icon\"><%= checkIcon %></span>\n <%= i18n.t('auto') %>\n </a>\n </li>\n <% } %>\n <% for (const item of levels.slice().reverse()) {\n var disabled = maxLevel >= 0 && item.level > maxLevel\n var checked = item.level === current\n %>\n <li class=\"<%= disabled ? ' disabled' : ''%><%=checked ? ' current' : ''%>\">\n <a href=\"#\"\n class=\"gear-sub-menu_btn gcore-skin-text-color<%= checked ? ' gcore-skin-active' : '' %>\"\n data-id=\"<%= item.level %>\"\n aria-disabled=\"<%= disabled %>\"\n aria-checked=\"<%= checked %>\"\n role=\"menuitemradio\"\n id=\"level_selector_<%= item.width > item.height ? item.height : item.width %>\"\n >\n <span class=\"check-icon\"><%= checkIcon %></span>\n <%= labels[item.level] %>\n </a>\n </li>\n <% } %>\n</ul>\n";
|
|
58653
58711
|
|
|
58654
|
-
const hdIcon = "<svg width=\"
|
|
58712
|
+
const hdIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.9562 8.22232H13.9961V15.1873H14.9562C15.8914 15.1873 16.766 14.8253 17.4195 14.1676C18.0786 13.5037 18.4415 12.6281 18.4415 11.7026C18.4415 9.7837 16.8781 8.22253 14.9561 8.22253L14.9562 8.22232Z\"\n fill=\"#C9C9C9\"/>\n <path\n d=\"M22.0801 4H1.91994C0.859222 4 0 4.86406 0 5.91994V17.4878C0 18.5437 0.859222 19.4078 1.91994 19.4078H22.0801C23.1408 19.4078 24 18.5437 24 17.4878V5.91994C24 4.86406 23.1408 4 22.0801 4ZM10.3975 15.3473C10.3975 15.6124 10.1827 15.8272 9.91754 15.8272C9.65216 15.8272 9.43761 15.6122 9.43761 15.3473V12.0239H5.55956V15.3473C5.55956 15.6124 5.34481 15.8272 5.07963 15.8272C4.81425 15.8272 4.5997 15.6122 4.5997 15.3473L4.59949 7.74042C4.59949 7.47524 4.81425 7.26049 5.07943 7.26049C5.34481 7.26049 5.55936 7.47544 5.55936 7.74042V11.0636H9.43741V7.74042C9.43741 7.47524 9.65216 7.26049 9.91734 7.26049C10.1827 7.26049 10.3973 7.47544 10.3973 7.74042L10.3975 15.3473ZM18.1005 14.8438C17.2652 15.6844 16.1486 16.1472 14.9561 16.1472H13.5161C13.2507 16.1472 13.0361 15.9323 13.0361 15.6673V7.74263C13.0361 7.47745 13.2509 7.26269 13.5161 7.26269H14.9561C17.4072 7.26269 19.4013 9.25438 19.4013 11.7027C19.4013 12.8835 18.9392 13.9991 18.1005 14.844V14.8438Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
|
|
58655
58713
|
|
|
58656
58714
|
// const T = 'plugins.quality_levels'
|
|
58657
58715
|
const VERSION$2 = 'v2.22.5';
|
|
@@ -58789,6 +58847,7 @@ class QualityLevels extends UICorePlugin {
|
|
|
58789
58847
|
*/
|
|
58790
58848
|
render() {
|
|
58791
58849
|
if (!this.shouldRender()) {
|
|
58850
|
+
this.$el.hide();
|
|
58792
58851
|
return this;
|
|
58793
58852
|
}
|
|
58794
58853
|
this.renderDropdown();
|
|
@@ -58808,6 +58867,9 @@ class QualityLevels extends UICorePlugin {
|
|
|
58808
58867
|
}));
|
|
58809
58868
|
}
|
|
58810
58869
|
updateButton() {
|
|
58870
|
+
if (!this.shouldRender()) {
|
|
58871
|
+
return;
|
|
58872
|
+
}
|
|
58811
58873
|
this.core.getPlugin('bottom_gear')
|
|
58812
58874
|
?.addItem('quality', this.$el)
|
|
58813
58875
|
.html(QualityLevels.buttonTemplate({
|
|
@@ -59786,8 +59848,7 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
59786
59848
|
}
|
|
59787
59849
|
get preselectedLanguage() {
|
|
59788
59850
|
return (this.core.options.cc?.language ??
|
|
59789
|
-
this.core.options.subtitles?.language
|
|
59790
|
-
'');
|
|
59851
|
+
this.core.options.subtitles?.language);
|
|
59791
59852
|
}
|
|
59792
59853
|
/**
|
|
59793
59854
|
* @internal
|
|
@@ -59812,6 +59873,9 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
59812
59873
|
onContainerChanged() {
|
|
59813
59874
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_FULLSCREEN, this.onContainerResize);
|
|
59814
59875
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_RESIZE, this.onContainerResize);
|
|
59876
|
+
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_DESTROYED, () => {
|
|
59877
|
+
this.clickaway(null);
|
|
59878
|
+
});
|
|
59815
59879
|
this.listenTo(this.core.activeContainer, 'container:advertisement:start', this.onStartAd);
|
|
59816
59880
|
this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_SUBTITLE_AVAILABLE, this.onSubtitleAvailable);
|
|
59817
59881
|
this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_SUBTITLE_CHANGED, this.onSubtitleChanged);
|
|
@@ -59840,14 +59904,17 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
59840
59904
|
this.applyTracks();
|
|
59841
59905
|
this.mount();
|
|
59842
59906
|
}
|
|
59843
|
-
onSubtitleChanged({ id }) {
|
|
59844
|
-
|
|
59907
|
+
onSubtitleChanged({ id: _ }) {
|
|
59908
|
+
// ignoring the subtitle selected by the playback engine or user agent
|
|
59909
|
+
const id = this.track?.id ?? -1;
|
|
59845
59910
|
if (id === -1) {
|
|
59846
59911
|
this.clearSubtitleText();
|
|
59847
59912
|
}
|
|
59848
59913
|
for (const track of this.tracks) {
|
|
59914
|
+
// Native subtitles are always hidden
|
|
59915
|
+
track.track.mode = 'hidden';
|
|
59849
59916
|
if (track.id === id) {
|
|
59850
|
-
track.track.mode = 'showing'
|
|
59917
|
+
// track.track.mode = 'showing'
|
|
59851
59918
|
this.setSubtitleText(this.getSubtitleText(track.track));
|
|
59852
59919
|
track.track.oncuechange = (e) => {
|
|
59853
59920
|
try {
|
|
@@ -59866,7 +59933,7 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
59866
59933
|
}
|
|
59867
59934
|
else {
|
|
59868
59935
|
track.track.oncuechange = null;
|
|
59869
|
-
track.track.mode = 'hidden'
|
|
59936
|
+
// track.track.mode = 'hidden'
|
|
59870
59937
|
}
|
|
59871
59938
|
}
|
|
59872
59939
|
}
|
|
@@ -59995,18 +60062,18 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
59995
60062
|
applyPreselectedSubtitles() {
|
|
59996
60063
|
if (!this.isPreselectedApplied) {
|
|
59997
60064
|
this.isPreselectedApplied = true;
|
|
59998
|
-
if
|
|
59999
|
-
|
|
60000
|
-
}
|
|
60065
|
+
// if the language is undefined, then let the engine decide
|
|
60066
|
+
// to hide the subtitles forcefully, set the language to 'none'
|
|
60001
60067
|
setTimeout(() => {
|
|
60002
60068
|
this.selectItem(this.tracks.find((t) => t.track.language === this.preselectedLanguage) ?? null);
|
|
60003
|
-
},
|
|
60069
|
+
}, 0);
|
|
60004
60070
|
}
|
|
60005
60071
|
}
|
|
60006
60072
|
hideMenu() {
|
|
60007
60073
|
this.open = false;
|
|
60008
60074
|
this.$el.find('#gplayer-cc-menu').hide();
|
|
60009
60075
|
this.$el.find('#gplayer-cc-button').attr('aria-expanded', 'false');
|
|
60076
|
+
this.setKeepVisible(false);
|
|
60010
60077
|
}
|
|
60011
60078
|
toggleMenu() {
|
|
60012
60079
|
this.core
|
|
@@ -60020,6 +60087,13 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
60020
60087
|
this.$el.find('#gplayer-cc-menu').hide();
|
|
60021
60088
|
}
|
|
60022
60089
|
this.$el.find('#gplayer-cc-button').attr('aria-expanded', this.open);
|
|
60090
|
+
this.setKeepVisible(this.open);
|
|
60091
|
+
}
|
|
60092
|
+
setKeepVisible(keepVisible) {
|
|
60093
|
+
if (this.shouldKeepVisible) {
|
|
60094
|
+
this.core.getPlugin('media_control').setKeepVisible(keepVisible);
|
|
60095
|
+
this.clickaway(keepVisible ? this.core.activeContainer.$el[0] : null);
|
|
60096
|
+
}
|
|
60023
60097
|
}
|
|
60024
60098
|
itemElement(id) {
|
|
60025
60099
|
// TODO fix semantically
|
|
@@ -60029,8 +60103,10 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
60029
60103
|
return this.$el.find('#gplayer-cc-menu li'); // TODO fix semantically
|
|
60030
60104
|
}
|
|
60031
60105
|
selectSubtitles() {
|
|
60032
|
-
|
|
60033
|
-
|
|
60106
|
+
this.track ? this.track.id : -1;
|
|
60107
|
+
// TODO find out if this is needed
|
|
60108
|
+
// this.core.activePlayback.closedCaptionsTrackId = trackId
|
|
60109
|
+
this.core.activePlayback.closedCaptionsTrackId = -1;
|
|
60034
60110
|
}
|
|
60035
60111
|
getSubtitleText(track) {
|
|
60036
60112
|
const currentTime = this.core.activePlayback?.getCurrentTime() ?? 0;
|
|
@@ -60092,6 +60168,10 @@ class ClosedCaptions extends UICorePlugin {
|
|
|
60092
60168
|
mediaControl.slot('cc', this.$el);
|
|
60093
60169
|
}
|
|
60094
60170
|
}
|
|
60171
|
+
get shouldKeepVisible() {
|
|
60172
|
+
return !!this.options.cc?.keepVisible;
|
|
60173
|
+
}
|
|
60174
|
+
clickaway = mediaControlClickaway(() => this.hideMenu());
|
|
60095
60175
|
}
|
|
60096
60176
|
|
|
60097
60177
|
// An example implementation of client side performancestatistics
|
|
@@ -56,6 +56,7 @@ export declare class AudioTracks extends UICorePlugin {
|
|
|
56
56
|
private selectAudioTrack;
|
|
57
57
|
private hideMenu;
|
|
58
58
|
private toggleMenu;
|
|
59
|
+
private setKeepVisible;
|
|
59
60
|
private buttonElement;
|
|
60
61
|
private buttonElementText;
|
|
61
62
|
private trackElement;
|
|
@@ -64,5 +65,6 @@ export declare class AudioTracks extends UICorePlugin {
|
|
|
64
65
|
private updateText;
|
|
65
66
|
private highlightCurrentTrack;
|
|
66
67
|
private mount;
|
|
68
|
+
private clickaway;
|
|
67
69
|
}
|
|
68
70
|
//# sourceMappingURL=AudioTracks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioTracks.d.ts","sourceRoot":"","sources":["../../../src/plugins/audio-selector/AudioTracks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAY,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AudioTracks.d.ts","sourceRoot":"","sources":["../../../src/plugins/audio-selector/AudioTracks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAY,MAAM,cAAc,CAAA;AAiB7D;;;;;;;;;GASG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,YAAY,CAA0B;IAE9C,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,MAAM,CAAmB;IAEjC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD;;OAEG;IACH,IAAa,UAAU;;MAItB;IAED;;OAEG;IACH,IAAa,MAAM;;;MAKlB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,wBAAwB;IAgChC,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACM,MAAM;IAgBf,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,SAAS,CAA+C;CACjE"}
|
|
@@ -5,6 +5,7 @@ import { CLAPPR_VERSION } from '../../build.js';
|
|
|
5
5
|
import pluginHtml from '../../../assets/audio-tracks/template.ejs';
|
|
6
6
|
import audioArrow from '../../../assets/icons/old/quality-arrow.svg';
|
|
7
7
|
import { ExtendedEvents } from '../media-control/MediaControl.js';
|
|
8
|
+
import { mediaControlClickaway } from '../../utils/clickaway.js';
|
|
8
9
|
const VERSION = '2.22.4';
|
|
9
10
|
// const T = 'plugins.audiotracks'
|
|
10
11
|
/**
|
|
@@ -97,6 +98,9 @@ export class AudioTracks extends UICorePlugin {
|
|
|
97
98
|
this.listenTo(this.core.activeContainer, Events.CONTAINER_CLICK, () => {
|
|
98
99
|
this.hideMenu();
|
|
99
100
|
});
|
|
101
|
+
this.listenTo(this.core.activeContainer, Events.CONTAINER_DESTROYED, () => {
|
|
102
|
+
this.clickaway(null);
|
|
103
|
+
});
|
|
100
104
|
}
|
|
101
105
|
shouldRender() {
|
|
102
106
|
// Render is called from the parent class constructor so tracks aren't available
|
|
@@ -136,6 +140,7 @@ export class AudioTracks extends UICorePlugin {
|
|
|
136
140
|
this.open = false;
|
|
137
141
|
this.$el.find('#gplayer-audiotracks-menu').hide();
|
|
138
142
|
this.$el.find('#gplayer-audiotracks-button').attr('aria-expanded', 'false');
|
|
143
|
+
this.setKeepVisible(false);
|
|
139
144
|
}
|
|
140
145
|
toggleMenu() {
|
|
141
146
|
this.open = !this.open;
|
|
@@ -151,6 +156,11 @@ export class AudioTracks extends UICorePlugin {
|
|
|
151
156
|
this.$el
|
|
152
157
|
.find('#gplayer-audiotracks-button')
|
|
153
158
|
.attr('aria-expanded', this.open);
|
|
159
|
+
this.setKeepVisible(this.open);
|
|
160
|
+
}
|
|
161
|
+
setKeepVisible(keepVisible) {
|
|
162
|
+
this.core.getPlugin('media_control').setKeepVisible(keepVisible);
|
|
163
|
+
this.clickaway(keepVisible ? this.core.activeContainer.$el[0] : null);
|
|
154
164
|
}
|
|
155
165
|
buttonElement() {
|
|
156
166
|
return this.$('#gplayer-audiotracks-button');
|
|
@@ -196,4 +206,5 @@ export class AudioTracks extends UICorePlugin {
|
|
|
196
206
|
this.core.getPlugin('media_control')?.slot('audiotracks', this.$el);
|
|
197
207
|
}
|
|
198
208
|
}
|
|
209
|
+
clickaway = mediaControlClickaway(() => this.hideMenu());
|
|
199
210
|
}
|
|
@@ -152,10 +152,12 @@ export declare class BottomGear extends UICorePlugin {
|
|
|
152
152
|
refresh(): void;
|
|
153
153
|
private collapseSubmenus;
|
|
154
154
|
private toggleMenu;
|
|
155
|
+
private setKeepVisible;
|
|
155
156
|
private collapse;
|
|
156
157
|
private onCoreReady;
|
|
157
158
|
private onMediaControlRendered;
|
|
158
159
|
private mount;
|
|
159
160
|
private clampPopup;
|
|
161
|
+
private clickaway;
|
|
160
162
|
}
|
|
161
163
|
//# sourceMappingURL=BottomGear.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomGear.d.ts","sourceRoot":"","sources":["../../../src/plugins/bottom-gear/BottomGear.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAKb,MAAM,cAAc,CAAA;AAOrB,OAAO,uCAAuC,CAAA;AAC9C,OAAO,gDAAgD,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"BottomGear.d.ts","sourceRoot":"","sources":["../../../src/plugins/bottom-gear/BottomGear.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAKb,MAAM,cAAc,CAAA;AAOrB,OAAO,uCAAuC,CAAA;AAC9C,OAAO,gDAAgD,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAU5C;;;GAGG;AACH,oBAAY,UAAU;IACpB;;OAEG;IACH,QAAQ,aAAa;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,EAAE,CAAQ;IAElB,OAAO,CAAC,QAAQ,CAAI;IAEpB,OAAO,CAAC,SAAS,CAAO;IAExB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD;;OAEG;IACH,IAAa,UAAU;;MAItB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACM,UAAU;IAInB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW;IAyB1D,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACM,MAAM;IAqBf;;;;OAIG;IACH,OAAO;IAIP,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,SAAS,CAA+C;CACjE"}
|
|
@@ -8,6 +8,7 @@ import '../../../assets/bottom-gear/gear-sub-menu.scss';
|
|
|
8
8
|
import gearIcon from '../../../assets/icons/new/gear.svg';
|
|
9
9
|
import gearHdIcon from '../../../assets/icons/new/gear-hd.svg';
|
|
10
10
|
import { ExtendedEvents } from '../media-control/MediaControl.js';
|
|
11
|
+
import { mediaControlClickaway } from '../../utils/clickaway.js';
|
|
11
12
|
const VERSION = '2.19.12';
|
|
12
13
|
// const T = 'plugins.bottom_gear'
|
|
13
14
|
const MENU_BACKLINK_HEIGHT = 44;
|
|
@@ -186,6 +187,9 @@ export class BottomGear extends UICorePlugin {
|
|
|
186
187
|
this.listenTo(container, ClapprEvents.CONTAINER_CLICK, () => {
|
|
187
188
|
this.collapse();
|
|
188
189
|
});
|
|
190
|
+
this.listenTo(container, ClapprEvents.CONTAINER_DESTROYED, () => {
|
|
191
|
+
this.clickaway(null);
|
|
192
|
+
});
|
|
189
193
|
}
|
|
190
194
|
highDefinitionUpdate(isHd) {
|
|
191
195
|
this.hd = isHd;
|
|
@@ -238,6 +242,11 @@ export class BottomGear extends UICorePlugin {
|
|
|
238
242
|
this.$el
|
|
239
243
|
.find('#gear-button')
|
|
240
244
|
.attr('aria-expanded', (!this.collapsed).toString());
|
|
245
|
+
this.setKeepVisible(!this.collapsed);
|
|
246
|
+
}
|
|
247
|
+
setKeepVisible(keepVisible) {
|
|
248
|
+
this.core.getPlugin('media_control').setKeepVisible(keepVisible);
|
|
249
|
+
this.clickaway(keepVisible ? this.core.activeContainer.$el[0] : null);
|
|
241
250
|
}
|
|
242
251
|
collapse() {
|
|
243
252
|
this.collapsed = true;
|
|
@@ -245,6 +254,7 @@ export class BottomGear extends UICorePlugin {
|
|
|
245
254
|
this.$el.find('#gear-button').attr('aria-expanded', 'false');
|
|
246
255
|
// TODO hide submenus
|
|
247
256
|
this.collapseSubmenus();
|
|
257
|
+
this.setKeepVisible(false);
|
|
248
258
|
}
|
|
249
259
|
onCoreReady() {
|
|
250
260
|
const mediaControl = this.core.getPlugin('media_control');
|
|
@@ -277,4 +287,5 @@ export class BottomGear extends UICorePlugin {
|
|
|
277
287
|
.find('.gear-sub-menu')
|
|
278
288
|
.css('max-height', `${availableHeight - MENU_BACKLINK_HEIGHT}px`);
|
|
279
289
|
}
|
|
290
|
+
clickaway = mediaControlClickaway(() => this.collapse());
|
|
280
291
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityLevels.d.ts","sourceRoot":"","sources":["../../../src/plugins/level-selector/QualityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,cAAc,CAAA;AAgB7D,OAAO,2CAA2C,CAAA;AAMlD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAChB;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAE3E;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,uBAAuB;IAoC/B,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACM,MAAM;
|
|
1
|
+
{"version":3,"file":"QualityLevels.d.ts","sourceRoot":"","sources":["../../../src/plugins/level-selector/QualityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,cAAc,CAAA;AAgB7D,OAAO,2CAA2C,CAAA;AAMlD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAChB;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAE3E;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,uBAAuB;IAoC/B,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACM,MAAM;IAWf,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,YAAY;IAiBpB,OAAO,KAAK,aAAa,GAIxB;IAED,OAAO,KAAK,QAAQ,GASnB;IAED,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,qBAAqB;CAe9B"}
|
|
@@ -146,6 +146,7 @@ export class QualityLevels extends UICorePlugin {
|
|
|
146
146
|
*/
|
|
147
147
|
render() {
|
|
148
148
|
if (!this.shouldRender()) {
|
|
149
|
+
this.$el.hide();
|
|
149
150
|
return this;
|
|
150
151
|
}
|
|
151
152
|
this.renderDropdown();
|
|
@@ -165,6 +166,9 @@ export class QualityLevels extends UICorePlugin {
|
|
|
165
166
|
}));
|
|
166
167
|
}
|
|
167
168
|
updateButton() {
|
|
169
|
+
if (!this.shouldRender()) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
168
172
|
;
|
|
169
173
|
this.core.getPlugin('bottom_gear')
|
|
170
174
|
?.addItem('quality', this.$el)
|
|
@@ -205,6 +205,7 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
205
205
|
constructor(core: Core);
|
|
206
206
|
/**
|
|
207
207
|
* @internal
|
|
208
|
+
* The methods declared here will be exposed via the main player object API
|
|
208
209
|
*/
|
|
209
210
|
getExternalInterface(): {
|
|
210
211
|
setVolume: (value: number, isInitialVolume?: boolean) => void;
|
|
@@ -330,6 +331,15 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
330
331
|
* ```
|
|
331
332
|
*/
|
|
332
333
|
mount(name: MediaControlSlotMountPoint, element: ZeptoResult): void;
|
|
334
|
+
/**
|
|
335
|
+
* Set or reset the keep visibility state
|
|
336
|
+
*
|
|
337
|
+
* Keep visibility state controls whether the media control is hidden automatically after a delay.
|
|
338
|
+
* Keep visibility prevents the the auto-hide behaviour
|
|
339
|
+
*
|
|
340
|
+
* @param keepVisible - The state
|
|
341
|
+
*/
|
|
342
|
+
setKeepVisible(keepVisible: boolean): void;
|
|
333
343
|
private getMountParent;
|
|
334
344
|
/**
|
|
335
345
|
* Toggle the visibility of a media control element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,YAAY,EAMZ,IAAI,EACL,MAAM,cAAc,CAAA;AASrB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAI5C,OAAO,kDAAkD,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
|