Styling tweaks for demo

This commit is contained in:
Sam Potts
2019-06-20 23:50:46 +10:00
parent 97d9228bed
commit 2e40b91ec1
40 changed files with 442 additions and 433 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+21 -19
View File
@@ -657,6 +657,8 @@ typeof navigator === "object" && (function () {
iteratorWithReturn[ITERATOR$2] = function () { iteratorWithReturn[ITERATOR$2] = function () {
return this; return this;
}; };
// eslint-disable-next-line no-throw-literal
Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ } } catch (error) { /* empty */ }
var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) { var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
@@ -677,6 +679,7 @@ typeof navigator === "object" && (function () {
}; };
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
Array.from(iterable);
}); });
// `Array.from` method // `Array.from` method
@@ -910,7 +913,7 @@ typeof navigator === "object" && (function () {
var createIteratorConstructor = function (IteratorConstructor, NAME, next) { var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
var TO_STRING_TAG = NAME + ' Iterator'; var TO_STRING_TAG = NAME + ' Iterator';
IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) }); IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
iterators[TO_STRING_TAG] = returnThis$1; iterators[TO_STRING_TAG] = returnThis$1;
return IteratorConstructor; return IteratorConstructor;
}; };
@@ -985,7 +988,7 @@ typeof navigator === "object" && (function () {
} }
} }
// Set @@toStringTag to native iterators // Set @@toStringTag to native iterators
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
} }
} }
@@ -2262,7 +2265,8 @@ typeof navigator === "object" && (function () {
var url = new URL('b?e=1', 'http://a'); var url = new URL('b?e=1', 'http://a');
var searchParams = url.searchParams; var searchParams = url.searchParams;
url.pathname = 'c%20d'; url.pathname = 'c%20d';
return !searchParams.sort return (isPure && !url.toJSON)
|| !searchParams.sort
|| url.href !== 'http://a/c%20d?e=1' || url.href !== 'http://a/c%20d?e=1'
|| searchParams.get('e') !== '1' || searchParams.get('e') !== '1'
|| String(new URLSearchParams('?a=1')) !== 'a=1' || String(new URLSearchParams('?a=1')) !== 'a=1'
@@ -4974,7 +4978,7 @@ typeof navigator === "object" && (function () {
Promise: PromiseConstructor Promise: PromiseConstructor
}); });
setToStringTag(PromiseConstructor, PROMISE, false, true); setToStringTag(PromiseConstructor, PROMISE, false);
setSpecies(PROMISE); setSpecies(PROMISE);
PromiseWrapper = path[PROMISE]; PromiseWrapper = path[PROMISE];
@@ -5655,7 +5659,7 @@ typeof navigator === "object" && (function () {
}); });
var nativeIsFrozen = Object.isFrozen; var nativeIsFrozen = Object.isFrozen;
var FAILS_ON_PRIMITIVES$1 = fails(function () { }); var FAILS_ON_PRIMITIVES$1 = fails(function () { nativeIsFrozen(1); });
// `Object.isFrozen` method // `Object.isFrozen` method
// https://tc39.github.io/ecma262/#sec-object.isfrozen // https://tc39.github.io/ecma262/#sec-object.isfrozen
@@ -10405,6 +10409,7 @@ typeof navigator === "object" && (function () {
try { try {
for (var s, a = e[Symbol.iterator](); !(r = (s = a.next()).done) && (n.push(s.value), !t || n.length !== t); r = !0) { for (var s, a = e[Symbol.iterator](); !(r = (s = a.next()).done) && (n.push(s.value), !t || n.length !== t); r = !0) {
;
} }
} catch (e) { } catch (e) {
o = !0, i = e; o = !0, i = e;
@@ -11766,6 +11771,8 @@ typeof navigator === "object" && (function () {
iteratorWithReturn$1[ITERATOR$b] = function () { iteratorWithReturn$1[ITERATOR$b] = function () {
return this; return this;
}; };
// eslint-disable-next-line no-throw-literal
Array.from(iteratorWithReturn$1, function () { throw 2; });
} catch (error) { /* empty */ } } catch (error) { /* empty */ }
var checkCorrectnessOfIteration$1 = function (exec, SKIP_CLOSING) { var checkCorrectnessOfIteration$1 = function (exec, SKIP_CLOSING) {
@@ -11786,6 +11793,7 @@ typeof navigator === "object" && (function () {
}; };
var INCORRECT_ITERATION$2 = !checkCorrectnessOfIteration$1(function (iterable) { var INCORRECT_ITERATION$2 = !checkCorrectnessOfIteration$1(function (iterable) {
Array.from(iterable);
}); });
// `Array.from` method // `Array.from` method
@@ -11877,7 +11885,7 @@ typeof navigator === "object" && (function () {
var createIteratorConstructor$1 = function (IteratorConstructor, NAME, next) { var createIteratorConstructor$1 = function (IteratorConstructor, NAME, next) {
var TO_STRING_TAG = NAME + ' Iterator'; var TO_STRING_TAG = NAME + ' Iterator';
IteratorConstructor.prototype = objectCreate$1(IteratorPrototype$4, { next: createPropertyDescriptor$1(1, next) }); IteratorConstructor.prototype = objectCreate$1(IteratorPrototype$4, { next: createPropertyDescriptor$1(1, next) });
setToStringTag$1(IteratorConstructor, TO_STRING_TAG, false, true); setToStringTag$1(IteratorConstructor, TO_STRING_TAG, false);
iterators$1[TO_STRING_TAG] = returnThis$4; iterators$1[TO_STRING_TAG] = returnThis$4;
return IteratorConstructor; return IteratorConstructor;
}; };
@@ -11952,7 +11960,7 @@ typeof navigator === "object" && (function () {
} }
} }
// Set @@toStringTag to native iterators // Set @@toStringTag to native iterators
setToStringTag$1(CurrentIteratorPrototype, TO_STRING_TAG, true, true); setToStringTag$1(CurrentIteratorPrototype, TO_STRING_TAG, true);
} }
} }
@@ -13165,7 +13173,8 @@ typeof navigator === "object" && (function () {
var url = new URL('b?e=1', 'http://a'); var url = new URL('b?e=1', 'http://a');
var searchParams = url.searchParams; var searchParams = url.searchParams;
url.pathname = 'c%20d'; url.pathname = 'c%20d';
return !searchParams.sort return (isPure$1 && !url.toJSON)
|| !searchParams.sort
|| url.href !== 'http://a/c%20d?e=1' || url.href !== 'http://a/c%20d?e=1'
|| searchParams.get('e') !== '1' || searchParams.get('e') !== '1'
|| String(new URLSearchParams('?a=1')) !== 'a=1' || String(new URLSearchParams('?a=1')) !== 'a=1'
@@ -15792,7 +15801,7 @@ typeof navigator === "object" && (function () {
Promise: PromiseConstructor$1 Promise: PromiseConstructor$1
}); });
setToStringTag$1(PromiseConstructor$1, PROMISE$1, false, true); setToStringTag$1(PromiseConstructor$1, PROMISE$1, false);
setSpecies$1(PROMISE$1); setSpecies$1(PROMISE$1);
PromiseWrapper$1 = path$1[PROMISE$1]; PromiseWrapper$1 = path$1[PROMISE$1];
@@ -16720,17 +16729,11 @@ typeof navigator === "object" && (function () {
return; return;
} }
var player = this; // Set aspect ratio var player = this; // Set aspect ratio if fixed
if (!is$2.empty(this.config.ratio)) { if (!is$2.empty(this.config.ratio)) {
setAspectRatio.call(player); setAspectRatio.call(player);
} } // Quality
/* else {
player.once('loadedmetadata', () => {
setAspectRatio.call(player);
});
} */
// Quality
Object.defineProperty(player.media, 'quality', { Object.defineProperty(player.media, 'quality', {
@@ -19327,8 +19330,7 @@ typeof navigator === "object" && (function () {
}, },
youtube: { youtube: {
sdk: 'https://www.youtube.com/iframe_api', sdk: 'https://www.youtube.com/iframe_api',
api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}'
}, },
googleIMA: { googleIMA: {
sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js'
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+6 -4
View File
@@ -6,11 +6,9 @@
.button, .button,
.button__count { .button__count {
align-items: center; align-items: center;
background: $color-button-background;
border: 0; border: 0;
border-radius: $border-radius-base; border-radius: $border-radius-base;
box-shadow: 0 1px 1px rgba(#000, 0.1); box-shadow: 0 1px 1px rgba(#000, 0.1);
color: $color-button-text;
display: inline-flex; display: inline-flex;
padding: ($spacing-base * 0.75); padding: ($spacing-base * 0.75);
position: relative; position: relative;
@@ -21,6 +19,8 @@
// Buttons // Buttons
.button { .button {
background: $color-button-background;
color: $color-button-text;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
padding-left: ($spacing-base * 1.25); padding-left: ($spacing-base * 1.25);
padding-right: ($spacing-base * 1.25); padding-right: ($spacing-base * 1.25);
@@ -28,7 +28,7 @@
&:hover, &:hover,
&:focus { &:focus {
color: $color-button-text-hover; background: $color-button-background-hover;
// Remove the underline/border // Remove the underline/border
&::after { &::after {
@@ -65,12 +65,14 @@
// Count bubble // Count bubble
.button__count { .button__count {
animation: fadein 0.2s ease; animation: fadein 0.2s ease;
background: $color-button-count-background;
color: $color-button-count-text;
margin-left: ($spacing-base * 0.75); margin-left: ($spacing-base * 0.75);
&::before { &::before {
border: $arrow-size solid transparent; border: $arrow-size solid transparent;
border-left-width: 0; border-left-width: 0;
border-right-color: $color-button-background; border-right-color: $color-button-count-background;
content: ''; content: '';
height: 0; height: 0;
position: absolute; position: absolute;
-1
View File
@@ -12,7 +12,6 @@ button.faux-link {
a { a {
border-bottom: 1px dotted currentColor; border-bottom: 1px dotted currentColor;
color: $color-link; color: $color-link;
font-weight: $font-weight-bold;
position: relative; position: relative;
text-decoration: none; text-decoration: none;
transition: all 0.2s ease; transition: all 0.2s ease;
+6 -2
View File
@@ -5,7 +5,7 @@
// Example players // Example players
.plyr { .plyr {
border-radius: $border-radius-base; border-radius: $border-radius-base;
box-shadow: 0 2px 5px rgba(#000, 0.2); box-shadow: 0 2px 15px rgba(#000, 0.1);
margin: $spacing-base auto; margin: $spacing-base auto;
&.plyr--audio { &.plyr--audio {
@@ -27,6 +27,10 @@
} }
// Style full supported player // Style full supported player
.plyr__cite .icon { .plyr__cite {
color: $color-gray-5;
.icon {
margin-right: ceil($spacing-base / 6); margin-right: ceil($spacing-base / 6);
} }
}
+1 -2
View File
@@ -35,11 +35,10 @@ main {
aside { aside {
align-items: center; align-items: center;
background: #fff; background: #fff;
color: $gray;
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
justify-content: center; justify-content: center;
padding: ($spacing-base * 0.75); padding: $spacing-base;
position: relative; position: relative;
text-align: center; text-align: center;
text-shadow: none; text-shadow: none;
+26 -12
View File
@@ -2,27 +2,41 @@
// Colors // Colors
// ========================================================================== // ==========================================================================
// Greyscale // Grayscale
$gray-dark: #343f4a; $color-gray-9: hsl(210, 15%, 16%);
$gray: #55646b; $color-gray-8: lighten($color-gray-9, 9%);
$color-gray-7: lighten($color-gray-8, 9%);
$color-gray-6: lighten($color-gray-7, 9%);
$color-gray-5: lighten($color-gray-6, 9%);
$color-gray-4: lighten($color-gray-5, 9%);
$color-gray-3: lighten($color-gray-4, 9%);
$color-gray-2: lighten($color-gray-3, 9%);
$color-gray-1: lighten($color-gray-2, 9%);
$color-gray-0: lighten($color-gray-1, 9%);
// Branding
$color-brand-primary: hsl(198, 100%, 50%);
// Text // Text
$color-text: #fff; $color-text: $color-gray-7;
$color-headings: $color-brand-primary;
// Plyr
$color-brand-primary: #1aafff; // #7bc47f
// Brands // Brands
$color-twitter: #4baaf4; $color-twitter: #4baaf4;
// Elements // Elements
$color-link: #fff; $color-link: $color-brand-primary;
$color-background: $color-brand-primary;
// Background
$color-background-from: hsl(198, 100%, 94%);
$color-background-to: hsl(198, 100%, 98%);
// Buttons // Buttons
$color-button-background: #fff; $color-button-background: $color-brand-primary;
$color-button-text: $gray; $color-button-text: #fff;
$color-button-text-hover: $gray-dark; $color-button-background-hover: hsl(198, 100%, 55%);
$color-button-count-background: #fff;
$color-button-count-text: $color-gray-6;
// Focus // Focus
$tab-focus-default-color: #fff; $tab-focus-default-color: #fff;
+1 -1
View File
@@ -9,4 +9,4 @@ $arrow-size: 5px;
$border-radius-base: 4px; $border-radius-base: 4px;
// Background // Background
$page-background: linear-gradient(to left top, lighten($color-background, 10%), darken($color-background, 20%)); $page-background: linear-gradient(to left top, $color-background-from, $color-background-to);
+3
View File
@@ -14,6 +14,9 @@ $plyr-font-size-badges: 9px;
// Other // Other
$plyr-font-smoothing: true; $plyr-font-smoothing: true;
// Colors
$plyr-color-main: $color-brand-primary;
// Captions // Captions
$plyr-font-size-captions-base: $plyr-font-size-base; $plyr-font-size-captions-base: $plyr-font-size-base;
$plyr-font-size-captions-small: $plyr-font-size-small; $plyr-font-size-captions-small: $plyr-font-size-small;
-1
View File
@@ -14,7 +14,6 @@ body {
font-family: $font-sans-serif; font-family: $font-sans-serif;
font-weight: $font-weight-medium; font-weight: $font-weight-medium;
line-height: $line-height-base; line-height: $line-height-base;
text-shadow: 0 1px 1px rgba(#000, 0.15);
} }
button, button,
+2 -1
View File
@@ -4,7 +4,8 @@
h1 { h1 {
@include font-size($font-size-h1); @include font-size($font-size-h1);
font-weight: $font-weight-medium; color: $color-headings;
font-weight: $font-weight-bold;
letter-spacing: $letter-spacing-headings; letter-spacing: $letter-spacing-headings;
line-height: 1.2; line-height: 1.2;
margin: 0 0 ($spacing-base * 1.5); margin: 0 0 ($spacing-base * 1.5);
+1 -1
View File
File diff suppressed because one or more lines are too long
+74 -82
View File
@@ -540,6 +540,49 @@ typeof navigator === "object" && (function (global, factory) {
empty: isEmpty$1 empty: isEmpty$1
}; };
// ==========================================================================
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element, delay) {
setTimeout(function () {
try {
// eslint-disable-next-line no-param-reassign
element.hidden = true; // eslint-disable-next-line no-unused-expressions
element.offsetHeight; // eslint-disable-next-line no-param-reassign
element.hidden = false;
} catch (e) {// Do nothing
}
}, delay);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
// ========================================================================== // ==========================================================================
// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
// https://www.youtube.com/watch?v=NPM6172J22g // https://www.youtube.com/watch?v=NPM6172J22g
@@ -903,13 +946,10 @@ typeof navigator === "object" && (function (global, factory) {
if (!is$1.boolean(hide)) { if (!is$1.boolean(hide)) {
hide = !element.hidden; hide = !element.hidden;
} } // eslint-disable-next-line no-param-reassign
if (hide) {
element.setAttribute('hidden', ''); element.hidden = hide;
} else {
element.removeAttribute('hidden');
}
} // Mirror Element.classList.toggle, with IE compatibility for "force" argument } // Mirror Element.classList.toggle, with IE compatibility for "force" argument
function toggleClass(element, className, force) { function toggleClass(element, className, force) {
@@ -1008,47 +1048,6 @@ typeof navigator === "object" && (function (global, factory) {
} }
} }
// ==========================================================================
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element) {
setTimeout(function () {
try {
toggleHidden(element, true);
element.offsetHeight; // eslint-disable-line
toggleHidden(element, false);
} catch (e) {// Do nothing
}
}, 0);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
var defaultCodecs = { var defaultCodecs = {
'audio/ogg': 'vorbis', 'audio/ogg': 'vorbis',
'audio/wav': '1', 'audio/wav': '1',
@@ -1172,12 +1171,8 @@ typeof navigator === "object" && (function (global, factory) {
} }
function getAspectRatio(input) { function getAspectRatio(input) {
var parse = function parse(ratio) { var parse = function parse(ratio) {
if (!validateRatio(ratio)) { return validateRatio(ratio) ? ratio.split(':').map(Number) : null;
return null; }; // Try provided ratio
}
return ratio.split(':').map(Number);
}; // Provided ratio
var ratio = parse(input); // Get from config var ratio = parse(input); // Get from config
@@ -1264,9 +1259,12 @@ typeof navigator === "object" && (function (global, factory) {
return; return;
} }
var player = this; // Set aspect ratio if set var player = this; // Set aspect ratio if fixed
if (!is$1.empty(this.config.ratio)) {
setAspectRatio.call(player);
} // Quality
setAspectRatio.call(player); // Quality
Object.defineProperty(player.media, 'quality', { Object.defineProperty(player.media, 'quality', {
get: function get() { get: function get() {
@@ -3704,7 +3702,8 @@ typeof navigator === "object" && (function (global, factory) {
controls: ['play-large', // 'restart', controls: ['play-large', // 'restart',
// 'rewind', // 'rewind',
'play', // 'fast-forward', 'play', // 'fast-forward',
'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download', 'progress', 'current-time', // 'duration',
'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download',
'fullscreen'], 'fullscreen'],
settings: ['captions', 'quality', 'speed'], settings: ['captions', 'quality', 'speed'],
// Localisation // Localisation
@@ -3762,8 +3761,7 @@ typeof navigator === "object" && (function (global, factory) {
}, },
youtube: { youtube: {
sdk: 'https://www.youtube.com/iframe_api', sdk: 'https://www.youtube.com/iframe_api',
api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}'
}, },
googleIMA: { googleIMA: {
sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js'
@@ -4048,8 +4046,6 @@ typeof navigator === "object" && (function (global, factory) {
} }
function toggleFallback() { function toggleFallback() {
var _this = this;
var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
// Store or restore scroll position // Store or restore scroll position
@@ -4089,12 +4085,7 @@ typeof navigator === "object" && (function (global, factory) {
viewport.content = viewport.content.split(',').filter(function (part) { viewport.content = viewport.content.split(',').filter(function (part) {
return part.trim() !== property; return part.trim() !== property;
}).join(','); }).join(',');
} // Force a repaint as sometimes Safari doesn't want to fill the screen }
setTimeout(function () {
return repaint(_this.target);
}, 100);
} // Toggle button and fire events } // Toggle button and fire events
@@ -4105,7 +4096,7 @@ typeof navigator === "object" && (function (global, factory) {
/*#__PURE__*/ /*#__PURE__*/
function () { function () {
function Fullscreen(player) { function Fullscreen(player) {
var _this2 = this; var _this = this;
_classCallCheck(this, Fullscreen); _classCallCheck(this, Fullscreen);
@@ -4125,16 +4116,16 @@ typeof navigator === "object" && (function (global, factory) {
on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () { on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () {
// TODO: Filter for target?? // TODO: Filter for target??
onChange.call(_this2); onChange.call(_this);
}); // Fullscreen toggle on double click }); // Fullscreen toggle on double click
on.call(this.player, this.player.elements.container, 'dblclick', function (event) { on.call(this.player, this.player.elements.container, 'dblclick', function (event) {
// Ignore double click in controls // Ignore double click in controls
if (is$1.element(_this2.player.elements.controls) && _this2.player.elements.controls.contains(event.target)) { if (is$1.element(_this.player.elements.controls) && _this.player.elements.controls.contains(event.target)) {
return; return;
} }
_this2.toggle(); _this.toggle();
}); // Update the UI }); // Update the UI
this.update(); this.update();
@@ -4808,15 +4799,7 @@ typeof navigator === "object" && (function (global, factory) {
timers.controls = setTimeout(function () { timers.controls = setTimeout(function () {
return ui.toggleControls.call(player, false); return ui.toggleControls.call(player, false);
}, delay); }, delay);
}); // Force edge to repaint on exit fullscreen }); // Set a gutter for Vimeo
// TODO: Fix weird bug where Edge doesn't re-draw when exiting fullscreen
/* if (browser.isEdge) {
on.call(player, elements.container, 'exitfullscreen', () => {
setTimeout(() => repaint(elements.container), 100);
});
} */
// Set a gutter for Vimeo
var setGutter = function setGutter(ratio, padding, toggle) { var setGutter = function setGutter(ratio, padding, toggle) {
if (!player.isVimeo) { if (!player.isVimeo) {
@@ -4858,9 +4841,14 @@ typeof navigator === "object" && (function (global, factory) {
on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) {
var _player$fullscreen = player.fullscreen, var _player$fullscreen = player.fullscreen,
target = _player$fullscreen.target, target = _player$fullscreen.target,
usingNative = _player$fullscreen.usingNative; // Ignore for iOS native usingNative = _player$fullscreen.usingNative; // Ignore events not from target
if (!player.isEmbed || target !== elements.container) { if (target !== elements.container) {
return;
} // If it's not an embed and no ratio specified
if (!player.isEmbed && is$1.empty(player.config.ratio)) {
return; return;
} }
@@ -7127,7 +7115,11 @@ typeof navigator === "object" && (function (global, factory) {
} }
this.getThumbnails().then(function () { this.getThumbnails().then(function () {
// Render DOM elements if (!_this.enabled) {
return;
} // Render DOM elements
_this.render(); // Check to see if thumb container size was specified manually in CSS _this.render(); // Check to see if thumb container size was specified manually in CSS
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+74 -82
View File
@@ -534,6 +534,49 @@ var is$1 = {
empty: isEmpty$1 empty: isEmpty$1
}; };
// ==========================================================================
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element, delay) {
setTimeout(function () {
try {
// eslint-disable-next-line no-param-reassign
element.hidden = true; // eslint-disable-next-line no-unused-expressions
element.offsetHeight; // eslint-disable-next-line no-param-reassign
element.hidden = false;
} catch (e) {// Do nothing
}
}, delay);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
// ========================================================================== // ==========================================================================
// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
// https://www.youtube.com/watch?v=NPM6172J22g // https://www.youtube.com/watch?v=NPM6172J22g
@@ -897,13 +940,10 @@ function toggleHidden(element, hidden) {
if (!is$1.boolean(hide)) { if (!is$1.boolean(hide)) {
hide = !element.hidden; hide = !element.hidden;
} } // eslint-disable-next-line no-param-reassign
if (hide) {
element.setAttribute('hidden', ''); element.hidden = hide;
} else {
element.removeAttribute('hidden');
}
} // Mirror Element.classList.toggle, with IE compatibility for "force" argument } // Mirror Element.classList.toggle, with IE compatibility for "force" argument
function toggleClass(element, className, force) { function toggleClass(element, className, force) {
@@ -1002,47 +1042,6 @@ function setFocus() {
} }
} }
// ==========================================================================
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element) {
setTimeout(function () {
try {
toggleHidden(element, true);
element.offsetHeight; // eslint-disable-line
toggleHidden(element, false);
} catch (e) {// Do nothing
}
}, 0);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
var defaultCodecs = { var defaultCodecs = {
'audio/ogg': 'vorbis', 'audio/ogg': 'vorbis',
'audio/wav': '1', 'audio/wav': '1',
@@ -1166,12 +1165,8 @@ function reduceAspectRatio(ratio) {
} }
function getAspectRatio(input) { function getAspectRatio(input) {
var parse = function parse(ratio) { var parse = function parse(ratio) {
if (!validateRatio(ratio)) { return validateRatio(ratio) ? ratio.split(':').map(Number) : null;
return null; }; // Try provided ratio
}
return ratio.split(':').map(Number);
}; // Provided ratio
var ratio = parse(input); // Get from config var ratio = parse(input); // Get from config
@@ -1258,9 +1253,12 @@ var html5 = {
return; return;
} }
var player = this; // Set aspect ratio if set var player = this; // Set aspect ratio if fixed
if (!is$1.empty(this.config.ratio)) {
setAspectRatio.call(player);
} // Quality
setAspectRatio.call(player); // Quality
Object.defineProperty(player.media, 'quality', { Object.defineProperty(player.media, 'quality', {
get: function get() { get: function get() {
@@ -3698,7 +3696,8 @@ var defaults$1 = {
controls: ['play-large', // 'restart', controls: ['play-large', // 'restart',
// 'rewind', // 'rewind',
'play', // 'fast-forward', 'play', // 'fast-forward',
'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download', 'progress', 'current-time', // 'duration',
'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download',
'fullscreen'], 'fullscreen'],
settings: ['captions', 'quality', 'speed'], settings: ['captions', 'quality', 'speed'],
// Localisation // Localisation
@@ -3756,8 +3755,7 @@ var defaults$1 = {
}, },
youtube: { youtube: {
sdk: 'https://www.youtube.com/iframe_api', sdk: 'https://www.youtube.com/iframe_api',
api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}'
}, },
googleIMA: { googleIMA: {
sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js'
@@ -4042,8 +4040,6 @@ function onChange() {
} }
function toggleFallback() { function toggleFallback() {
var _this = this;
var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
// Store or restore scroll position // Store or restore scroll position
@@ -4083,12 +4079,7 @@ function toggleFallback() {
viewport.content = viewport.content.split(',').filter(function (part) { viewport.content = viewport.content.split(',').filter(function (part) {
return part.trim() !== property; return part.trim() !== property;
}).join(','); }).join(',');
} // Force a repaint as sometimes Safari doesn't want to fill the screen }
setTimeout(function () {
return repaint(_this.target);
}, 100);
} // Toggle button and fire events } // Toggle button and fire events
@@ -4099,7 +4090,7 @@ var Fullscreen =
/*#__PURE__*/ /*#__PURE__*/
function () { function () {
function Fullscreen(player) { function Fullscreen(player) {
var _this2 = this; var _this = this;
_classCallCheck(this, Fullscreen); _classCallCheck(this, Fullscreen);
@@ -4119,16 +4110,16 @@ function () {
on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () { on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () {
// TODO: Filter for target?? // TODO: Filter for target??
onChange.call(_this2); onChange.call(_this);
}); // Fullscreen toggle on double click }); // Fullscreen toggle on double click
on.call(this.player, this.player.elements.container, 'dblclick', function (event) { on.call(this.player, this.player.elements.container, 'dblclick', function (event) {
// Ignore double click in controls // Ignore double click in controls
if (is$1.element(_this2.player.elements.controls) && _this2.player.elements.controls.contains(event.target)) { if (is$1.element(_this.player.elements.controls) && _this.player.elements.controls.contains(event.target)) {
return; return;
} }
_this2.toggle(); _this.toggle();
}); // Update the UI }); // Update the UI
this.update(); this.update();
@@ -4802,15 +4793,7 @@ function () {
timers.controls = setTimeout(function () { timers.controls = setTimeout(function () {
return ui.toggleControls.call(player, false); return ui.toggleControls.call(player, false);
}, delay); }, delay);
}); // Force edge to repaint on exit fullscreen }); // Set a gutter for Vimeo
// TODO: Fix weird bug where Edge doesn't re-draw when exiting fullscreen
/* if (browser.isEdge) {
on.call(player, elements.container, 'exitfullscreen', () => {
setTimeout(() => repaint(elements.container), 100);
});
} */
// Set a gutter for Vimeo
var setGutter = function setGutter(ratio, padding, toggle) { var setGutter = function setGutter(ratio, padding, toggle) {
if (!player.isVimeo) { if (!player.isVimeo) {
@@ -4852,9 +4835,14 @@ function () {
on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) {
var _player$fullscreen = player.fullscreen, var _player$fullscreen = player.fullscreen,
target = _player$fullscreen.target, target = _player$fullscreen.target,
usingNative = _player$fullscreen.usingNative; // Ignore for iOS native usingNative = _player$fullscreen.usingNative; // Ignore events not from target
if (!player.isEmbed || target !== elements.container) { if (target !== elements.container) {
return;
} // If it's not an embed and no ratio specified
if (!player.isEmbed && is$1.empty(player.config.ratio)) {
return; return;
} }
@@ -7121,7 +7109,11 @@ function () {
} }
this.getThumbnails().then(function () { this.getThumbnails().then(function () {
// Render DOM elements if (!_this.enabled) {
return;
} // Render DOM elements
_this.render(); // Check to see if thumb container size was specified manually in CSS _this.render(); // Check to see if thumb container size was specified manually in CSS
+81 -85
View File
@@ -1087,7 +1087,7 @@ typeof navigator === "object" && (function (global, factory) {
var createIteratorConstructor = function (IteratorConstructor, NAME, next) { var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
var TO_STRING_TAG = NAME + ' Iterator'; var TO_STRING_TAG = NAME + ' Iterator';
IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) }); IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
iterators[TO_STRING_TAG] = returnThis$1; iterators[TO_STRING_TAG] = returnThis$1;
return IteratorConstructor; return IteratorConstructor;
}; };
@@ -1162,7 +1162,7 @@ typeof navigator === "object" && (function (global, factory) {
} }
} }
// Set @@toStringTag to native iterators // Set @@toStringTag to native iterators
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
} }
} }
@@ -2074,7 +2074,8 @@ typeof navigator === "object" && (function (global, factory) {
var url = new URL('b?e=1', 'http://a'); var url = new URL('b?e=1', 'http://a');
var searchParams = url.searchParams; var searchParams = url.searchParams;
url.pathname = 'c%20d'; url.pathname = 'c%20d';
return !searchParams.sort return (isPure && !url.toJSON)
|| !searchParams.sort
|| url.href !== 'http://a/c%20d?e=1' || url.href !== 'http://a/c%20d?e=1'
|| searchParams.get('e') !== '1' || searchParams.get('e') !== '1'
|| String(new URLSearchParams('?a=1')) !== 'a=1' || String(new URLSearchParams('?a=1')) !== 'a=1'
@@ -4312,6 +4313,8 @@ typeof navigator === "object" && (function (global, factory) {
iteratorWithReturn[ITERATOR$7] = function () { iteratorWithReturn[ITERATOR$7] = function () {
return this; return this;
}; };
// eslint-disable-next-line no-throw-literal
Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ } } catch (error) { /* empty */ }
var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) { var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
@@ -4332,6 +4335,7 @@ typeof navigator === "object" && (function (global, factory) {
}; };
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
Array.from(iterable);
}); });
// `Array.from` method // `Array.from` method
@@ -5944,7 +5948,7 @@ typeof navigator === "object" && (function (global, factory) {
Promise: PromiseConstructor Promise: PromiseConstructor
}); });
setToStringTag(PromiseConstructor, PROMISE, false, true); setToStringTag(PromiseConstructor, PROMISE, false);
setSpecies(PROMISE); setSpecies(PROMISE);
PromiseWrapper = path[PROMISE]; PromiseWrapper = path[PROMISE];
@@ -6156,6 +6160,48 @@ typeof navigator === "object" && (function (global, factory) {
empty: isEmpty$1 empty: isEmpty$1
}; };
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element, delay) {
setTimeout(function () {
try {
// eslint-disable-next-line no-param-reassign
element.hidden = true; // eslint-disable-next-line no-unused-expressions
element.offsetHeight; // eslint-disable-next-line no-param-reassign
element.hidden = false;
} catch (e) {// Do nothing
}
}, delay);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
// https://www.youtube.com/watch?v=NPM6172J22g // https://www.youtube.com/watch?v=NPM6172J22g
@@ -6518,13 +6564,10 @@ typeof navigator === "object" && (function (global, factory) {
if (!is$1.boolean(hide)) { if (!is$1.boolean(hide)) {
hide = !element.hidden; hide = !element.hidden;
} } // eslint-disable-next-line no-param-reassign
if (hide) {
element.setAttribute('hidden', ''); element.hidden = hide;
} else {
element.removeAttribute('hidden');
}
} // Mirror Element.classList.toggle, with IE compatibility for "force" argument } // Mirror Element.classList.toggle, with IE compatibility for "force" argument
function toggleClass(element, className, force) { function toggleClass(element, className, force) {
@@ -6623,46 +6666,6 @@ typeof navigator === "object" && (function (global, factory) {
} }
} }
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element) {
setTimeout(function () {
try {
toggleHidden(element, true);
element.offsetHeight; // eslint-disable-line
toggleHidden(element, false);
} catch (e) {// Do nothing
}
}, 0);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
var defaultCodecs = { var defaultCodecs = {
'audio/ogg': 'vorbis', 'audio/ogg': 'vorbis',
'audio/wav': '1', 'audio/wav': '1',
@@ -6786,12 +6789,8 @@ typeof navigator === "object" && (function (global, factory) {
} }
function getAspectRatio(input) { function getAspectRatio(input) {
var parse = function parse(ratio) { var parse = function parse(ratio) {
if (!validateRatio(ratio)) { return validateRatio(ratio) ? ratio.split(':').map(Number) : null;
return null; }; // Try provided ratio
}
return ratio.split(':').map(Number);
}; // Provided ratio
var ratio = parse(input); // Get from config var ratio = parse(input); // Get from config
@@ -6877,9 +6876,12 @@ typeof navigator === "object" && (function (global, factory) {
return; return;
} }
var player = this; // Set aspect ratio if set var player = this; // Set aspect ratio if fixed
if (!is$1.empty(this.config.ratio)) {
setAspectRatio.call(player);
} // Quality
setAspectRatio.call(player); // Quality
Object.defineProperty(player.media, 'quality', { Object.defineProperty(player.media, 'quality', {
get: function get() { get: function get() {
@@ -9379,7 +9381,8 @@ typeof navigator === "object" && (function (global, factory) {
controls: ['play-large', // 'restart', controls: ['play-large', // 'restart',
// 'rewind', // 'rewind',
'play', // 'fast-forward', 'play', // 'fast-forward',
'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download', 'progress', 'current-time', // 'duration',
'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download',
'fullscreen'], 'fullscreen'],
settings: ['captions', 'quality', 'speed'], settings: ['captions', 'quality', 'speed'],
// Localisation // Localisation
@@ -9437,8 +9440,7 @@ typeof navigator === "object" && (function (global, factory) {
}, },
youtube: { youtube: {
sdk: 'https://www.youtube.com/iframe_api', sdk: 'https://www.youtube.com/iframe_api',
api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}'
}, },
googleIMA: { googleIMA: {
sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js'
@@ -9723,8 +9725,6 @@ typeof navigator === "object" && (function (global, factory) {
} }
function toggleFallback() { function toggleFallback() {
var _this = this;
var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
// Store or restore scroll position // Store or restore scroll position
@@ -9764,12 +9764,7 @@ typeof navigator === "object" && (function (global, factory) {
viewport.content = viewport.content.split(',').filter(function (part) { viewport.content = viewport.content.split(',').filter(function (part) {
return part.trim() !== property; return part.trim() !== property;
}).join(','); }).join(',');
} // Force a repaint as sometimes Safari doesn't want to fill the screen }
setTimeout(function () {
return repaint(_this.target);
}, 100);
} // Toggle button and fire events } // Toggle button and fire events
@@ -9780,7 +9775,7 @@ typeof navigator === "object" && (function (global, factory) {
/*#__PURE__*/ /*#__PURE__*/
function () { function () {
function Fullscreen(player) { function Fullscreen(player) {
var _this2 = this; var _this = this;
_classCallCheck(this, Fullscreen); _classCallCheck(this, Fullscreen);
@@ -9800,16 +9795,16 @@ typeof navigator === "object" && (function (global, factory) {
on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () { on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () {
// TODO: Filter for target?? // TODO: Filter for target??
onChange.call(_this2); onChange.call(_this);
}); // Fullscreen toggle on double click }); // Fullscreen toggle on double click
on.call(this.player, this.player.elements.container, 'dblclick', function (event) { on.call(this.player, this.player.elements.container, 'dblclick', function (event) {
// Ignore double click in controls // Ignore double click in controls
if (is$1.element(_this2.player.elements.controls) && _this2.player.elements.controls.contains(event.target)) { if (is$1.element(_this.player.elements.controls) && _this.player.elements.controls.contains(event.target)) {
return; return;
} }
_this2.toggle(); _this.toggle();
}); // Update the UI }); // Update the UI
this.update(); this.update();
@@ -10495,15 +10490,7 @@ typeof navigator === "object" && (function (global, factory) {
timers.controls = setTimeout(function () { timers.controls = setTimeout(function () {
return ui.toggleControls.call(player, false); return ui.toggleControls.call(player, false);
}, delay); }, delay);
}); // Force edge to repaint on exit fullscreen }); // Set a gutter for Vimeo
// TODO: Fix weird bug where Edge doesn't re-draw when exiting fullscreen
/* if (browser.isEdge) {
on.call(player, elements.container, 'exitfullscreen', () => {
setTimeout(() => repaint(elements.container), 100);
});
} */
// Set a gutter for Vimeo
var setGutter = function setGutter(ratio, padding, toggle) { var setGutter = function setGutter(ratio, padding, toggle) {
if (!player.isVimeo) { if (!player.isVimeo) {
@@ -10545,9 +10532,14 @@ typeof navigator === "object" && (function (global, factory) {
on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) {
var _player$fullscreen = player.fullscreen, var _player$fullscreen = player.fullscreen,
target = _player$fullscreen.target, target = _player$fullscreen.target,
usingNative = _player$fullscreen.usingNative; // Ignore for iOS native usingNative = _player$fullscreen.usingNative; // Ignore events not from target
if (!player.isEmbed || target !== elements.container) { if (target !== elements.container) {
return;
} // If it's not an embed and no ratio specified
if (!player.isEmbed && is$1.empty(player.config.ratio)) {
return; return;
} }
@@ -12903,7 +12895,11 @@ typeof navigator === "object" && (function (global, factory) {
} }
this.getThumbnails().then(function () { this.getThumbnails().then(function () {
// Render DOM elements if (!_this.enabled) {
return;
} // Render DOM elements
_this.render(); // Check to see if thumb container size was specified manually in CSS _this.render(); // Check to see if thumb container size was specified manually in CSS
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+81 -85
View File
@@ -1081,7 +1081,7 @@ var returnThis$1 = function () { return this; };
var createIteratorConstructor = function (IteratorConstructor, NAME, next) { var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
var TO_STRING_TAG = NAME + ' Iterator'; var TO_STRING_TAG = NAME + ' Iterator';
IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) }); IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
iterators[TO_STRING_TAG] = returnThis$1; iterators[TO_STRING_TAG] = returnThis$1;
return IteratorConstructor; return IteratorConstructor;
}; };
@@ -1156,7 +1156,7 @@ var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
} }
} }
// Set @@toStringTag to native iterators // Set @@toStringTag to native iterators
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
} }
} }
@@ -2068,7 +2068,8 @@ var nativeUrl = !fails(function () {
var url = new URL('b?e=1', 'http://a'); var url = new URL('b?e=1', 'http://a');
var searchParams = url.searchParams; var searchParams = url.searchParams;
url.pathname = 'c%20d'; url.pathname = 'c%20d';
return !searchParams.sort return (isPure && !url.toJSON)
|| !searchParams.sort
|| url.href !== 'http://a/c%20d?e=1' || url.href !== 'http://a/c%20d?e=1'
|| searchParams.get('e') !== '1' || searchParams.get('e') !== '1'
|| String(new URLSearchParams('?a=1')) !== 'a=1' || String(new URLSearchParams('?a=1')) !== 'a=1'
@@ -4306,6 +4307,8 @@ try {
iteratorWithReturn[ITERATOR$7] = function () { iteratorWithReturn[ITERATOR$7] = function () {
return this; return this;
}; };
// eslint-disable-next-line no-throw-literal
Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ } } catch (error) { /* empty */ }
var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) { var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
@@ -4326,6 +4329,7 @@ var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
}; };
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
Array.from(iterable);
}); });
// `Array.from` method // `Array.from` method
@@ -5938,7 +5942,7 @@ _export({ global: true, wrap: true, forced: FORCED$3 }, {
Promise: PromiseConstructor Promise: PromiseConstructor
}); });
setToStringTag(PromiseConstructor, PROMISE, false, true); setToStringTag(PromiseConstructor, PROMISE, false);
setSpecies(PROMISE); setSpecies(PROMISE);
PromiseWrapper = path[PROMISE]; PromiseWrapper = path[PROMISE];
@@ -6150,6 +6154,48 @@ var is$1 = {
empty: isEmpty$1 empty: isEmpty$1
}; };
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element, delay) {
setTimeout(function () {
try {
// eslint-disable-next-line no-param-reassign
element.hidden = true; // eslint-disable-next-line no-unused-expressions
element.offsetHeight; // eslint-disable-next-line no-param-reassign
element.hidden = false;
} catch (e) {// Do nothing
}
}, delay);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
// https://www.youtube.com/watch?v=NPM6172J22g // https://www.youtube.com/watch?v=NPM6172J22g
@@ -6512,13 +6558,10 @@ function toggleHidden(element, hidden) {
if (!is$1.boolean(hide)) { if (!is$1.boolean(hide)) {
hide = !element.hidden; hide = !element.hidden;
} } // eslint-disable-next-line no-param-reassign
if (hide) {
element.setAttribute('hidden', ''); element.hidden = hide;
} else {
element.removeAttribute('hidden');
}
} // Mirror Element.classList.toggle, with IE compatibility for "force" argument } // Mirror Element.classList.toggle, with IE compatibility for "force" argument
function toggleClass(element, className, force) { function toggleClass(element, className, force) {
@@ -6617,46 +6660,6 @@ function setFocus() {
} }
} }
var transitionEndEvent = function () {
var element = document.createElement('span');
var events = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
var type = Object.keys(events).find(function (event) {
return element.style[event] !== undefined;
});
return is$1.string(type) ? events[type] : false;
}(); // Force repaint of element
function repaint(element) {
setTimeout(function () {
try {
toggleHidden(element, true);
element.offsetHeight; // eslint-disable-line
toggleHidden(element, false);
} catch (e) {// Do nothing
}
}, 0);
}
// ==========================================================================
// Browser sniffing
// Unfortunately, due to mixed support, UA sniffing is required
// ==========================================================================
var browser = {
isIE:
/* @cc_on!@ */
!!document.documentMode,
isEdge: window.navigator.userAgent.includes('Edge'),
isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
};
var defaultCodecs = { var defaultCodecs = {
'audio/ogg': 'vorbis', 'audio/ogg': 'vorbis',
'audio/wav': '1', 'audio/wav': '1',
@@ -6780,12 +6783,8 @@ function reduceAspectRatio(ratio) {
} }
function getAspectRatio(input) { function getAspectRatio(input) {
var parse = function parse(ratio) { var parse = function parse(ratio) {
if (!validateRatio(ratio)) { return validateRatio(ratio) ? ratio.split(':').map(Number) : null;
return null; }; // Try provided ratio
}
return ratio.split(':').map(Number);
}; // Provided ratio
var ratio = parse(input); // Get from config var ratio = parse(input); // Get from config
@@ -6871,9 +6870,12 @@ var html5 = {
return; return;
} }
var player = this; // Set aspect ratio if set var player = this; // Set aspect ratio if fixed
if (!is$1.empty(this.config.ratio)) {
setAspectRatio.call(player);
} // Quality
setAspectRatio.call(player); // Quality
Object.defineProperty(player.media, 'quality', { Object.defineProperty(player.media, 'quality', {
get: function get() { get: function get() {
@@ -9373,7 +9375,8 @@ var defaults$1 = {
controls: ['play-large', // 'restart', controls: ['play-large', // 'restart',
// 'rewind', // 'rewind',
'play', // 'fast-forward', 'play', // 'fast-forward',
'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download', 'progress', 'current-time', // 'duration',
'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download',
'fullscreen'], 'fullscreen'],
settings: ['captions', 'quality', 'speed'], settings: ['captions', 'quality', 'speed'],
// Localisation // Localisation
@@ -9431,8 +9434,7 @@ var defaults$1 = {
}, },
youtube: { youtube: {
sdk: 'https://www.youtube.com/iframe_api', sdk: 'https://www.youtube.com/iframe_api',
api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}'
}, },
googleIMA: { googleIMA: {
sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js'
@@ -9717,8 +9719,6 @@ function onChange() {
} }
function toggleFallback() { function toggleFallback() {
var _this = this;
var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
// Store or restore scroll position // Store or restore scroll position
@@ -9758,12 +9758,7 @@ function toggleFallback() {
viewport.content = viewport.content.split(',').filter(function (part) { viewport.content = viewport.content.split(',').filter(function (part) {
return part.trim() !== property; return part.trim() !== property;
}).join(','); }).join(',');
} // Force a repaint as sometimes Safari doesn't want to fill the screen }
setTimeout(function () {
return repaint(_this.target);
}, 100);
} // Toggle button and fire events } // Toggle button and fire events
@@ -9774,7 +9769,7 @@ var Fullscreen =
/*#__PURE__*/ /*#__PURE__*/
function () { function () {
function Fullscreen(player) { function Fullscreen(player) {
var _this2 = this; var _this = this;
_classCallCheck(this, Fullscreen); _classCallCheck(this, Fullscreen);
@@ -9794,16 +9789,16 @@ function () {
on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () { on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () {
// TODO: Filter for target?? // TODO: Filter for target??
onChange.call(_this2); onChange.call(_this);
}); // Fullscreen toggle on double click }); // Fullscreen toggle on double click
on.call(this.player, this.player.elements.container, 'dblclick', function (event) { on.call(this.player, this.player.elements.container, 'dblclick', function (event) {
// Ignore double click in controls // Ignore double click in controls
if (is$1.element(_this2.player.elements.controls) && _this2.player.elements.controls.contains(event.target)) { if (is$1.element(_this.player.elements.controls) && _this.player.elements.controls.contains(event.target)) {
return; return;
} }
_this2.toggle(); _this.toggle();
}); // Update the UI }); // Update the UI
this.update(); this.update();
@@ -10489,15 +10484,7 @@ function () {
timers.controls = setTimeout(function () { timers.controls = setTimeout(function () {
return ui.toggleControls.call(player, false); return ui.toggleControls.call(player, false);
}, delay); }, delay);
}); // Force edge to repaint on exit fullscreen }); // Set a gutter for Vimeo
// TODO: Fix weird bug where Edge doesn't re-draw when exiting fullscreen
/* if (browser.isEdge) {
on.call(player, elements.container, 'exitfullscreen', () => {
setTimeout(() => repaint(elements.container), 100);
});
} */
// Set a gutter for Vimeo
var setGutter = function setGutter(ratio, padding, toggle) { var setGutter = function setGutter(ratio, padding, toggle) {
if (!player.isVimeo) { if (!player.isVimeo) {
@@ -10539,9 +10526,14 @@ function () {
on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) {
var _player$fullscreen = player.fullscreen, var _player$fullscreen = player.fullscreen,
target = _player$fullscreen.target, target = _player$fullscreen.target,
usingNative = _player$fullscreen.usingNative; // Ignore for iOS native usingNative = _player$fullscreen.usingNative; // Ignore events not from target
if (!player.isEmbed || target !== elements.container) { if (target !== elements.container) {
return;
} // If it's not an embed and no ratio specified
if (!player.isEmbed && is$1.empty(player.config.ratio)) {
return; return;
} }
@@ -12897,7 +12889,11 @@ function () {
} }
this.getThumbnails().then(function () { this.getThumbnails().then(function () {
// Render DOM elements if (!_this.enabled) {
return;
} // Render DOM elements
_this.render(); // Check to see if thumb container size was specified manually in CSS _this.render(); // Check to see if thumb container size was specified manually in CSS
+17 -9
View File
@@ -6,13 +6,12 @@ Plyr is a simple, lightweight, accessible and customizable HTML5, YouTube and Vi
# Features # Features
- 📼 **HTML Video & Audio, YouTube & Vimeo** - support for the major formats
- 💪 **Accessible** - full support for VTT captions and screen readers - 💪 **Accessible** - full support for VTT captions and screen readers
- 🔧 **[Customisable](#html)** - make the player look how you want with the markup you want - 🔧 **[Customisable](#html)** - make the player look how you want with the markup you want
- 😎 **Good HTML** - uses the _right_ elements. `<input type="range">` for volume and `<progress>` for progress and well, `<button>`s for buttons. There's no - 😎 **Clean HTML** - uses the _right_ elements. `<input type="range">` for volume and `<progress>` for progress and well, `<button>`s for buttons. There's no
`<span>` or `<a href="#">` button hacks `<span>` or `<a href="#">` button hacks
- 📱 **Responsive** - works with any screen size - 📱 **Responsive** - works with any screen size
- 📼 **HTML Video & Audio** - support for both formats
- 📺 **[Embedded Video](#embeds)** - support for YouTube and Vimeo video playback
- 💵 **[Monetization](#ads)** - make money from your videos - 💵 **[Monetization](#ads)** - make money from your videos
- 📹 **[Streaming](#demos)** - support for hls.js, Shaka and dash.js streaming playback - 📹 **[Streaming](#demos)** - support for hls.js, Shaka and dash.js streaming playback
- 🎛 **[API](#api)** - toggle playback, volume, seeking, and more through a standardized API - 🎛 **[API](#api)** - toggle playback, volume, seeking, and more through a standardized API
@@ -25,7 +24,7 @@ Plyr is a simple, lightweight, accessible and customizable HTML5, YouTube and Vi
- 📖 **Multiple captions** - support for multiple caption tracks - 📖 **Multiple captions** - support for multiple caption tracks
- 🌎 **i18n support** - support for internationalization of controls - 🌎 **i18n support** - support for internationalization of controls
- 👌 **[Preview thumbnails](#preview-thumbnails)** - support for displaying preview thumbnails - 👌 **[Preview thumbnails](#preview-thumbnails)** - support for displaying preview thumbnails
- 🤟 **No dependencies** - written in "vanilla" ES6 JavaScript, no jQuery required - 🤟 **No frameworks** - written in "vanilla" ES6 JavaScript, no jQuery required
- 💁‍♀️ **SASS** - to include in your build processes - 💁‍♀️ **SASS** - to include in your build processes
### Demos ### Demos
@@ -109,7 +108,15 @@ Or the `<div>` non progressively enhanced method:
## JavaScript ## JavaScript
Include the `plyr.js` script before the closing `</body>` tag and then in your JS create a new instance of Plyr as below. You can use Plyr as an ES6 module as follows:
```javascript
import Plyr from 'plyr';
const player = new Plyr('#player');
```
Alertnatively you can include the `plyr.js` script before the closing `</body>` tag and then in your JS create a new instance of Plyr as below.
```html ```html
<script src="path/to/plyr.js"></script> <script src="path/to/plyr.js"></script>
@@ -134,7 +141,7 @@ You can use our CDN (provided by [Fastly](https://www.fastly.com/)) for the Java
## CSS ## CSS
Include the `plyr.css` stylsheet into your `<head>` Include the `plyr.css` stylsheet into your `<head>`.
```html ```html
<link rel="stylesheet" href="path/to/plyr.css" /> <link rel="stylesheet" href="path/to/plyr.css" />
@@ -204,7 +211,7 @@ WebVTT captions are supported. To add a caption track, check the HTML example ab
You can specify a range of arguments for the constructor to use: You can specify a range of arguments for the constructor to use:
- A CSS string selector that's compatible with [`querySelector`](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector) - A [CSS string selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors)
- A [`HTMLElement`](https://developer.mozilla.org/en/docs/Web/API/HTMLElement) - A [`HTMLElement`](https://developer.mozilla.org/en/docs/Web/API/HTMLElement)
- A [jQuery](https://jquery.com) object - A [jQuery](https://jquery.com) object
@@ -238,7 +245,7 @@ You have two choices here. You can either use a simple array loop to map the con
const players = Array.from(document.querySelectorAll('.js-player')).map(p => new Plyr(p)); const players = Array.from(document.querySelectorAll('.js-player')).map(p => new Plyr(p));
``` ```
...or use a static method where you can pass a [string selector](https://developer.mozilla.org/en-US/docs/Web/API/NodeList), a [NodeList](https://developer.mozilla.org/en-US/docs/Web/API/NodeList), an [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) of elements, or a [JQuery](https://jquery.com) object: ...or use a static method where you can pass a [CSS string selector](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors), a [NodeList](https://developer.mozilla.org/en-US/docs/Web/API/NodeList), an [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) of elements, or a [JQuery](https://jquery.com) object:
```javascript ```javascript
const players = Plyr.setup('.js-player'); const players = Plyr.setup('.js-player');
@@ -703,6 +710,7 @@ Plyr costs money to run, not only my time. I donate my time for free as I enjoy
- [HTML5 Weekly #177](http://html5weekly.com/issues/177) - [HTML5 Weekly #177](http://html5weekly.com/issues/177)
- [Responsive Design #149](http://us4.campaign-archive2.com/?u=559bc631fe5294fc66f5f7f89&id=451a61490f) - [Responsive Design #149](http://us4.campaign-archive2.com/?u=559bc631fe5294fc66f5f7f89&id=451a61490f)
- [Web Design Weekly #174](https://web-design-weekly.com/2015/02/24/web-design-weekly-174/) - [Web Design Weekly #174](https://web-design-weekly.com/2015/02/24/web-design-weekly-174/)
- [Front End Focus #177](https://frontendfoc.us/issues/177)
- [Hacker News](https://news.ycombinator.com/item?id=9136774) - [Hacker News](https://news.ycombinator.com/item?id=9136774)
- [Web Platform Daily](http://webplatformdaily.org/releases/2015-03-04) - [Web Platform Daily](http://webplatformdaily.org/releases/2015-03-04)
- [LayerVault Designer News](https://news.layervault.com/stories/45394-plyr--a-simple-html5-media-player) - [LayerVault Designer News](https://news.layervault.com/stories/45394-plyr--a-simple-html5-media-player)
@@ -722,7 +730,7 @@ Plyr costs money to run, not only my time. I donate my time for free as I enjoy
- [Sparkk TV](https://www.sparkktv.com/) - [Sparkk TV](https://www.sparkktv.com/)
- [@halfhalftravel](https://www.halfhalftravel.com/) - [@halfhalftravel](https://www.halfhalftravel.com/)
Let me know on [Twitter](https://twitter.com/sam_potts) I can add you to the above list. It'd be awesome to see how you're using Plyr :-) If you want to be added to the list, open a pull request. It'd be awesome to see how you're using Plyr 😎
# Useful links and credits # Useful links and credits
+1 -1
View File
@@ -196,7 +196,7 @@ const defaults = {
}, },
youtube: { youtube: {
sdk: 'https://www.youtube.com/iframe_api', sdk: 'https://www.youtube.com/iframe_api',
api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}', // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}',
}, },
googleIMA: { googleIMA: {
sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js', sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js',
+2 -3
View File
@@ -63,9 +63,9 @@ a.plyr__control {
// Video control // Video control
.plyr--video .plyr__control { .plyr--video .plyr__control {
svg { /* svg {
filter: drop-shadow(0 1px 1px rgba(#000, 0.15)); filter: drop-shadow(0 1px 1px rgba(#000, 0.15));
} } */
// Hover and tab focus // Hover and tab focus
&.plyr__tab-focus, &.plyr__tab-focus,
@@ -81,7 +81,6 @@ a.plyr__control {
background: rgba($plyr-video-control-bg-hover, 0.8); background: rgba($plyr-video-control-bg-hover, 0.8);
border: 0; border: 0;
border-radius: 100%; border-radius: 100%;
box-shadow: 0 1px 1px rgba(#000, 0.15);
color: $plyr-video-control-color; color: $plyr-video-control-color;
display: none; display: none;
left: 50%; left: 50%;
+1 -1
View File
@@ -23,7 +23,7 @@
// The countdown label // The countdown label
&::after { &::after {
background: rgba($plyr-color-gunmetal, 0.8); background: rgba($plyr-color-gray-9, 0.8);
border-radius: 2px; border-radius: 2px;
bottom: $plyr-control-spacing; bottom: $plyr-control-spacing;
color: #fff; color: #fff;
+1 -1
View File
@@ -7,7 +7,7 @@ $plyr-preview-bg: $plyr-tooltip-bg !default;
$plyr-preview-radius: $plyr-tooltip-radius !default; $plyr-preview-radius: $plyr-tooltip-radius !default;
$plyr-preview-shadow: $plyr-tooltip-shadow !default; $plyr-preview-shadow: $plyr-tooltip-shadow !default;
$plyr-preview-arrow-size: $plyr-tooltip-arrow-size !default; $plyr-preview-arrow-size: $plyr-tooltip-arrow-size !default;
$plyr-preview-image-bg: $plyr-color-heather !default; $plyr-preview-image-bg: $plyr-color-gray-2 !default;
$plyr-preview-time-font-size: $plyr-font-size-time !default; $plyr-preview-time-font-size: $plyr-font-size-time !default;
$plyr-preview-time-padding: 3px 6px !default; $plyr-preview-time-padding: 3px 6px !default;
$plyr-preview-time-bg: rgba(0, 0, 0, 0.55); $plyr-preview-time-bg: rgba(0, 0, 0, 0.55);
+1 -1
View File
@@ -2,5 +2,5 @@
// Badges // Badges
// ========================================================================== // ==========================================================================
$plyr-badge-bg: $plyr-color-fiord !default; $plyr-badge-bg: $plyr-color-gray-7 !default;
$plyr-badge-color: #fff !default; $plyr-badge-color: #fff !default;
+13 -5
View File
@@ -2,8 +2,16 @@
// Colors // Colors
// ========================================================================== // ==========================================================================
$plyr-color-main: #1aafff !default; $plyr-color-main: hsl(198, 100%, 50%) !default;
$plyr-color-gunmetal: #2f343d !default;
$plyr-color-fiord: #4f5b5f !default; // Grayscale
$plyr-color-lynch: #6b7d85 !default; $plyr-color-gray-9: hsl(210, 15%, 16%);
$plyr-color-heather: #b7c5cd !default; $plyr-color-gray-8: lighten($plyr-color-gray-9, 9%);
$plyr-color-gray-7: lighten($plyr-color-gray-8, 9%);
$plyr-color-gray-6: lighten($plyr-color-gray-7, 9%);
$plyr-color-gray-5: lighten($plyr-color-gray-6, 9%);
$plyr-color-gray-4: lighten($plyr-color-gray-5, 9%);
$plyr-color-gray-3: lighten($plyr-color-gray-4, 9%);
$plyr-color-gray-2: lighten($plyr-color-gray-3, 9%);
$plyr-color-gray-1: lighten($plyr-color-gray-2, 9%);
$plyr-color-gray-0: lighten($plyr-color-gray-1, 9%);
+1 -1
View File
@@ -13,6 +13,6 @@ $plyr-video-control-color-hover: #fff !default;
$plyr-video-control-bg-hover: $plyr-color-main !default; $plyr-video-control-bg-hover: $plyr-color-main !default;
$plyr-audio-controls-bg: #fff !default; $plyr-audio-controls-bg: #fff !default;
$plyr-audio-control-color: $plyr-color-fiord !default; $plyr-audio-control-color: $plyr-color-gray-7 !default;
$plyr-audio-control-color-hover: #fff !default; $plyr-audio-control-color-hover: #fff !default;
$plyr-audio-control-bg-hover: $plyr-color-main !default; $plyr-audio-control-bg-hover: $plyr-color-main !default;
+2 -2
View File
@@ -3,8 +3,8 @@
// ========================================================================== // ==========================================================================
$plyr-menu-bg: rgba(#fff, 0.9) !default; $plyr-menu-bg: rgba(#fff, 0.9) !default;
$plyr-menu-color: $plyr-color-fiord !default; $plyr-menu-color: $plyr-color-gray-7 !default;
$plyr-menu-arrow-size: 6px !default; $plyr-menu-arrow-size: 6px !default;
$plyr-menu-border-color: $plyr-color-heather !default; $plyr-menu-border-color: $plyr-color-gray-2 !default;
$plyr-menu-border-shadow-color: #fff !default; $plyr-menu-border-shadow-color: #fff !default;
$plyr-menu-shadow: 0 1px 2px rgba(#000, 0.15) !default; $plyr-menu-shadow: 0 1px 2px rgba(#000, 0.15) !default;
+2 -2
View File
@@ -4,8 +4,8 @@
// Loading // Loading
$plyr-progress-loading-size: 25px !default; $plyr-progress-loading-size: 25px !default;
$plyr-progress-loading-bg: rgba($plyr-color-gunmetal, 0.6) !default; $plyr-progress-loading-bg: rgba($plyr-color-gray-9, 0.6) !default;
// Buffered // Buffered
$plyr-video-progress-buffered-bg: rgba(#fff, 0.25) !default; $plyr-video-progress-buffered-bg: rgba(#fff, 0.25) !default;
$plyr-audio-progress-buffered-bg: rgba($plyr-color-heather, 0.66) !default; $plyr-audio-progress-buffered-bg: rgba($plyr-color-gray-2, 0.66) !default;
+1 -1
View File
@@ -9,7 +9,7 @@ $plyr-range-thumb-active-shadow-width: 3px !default;
$plyr-range-thumb-height: 13px !default; $plyr-range-thumb-height: 13px !default;
$plyr-range-thumb-bg: #fff !default; $plyr-range-thumb-bg: #fff !default;
$plyr-range-thumb-border: 2px solid transparent !default; $plyr-range-thumb-border: 2px solid transparent !default;
$plyr-range-thumb-shadow: 0 1px 1px rgba(#000, 0.15), 0 0 0 1px rgba($plyr-color-gunmetal, 0.2) !default; $plyr-range-thumb-shadow: 0 1px 1px rgba(#000, 0.15), 0 0 0 1px rgba($plyr-color-gray-9, 0.2) !default;
// Track // Track
$plyr-range-track-height: 5px !default; $plyr-range-track-height: 5px !default;
+1 -1
View File
@@ -3,7 +3,7 @@
// ========================================================================== // ==========================================================================
$plyr-tooltip-bg: rgba(#fff, 0.9) !default; $plyr-tooltip-bg: rgba(#fff, 0.9) !default;
$plyr-tooltip-color: $plyr-color-fiord !default; $plyr-tooltip-color: $plyr-color-gray-7 !default;
$plyr-tooltip-padding: ($plyr-control-spacing / 2) !default; $plyr-tooltip-padding: ($plyr-control-spacing / 2) !default;
$plyr-tooltip-arrow-size: 4px !default; $plyr-tooltip-arrow-size: 4px !default;
$plyr-tooltip-radius: 3px !default; $plyr-tooltip-radius: 3px !default;
+9 -14
View File
@@ -798,10 +798,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.3.tgz#7c6b0f8eaf16ae530795de2ad1b85d34bf2f5c58" resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.3.tgz#7c6b0f8eaf16ae530795de2ad1b85d34bf2f5c58"
integrity sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg== integrity sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==
"@types/node@^12.0.3": "@types/node@^12.0.8":
version "12.0.4" version "12.0.8"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.4.tgz#46832183115c904410c275e34cf9403992999c32" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.8.tgz#551466be11b2adc3f3d47156758f610bd9f6b1d8"
integrity sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw== integrity sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==
"@types/q@^1.5.1": "@types/q@^1.5.1":
version "1.5.2" version "1.5.2"
@@ -7259,11 +7259,6 @@ rangetouch@^2.0.0:
resolved "https://registry.yarnpkg.com/rangetouch/-/rangetouch-2.0.0.tgz#5459cdb38b929326c5484ab47aac9632fbe3a896" resolved "https://registry.yarnpkg.com/rangetouch/-/rangetouch-2.0.0.tgz#5459cdb38b929326c5484ab47aac9632fbe3a896"
integrity sha512-y66wTFbwh7KafYligRsmIYYR1kZY8U9tGHH9PgbVhBUFmGzPMsOSjslXPedgR5D3M9W1QKVbAf1AtaVAt7JJTw== integrity sha512-y66wTFbwh7KafYligRsmIYYR1kZY8U9tGHH9PgbVhBUFmGzPMsOSjslXPedgR5D3M9W1QKVbAf1AtaVAt7JJTw==
raven-js@^3.27.1:
version "3.27.1"
resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.27.1.tgz#e187a12982061908ccbf935af0640c9043d7d666"
integrity sha512-r/9CwSbaGfBFjo4hGR45DAmrukUKkQ4HdMu80PlVLDY1t8f9b4aaZzTsFegaafu7EGhEYougWDJ9/IcTdYdLXQ==
rc@^1.0.1, rc@^1.1.0, rc@^1.1.6, rc@^1.2.7: rc@^1.0.1, rc@^1.1.0, rc@^1.1.6, rc@^1.2.7:
version "1.2.8" version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
@@ -7853,13 +7848,13 @@ rollup-pluginutils@^2.7.0, rollup-pluginutils@^2.8.0:
dependencies: dependencies:
estree-walker "^0.6.1" estree-walker "^0.6.1"
rollup@^1.13.0: rollup@^1.13.1:
version "1.13.0" version "1.15.5"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.13.0.tgz#8313fc6d9762e28301b4b89cc0a56233659a67b6" resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.15.5.tgz#1c1f7ef799d5b297aab6eb49ca7a6ab9c8aae6a0"
integrity sha512-pW4G4cQmtEmbg4/CoFYc2AYeKiGpMAVak7kFpch1UJnYkXMn/34L8cD0kxkmjJNpJ/NagOHVdCwdkbtCEuDEww== integrity sha512-Dix1YCY6BlsVK20SjQHBjKqxW2K+lqNr6BlCKxtdZuYqmUWLm8NzKHdrJyiFFjUO2hSI4wiC7apE+jAkDA3fEQ==
dependencies: dependencies:
"@types/estree" "0.0.39" "@types/estree" "0.0.39"
"@types/node" "^12.0.3" "@types/node" "^12.0.8"
acorn "^6.1.1" acorn "^6.1.1"
run-async@^2.2.0: run-async@^2.2.0: