From 12da467cfa6c3f38e2847d81f08cfe53c576843f Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 17 Jan 2020 11:50:46 +0300 Subject: [PATCH 01/68] Fix event subscription. Fix #623 --- src/scripts/inputManager.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/scripts/inputManager.js b/src/scripts/inputManager.js index 634b5e1b3..6839b0b6f 100644 --- a/src/scripts/inputManager.js +++ b/src/scripts/inputManager.js @@ -22,9 +22,7 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom'], function (playba var eventListenerCount = 0; function on(scope, fn) { - if (eventListenerCount) { - eventListenerCount++; - } + eventListenerCount++; dom.addEventListener(scope, 'command', fn, {}); } From 80c8ea6a489d7d23718541c4fbada1df837f1139 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 17 Jan 2020 12:05:56 +0300 Subject: [PATCH 02/68] Add playback control from TV remote. #303 --- src/components/keyboardnavigation.js | 99 ++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 13 deletions(-) diff --git a/src/components/keyboardnavigation.js b/src/components/keyboardnavigation.js index 8c0bb1a3a..c55a066f9 100644 --- a/src/components/keyboardnavigation.js +++ b/src/components/keyboardnavigation.js @@ -1,35 +1,108 @@ -define(['inputManager', 'focusManager'], function(inputManager, focusManager) { - 'use strict'; +define(["inputManager", "layoutManager"], function (inputManager, layoutManager) { + "use strict"; console.log("keyboardnavigation"); + /** + * Key name mapping. + */ + // Add more to support old browsers + var KeyNames = { + 13: "Enter", + 19: "Pause", + 27: "Escape", + 32: "Space", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 412: "MediaRewind", // MediaRewind (Tizen/WebOS) + 413: "MediaStop", // MediaStop (Tizen/WebOS) + 415: "MediaPlay", // MediaPlay (Tizen/WebOS) + 417: "MediaFastForward", // MediaFastForward (Tizen/WebOS) + 461: "Back", // Back (WebOS) + 10009: "Back", // Back (Tizen) + 10232: "MediaTrackPrevious", // MediaTrackPrevious (Tizen) + 10233: "MediaTrackNext", // MediaTrackNext (Tizen) + 10252: "MediaPlayPause" // MediaPlayPause (Tizen) + }; + + /** + * Returns key name from event. + * + * @param {KeyboardEvent} keyboard event + * @return {string} key name + */ + function getKeyName(event) { + return KeyNames[event.keyCode] || event.key; + } + function enable() { - document.addEventListener('keydown', function(e) { + document.addEventListener("keydown", function (e) { var capture = true; - switch (e.keyCode) { - case 37: // ArrowLeft - inputManager.handle('left'); + switch (getKeyName(e)) { + case "ArrowLeft": + inputManager.handle("left"); break; - case 38: // ArrowUp - inputManager.handle('up'); + case "ArrowUp": + inputManager.handle("up"); break; - case 39: // ArrowRight - inputManager.handle('right'); + case "ArrowRight": + inputManager.handle("right"); break; - case 40: // ArrowDown - inputManager.handle('down'); + case "ArrowDown": + inputManager.handle("down"); break; + + case "Back": + inputManager.handle("back"); + break; + + case "Escape": + if (layoutManager.tv) { + inputManager.handle("back"); + } else { + capture = false; + } + break; + + case "MediaPlay": + inputManager.handle("play"); + break; + case "Pause": + inputManager.handle("pause"); + break; + case "MediaPlayPause": + inputManager.handle("playpause"); + break; + case "MediaRewind": + inputManager.handle("rewind"); + break; + case "MediaFastForward": + inputManager.handle("fastforward"); + break; + case "MediaStop": + inputManager.handle("stop"); + break; + case "MediaTrackPrevious": + inputManager.handle("previoustrack"); + break; + case "MediaTrackNext": + inputManager.handle("nexttrack"); + break; + default: capture = false; } + if (capture) { console.log("Disabling default event handling"); e.preventDefault(); } }); - } + return { enable: enable }; From 1889dad8cc4c280ac38aaa124afbbb95a87b1744 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 17 Jan 2020 12:09:27 +0300 Subject: [PATCH 03/68] Add shortcuts to show/hide OSD. #621 --- src/controllers/playback/videoosd.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index bd12ba507..195ea5770 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -1100,6 +1100,20 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med } switch (e.key) { + case "Enter": + showOsd(); + break; + + case "Escape": + case "RCUBack": // WebOS back + case "XF86Back": // Tizen back + // Ignore key when some dialog is opened + if (currentVisibleMenu === "osd" && !document.querySelector(".dialogContainer")) { + hideOsd(); + e.stopPropagation(); + } + break; + case "k": playbackManager.playPause(currentPlayer); showOsd(); @@ -1280,7 +1294,7 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med showOsd(); inputManager.on(window, onInputCommand); dom.addEventListener(window, "keydown", onWindowKeyDown, { - passive: true + capture: true }); } catch (e) { require(['appRouter'], function(appRouter) { @@ -1294,7 +1308,7 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med } dom.removeEventListener(window, "keydown", onWindowKeyDown, { - passive: true + capture: true }); stopOsdHideTimer(); headerElement.classList.remove("osdHeader"); From cca897bb152ddce4ac239ba4ff0c660643b1f2f8 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Fri, 17 Jan 2020 23:39:58 +0300 Subject: [PATCH 04/68] fix scroll for movie recommendation --- src/controllers/movies/moviesrecommended.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index 0327217e4..f7201307f 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -115,7 +115,12 @@ define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu" if (enableScrollX()) { allowBottomPadding = false; - html += '
'; + var scrollXClass = "scrollX hiddenScrollX"; + if (layoutManager.tv) { + scrollXClass += " smoothScrollX"; + } + + html += '
'; } else { html += '
'; } From 5b8756addf53313c610bab9331de67221a969874 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sat, 18 Jan 2020 00:17:16 +0300 Subject: [PATCH 05/68] Fix focus --- src/controllers/movies/moviesrecommended.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index f7201307f..2fe3d2e68 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -114,15 +114,10 @@ define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu" var allowBottomPadding = true; if (enableScrollX()) { - allowBottomPadding = false; - var scrollXClass = "scrollX hiddenScrollX"; - if (layoutManager.tv) { - scrollXClass += " smoothScrollX"; - } - - html += '
'; + html += '
'; + html += '
'; } else { - html += '
'; + html += '
'; } html += cardBuilder.getCardsHtml(recommendation.Items, { @@ -131,7 +126,11 @@ define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu" overlayPlayButton: true, allowBottomPadding: allowBottomPadding }); - html += "
"; + + if (enableScrollX()) { + html += '
'; + } + html += "
"; return html; } From 75185f0b23bcca9cb3e85b3fa91b470960ef49c4 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sat, 18 Jan 2020 23:47:19 +0300 Subject: [PATCH 06/68] define emby-scroller --- src/controllers/movies/moviesrecommended.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index 2fe3d2e68..ea090553e 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -1,4 +1,4 @@ -define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu", "mainTabsManager", "cardBuilder", "dom", "imageLoader", "playbackManager", "emby-itemscontainer", "emby-tabs", "emby-button"], function (events, layoutManager, inputManager, userSettings, libraryMenu, mainTabsManager, cardBuilder, dom, imageLoader, playbackManager) { +define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu", "mainTabsManager", "cardBuilder", "dom", "imageLoader", "playbackManager", "emby-scroller", "emby-itemscontainer", "emby-tabs", "emby-button"], function (events, layoutManager, inputManager, userSettings, libraryMenu, mainTabsManager, cardBuilder, dom, imageLoader, playbackManager) { "use strict"; function enableScrollX() { @@ -114,7 +114,7 @@ define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu" var allowBottomPadding = true; if (enableScrollX()) { - html += '
'; + html += '
'; html += '
'; } else { html += '
'; From ec6ce5aa14384f51ff4f97a749bb4e0985aed773 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sun, 19 Jan 2020 01:09:42 +0300 Subject: [PATCH 07/68] Add keyboard compatibility for older browsers (webOS 2/3) --- src/components/keyboardnavigation.js | 17 ++++++++++++++++- src/controllers/playback/videoosd.js | 11 ++++++----- src/elements/emby-slider/emby-slider.js | 4 ++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/components/keyboardnavigation.js b/src/components/keyboardnavigation.js index c55a066f9..0971018bb 100644 --- a/src/components/keyboardnavigation.js +++ b/src/components/keyboardnavigation.js @@ -27,6 +27,20 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager) 10252: "MediaPlayPause" // MediaPlayPause (Tizen) }; + var hasFieldKey = false; + try { + hasFieldKey = "key" in new KeyboardEvent("keydown"); + } catch (e) { + console.log("error checking 'key' field"); + } + + if (!hasFieldKey) { + // Add [a..z] + for (var i = 65; i <= 90; i++) { + KeyNames[i] = String.fromCharCode(i).toLowerCase(); + } + } + /** * Returns key name from event. * @@ -104,6 +118,7 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager) } return { - enable: enable + enable: enable, + getKeyName: getKeyName }; }); diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index 195ea5770..5dc12aeee 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -1,4 +1,4 @@ -define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "mediaInfo", "focusManager", "imageLoader", "scrollHelper", "events", "connectionManager", "browser", "globalize", "apphost", "layoutManager", "userSettings", "scrollStyles", "emby-slider", "paper-icon-button-light", "css!assets/css/videoosd"], function (playbackManager, dom, inputManager, datetime, itemHelper, mediaInfo, focusManager, imageLoader, scrollHelper, events, connectionManager, browser, globalize, appHost, layoutManager, userSettings) { +define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "mediaInfo", "focusManager", "imageLoader", "scrollHelper", "events", "connectionManager", "browser", "globalize", "apphost", "layoutManager", "userSettings", "keyboardnavigation", "scrollStyles", "emby-slider", "paper-icon-button-light", "css!assets/css/videoosd"], function (playbackManager, dom, inputManager, datetime, itemHelper, mediaInfo, focusManager, imageLoader, scrollHelper, events, connectionManager, browser, globalize, appHost, layoutManager, userSettings, keyboardnavigation) { "use strict"; function seriesImageUrl(item, options) { @@ -1088,25 +1088,26 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"]; function onWindowKeyDown(e) { + var key = keyboardnavigation.getKeyName(e); + if (!currentVisibleMenu && 32 === e.keyCode) { playbackManager.playPause(currentPlayer); showOsd(); return; } - if (layoutManager.tv && NavigationKeys.indexOf(e.key) != -1) { + if (layoutManager.tv && NavigationKeys.indexOf(key) != -1) { showOsd(); return; } - switch (e.key) { + switch (key) { case "Enter": showOsd(); break; case "Escape": - case "RCUBack": // WebOS back - case "XF86Back": // Tizen back + case "Back": // Ignore key when some dialog is opened if (currentVisibleMenu === "osd" && !document.querySelector(".dialogContainer")) { hideOsd(); diff --git a/src/elements/emby-slider/emby-slider.js b/src/elements/emby-slider/emby-slider.js index c340e7935..24592f451 100644 --- a/src/elements/emby-slider/emby-slider.js +++ b/src/elements/emby-slider/emby-slider.js @@ -1,4 +1,4 @@ -define(['browser', 'dom', 'layoutManager', 'css!./emby-slider', 'registerElement', 'emby-input'], function (browser, dom, layoutManager) { +define(['browser', 'dom', 'layoutManager', 'keyboardnavigation', 'css!./emby-slider', 'registerElement', 'emby-input'], function (browser, dom, layoutManager, keyboardnavigation) { 'use strict'; var EmbySliderPrototype = Object.create(HTMLInputElement.prototype); @@ -250,7 +250,7 @@ define(['browser', 'dom', 'layoutManager', 'css!./emby-slider', 'registerElement * Handle KeyDown event */ function onKeyDown(e) { - switch (e.key) { + switch (keyboardnavigation.getKeyName(e)) { case 'ArrowLeft': case 'Left': stepKeyboard(this, -this.keyboardStepDown || -1); From 779e3782884da0dcfe11b43c7e7c597abe559a59 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Tue, 21 Jan 2020 00:09:41 +0300 Subject: [PATCH 08/68] show title and year on movie suggestion --- src/controllers/movies/moviesrecommended.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index ea090553e..cdcc681aa 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -124,7 +124,10 @@ define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu" shape: getPortraitShape(), scalable: true, overlayPlayButton: true, - allowBottomPadding: allowBottomPadding + allowBottomPadding: allowBottomPadding, + showTitle: true, + showYear: true, + centerText: true }); if (enableScrollX()) { From e706f8bee0b99acbd6aa3434198ff64303bea2f0 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 03:29:52 +0300 Subject: [PATCH 09/68] loginpage.js --- src/controllers/auth/login.js | 78 +++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 26 deletions(-) diff --git a/src/controllers/auth/login.js b/src/controllers/auth/login.js index 54fb6ce5e..ceecb2aba 100644 --- a/src/controllers/auth/login.js +++ b/src/controllers/auth/login.js @@ -1,23 +1,31 @@ -define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layoutManager", "browser", "cardStyle", "emby-checkbox"], function(appHost, appSettings, dom, connectionManager, loading, layoutManager, browser) { +define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layoutManager", "browser", "cardStyle", "emby-checkbox"], function (appHost, appSettings, dom, connectionManager, loading, layoutManager, browser) { "use strict"; var enableFocusTransform = !browser.slow && !browser.edge; function authenticateUserByName(page, apiClient, username, password) { loading.show(); - apiClient.authenticateUserByName(username, password).then(function(result) { + apiClient.authenticateUserByName(username, password).then(function (result) { var user = result.User; var serverId = getParameterByName("serverid"); - var newUrl = user.Policy.IsAdministrator && !serverId ? "dashboard.html" : "home.html"; + var newUrl; + + if (user.Policy.IsAdministrator && !serverId) { + newUrl = "dashboard.html"; + } else { + newUrl = "home.html"; + } + loading.hide(); Dashboard.onServerChanged(user.Id, result.AccessToken, apiClient); Dashboard.navigate(newUrl); - }, function(response) { + }, function (response) { page.querySelector("#txtManualName").value = ""; page.querySelector("#txtManualPassword").value = ""; loading.hide(); + if (response.status === 401) { - require(["toast"], function(toast) { + require(["toast"], function (toast) { toast(Globalize.translate("MessageInvalidUser")); }); } else { @@ -34,8 +42,18 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout context.querySelector(".manualLoginForm").classList.remove("hide"); context.querySelector(".visualLoginForm").classList.add("hide"); context.querySelector(".btnManual").classList.add("hide"); - focusPassword ? context.querySelector("#txtManualPassword").focus() : context.querySelector("#txtManualName").focus(); - showCancel ? context.querySelector(".btnCancel").classList.remove("hide") : context.querySelector(".btnCancel").classList.add("hide"); + + if (focusPassword) { + context.querySelector("#txtManualPassword").focus(); + } else { + context.querySelector("#txtManualName").focus(); + } + + if (showCancel) { + context.querySelector(".btnCancel").classList.remove("hide"); + } else { + context.querySelector(".btnCancel").classList.add("hide"); + } } var metroColors = ["#6FBD45", "#4BB3DD", "#4164A5", "#E12026", "#800080", "#E1B222", "#008040", "#0094FF", "#FF00C7", "#FF870F", "#7F0037"]; @@ -49,22 +67,25 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout if (str) { var character = String(str.substr(0, 1).charCodeAt()); var sum = 0; + for (var i = 0; i < character.length; i++) { sum += parseInt(character.charAt(i)); } + var index = String(sum).substr(-1); return metroColors[index]; } + return getRandomMetroColor(); } function loadUserList(context, apiClient, users) { var html = ""; + for (var i = 0; i < users.length; i++) { var user = users[i]; // TODO move card creation code to Card component - var cssClass = "card squareCard scalableCard squareCard-scalable"; if (layoutManager.tv) { @@ -76,13 +97,13 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout } var cardBoxCssClass = "cardBox cardBox-bottompadded"; - html += '"; } + context.querySelector("#divUsers").innerHTML = html; } - return function(view, params) { + return function (view, params) { function getApiClient() { var serverId = params.serverid; - return serverId ? connectionManager.getOrCreateApiClient(serverId) : ApiClient; + + if (serverId) { + return connectionManager.getOrCreateApiClient(serverId); + } + + return ApiClient; } function showVisualForm() { @@ -122,14 +150,16 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout }); } - view.querySelector("#divUsers").addEventListener("click", function(e) { + view.querySelector("#divUsers").addEventListener("click", function (e) { var card = dom.parentWithClass(e.target, "card"); var cardContent = card ? card.querySelector(".cardContent") : null; + if (cardContent) { var context = view; var id = cardContent.getAttribute("data-userid"); var name = cardContent.getAttribute("data-username"); var haspw = cardContent.getAttribute("data-haspw"); + if (id === 'manual') { context.querySelector("#txtManualName").value = ""; showManualForm(context, true); @@ -142,33 +172,30 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout } } }); - - view.querySelector(".manualLoginForm").addEventListener("submit", function(e) { + view.querySelector(".manualLoginForm").addEventListener("submit", function (e) { appSettings.enableAutoLogin(view.querySelector(".chkRememberLogin").checked); var apiClient = getApiClient(); authenticateUserByName(view, apiClient, view.querySelector("#txtManualName").value, view.querySelector("#txtManualPassword").value); e.preventDefault(); return false; }); - - view.querySelector(".btnForgotPassword").addEventListener("click", function() { + view.querySelector(".btnForgotPassword").addEventListener("click", function () { Dashboard.navigate("forgotpassword.html"); }); - view.querySelector(".btnCancel").addEventListener("click", showVisualForm); - - view.querySelector(".btnManual").addEventListener("click", function() { + view.querySelector(".btnManual").addEventListener("click", function () { view.querySelector("#txtManualName").value = ""; showManualForm(view, true); }); - - view.addEventListener("viewshow", function(e) { + view.addEventListener("viewshow", function (e) { loading.show(); + if (!appHost.supports('multiserver')) { view.querySelector(".btnSelectServer").classList.add("hide"); } + var apiClient = getApiClient(); - apiClient.getPublicUsers().then(function(users) { + apiClient.getPublicUsers().then(function (users) { if (users.length) { showVisualForm(); loadUserList(view, apiClient, users); @@ -176,13 +203,12 @@ define(["apphost", "appSettings", "dom", "connectionManager", "loading", "layout view.querySelector("#txtManualName").value = ""; showManualForm(view, false, false); } - }).catch().then(function() { + }).catch().then(function () { loading.hide(); }); - - apiClient.getJSON(apiClient.getUrl("Branding/Configuration")).then(function(options) { + apiClient.getJSON(apiClient.getUrl("Branding/Configuration")).then(function (options) { view.querySelector(".disclaimer").textContent = options.LoginDisclaimer || ""; }); }); - } + }; }); From f1429d007b9cdceae2cdb812cfb4905b829fc5f1 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 03:30:33 +0300 Subject: [PATCH 10/68] general.js --- src/controllers/dashboard/general.js | 71 ++++++++++++++++------------ 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index c37e5e9a4..742cae112 100644 --- a/src/controllers/dashboard/general.js +++ b/src/controllers/dashboard/general.js @@ -1,38 +1,45 @@ -define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emby-input", "emby-select", "emby-button"], function($, loading) { +define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emby-input", "emby-select", "emby-button"], function ($, loading) { "use strict"; function loadPage(page, config, languageOptions, systemInfo) { page.querySelector("#txtServerName").value = systemInfo.ServerName; $("#chkAutoRunWebApp", page).checked(config.AutoRunWebApp); + if (systemInfo.CanLaunchWebBrowser) { page.querySelector("#fldAutoRunWebApp").classList.remove("hide"); } else { page.querySelector("#fldAutoRunWebApp").classList.add("hide"); } + page.querySelector("#txtCachePath").value = systemInfo.CachePath || ""; $("#txtMetadataPath", page).val(systemInfo.InternalMetadataPath || ""); $("#txtMetadataNetworkPath", page).val(systemInfo.MetadataNetworkPath || ""); - $("#selectLocalizationLanguage", page).html(languageOptions.map(function(language) { - return '" + $("#selectLocalizationLanguage", page).html(languageOptions.map(function (language) { + return '"; })).val(config.UICulture); currentLanguage = config.UICulture; + if (systemInfo.CanSelfUpdate) { page.querySelector(".fldAutomaticUpdates").classList.remove("hide"); } else { page.querySelector(".fldAutomaticUpdates").classList.add("hide"); } + $("#chkEnableAutomaticServerUpdates", page).checked(config.EnableAutoUpdate); $("#chkEnableAutomaticRestart", page).checked(config.EnableAutomaticRestart); + if (systemInfo.CanSelfRestart) { page.querySelector("#fldEnableAutomaticRestart").classList.remove("hide"); } else { page.querySelector("#fldEnableAutomaticRestart").classList.add("hide"); } + if (systemInfo.CanSelfRestart || systemInfo.CanSelfUpdate) { $(".autoUpdatesContainer", page).removeClass("hide"); } else { $(".autoUpdatesContainer", page).addClass("hide"); } + loading.hide(); } @@ -40,92 +47,96 @@ define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emb loading.show(); var form = this; $(form).parents(".page"); - return ApiClient.getServerConfiguration().then(function(config) { + ApiClient.getServerConfiguration().then(function (config) { config.ServerName = $("#txtServerName", form).val(); config.UICulture = $("#selectLocalizationLanguage", form).val(); config.CachePath = form.querySelector("#txtCachePath").value; config.MetadataPath = $("#txtMetadataPath", form).val(); config.MetadataNetworkPath = $("#txtMetadataNetworkPath", form).val(); - var requiresReload = (config.UICulture !== currentLanguage); + var requiresReload = config.UICulture !== currentLanguage; config.AutoRunWebApp = $("#chkAutoRunWebApp", form).checked(); config.EnableAutomaticRestart = $("#chkEnableAutomaticRestart", form).checked(); config.EnableAutoUpdate = $("#chkEnableAutomaticServerUpdates", form).checked(); - ApiClient.updateServerConfiguration(config).then(function() { - ApiClient.getNamedConfiguration(brandingConfigKey).then(function(brandingConfig) { + ApiClient.updateServerConfiguration(config).then(function () { + ApiClient.getNamedConfiguration(brandingConfigKey).then(function (brandingConfig) { brandingConfig.LoginDisclaimer = form.querySelector("#txtLoginDisclaimer").value; brandingConfig.CustomCss = form.querySelector("#txtCustomCss").value; + if (currentBrandingOptions && brandingConfig.CustomCss !== currentBrandingOptions.CustomCss) { requiresReload = true; } - ApiClient.updateNamedConfiguration(brandingConfigKey, brandingConfig).then(function() { + + ApiClient.updateNamedConfiguration(brandingConfigKey, brandingConfig).then(function () { Dashboard.processServerConfigurationUpdateResult(); + if (requiresReload && !AppInfo.isNativeApp) { window.location.reload(true); } }); - }) - }) - }), !1 + }); + }); + }); + return false; } var currentBrandingOptions; var currentLanguage; var brandingConfigKey = "branding"; - - return function(view, params) { - $("#btnSelectCachePath", view).on("click.selectDirectory", function() { - require(["directorybrowser"], function(directoryBrowser) { - var picker = new directoryBrowser; + return function (view, params) { + $("#btnSelectCachePath", view).on("click.selectDirectory", function () { + require(["directorybrowser"], function (directoryBrowser) { + var picker = new directoryBrowser(); picker.show({ - callback: function(path) { + callback: function (path) { if (path) { view.querySelector("#txtCachePath").value = path; } + picker.close(); }, validateWriteable: true, header: Globalize.translate("HeaderSelectServerCachePath"), instruction: Globalize.translate("HeaderSelectServerCachePathHelp") - }) - }) + }); + }); }); - - $("#btnSelectMetadataPath", view).on("click.selectDirectory", function() { - require(["directorybrowser"], function(directoryBrowser) { + $("#btnSelectMetadataPath", view).on("click.selectDirectory", function () { + require(["directorybrowser"], function (directoryBrowser) { var picker = new directoryBrowser(); picker.show({ path: $("#txtMetadataPath", view).val(), networkSharePath: $("#txtMetadataNetworkPath", view).val(), - callback: function(path, networkPath) { + callback: function (path, networkPath) { if (path) { $("#txtMetadataPath", view).val(path); } + if (networkPath) { $("#txtMetadataNetworkPath", view).val(networkPath); } + picker.close(); }, validateWriteable: true, header: Globalize.translate("HeaderSelectMetadataPath"), instruction: Globalize.translate("HeaderSelectMetadataPathHelp"), enableNetworkSharePath: true - }) - }) + }); + }); }); - $(".dashboardGeneralForm", view).off("submit", onSubmit).on("submit", onSubmit); - view.addEventListener("viewshow", function() { + view.addEventListener("viewshow", function () { var promiseConfig = ApiClient.getServerConfiguration(); var promiseLanguageOptions = ApiClient.getJSON(ApiClient.getUrl("Localization/Options")); var promiseSystemInfo = ApiClient.getSystemInfo(); - Promise.all([promiseConfig, promiseLanguageOptions, promiseSystemInfo]).then(function(responses) { + Promise.all([promiseConfig, promiseLanguageOptions, promiseSystemInfo]).then(function (responses) { loadPage(view, responses[0], responses[1], responses[2]); }); - ApiClient.getNamedConfiguration(brandingConfigKey).then(function(config) { + ApiClient.getNamedConfiguration(brandingConfigKey).then(function (config) { currentBrandingOptions = config; view.querySelector("#txtLoginDisclaimer").value = config.LoginDisclaimer || ""; view.querySelector("#txtCustomCss").value = config.CustomCss || ""; }); }); - } + }; }); From de82a262df4f68cdde589349aaa7969d95ee6752 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 03:30:55 +0300 Subject: [PATCH 11/68] networking.js --- src/controllers/dashboard/networking.js | 157 ++++++++++++++++-------- 1 file changed, 108 insertions(+), 49 deletions(-) diff --git a/src/controllers/dashboard/networking.js b/src/controllers/dashboard/networking.js index a6e42967a..97383dfd4 100644 --- a/src/controllers/dashboard/networking.js +++ b/src/controllers/dashboard/networking.js @@ -1,53 +1,60 @@ -define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"], function(loading, libraryMenu, globalize) { +define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"], function (loading, libraryMenu, globalize) { "use strict"; function onSubmit(e) { var form = this; var localAddress = form.querySelector("#txtLocalAddress").value; var enableUpnp = form.querySelector("#chkEnableUpnp").checked; - confirmSelections(localAddress, enableUpnp, function() { + confirmSelections(localAddress, enableUpnp, function () { var validationResult = getValidationAlert(form); - if (validationResult) return void alertText(validationResult); - validateHttps(form).then(function() { + + if (validationResult) { + return void alertText(validationResult); + } + + validateHttps(form).then(function () { loading.show(); - ApiClient.getServerConfiguration().then(function(config) { - config.LocalNetworkSubnets = form.querySelector("#txtLanNetworks").value.split(",").map(function(s) { - return s.trim() - }).filter(function(s) { - return s.length > 0 + ApiClient.getServerConfiguration().then(function (config) { + config.LocalNetworkSubnets = form.querySelector("#txtLanNetworks").value.split(",").map(function (s) { + return s.trim(); + }).filter(function (s) { + return s.length > 0; }); - - config.RemoteIPFilter = form.querySelector("#txtExternalAddressFilter").value.split(",").map(function(s) { - return s.trim() - }).filter(function(s) { - return s.length > 0 + config.RemoteIPFilter = form.querySelector("#txtExternalAddressFilter").value.split(",").map(function (s) { + return s.trim(); + }).filter(function (s) { + return s.length > 0; }); - config.IsRemoteIPFilterBlacklist = "blacklist" === form.querySelector("#selectExternalAddressFilterMode").value; config.PublicPort = form.querySelector("#txtPublicPort").value; config.PublicHttpsPort = form.querySelector("#txtPublicHttpsPort").value; var httpsMode = form.querySelector("#selectHttpsMode").value; + switch (httpsMode) { case "proxy": config.EnableHttps = true; config.RequireHttps = false; config.IsBehindProxy = true; break; + case "required": config.EnableHttps = true; config.RequireHttps = true; config.IsBehindProxy = false; break; + case "enabled": config.EnableHttps = true; config.RequireHttps = false; config.IsBehindProxy = false; break; + default: config.EnableHttps = false; config.RequireHttps = false; config.IsBehindProxy = false; } + config.HttpsPortNumber = form.querySelector("#txtHttpsPort").value; config.HttpServerPortNumber = form.querySelector("#txtPortNumber").value; config.EnableUPnP = enableUpnp; @@ -57,47 +64,66 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"], config.CertificatePassword = form.querySelector("#txtCertPassword").value || null; config.LocalNetworkAddresses = localAddress ? [localAddress] : []; ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult, Dashboard.processErrorResponse); - }) - }) - }), e.preventDefault() + }); + }); + }); + e.preventDefault(); } function triggerChange(select) { var evt = document.createEvent("HTMLEvents"); - evt.initEvent("change", !1, !0), select.dispatchEvent(evt) + evt.initEvent("change", false, true); + select.dispatchEvent(evt); } function getValidationAlert(form) { - return form.querySelector("#txtPublicPort").value === form.querySelector("#txtPublicHttpsPort").value ? "The public http and https ports must be different." : form.querySelector("#txtPortNumber").value === form.querySelector("#txtHttpsPort").value ? "The http and https ports must be different." : null + if (form.querySelector("#txtPublicPort").value === form.querySelector("#txtPublicHttpsPort").value) { + return "The public http and https ports must be different."; + } + + if (form.querySelector("#txtPortNumber").value === form.querySelector("#txtHttpsPort").value) { + return "The http and https ports must be different."; + } + + return null; } function validateHttps(form) { var certPath = form.querySelector("#txtCertificatePath").value || null; var httpsMode = form.querySelector("#selectHttpsMode").value; - return "enabled" !== httpsMode && "required" !== httpsMode || certPath ? Promise.resolve() : new Promise(function(resolve, reject) { + + if ("enabled" !== httpsMode && "required" !== httpsMode || certPath) { + return Promise.resolve(); + } + + return new Promise(function (resolve, reject) { return alertText({ title: globalize.translate("TitleHostingSettings"), text: globalize.translate("HttpsRequiresCert") - }).then(reject, reject) - }) + }).then(reject, reject); + }); } function alertText(options) { - return new Promise(function(resolve, reject) { - require(["alert"], function(alert) { - alert(options).then(resolve, reject) - }) - }) + return new Promise(function (resolve, reject) { + require(["alert"], function (alert) { + alert(options).then(resolve, reject); + }); + }); } function confirmSelections(localAddress, enableUpnp, callback) { - localAddress || !enableUpnp ? alertText({ - title: globalize.translate("TitleHostingSettings"), - text: globalize.translate("SettingsWarning") - }).then(callback) : callback() + if (localAddress || !enableUpnp) { + alertText({ + title: globalize.translate("TitleHostingSettings"), + text: globalize.translate("SettingsWarning") + }).then(callback); + } else { + callback(); + } } - return function(view, params) { + return function (view, params) { function loadPage(page, config) { page.querySelector("#txtPortNumber").value = config.HttpServerPortNumber; page.querySelector("#txtPublicPort").value = config.PublicPort; @@ -108,7 +134,17 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"], page.querySelector("#selectExternalAddressFilterMode").value = config.IsRemoteIPFilterBlacklist ? "blacklist" : "whitelist"; page.querySelector("#chkRemoteAccess").checked = null == config.EnableRemoteAccess || config.EnableRemoteAccess; var selectHttpsMode = page.querySelector("#selectHttpsMode"); - config.IsBehindProxy ? selectHttpsMode.value = "proxy" : config.RequireHttps ? selectHttpsMode.value = "required" : config.EnableHttps ? selectHttpsMode.value = "enabled" : selectHttpsMode.value = "disabled"; + + if (config.IsBehindProxy) { + selectHttpsMode.value = "proxy"; + } else if (config.RequireHttps) { + selectHttpsMode.value = "required"; + } else if (config.EnableHttps) { + selectHttpsMode.value = "enabled"; + } else { + selectHttpsMode.value = "disabled"; + } + page.querySelector("#txtHttpsPort").value = config.HttpsPortNumber; page.querySelector("#txtBaseUrl").value = config.BaseUrl || ""; var txtCertificatePath = page.querySelector("#txtCertificatePath"); @@ -119,27 +155,50 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"], loading.hide(); } - view.querySelector("#chkRemoteAccess").addEventListener("change", function() { - this.checked ? (view.querySelector(".fldExternalAddressFilter").classList.remove("hide"), view.querySelector(".fldExternalAddressFilterMode").classList.remove("hide"), view.querySelector(".fldPublicPort").classList.remove("hide"), view.querySelector(".fldPublicHttpsPort").classList.remove("hide"), view.querySelector(".fldCertificatePath").classList.remove("hide"), view.querySelector(".fldCertPassword").classList.remove("hide"), view.querySelector(".fldHttpsMode").classList.remove("hide"), view.querySelector(".fldEnableUpnp").classList.remove("hide")) : (view.querySelector(".fldExternalAddressFilter").classList.add("hide"), view.querySelector(".fldExternalAddressFilterMode").classList.add("hide"), view.querySelector(".fldPublicPort").classList.add("hide"), view.querySelector(".fldPublicHttpsPort").classList.add("hide"), view.querySelector(".fldCertificatePath").classList.add("hide"), view.querySelector(".fldCertPassword").classList.add("hide"), view.querySelector(".fldHttpsMode").classList.add("hide"), view.querySelector(".fldEnableUpnp").classList.add("hide")) - }), view.querySelector("#btnSelectCertPath").addEventListener("click", function() { - require(["directorybrowser"], function(directoryBrowser) { - var picker = new directoryBrowser; + view.querySelector("#chkRemoteAccess").addEventListener("change", function () { + if (this.checked) { + view.querySelector(".fldExternalAddressFilter").classList.remove("hide"); + view.querySelector(".fldExternalAddressFilterMode").classList.remove("hide"); + view.querySelector(".fldPublicPort").classList.remove("hide"); + view.querySelector(".fldPublicHttpsPort").classList.remove("hide"); + view.querySelector(".fldCertificatePath").classList.remove("hide"); + view.querySelector(".fldCertPassword").classList.remove("hide"); + view.querySelector(".fldHttpsMode").classList.remove("hide"); + view.querySelector(".fldEnableUpnp").classList.remove("hide"); + } else { + view.querySelector(".fldExternalAddressFilter").classList.add("hide"); + view.querySelector(".fldExternalAddressFilterMode").classList.add("hide"); + view.querySelector(".fldPublicPort").classList.add("hide"); + view.querySelector(".fldPublicHttpsPort").classList.add("hide"); + view.querySelector(".fldCertificatePath").classList.add("hide"); + view.querySelector(".fldCertPassword").classList.add("hide"); + view.querySelector(".fldHttpsMode").classList.add("hide"); + view.querySelector(".fldEnableUpnp").classList.add("hide"); + } + }); + view.querySelector("#btnSelectCertPath").addEventListener("click", function () { + require(["directorybrowser"], function (directoryBrowser) { + var picker = new directoryBrowser(); picker.show({ - includeFiles: !0, - includeDirectories: !0, - callback: function(path) { - path && (view.querySelector("#txtCertificatePath").value = path), picker.close() + includeFiles: true, + includeDirectories: true, + callback: function (path) { + if (path) { + view.querySelector("#txtCertificatePath").value = path; + } + + picker.close(); }, header: globalize.translate("HeaderSelectCertificatePath") - }) - }) + }); + }); }); - - view.querySelector(".dashboardHostingForm").addEventListener("submit", onSubmit), view.addEventListener("viewshow", function(e) { + view.querySelector(".dashboardHostingForm").addEventListener("submit", onSubmit); + view.addEventListener("viewshow", function (e) { loading.show(); - ApiClient.getServerConfiguration().then(function(config) { + ApiClient.getServerConfiguration().then(function (config) { loadPage(view, config); }); }); - } + }; }); From f05fd603719c55df283fc46f96c9abb3b557a471 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 03:31:15 +0300 Subject: [PATCH 12/68] librarymenu.js --- src/scripts/librarymenu.js | 64 ++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/src/scripts/librarymenu.js b/src/scripts/librarymenu.js index dcf47b5b3..1db13b07e 100644 --- a/src/scripts/librarymenu.js +++ b/src/scripts/librarymenu.js @@ -1,6 +1,38 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "viewManager", "libraryBrowser", "appRouter", "apphost", "playbackManager", "browser", "globalize", "scripts/imagehelper", "paper-icon-button-light", "material-icons", "scrollStyles", "flexStyles"], function (dom, layoutManager, inputManager, connectionManager, events, viewManager, libraryBrowser, appRouter, appHost, playbackManager, browser, globalize, imageHelper) { "use strict"; + function renderHeader() { + var html = ""; + html += '
'; + html += '
'; + html += '"; + html += ''; + html += ''; + html += '

'; + html += "
"; + html += '
'; + html += ''; + html += ''; + html += ''; + html += ''; + html += "
"; + html += "
"; + html += '
'; + html += "
"; + + skinHeader.classList.add("skinHeader-withBackground"); + skinHeader.classList.add("skinHeader-blurred"); + skinHeader.innerHTML = html; + + headerHomeButton = skinHeader.querySelector(".headerHomeButton"); + headerUserButton = skinHeader.querySelector(".headerUserButton"); + headerCastButton = skinHeader.querySelector(".headerCastButton"); + headerSearchButton = skinHeader.querySelector(".headerSearchButton"); + + lazyLoadViewMenuBarImages(); + bindMenuEvents(); + } + function getCurrentApiClient() { if (currentUser && currentUser.localUser) { return connectionManager.getApiClient(currentUser.localUser.ServerId); @@ -838,37 +870,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " updateLibraryNavLinks(page); }); - (function () { - var html = ""; - html += '
'; - html += '
'; - html += '"; - html += ''; - html += ''; - html += '

'; - html += "
"; - html += '
'; - html += ''; - html += ''; - html += ''; - html += ''; - html += "
"; - html += "
"; - html += '
'; - html += "
"; - - skinHeader.classList.add("skinHeader-withBackground"); - skinHeader.classList.add("skinHeader-blurred"); - skinHeader.innerHTML = html; - - headerHomeButton = skinHeader.querySelector(".headerHomeButton"); - headerUserButton = skinHeader.querySelector(".headerUserButton"); - headerCastButton = skinHeader.querySelector(".headerCastButton"); - headerSearchButton = skinHeader.querySelector(".headerSearchButton"); - - lazyLoadViewMenuBarImages(); - bindMenuEvents(); - })(); + renderHeader(); events.on(connectionManager, "localusersignedin", function (e, user) { currentDrawerType = null; From e5e2c387d77e7a5a44885f01e74d26c8e7431c7a Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 03:31:43 +0300 Subject: [PATCH 13/68] navdrawer.js --- src/components/navdrawer/navdrawer.js | 312 +++++++++++++++++++------- 1 file changed, 229 insertions(+), 83 deletions(-) diff --git a/src/components/navdrawer/navdrawer.js b/src/components/navdrawer/navdrawer.js index 69adbd1f5..dc222176c 100644 --- a/src/components/navdrawer/navdrawer.js +++ b/src/components/navdrawer/navdrawer.js @@ -1,6 +1,7 @@ -define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, dom) { +define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function (browser, dom) { "use strict"; - return function(options) { + + return function (options) { function getTouches(e) { return e.changedTouches || e.targetTouches || e.touches; } @@ -9,14 +10,13 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, options.target.classList.remove("transition"); var touches = getTouches(e); var touch = touches[0] || {}; - menuTouchStartX = touch.clientX; menuTouchStartY = touch.clientY; - menuTouchStartTime = (new Date).getTime(); + menuTouchStartTime = new Date().getTime(); } function setVelocity(deltaX) { - var time = (new Date).getTime() - (menuTouchStartTime || 0); + var time = new Date().getTime() - (menuTouchStartTime || 0); velocity = Math.abs(deltaX) / time; } @@ -28,21 +28,38 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, var endY = touch.clientY || 0; var deltaX = endX - (menuTouchStartX || 0); var deltaY = endY - (menuTouchStartY || 0); - setVelocity(deltaX), isOpen && 1 !== dragMode && deltaX > 0 && (dragMode = 2), 0 === dragMode && (!isOpen || Math.abs(deltaX) >= 10) && Math.abs(deltaY) < 5 ? (dragMode = 1, scrollContainer.addEventListener("scroll", disableEvent), self.showMask()) : 0 === dragMode && Math.abs(deltaY) >= 5 && (dragMode = 2), 1 === dragMode && (newPos = currentPos + deltaX, self.changeMenuPos()) + setVelocity(deltaX); + + if (isOpen && 1 !== dragMode && deltaX > 0) { + dragMode = 2; + } + + if (0 === dragMode && (!isOpen || Math.abs(deltaX) >= 10) && Math.abs(deltaY) < 5) { + dragMode = 1; + scrollContainer.addEventListener("scroll", disableEvent); + self.showMask(); + } else { + if (0 === dragMode && Math.abs(deltaY) >= 5) { + dragMode = 2; + } + } + + if (1 === dragMode) { + newPos = currentPos + deltaX; + self.changeMenuPos(); + } } function onMenuTouchEnd(e) { options.target.classList.add("transition"); scrollContainer.removeEventListener("scroll", disableEvent); dragMode = 0; - var touches = getTouches(e); var touch = touches[0] || {}; var endX = touch.clientX || 0; var endY = touch.clientY || 0; var deltaX = endX - (menuTouchStartX || 0); var deltaY = endY - (menuTouchStartY || 0); - currentPos = deltaX; self.checkMenuState(deltaX, deltaY); } @@ -53,10 +70,12 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, } else { if (((getTouches(e)[0] || {}).clientX || 0) <= options.handleSize) { isPeeking = true; + if (e.type === "touchstart") { dom.removeEventListener(edgeContainer, "touchmove", onEdgeTouchMove, {}); dom.addEventListener(edgeContainer, "touchmove", onEdgeTouchMove, {}); } + onMenuTouchStart(e); } } @@ -65,38 +84,49 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, function onEdgeTouchMove(e) { e.preventDefault(); e.stopPropagation(); - onEdgeTouchStart(e); } function onEdgeTouchEnd(e) { - isPeeking && (isPeeking = !1, dom.removeEventListener(edgeContainer, "touchmove", onEdgeTouchMove, {}), onMenuTouchEnd(e)) + if (isPeeking) { + isPeeking = false; + dom.removeEventListener(edgeContainer, "touchmove", onEdgeTouchMove, {}); + onMenuTouchEnd(e); + } } function disableEvent(e) { - e.preventDefault(), e.stopPropagation() + e.preventDefault(); + e.stopPropagation(); } function onBackgroundTouchStart(e) { var touches = getTouches(e); var touch = touches[0] || {}; - backgroundTouchStartX = touch.clientX, backgroundTouchStartTime = (new Date).getTime() + backgroundTouchStartX = touch.clientX; + backgroundTouchStartTime = new Date().getTime(); } function onBackgroundTouchMove(e) { var touches = getTouches(e); var touch = touches[0] || {}; var endX = touch.clientX || 0; + if (endX <= options.width && self.isVisible) { countStart++; var deltaX = endX - (backgroundTouchStartX || 0); + if (1 === countStart && (startPoint = deltaX), deltaX < 0 && 2 !== dragMode) { - dragMode = 1, newPos = deltaX - startPoint + options.width, self.changeMenuPos(); - var time = (new Date).getTime() - (backgroundTouchStartTime || 0); - velocity = Math.abs(deltaX) / time + dragMode = 1; + newPos = deltaX - startPoint + options.width; + self.changeMenuPos(); + var time = new Date().getTime() - (backgroundTouchStartTime || 0); + velocity = Math.abs(deltaX) / time; } } - e.preventDefault(), e.stopPropagation() + + e.preventDefault(); + e.stopPropagation(); } function onBackgroundTouchEnd(e) { @@ -104,13 +134,18 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, var touch = touches[0] || {}; var endX = touch.clientX || 0; var deltaX = endX - (backgroundTouchStartX || 0); - self.checkMenuState(deltaX), countStart = 0 + self.checkMenuState(deltaX); + countStart = 0; } function onMaskTransitionEnd() { var classList = mask.classList; - classList.contains("backdrop") || classList.add("hide") + + if (!classList.contains("backdrop")) { + classList.add("hide"); + } } + var self; var defaults; var mask; @@ -123,83 +158,194 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function(browser, var dragMode = 0; var scrollContainer = options.target.querySelector(".mainDrawer-scrollContainer"); scrollContainer.classList.add("scrollY"); - var TouchMenuLA = function() { - self = this, defaults = { + + var TouchMenuLA = function () { + self = this; + defaults = { width: 260, handleSize: 10, - disableMask: !1, + disableMask: false, maxMaskOpacity: 0.5 - }, this.isVisible = !1, this.initialize() + }; + this.isVisible = false; + this.initialize(); }; - TouchMenuLA.prototype.initElements = function() { - options.target.classList.add("touch-menu-la"), options.target.style.width = options.width + "px", options.target.style.left = -options.width + "px", options.disableMask || (mask = document.createElement("div"), mask.className = "tmla-mask hide", document.body.appendChild(mask), dom.addEventListener(mask, dom.whichTransitionEvent(), onMaskTransitionEnd, { - passive: !0 - })) + + TouchMenuLA.prototype.initElements = function () { + options.target.classList.add("touch-menu-la"); + options.target.style.width = options.width + "px"; + options.target.style.left = -options.width + "px"; + + if (!options.disableMask) { + mask = document.createElement("div"); + mask.className = "tmla-mask hide"; + document.body.appendChild(mask); + dom.addEventListener(mask, dom.whichTransitionEvent(), onMaskTransitionEnd, { + passive: true + }); + } }; + var menuTouchStartX; var menuTouchStartY; var menuTouchStartTime; var edgeContainer = document.querySelector(".mainDrawerHandle"); var isPeeking = false; - TouchMenuLA.prototype.animateToPosition = function(pos) { - requestAnimationFrame(function() { - options.target.style.transform = pos ? "translateX(" + pos + "px)" : "none" - }) - }, TouchMenuLA.prototype.changeMenuPos = function() { - newPos <= options.width && this.animateToPosition(newPos) - }, TouchMenuLA.prototype.clickMaskClose = function() { - mask.addEventListener("click", function() { - self.close() - }) - }, TouchMenuLA.prototype.checkMenuState = function(deltaX, deltaY) { - velocity >= 0.4 ? deltaX >= 0 || Math.abs(deltaY || 0) >= 70 ? self.open() : self.close() : newPos >= 100 ? self.open() : newPos && self.close() - }, TouchMenuLA.prototype.open = function() { - this.animateToPosition(options.width), currentPos = options.width, this.isVisible = !0, options.target.classList.add("drawer-open"), self.showMask(), self.invoke(options.onChange) - }, TouchMenuLA.prototype.close = function() { - this.animateToPosition(0), currentPos = 0, self.isVisible = !1, options.target.classList.remove("drawer-open"), self.hideMask(), self.invoke(options.onChange) - }, TouchMenuLA.prototype.toggle = function() { - self.isVisible ? self.close() : self.open() + + TouchMenuLA.prototype.animateToPosition = function (pos) { + requestAnimationFrame(function () { + options.target.style.transform = pos ? "translateX(" + pos + "px)" : "none"; + }); }; + + TouchMenuLA.prototype.changeMenuPos = function () { + if (newPos <= options.width) { + this.animateToPosition(newPos); + } + }; + + TouchMenuLA.prototype.clickMaskClose = function () { + mask.addEventListener("click", function () { + self.close(); + }); + }; + + TouchMenuLA.prototype.checkMenuState = function (deltaX, deltaY) { + if (velocity >= 0.4) { + if (deltaX >= 0 || Math.abs(deltaY || 0) >= 70) { + self.open(); + } else { + self.close(); + } + } else { + if (newPos >= 100) { + self.open(); + } else { + if (newPos) { + self.close(); + } + } + } + }; + + TouchMenuLA.prototype.open = function () { + this.animateToPosition(options.width); + currentPos = options.width; + this.isVisible = true; + options.target.classList.add("drawer-open"); + self.showMask(); + self.invoke(options.onChange); + }; + + TouchMenuLA.prototype.close = function () { + this.animateToPosition(0); + currentPos = 0; + self.isVisible = false; + options.target.classList.remove("drawer-open"); + self.hideMask(); + self.invoke(options.onChange); + }; + + TouchMenuLA.prototype.toggle = function () { + if (self.isVisible) { + self.close(); + } else { + self.open(); + } + }; + var backgroundTouchStartX; var backgroundTouchStartTime; - TouchMenuLA.prototype.showMask = function() { - mask.classList.remove("hide"), mask.offsetWidth, mask.classList.add("backdrop") - }, TouchMenuLA.prototype.hideMask = function() { - mask.classList.remove("backdrop") - }, TouchMenuLA.prototype.invoke = function(fn) { - fn && fn.apply(self) + + TouchMenuLA.prototype.showMask = function () { + mask.classList.remove("hide"); + mask.offsetWidth; + mask.classList.add("backdrop"); }; + + TouchMenuLA.prototype.hideMask = function () { + mask.classList.remove("backdrop"); + }; + + TouchMenuLA.prototype.invoke = function (fn) { + if (fn) { + fn.apply(self); + } + }; + var _edgeSwipeEnabled; - return TouchMenuLA.prototype.setEdgeSwipeEnabled = function(enabled) { - options.disableEdgeSwipe || browser.touch && (enabled ? _edgeSwipeEnabled || (_edgeSwipeEnabled = !0, dom.addEventListener(edgeContainer, "touchstart", onEdgeTouchStart, { - passive: !0 - }), dom.addEventListener(edgeContainer, "touchend", onEdgeTouchEnd, { - passive: !0 - }), dom.addEventListener(edgeContainer, "touchcancel", onEdgeTouchEnd, { - passive: !0 - })) : _edgeSwipeEnabled && (_edgeSwipeEnabled = !1, dom.removeEventListener(edgeContainer, "touchstart", onEdgeTouchStart, { - passive: !0 - }), dom.removeEventListener(edgeContainer, "touchend", onEdgeTouchEnd, { - passive: !0 - }), dom.removeEventListener(edgeContainer, "touchcancel", onEdgeTouchEnd, { - passive: !0 - }))) - }, TouchMenuLA.prototype.initialize = function() { - options = Object.assign(defaults, options || {}), browser.edge && (options.disableEdgeSwipe = !0), self.initElements(), browser.touch && (dom.addEventListener(options.target, "touchstart", onMenuTouchStart, { - passive: !0 - }), dom.addEventListener(options.target, "touchmove", onMenuTouchMove, { - passive: !0 - }), dom.addEventListener(options.target, "touchend", onMenuTouchEnd, { - passive: !0 - }), dom.addEventListener(options.target, "touchcancel", onMenuTouchEnd, { - passive: !0 - }), dom.addEventListener(mask, "touchstart", onBackgroundTouchStart, { - passive: !0 - }), dom.addEventListener(mask, "touchmove", onBackgroundTouchMove, {}), dom.addEventListener(mask, "touchend", onBackgroundTouchEnd, { - passive: !0 - }), dom.addEventListener(mask, "touchcancel", onBackgroundTouchEnd, { - passive: !0 - })), self.clickMaskClose() - }, new TouchMenuLA - } -}); \ No newline at end of file + + TouchMenuLA.prototype.setEdgeSwipeEnabled = function (enabled) { + if (!options.disableEdgeSwipe) { + if (browser.touch) { + if (enabled) { + if (!_edgeSwipeEnabled) { + _edgeSwipeEnabled = true; + dom.addEventListener(edgeContainer, "touchstart", onEdgeTouchStart, { + passive: true + }); + dom.addEventListener(edgeContainer, "touchend", onEdgeTouchEnd, { + passive: true + }); + dom.addEventListener(edgeContainer, "touchcancel", onEdgeTouchEnd, { + passive: true + }); + } + } else { + if (_edgeSwipeEnabled) { + _edgeSwipeEnabled = false; + dom.removeEventListener(edgeContainer, "touchstart", onEdgeTouchStart, { + passive: true + }); + dom.removeEventListener(edgeContainer, "touchend", onEdgeTouchEnd, { + passive: true + }); + dom.removeEventListener(edgeContainer, "touchcancel", onEdgeTouchEnd, { + passive: true + }); + } + } + } + } + }; + + TouchMenuLA.prototype.initialize = function () { + options = Object.assign(defaults, options || {}); + + if (browser.edge) { + options.disableEdgeSwipe = true; + } + + self.initElements(); + + if (browser.touch) { + dom.addEventListener(options.target, "touchstart", onMenuTouchStart, { + passive: true + }); + dom.addEventListener(options.target, "touchmove", onMenuTouchMove, { + passive: true + }); + dom.addEventListener(options.target, "touchend", onMenuTouchEnd, { + passive: true + }); + dom.addEventListener(options.target, "touchcancel", onMenuTouchEnd, { + passive: true + }); + dom.addEventListener(mask, "touchstart", onBackgroundTouchStart, { + passive: true + }); + dom.addEventListener(mask, "touchmove", onBackgroundTouchMove, {}); + dom.addEventListener(mask, "touchend", onBackgroundTouchEnd, { + passive: true + }); + dom.addEventListener(mask, "touchcancel", onBackgroundTouchEnd, { + passive: true + }); + } + + self.clickMaskClose(); + }; + + return new TouchMenuLA(); + }; +}); From a28596dc6f25fe9505c5937d5e975d900fe398c0 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 03:46:35 +0300 Subject: [PATCH 14/68] manual Deminify navdrawer --- src/components/navdrawer/navdrawer.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/navdrawer/navdrawer.js b/src/components/navdrawer/navdrawer.js index dc222176c..33e976fe0 100644 --- a/src/components/navdrawer/navdrawer.js +++ b/src/components/navdrawer/navdrawer.js @@ -38,10 +38,8 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function (browser, dragMode = 1; scrollContainer.addEventListener("scroll", disableEvent); self.showMask(); - } else { - if (0 === dragMode && Math.abs(deltaY) >= 5) { - dragMode = 2; - } + } else if (0 === dragMode && Math.abs(deltaY) >= 5) { + dragMode = 2; } if (1 === dragMode) { From 0c9ae31417c68f4fecab54a73939b4582cd8f6be Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 18:31:01 +0300 Subject: [PATCH 15/68] apply suggustion --- src/components/navdrawer/navdrawer.js | 18 ++++++++++++------ src/controllers/dashboard/networking.js | 3 ++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/navdrawer/navdrawer.js b/src/components/navdrawer/navdrawer.js index 33e976fe0..fdd81154a 100644 --- a/src/components/navdrawer/navdrawer.js +++ b/src/components/navdrawer/navdrawer.js @@ -114,12 +114,17 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function (browser, countStart++; var deltaX = endX - (backgroundTouchStartX || 0); - if (1 === countStart && (startPoint = deltaX), deltaX < 0 && 2 !== dragMode) { - dragMode = 1; - newPos = deltaX - startPoint + options.width; - self.changeMenuPos(); - var time = new Date().getTime() - (backgroundTouchStartTime || 0); - velocity = Math.abs(deltaX) / time; + if (countStart == 1) { + startPoint = deltaX; + } + if (deltaX < 0) { + if (dragMode !== 2) { + dragMode = 1; + newPos = deltaX - startPoint + options.width; + self.changeMenuPos(); + var time = new Date().getTime() - (backgroundTouchStartTime || 0); + velocity = Math.abs(deltaX) / time; + } } } @@ -262,6 +267,7 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function (browser, }; TouchMenuLA.prototype.hideMask = function () { + mask.classList.add("hide"); mask.classList.remove("backdrop"); }; diff --git a/src/controllers/dashboard/networking.js b/src/controllers/dashboard/networking.js index 97383dfd4..b9f990d62 100644 --- a/src/controllers/dashboard/networking.js +++ b/src/controllers/dashboard/networking.js @@ -9,7 +9,8 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"], var validationResult = getValidationAlert(form); if (validationResult) { - return void alertText(validationResult); + alertText(validationResult); + return; } validateHttps(form).then(function () { From 5a6eb5eeec2aa2508fd6549390ad6ddae71f0c12 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Wed, 22 Jan 2020 19:06:35 +0300 Subject: [PATCH 16/68] apply suggeustion --- src/controllers/movies/moviesrecommended.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index cdcc681aa..31ded5c59 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -133,7 +133,7 @@ define(["events", "layoutManager", "inputManager", "userSettings", "libraryMenu" if (enableScrollX()) { html += '
'; } - + html += "
"; html += "
"; return html; } From 2c4cc578ca538ac6323a49099379390d77559887 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Thu, 23 Jan 2020 20:30:35 +0300 Subject: [PATCH 17/68] apply suggeustion --- src/components/navdrawer/navdrawer.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/components/navdrawer/navdrawer.js b/src/components/navdrawer/navdrawer.js index fdd81154a..9c15fbc18 100644 --- a/src/components/navdrawer/navdrawer.js +++ b/src/components/navdrawer/navdrawer.js @@ -117,14 +117,12 @@ define(["browser", "dom", "css!./navdrawer", "scrollStyles"], function (browser, if (countStart == 1) { startPoint = deltaX; } - if (deltaX < 0) { - if (dragMode !== 2) { - dragMode = 1; - newPos = deltaX - startPoint + options.width; - self.changeMenuPos(); - var time = new Date().getTime() - (backgroundTouchStartTime || 0); - velocity = Math.abs(deltaX) / time; - } + if (deltaX < 0 && dragMode !== 2) { + dragMode = 1; + newPos = deltaX - startPoint + options.width; + self.changeMenuPos(); + var time = new Date().getTime() - (backgroundTouchStartTime || 0); + velocity = Math.abs(deltaX) / time; } } From 6728f5b718e3519804ae95be5eca3a2fea21183d Mon Sep 17 00:00:00 2001 From: dkanada Date: Fri, 24 Jan 2020 02:57:29 +0900 Subject: [PATCH 18/68] remove useless autoplay script and add folder for settings --- src/components/apphost.js | 30 +++------ src/components/htmlvideoplayer/plugin.js | 8 --- src/components/layoutManager.js | 4 +- src/components/playback/autoplaydetect.js | 61 ------------------- src/components/usersettings/usersettings.js | 5 -- .../settings}/appSettings.js | 4 +- .../settings/userSettings.js} | 2 +- src/scripts/site.js | 19 ++++-- 8 files changed, 27 insertions(+), 106 deletions(-) delete mode 100644 src/components/playback/autoplaydetect.js delete mode 100644 src/components/usersettings/usersettings.js rename src/{components => scripts/settings}/appSettings.js (99%) rename src/{components/usersettings/usersettingsbuilder.js => scripts/settings/userSettings.js} (99%) diff --git a/src/components/apphost.js b/src/components/apphost.js index b1b1c30dc..609b24a78 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -167,24 +167,24 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet if (browser.mobile) { return false; } - - var savedResult = appSettings.get(htmlMediaAutoplayAppStorageKey); - return "true" === savedResult || "false" !== savedResult && null; } - function cueSupported() { + function supportsCue() { try { var video = document.createElement("video"); var style = document.createElement("style"); + style.textContent = "video::cue {background: inherit}"; document.body.appendChild(style); document.body.appendChild(video); + var cue = window.getComputedStyle(video, "::cue").background; document.body.removeChild(style); document.body.removeChild(video); + return !!cue.length; } catch (err) { - console.log("Error detecting cue support:" + err); + console.log("error detecting cue support: " + err); return false; } } @@ -204,8 +204,6 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet } } - var htmlMediaAutoplayAppStorageKey = "supportshtmlmediaautoplay0"; - var supportedFeatures = function () { var features = []; @@ -280,7 +278,7 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet //features.push("multiserver"); features.push("screensaver"); - if (!browser.orsay && !browser.tizen && !browser.msie && (browser.firefox || browser.ps4 || browser.edge || cueSupported())) { + if (!browser.orsay && !browser.tizen && !browser.msie && (browser.firefox || browser.ps4 || browser.edge || supportsCue())) { features.push("subtitleappearancesettings"); } @@ -299,18 +297,6 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet return features; }(); - if (supportedFeatures.indexOf("htmlvideoautoplay") === -1 && supportsHtmlMediaAutoplay() !== false) { - require(["autoPlayDetect"], function (autoPlayDetect) { - autoPlayDetect.supportsHtmlMediaAutoplay().then(function () { - appSettings.set(htmlMediaAutoplayAppStorageKey, "true"); - supportedFeatures.push("htmlvideoautoplay"); - supportedFeatures.push("htmlaudioautoplay"); - }, function () { - appSettings.set(htmlMediaAutoplayAppStorageKey, "false"); - }); - }); - } - var deviceId; var deviceName; var appName = "Jellyfin Web"; @@ -395,7 +381,9 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet } } }; + var doc = self.document; + var isHidden = false; if (doc) { if (void 0 !== doc.visibilityState) { @@ -419,8 +407,6 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet } } - var isHidden = false; - if (doc) { doc.addEventListener(visibilityChange, function () { if (document[visibilityState]) { diff --git a/src/components/htmlvideoplayer/plugin.js b/src/components/htmlvideoplayer/plugin.js index a71b053a2..f47b96ba6 100644 --- a/src/components/htmlvideoplayer/plugin.js +++ b/src/components/htmlvideoplayer/plugin.js @@ -1401,7 +1401,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa dlg.classList.add('videoPlayerContainer'); if (options.backdropUrl) { - dlg.classList.add('videoPlayerContainer-withBackdrop'); dlg.style.backgroundImage = "url('" + options.backdropUrl + "')"; } @@ -1410,11 +1409,7 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa dlg.classList.add('videoPlayerContainer-onTop'); } - // playsinline new for iOS 10 - // https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html - var html = ''; - var cssClass = 'htmlvideoplayer'; if (!browser.chromecast) { @@ -1449,7 +1444,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa self._mediaElement = videoElement; if (mediaManager) { - if (!mediaManager.embyInit) { initMediaManager(); mediaManager.embyInit = true; @@ -1465,9 +1459,7 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa } else { resolve(videoElement); } - }); - } else { if (options.backdropUrl) { dlg.classList.add('videoPlayerContainer-withBackdrop'); diff --git a/src/components/layoutManager.js b/src/components/layoutManager.js index 1059bf575..21bcdf593 100644 --- a/src/components/layoutManager.js +++ b/src/components/layoutManager.js @@ -2,7 +2,6 @@ define(['browser', 'appSettings', 'events'], function (browser, appSettings, eve 'use strict'; function setLayout(instance, layout, selectedLayout) { - if (layout === selectedLayout) { instance[layout] = true; document.documentElement.classList.add('layout-' + layout); @@ -38,7 +37,6 @@ define(['browser', 'appSettings', 'events'], function (browser, appSettings, eve }; LayoutManager.prototype.getSavedLayout = function (layout) { - return appSettings.get('layout'); }; @@ -64,4 +62,4 @@ define(['browser', 'appSettings', 'events'], function (browser, appSettings, eve }; return new LayoutManager(); -}); \ No newline at end of file +}); diff --git a/src/components/playback/autoplaydetect.js b/src/components/playback/autoplaydetect.js deleted file mode 100644 index 3610eef2a..000000000 --- a/src/components/playback/autoplaydetect.js +++ /dev/null @@ -1,61 +0,0 @@ -define([], function () { - 'use strict'; - - function supportsHtmlMediaAutoplay() { - - return new Promise(function (resolve, reject) { - - var timeout; - var elem = document.createElement('video'); - var elemStyle = elem.style; - //skip the test if video itself, or the autoplay - //element on it isn't supported - if (!('autoplay' in elem)) { - reject(); - return; - } - elemStyle.position = 'absolute'; - elemStyle.height = 0; - elemStyle.width = 0; - - elem.setAttribute('autoplay', 'autoplay'); - elem.style.display = 'none'; - document.body.appendChild(elem); - - var testAutoplay = function (arg) { - clearTimeout(timeout); - elem.removeEventListener('playing', testAutoplay); - elem.removeEventListener('play', testAutoplay); - var supported = (arg && arg.type === 'playing') || (arg && arg.type === 'play') || elem.currentTime !== 0; - elem.parentNode.removeChild(elem); - - if (supported) { - resolve(); - } else { - reject(); - } - }; - - // play needed for firefox - elem.addEventListener('play', testAutoplay); - elem.addEventListener('playing', testAutoplay); - - try { - elem.src = 'data:video/mp4;base64,AAAAHGZ0eXBtcDQyAAAAAG1wNDJpc29tYXZjMQAAAz5tb292AAAAbG12aGQAAAAAzaNacc2jWnEAAV+QAAFfkAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAGGlvZHMAAAAAEICAgAcAT////3//AAACQ3RyYWsAAABcdGtoZAAAAAHNo1pxzaNacQAAAAEAAAAAAAFfkAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAEAAAABAAAAAAAd9tZGlhAAAAIG1kaGQAAAAAzaNacc2jWnEAAV+QAAFfkFXEAAAAAAAhaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAAAAAAGWbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABVnN0YmwAAACpc3RzZAAAAAAAAAABAAAAmWF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAEAAQAEgAAABIAAAAAAAAAAEOSlZUL0FWQyBDb2RpbmcAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAxYXZjQwH0AAr/4QAZZ/QACq609NQYBBkAAAMAAQAAAwAKjxImoAEABWjOAa8gAAAAEmNvbHJuY2xjAAYAAQAGAAAAGHN0dHMAAAAAAAAAAQAAAAUAAEZQAAAAKHN0c3oAAAAAAAAAAAAAAAUAAAIqAAAACAAAAAgAAAAIAAAACAAAAChzdHNjAAAAAAAAAAIAAAABAAAABAAAAAEAAAACAAAAAQAAAAEAAAAYc3RjbwAAAAAAAAACAAADYgAABaQAAAAUc3RzcwAAAAAAAAABAAAAAQAAABFzZHRwAAAAAAREREREAAAAb3VkdGEAAABnbWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcgAAAAAAAAAAAAAAAAAAAAA6aWxzdAAAADKpdG9vAAAAKmRhdGEAAAABAAAAAEhhbmRCcmFrZSAwLjkuOCAyMDEyMDcxODAwAAACUm1kYXQAAAHkBgX/4NxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxMjAgLSBILjI2NC9NUEVHLTQgQVZDIGNvZGVjIC0gQ29weWxlZnQgMjAwMy0yMDExIC0gaHR0cDovL3d3dy52aWRlb2xhbi5vcmcveDI2NC5odG1sIC0gb3B0aW9uczogY2FiYWM9MCByZWY9MSBkZWJsb2NrPTE6MDowIGFuYWx5c2U9MHgxOjAgbWU9ZXNhIHN1Ym1lPTkgcHN5PTAgbWl4ZWRfcmVmPTAgbWVfcmFuZ2U9NCBjaHJvbWFfbWU9MSB0cmVsbGlzPTAgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0wIGNocm9tYV9xcF9vZmZzZXQ9MCB0aHJlYWRzPTYgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTUwIGtleWludF9taW49NSBzY2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmM9Y3FwIG1idHJlZT0wIHFwPTAAgAAAAD5liISscR8A+E4ACAACFoAAITAAAgsAAPgYCoKgoC+L4vi+KAvi+L4YfAEAACMzgABF9AAEUGUgABDJiXnf4AAAAARBmiKUAAAABEGaQpQAAAAEQZpilAAAAARBmoKU'; - var promise = elem.play(); - if (promise && promise.catch) { - promise.catch(reject); - } - - timeout = setTimeout(testAutoplay, 500); - } catch (e) { - reject(); - return; - } - }); - } - - return { - supportsHtmlMediaAutoplay: supportsHtmlMediaAutoplay - }; -}); \ No newline at end of file diff --git a/src/components/usersettings/usersettings.js b/src/components/usersettings/usersettings.js deleted file mode 100644 index 6b3dc90d4..000000000 --- a/src/components/usersettings/usersettings.js +++ /dev/null @@ -1,5 +0,0 @@ -define(['userSettingsBuilder'], function (userSettingsBuilder) { - 'use strict'; - - return new userSettingsBuilder(); -}); \ No newline at end of file diff --git a/src/components/appSettings.js b/src/scripts/settings/appSettings.js similarity index 99% rename from src/components/appSettings.js rename to src/scripts/settings/appSettings.js index d1a981148..bd91786f8 100644 --- a/src/components/appSettings.js +++ b/src/scripts/settings/appSettings.js @@ -10,13 +10,13 @@ define(['appStorage', 'events'], function (appStorage, events) { } function AppSettings() { - } AppSettings.prototype.enableAutoLogin = function (val) { if (val != null) { this.set('enableAutoLogin', val.toString()); } + return this.get('enableAutoLogin') !== 'false'; }; @@ -132,4 +132,4 @@ define(['appStorage', 'events'], function (appStorage, events) { }; return new AppSettings(); -}); \ No newline at end of file +}); diff --git a/src/components/usersettings/usersettingsbuilder.js b/src/scripts/settings/userSettings.js similarity index 99% rename from src/components/usersettings/usersettingsbuilder.js rename to src/scripts/settings/userSettings.js index f852dacc4..4105a8611 100644 --- a/src/components/usersettings/usersettingsbuilder.js +++ b/src/scripts/settings/userSettings.js @@ -242,5 +242,5 @@ define(['appSettings', 'events'], function (appSettings, events) { return this.get(key, true); }; - return UserSettings; + return new UserSettings(); }); diff --git a/src/scripts/site.js b/src/scripts/site.js index d7c3a1c8a..7c3daf015 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -315,6 +315,14 @@ var AppInfo = {}; return "components"; } + function getElementsPath() { + return "elements" + } + + function getScriptsPath() { + return "scripts" + } + function getPlaybackManager(playbackManager) { window.addEventListener("beforeunload", function () { try { @@ -650,8 +658,12 @@ var AppInfo = {}; (function () { var urlArgs = "v=" + (window.dashboardVersion || new Date().getDate()); + var bowerPath = getBowerPath(); var componentsPath = getComponentsPath(); + var elementsPath = getElementsPath(); + var scriptsPath = getScriptsPath(); + var paths = { browserdeviceprofile: "scripts/browserdeviceprofile", browser: "scripts/browser", @@ -672,7 +684,6 @@ var AppInfo = {}; itemHelper: componentsPath + "/itemhelper", itemShortcuts: componentsPath + "/shortcuts", playQueueManager: componentsPath + "/playback/playqueuemanager", - autoPlayDetect: componentsPath + "/playback/autoplaydetect", nowPlayingHelper: componentsPath + "/playback/nowplayinghelper", pluginManager: componentsPath + "/pluginManager", packageManager: componentsPath + "/packagemanager", @@ -765,7 +776,6 @@ var AppInfo = {}; return queryString; }); - var elementsPath = "elements" define("emby-button", [elementsPath + "/emby-button/emby-button"], returnFirstDependency); define("paper-icon-button-light", [elementsPath + "/emby-button/paper-icon-button-light"], returnFirstDependency); define("emby-checkbox", [elementsPath + "/emby-checkbox/emby-checkbox"], returnFirstDependency); @@ -778,6 +788,9 @@ var AppInfo = {}; define("emby-textarea", [elementsPath + "/emby-textarea/emby-textarea"], returnFirstDependency); define("emby-toggle", [elementsPath + "/emby-toggle/emby-toggle"], returnFirstDependency); + define("appSettings", [scriptsPath + "/settings/appSettings"], returnFirstDependency); + define("userSettings", [scriptsPath + "/settings/userSettings"], returnFirstDependency); + define("chromecastHelper", [componentsPath + "/chromecast/chromecasthelpers"], returnFirstDependency); define("mediaSession", [componentsPath + "/playback/mediasession"], returnFirstDependency); define("actionsheet", [componentsPath + "/actionsheet/actionsheet"], returnFirstDependency); @@ -865,8 +878,6 @@ var AppInfo = {}; define("toast", [componentsPath + "/toast/toast"], returnFirstDependency); define("scrollHelper", [componentsPath + "/scrollhelper"], returnFirstDependency); define("touchHelper", [componentsPath + "/touchhelper"], returnFirstDependency); - define("appSettings", [componentsPath + "/appSettings"], returnFirstDependency); - define("userSettings", [componentsPath + "/usersettings/usersettings"], returnFirstDependency); define("userSettingsBuilder", [componentsPath + "/usersettings/usersettingsbuilder", "layoutManager", "browser"], returnFirstDependency); define("imageUploader", [componentsPath + "/imageuploader/imageuploader"], returnFirstDependency); define("htmlMediaHelper", [componentsPath + "/htmlMediaHelper"], returnFirstDependency); From 5446e9a6252550625460e6725a58eba24dcce34d Mon Sep 17 00:00:00 2001 From: dkanada Date: Fri, 24 Jan 2020 18:45:37 +0900 Subject: [PATCH 19/68] return default value in method --- src/components/apphost.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/apphost.js b/src/components/apphost.js index 609b24a78..c03ae0bce 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -167,6 +167,8 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function (appSet if (browser.mobile) { return false; } + + return true; } function supportsCue() { From e3dd8715009e9a44d5a7d85be060f249ef0bb381 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 24 Jan 2020 16:44:45 +0300 Subject: [PATCH 20/68] Apply suggestions from code review --- src/components/keyboardnavigation.js | 27 ++++++++++++++++++--------- src/controllers/playback/videoosd.js | 12 ++---------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/components/keyboardnavigation.js b/src/components/keyboardnavigation.js index 0971018bb..d1ed03138 100644 --- a/src/components/keyboardnavigation.js +++ b/src/components/keyboardnavigation.js @@ -16,15 +16,24 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager) 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", - 412: "MediaRewind", // MediaRewind (Tizen/WebOS) - 413: "MediaStop", // MediaStop (Tizen/WebOS) - 415: "MediaPlay", // MediaPlay (Tizen/WebOS) - 417: "MediaFastForward", // MediaFastForward (Tizen/WebOS) - 461: "Back", // Back (WebOS) - 10009: "Back", // Back (Tizen) - 10232: "MediaTrackPrevious", // MediaTrackPrevious (Tizen) - 10233: "MediaTrackNext", // MediaTrackNext (Tizen) - 10252: "MediaPlayPause" // MediaPlayPause (Tizen) + // MediaRewind (Tizen/WebOS) + 412: "MediaRewind", + // MediaStop (Tizen/WebOS) + 413: "MediaStop", + // MediaPlay (Tizen/WebOS) + 415: "MediaPlay", + // MediaFastForward (Tizen/WebOS) + 417: "MediaFastForward", + // Back (WebOS) + 461: "Back", + // Back (Tizen) + 10009: "Back", + // MediaTrackPrevious (Tizen) + 10232: "MediaTrackPrevious", + // MediaTrackNext (Tizen) + 10233: "MediaTrackNext", + // MediaPlayPause (Tizen) + 10252: "MediaPlayPause" }; var hasFieldKey = false; diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index 5dc12aeee..6392c3a1a 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -1105,7 +1105,6 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med case "Enter": showOsd(); break; - case "Escape": case "Back": // Ignore key when some dialog is opened @@ -1114,52 +1113,45 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med e.stopPropagation(); } break; - case "k": playbackManager.playPause(currentPlayer); showOsd(); break; - case "l": case "ArrowRight": case "Right": playbackManager.fastForward(currentPlayer); showOsd(); break; - case "j": case "ArrowLeft": case "Left": playbackManager.rewind(currentPlayer); showOsd(); break; - case "f": if (!e.ctrlKey && !e.metaKey) { playbackManager.toggleFullscreen(currentPlayer); showOsd(); } break; - case "m": playbackManager.toggleMute(currentPlayer); showOsd(); break; - case "NavigationLeft": case "GamepadDPadLeft": case "GamepadLeftThumbstickLeft": - // Ignores gamepad events that are always triggered, even when not focused. + // Ignores gamepad events that are always triggered, even when not focused. if (document.hasFocus()) { playbackManager.rewind(currentPlayer); showOsd(); } break; - case "NavigationRight": case "GamepadDPadRight": case "GamepadLeftThumbstickRight": - // Ignores gamepad events that are always triggered, even when not focused. + // Ignores gamepad events that are always triggered, even when not focused. if (document.hasFocus()) { playbackManager.fastForward(currentPlayer); showOsd(); From ad48356d3d250669ff434eb6f19d3f8f7257bb76 Mon Sep 17 00:00:00 2001 From: SaddFox Date: Fri, 24 Jan 2020 14:11:46 +0000 Subject: [PATCH 21/68] Translated using Weblate (Slovenian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/ --- src/strings/sl-si.json | 47 +++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json index 7d8be1621..d0f5404c1 100644 --- a/src/strings/sl-si.json +++ b/src/strings/sl-si.json @@ -39,7 +39,7 @@ "OptionHasSubtitles": "Podnapisi", "OptionLikes": "Všeč mi je", "OptionPlayed": "Predvajano", - "OptionReleaseDate": "Datum Izdaje", + "OptionReleaseDate": "Datum izida", "OptionUnplayed": "Nepredvajano", "ParentalRating": "Ocena za starše", "Settings": "Nastavitve", @@ -58,7 +58,7 @@ "TabProfiles": "Profili", "TabShows": "Oddaje", "TabSuggestions": "Predlogi", - "TabUpcoming": "V prihodu", + "TabUpcoming": "Prihajajoče", "TellUsAboutYourself": "Povej nam nekaj o sebi", "ThisWizardWillGuideYou": "Čarovnik vas bo vodil skozi postopek namestitve. Za začetek, izberite jezik.", "WelcomeToProject": "Dobrodosli v Jellyfin!", @@ -92,7 +92,7 @@ "Books": "Knjige", "Channels": "Kanali", "Collections": "Zbirke", - "Favorites": "Priljubljeni", + "Favorites": "Priljubljeno", "Folders": "Mape", "Genres": "Zvrsti", "HeaderAlbumArtists": "Izvajalci albuma", @@ -219,7 +219,7 @@ "ButtonShuffle": "Premešaj", "ButtonShutdown": "Ugasni", "ButtonSignIn": "Prijava", - "ButtonSort": "Sortiraj", + "ButtonSort": "Razvrsti", "ButtonStart": "Začetek", "ButtonStop": "Stop", "ButtonSubtitles": "Podnapisi", @@ -343,7 +343,7 @@ "HeaderPendingInvitations": "Povabila na čakanju", "HeaderPasswordReset": "Ponastavi geslo", "HeaderPassword": "Geslo", - "HeaderParentalRatings": "Starševska ocena", + "HeaderParentalRatings": "Ocena za starše", "HeaderOnNow": "Zdaj", "HeaderNextVideoPlayingInValue": "Naslednji video se bo predvajal čez {0}", "HeaderNextEpisodePlayingInValue": "Naslednja epizoda se bo predvajala čez {0}", @@ -542,7 +542,7 @@ "HeaderUploadImage": "Naloži sliko", "HeaderUpcomingOnTV": "Prihaja na TV", "HeaderTypeText": "Vnesi besedilo", - "HeaderTypeImageFetchers": "{0} prejemniki slik", + "HeaderTypeImageFetchers": "{0} pridobivanje slik", "HeaderTuners": "Sprejemniki", "HeaderTunerDevices": "Sprejemniki", "LabelAllowHWTranscoding": "Dovoli strojno pospešeno prekodiranje", @@ -566,7 +566,7 @@ "HeaderSpecialFeatures": "Dodatki", "HeaderSpecialEpisodeInfo": "Informacije o posebni epizodi", "HeaderSortOrder": "Vrstni red", - "HeaderSortBy": "Uredi po", + "HeaderSortBy": "Razvrsti po", "HeaderShutdown": "Ugasni", "HeaderSetupLibrary": "Nastavite vaše knjižnjice predstavnosti", "HeaderServerSettings": "Nastavitve strežnika", @@ -1038,5 +1038,36 @@ "MediaInfoChannels": "Kanali", "MediaInfoBitrate": "Bitna hitrost", "MediaInfoBitDepth": "Bitna globina", - "HeaderFavoritePeople": "Priljubljene osebe" + "HeaderFavoritePeople": "Priljubljene osebe", + "ReleaseDate": "Datum izida", + "LabelReleaseDate": "Datum izida:", + "Runtime": "Trajanje", + "UserProfilesIntro": "Jellyfin podpira uporabniške profile z natančnimi nastavitvami prikaza, stanjem predvajanja in starševskim nadzorom.", + "TabParentalControl": "Starševski nadzor", + "OptionParentalRating": "Ocena za starše", + "LabelParentalRating": "Ocena za starše:", + "OptionPlayCount": "Število predvajanj", + "LabelTranscodingThreadCount": "Število niti prekodiranja:", + "OptionBlockChannelContent": "Vsebina spletnega kanala", + "OneChannel": "En kanal", + "SortName": "Ime razvrščanja", + "SortChannelsBy": "Razvrsti kanale po:", + "SortByValue": "Razvrsti po {0}", + "Sort": "Razvrsti", + "LabelSortTitle": "Naslov razvrščanja:", + "LabelSortOrder": "Vrstni red:", + "LabelSortBy": "Razvrsti po:", + "Thumb": "Sličica", + "OptionThumbCard": "Sličica", + "OptionThumb": "Sličica", + "OptionDownloadThumbImage": "Sličica", + "ButtonSplit": "Razdeli", + "MessageYouHaveVersionInstalled": "Trenutno je nameščena različica {0}.", + "DashboardVersionNumber": "Različica: {0}", + "LabelVersion": "Različica:", + "LabelSelectVersionToInstall": "Izberite različico za namestitev:", + "Never": "Nikoli", + "ServerUpdateNeeded": "Jellyfin strežnik je potrebno posodobiti. Za prenos najnovejše različice prosimo obiščite {0}", + "LatestFromLibrary": "Najnovejši {0}", + "LabelScheduledTaskLastRan": "Nazadnje zagnano {0}. Čas trajanja {1}." } From 0ec0326c9da22250f1caf22dc2cde763d37a5cd0 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 13:25:56 +0100 Subject: [PATCH 22/68] Add stylelint --- package.json | 3 +- yarn.lock | 1205 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1197 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 09b793cd3..f46fe5903 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "file-loader": "^3.0.1", "html-webpack-plugin": "^3.2.0", "style-loader": "^0.23.1", + "stylelint": "^13.0.0", "webpack": "^4.41.0", "webpack-cli": "^3.3.9", "webpack-concat-plugin": "^3.0.0", @@ -26,6 +27,7 @@ "howler": "^2.1.2", "jquery": "^3.4.1", "jstree": "^3.3.7", + "libass-wasm": "^2.1.1", "libjass": "^0.11.0", "native-promise-only": "^0.8.0-a", "requirejs": "^2.3.5", @@ -33,7 +35,6 @@ "shaka-player": "^2.5.5", "sortablejs": "^1.9.0", "swiper": "^3.4.2", - "libass-wasm": "^2.1.1", "webcomponents.js": "^0.7.24", "whatwg-fetch": "^1.1.1" }, diff --git a/yarn.lock b/yarn.lock index 1526957e4..b79e6a51f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,76 @@ dependencies: "@babel/highlight" "^7.0.0" +"@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/core@>=7.2.2": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941" + integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helpers" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03" + integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug== + dependencies: + "@babel/types" "^7.8.3" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helpers@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85" + integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/highlight@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" @@ -18,6 +88,60 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081" + integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ== + +"@babel/runtime@^7.6.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.3.tgz#0811944f73a6c926bb2ad35e918dcc1bfab279f1" + integrity sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w== + dependencies: + regenerator-runtime "^0.13.2" + +"@babel/template@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" + integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/traverse@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a" + integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -26,16 +150,42 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + "@types/anymatch@*": version "1.3.1" resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -55,11 +205,26 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== +"@types/minimist@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" + integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + "@types/node@*": version "12.7.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.12.tgz#7c6c571cc2f3f3ac4a59a5f2bd48f5bdbc8653cc" integrity sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ== +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/source-list-map@*": version "0.1.2" resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" @@ -77,6 +242,27 @@ dependencies: source-map "^0.6.1" +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + +"@types/vfile-message@*": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-2.0.0.tgz#690e46af0fdfc1f9faae00cd049cc888957927d5" + integrity sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw== + dependencies: + vfile-message "*" + +"@types/vfile@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" + integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== + dependencies: + "@types/node" "*" + "@types/unist" "*" + "@types/vfile-message" "*" + "@types/webpack-sources@*": version "0.1.5" resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.5.tgz#be47c10f783d3d6efe1471ff7f042611bd464a92" @@ -332,6 +518,11 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -339,6 +530,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -399,6 +598,11 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -571,6 +775,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -748,7 +959,16 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" -camelcase@^5.0.0, camelcase@^5.2.0: +camelcase-keys@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.1.1.tgz#0d24dde78cea4c7d2da7f4ea40b7995083328c8d" + integrity sha512-kEPCddRFChEzO0d6w61yh0WbBiSv9gBnfZWGfXRYPlGqIdIGef6HMR6pgqVSEWCYkrp8B0AtEpEXNY+Jx0xk1A== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -762,6 +982,34 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-html4@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" + integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg== + +character-entities-legacy@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" + integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww== + +character-entities@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" + integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w== + +character-reference-invalid@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" + integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -880,11 +1128,23 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +collapse-white-space@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" + integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -900,11 +1160,23 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -1011,6 +1283,13 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -1188,7 +1467,15 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -decamelize@^1.2.0: +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -1332,6 +1619,13 @@ dir-glob@^2.0.0: dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -1417,6 +1711,13 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" +dot-prop@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -1450,6 +1751,11 @@ emoji-regex@^7.0.1: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -1681,6 +1987,13 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -1752,6 +2065,11 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + external-editor@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" @@ -1792,6 +2110,17 @@ fast-glob@^2.0.2: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.1.1.tgz#87ee30e9e9f3eb40d6f254a7997655da753d7c82" + integrity sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -1802,6 +2131,13 @@ fast-levenshtein@~2.0.4: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" + integrity sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA== + dependencies: + reusify "^1.0.0" + faye-websocket@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" @@ -1853,6 +2189,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -1882,6 +2225,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + findup-sync@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" @@ -2013,6 +2364,11 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -2023,6 +2379,11 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -2043,6 +2404,13 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" @@ -2060,7 +2428,7 @@ glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -global-modules@2.0.0: +global-modules@2.0.0, global-modules@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== @@ -2096,11 +2464,23 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -globals@^11.7.0: +globals@^11.1.0, globals@^11.7.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globby@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.0.tgz#56fd0e9f0d4f8fb0c456f1ab0dee96e1380bc154" + integrity sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -2137,6 +2517,18 @@ globby@^8.0.1: pify "^3.0.0" slash "^1.0.0" +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= + +gonzales-pe@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.4.tgz#356ae36a312c46fe0f1026dd6cb539039f8500d2" + integrity sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ== + dependencies: + minimist "1.1.x" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: version "4.2.1" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" @@ -2147,11 +2539,21 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== +hard-rejection@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" @@ -2245,6 +2647,11 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" +hosted-git-info@^2.1.4: + version "2.8.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== + howler@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/howler/-/howler-2.1.2.tgz#8433a09d8fe84132a3e726e05cb2bd352ef8bd49" @@ -2278,6 +2685,11 @@ html-minifier@^3.2.3: relateurl "0.2.x" uglify-js "3.4.x" +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + html-webpack-plugin@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" @@ -2291,7 +2703,7 @@ html-webpack-plugin@^3.2.0: toposort "^1.0.0" util.promisify "1.0.0" -htmlparser2@^3.3.0: +htmlparser2@^3.10.0, htmlparser2@^3.3.0: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== @@ -2436,6 +2848,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -2550,6 +2967,24 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-alphabetical@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" + integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== + +is-alphanumeric@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= + +is-alphanumerical@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" + integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arguments@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" @@ -2567,6 +3002,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" @@ -2591,6 +3031,11 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= +is-decimal@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" + integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -2638,6 +3083,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -2652,6 +3102,11 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-hexadecimal@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" + integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -2659,6 +3114,16 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + is-path-cwd@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" @@ -2678,6 +3143,11 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -2697,6 +3167,11 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -2709,11 +3184,26 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-whitespace-character@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac" + integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ== + is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-word-character@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" + integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== + is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" @@ -2759,6 +3249,11 @@ js-yaml@^3.13.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -2791,6 +3286,13 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +json5@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== + dependencies: + minimist "^1.2.0" + jstree@^3.3.7: version "3.3.8" resolved "https://registry.yarnpkg.com/jstree/-/jstree-3.3.8.tgz#8d0f506028d65e5207efa7b78e6541cbe35622c1" @@ -2827,6 +3329,11 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +known-css-properties@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.17.0.tgz#1c535f530ee8e9e3e27bb6a718285780e1d07326" + integrity sha512-Vi3nxDGMm/z+lAaCjvAR1u+7fiv+sG6gU/iYDj5QOF8h76ytK9EW/EKfF0NeTyiGBi8Jy6Hklty/vxISrLox3w== + lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -2834,6 +3341,11 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -2852,6 +3364,11 @@ libjass@^0.11.0: resolved "https://registry.yarnpkg.com/libjass/-/libjass-0.11.0.tgz#bff1f464a2428c3bddfb68e4503b2d52afe3d6e6" integrity sha1-v/H0ZKJCjDvd+2jkUDstUq/j1uY= +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -2884,16 +3401,42 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3: +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + loglevel@^1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56" integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g== +longest-streak@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" + integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -2931,6 +3474,16 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" + integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -2938,6 +3491,21 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +markdown-escapes@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" + integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== + +markdown-table@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + +mathml-tag-names@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" + integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -2947,6 +3515,13 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdast-util-compact@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593" + integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg== + dependencies: + unist-util-visit "^1.1.0" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -2969,12 +3544,29 @@ memory-fs@^0.4.0, memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +meow@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-6.0.0.tgz#949196fdf21d979379e3bdccb0411e60f8cffd93" + integrity sha512-x4rYsjigPBDAxY+BGuK83YLhUIqui5wYyZoqb6QJCUOs+0fiYq+i/NV4Jt8OgIfObZFxG9iTyvLDu4UTohGTFw== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.1.1" + decamelize-keys "^1.1.0" + hard-rejection "^2.0.0" + minimist-options "^4.0.1" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.0" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.8.1" + yargs-parser "^16.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge2@^1.2.3: +merge2@^1.2.3, merge2@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== @@ -3003,6 +3595,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -3048,6 +3648,11 @@ mimic-fn@^2.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +min-indent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" + integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -3065,11 +3670,24 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist-options@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.0.2.tgz#29c4021373ded40d546186725e57761e4b1984a7" + integrity sha512-seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= +minimist@1.1.x: + version "1.1.3" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" + integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= + minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3287,6 +3905,16 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -3510,6 +4138,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -3597,6 +4232,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -3612,6 +4252,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -3624,6 +4269,11 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -3635,6 +4285,11 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +picomatch@^2.0.5: + version "2.2.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -3715,6 +4370,52 @@ postcss-modules-values@^2.0.0: icss-replace-symbols "^1.1.0" postcss "^7.0.6" +postcss-reporter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f" + integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== + dependencies: + chalk "^2.4.1" + lodash "^4.17.11" + log-symbols "^2.2.0" + postcss "^7.0.7" + +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + +postcss-safe-parser@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== + dependencies: + postcss "^7.0.0" + +postcss-sass@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.4.2.tgz#7d1f8ddf6960d329de28fb3ff43c9c42013646bc" + integrity sha512-hcRgnd91OQ6Ot9R90PE/khUDCJHG8Uxxd3F7Y0+9VHjBiJgNv7sK5FxyHMCBtoLmmkzVbSj3M3OlqUfLJpq0CQ== + dependencies: + gonzales-pe "^4.2.4" + postcss "^7.0.21" + +postcss-scss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" + integrity sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug== + dependencies: + postcss "^7.0.0" + +postcss-selector-parser@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= + dependencies: + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-selector-parser@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" @@ -3724,6 +4425,11 @@ postcss-selector-parser@^6.0.0: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-syntax@^0.36.2: + version "0.36.2" + resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" + integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== + postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" @@ -3738,6 +4444,15 @@ postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: source-map "^0.6.1" supports-color "^6.1.0" +postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.7: + version "7.0.26" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" + integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -3856,6 +4571,11 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3896,6 +4616,25 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +read-pkg-up@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" @@ -3927,6 +4666,19 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -3952,6 +4704,56 @@ relateurl@0.2.x: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= +remark-parse@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" + integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg== + dependencies: + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^1.1.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^1.0.0" + vfile-location "^2.0.0" + xtend "^4.0.1" + +remark-stringify@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" + integrity sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg== + dependencies: + ccount "^1.0.0" + is-alphanumeric "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + longest-streak "^2.0.1" + markdown-escapes "^1.0.0" + markdown-table "^1.1.0" + mdast-util-compact "^1.0.0" + parse-entities "^1.0.2" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + stringify-entities "^1.0.1" + unherit "^1.0.4" + xtend "^4.0.1" + +remark@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" + integrity sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ== + dependencies: + remark-parse "^6.0.0" + remark-stringify "^6.0.0" + unified "^7.0.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -3973,11 +4775,16 @@ repeat-element@^1.1.2: resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -repeat-string@^1.6.1: +repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +replace-ext@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4033,11 +4840,23 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve@^1.10.0, resolve@^1.3.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2" + integrity sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ== + dependencies: + path-parse "^1.0.6" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -4056,6 +4875,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +reusify@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -4078,6 +4902,11 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -4148,6 +4977,11 @@ selfsigned@^1.10.7: dependencies: node-forge "0.9.0" +"semver@2 || 3 || 4 || 5", semver@^5.4.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" @@ -4270,6 +5104,11 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -4363,7 +5202,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -4373,6 +5212,32 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -4396,6 +5261,11 @@ spdy@^4.0.1: select-hose "^2.0.0" spdy-transport "^3.0.0" +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -4415,6 +5285,11 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +state-toggle@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" + integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -4486,6 +5361,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + string.prototype.trimleft@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" @@ -4523,6 +5407,16 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-entities@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" + integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== + dependencies: + character-entities-html4 "^1.0.0" + character-entities-legacy "^1.0.0" + is-alphanumerical "^1.0.0" + is-hexadecimal "^1.0.0" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -4544,11 +5438,25 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -4562,6 +5470,72 @@ style-loader@^0.23.1: loader-utils "^1.1.0" schema-utils "^1.0.0" +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + +stylelint@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.0.0.tgz#532007f7154c1a5ed14245d857a5884316f5111f" + integrity sha512-6sjgOJbM3iLhnUtmRO0J1vvxie9VnhIZX/2fCehjylv9Gl9u0ytehGCTm9Lhw2p1F8yaNZn5UprvhCB8C3g/Tg== + dependencies: + autoprefixer "^9.7.3" + balanced-match "^1.0.0" + chalk "^3.0.0" + cosmiconfig "^6.0.0" + debug "^4.1.1" + execall "^2.0.0" + file-entry-cache "^5.0.1" + get-stdin "^7.0.0" + global-modules "^2.0.0" + globby "^11.0.0" + globjoin "^0.1.4" + html-tags "^3.1.0" + ignore "^5.1.4" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + known-css-properties "^0.17.0" + leven "^3.1.0" + lodash "^4.17.15" + log-symbols "^3.0.0" + mathml-tag-names "^2.1.1" + meow "^6.0.0" + micromatch "^4.0.2" + normalize-selector "^0.2.0" + postcss "^7.0.26" + postcss-html "^0.36.0" + postcss-jsx "^0.36.3" + postcss-less "^3.1.4" + postcss-markdown "^0.36.0" + postcss-media-query-parser "^0.2.3" + postcss-reporter "^6.0.1" + postcss-resolve-nested-selector "^0.1.1" + postcss-safe-parser "^4.0.1" + postcss-sass "^0.4.2" + postcss-scss "^2.0.0" + postcss-selector-parser "^3.1.0" + postcss-syntax "^0.36.2" + postcss-value-parser "^4.0.2" + resolve-from "^5.0.0" + slash "^3.0.0" + specificity "^0.4.1" + string-width "^4.2.0" + strip-ansi "^6.0.0" + style-search "^0.1.0" + sugarss "^2.0.0" + svg-tags "^1.0.0" + table "^5.4.6" + v8-compile-cache "^2.1.0" + write-file-atomic "^3.0.1" + +sugarss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" + integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ== + dependencies: + postcss "^7.0.2" + supports-color@6.1.0, supports-color@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" @@ -4576,6 +5550,18 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + swiper@^3.4.2: version "3.4.2" resolved "https://registry.yarnpkg.com/swiper/-/swiper-3.4.2.tgz#39d6b410b1a39833e1f72d3b72999df5f5e38392" @@ -4591,6 +5577,16 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +table@^5.4.6: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -4675,6 +5671,11 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -4690,6 +5691,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -4710,6 +5718,26 @@ toposort@^1.0.0: resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= +trim-newlines@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" + integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== + +trim-trailing-lines@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" + integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= + +trough@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" + integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== + tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" @@ -4727,6 +5755,16 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -4735,6 +5773,13 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -4756,6 +5801,28 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" +unherit@^1.0.4: + version "1.1.2" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" + integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w== + dependencies: + inherits "^2.0.1" + xtend "^4.0.1" + +unified@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" + integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== + dependencies: + "@types/unist" "^2.0.0" + "@types/vfile" "^3.0.0" + bail "^1.0.0" + extend "^3.0.0" + is-plain-obj "^1.1.0" + trough "^1.0.0" + vfile "^3.0.0" + x-is-string "^0.1.0" + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -4785,6 +5852,51 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unist-util-find-all-after@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz#5751a8608834f41d117ad9c577770c5f2f1b2899" + integrity sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw== + dependencies: + unist-util-is "^3.0.0" + +unist-util-is@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== + +unist-util-remove-position@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" + integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== + dependencies: + unist-util-visit "^1.1.0" + +unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" + integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== + +unist-util-stringify-position@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz#5a3866e7138d55974b640ec69a94bc19e0f3fa12" + integrity sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA== + dependencies: + "@types/unist" "^2.0.2" + +unist-util-visit-parents@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" + integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== + dependencies: + unist-util-is "^3.0.0" + +unist-util-visit@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" + integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== + dependencies: + unist-util-visit-parents "^2.0.0" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -4903,11 +6015,54 @@ v8-compile-cache@2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== +v8-compile-cache@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +vfile-location@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" + integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== + +vfile-message@*: + version "2.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.2.tgz#75ba05090ec758fa8420f2c11ce049bcddd8cf3e" + integrity sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile-message@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" + integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== + dependencies: + unist-util-stringify-position "^1.1.1" + +vfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" + integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== + dependencies: + is-buffer "^2.0.0" + replace-ext "1.0.0" + unist-util-stringify-position "^1.0.0" + vfile-message "^1.0.0" + vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" @@ -5141,6 +6296,16 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" + integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -5155,7 +6320,12 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" -xtend@^4.0.0, xtend@~4.0.1: +x-is-string@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" + integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= + +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -5170,6 +6340,13 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yaml@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2" + integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw== + dependencies: + "@babel/runtime" "^7.6.3" + yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" @@ -5186,6 +6363,14 @@ yargs-parser@^13.1.0: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" + integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" From 51d9176d8bdbcc8ed9a2097a82a9e232340443b0 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 13:32:59 +0100 Subject: [PATCH 23/68] Fix at-rule-empty-line-before (CSS) --- src/assets/css/videoosd.css | 1 + src/components/viewManager/viewContainer.css | 1 + 2 files changed, 2 insertions(+) diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index c43696dd4..833cfcb4f 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -273,6 +273,7 @@ display: none !important } } + @media all and (max-width:50em) { .videoOsdBottom .btnFastForward, .videoOsdBottom .btnRewind { display: none !important diff --git a/src/components/viewManager/viewContainer.css b/src/components/viewManager/viewContainer.css index edfa10197..26edaaef3 100644 --- a/src/components/viewManager/viewContainer.css +++ b/src/components/viewManager/viewContainer.css @@ -18,6 +18,7 @@ opacity: 0; } } + @keyframes view-fadein { from { opacity: 0; From 361d6372b017e098245652acb0774c85f6ca5d0d Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 13:40:48 +0100 Subject: [PATCH 24/68] Fix declaration-block-no-duplicate-properties (CSS) --- src/components/cardbuilder/card.css | 1 - src/components/navdrawer/navdrawer.css | 1 - src/components/playerstats/playerstats.css | 1 - src/elements/emby-button/emby-button.css | 5 ----- src/elements/emby-checkbox/emby-checkbox.css | 1 - src/elements/emby-collapse/emby-collapse.css | 1 - 6 files changed, 10 deletions(-) diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index 96d0698f4..d0f9a6584 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -344,7 +344,6 @@ button { .textActionButton { border: 0 !important; background: transparent; - border: 0 !important; padding: 0 !important; cursor: pointer; -webkit-tap-highlight-color: rgba(0,0,0,0); diff --git a/src/components/navdrawer/navdrawer.css b/src/components/navdrawer/navdrawer.css index f774c6919..7f9faafe1 100644 --- a/src/components/navdrawer/navdrawer.css +++ b/src/components/navdrawer/navdrawer.css @@ -38,7 +38,6 @@ .tmla-mask { left: 0; right: 0; - background-color: #000; opacity: 0; z-index: 1098; -webkit-transition: opacity ease-in-out .38s, visibility ease-in-out .38s; diff --git a/src/components/playerstats/playerstats.css b/src/components/playerstats/playerstats.css index b9d6355bd..6e363a898 100644 --- a/src/components/playerstats/playerstats.css +++ b/src/components/playerstats/playerstats.css @@ -5,7 +5,6 @@ left: 1.5em; position: absolute; top: 5em; - color: #fff; } .playerStats-tv { diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index 2201b2cd7..f78fa21e7 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -18,11 +18,9 @@ padding: 0.9em 1em; vertical-align: middle; border: 0; - vertical-align: middle; border-radius: 0.2em; /* These are getting an outline in opera tv browsers, which run chrome 30 */ outline: none !important; - position: relative; font-weight: 600; /* Disable webkit tap highlighting */ -webkit-tap-highlight-color: rgba(0,0,0,0); @@ -112,10 +110,8 @@ padding: .556em; vertical-align: middle; border: 0; - vertical-align: middle; /* These are getting an outline in opera tv browsers, which run chrome 30 */ outline: none !important; - position: relative; overflow: hidden; border-radius: 50%; /* Disable webkit tap highlighting */ @@ -169,7 +165,6 @@ .filterButtonBubble { color: #fff; position: absolute; - background: #444; top: 0; right: 0; width: 1.6em; diff --git a/src/elements/emby-checkbox/emby-checkbox.css b/src/elements/emby-checkbox/emby-checkbox.css index a31691f9d..254f092ac 100644 --- a/src/elements/emby-checkbox/emby-checkbox.css +++ b/src/elements/emby-checkbox/emby-checkbox.css @@ -49,7 +49,6 @@ position: absolute; top: 3px; left: 0; - display: inline-block; box-sizing: border-box; width: 1.83em; height: 1.83em; diff --git a/src/elements/emby-collapse/emby-collapse.css b/src/elements/emby-collapse/emby-collapse.css index 0a982e975..50674313a 100644 --- a/src/elements/emby-collapse/emby-collapse.css +++ b/src/elements/emby-collapse/emby-collapse.css @@ -18,7 +18,6 @@ text-transform: none; width: 100%; text-align: left; - text-transform: none; border-width: 0 0 .1em 0; border-style: solid; padding-left: .1em; From ff67afeaa7470e74d72b90afb57df0ec7dbf8d95 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 13:50:29 +0100 Subject: [PATCH 25/68] Fix declaration-block-no-shorthand-property-overrides (CSS) --- src/assets/css/dashboard.css | 2 +- src/components/cardbuilder/card.css | 2 +- src/elements/emby-button/emby-button.css | 4 ++-- src/elements/emby-slider/emby-slider.css | 2 +- src/themes/blueradiance/theme.css | 4 ++-- src/themes/purplehaze/theme.css | 2 +- src/themes/wmc/theme.css | 10 ++++++---- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index d1f0b540a..7c905b2c2 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -417,6 +417,7 @@ div[data-role=controlgroup] a.ui-btn-active { } a[data-role=button] { + background: #292929 !important; background-clip: padding-box; -webkit-font-smoothing: antialiased; -webkit-user-select: none; @@ -429,7 +430,6 @@ a[data-role=button] { padding: .8em 1em; text-align: center; text-decoration: none !important; - background: #292929 !important; } @-webkit-keyframes rotating { diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index d0f9a6584..c5e56c7a8 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -12,8 +12,8 @@ button { font-size: inherit !important; font-family: inherit !important; text-transform: none; - background-color: transparent !important; background: none !important; + background-color: transparent !important; margin: 0; padding: 0; display: block; diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index f78fa21e7..60f0e943c 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -8,6 +8,8 @@ font-size: inherit; font-family: inherit; color: inherit; + /* These are getting an outline in opera tv browsers, which run chrome 30 */ + outline: none !important; outline-width: 0; -moz-user-select: none; -ms-user-select: none; @@ -19,8 +21,6 @@ vertical-align: middle; border: 0; border-radius: 0.2em; - /* These are getting an outline in opera tv browsers, which run chrome 30 */ - outline: none !important; font-weight: 600; /* Disable webkit tap highlighting */ -webkit-tap-highlight-color: rgba(0,0,0,0); diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index 71f260772..f42d6e548 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -102,8 +102,8 @@ _:-ms-input-placeholder { height: 0.9em; box-sizing: border-box; border-radius: 50%; - background-image: none; background: #00a4dc; + background-image: none; border: none; transform: Scale(1.4, 1.4); } diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 5469076a4..6040d9b19 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -26,11 +26,11 @@ html { .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; - background-color: rgba(0, 0, 0, .3); background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)) + background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); + background-color: rgba(0, 0, 0, .3); } .pageTitleWithDefaultLogo { diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index ebd290e94..12045f50b 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -26,11 +26,11 @@ html { .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; - background-color: rgba(0, 0, 0, .3); background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)) + background-color: rgba(0, 0, 0, .3); } .pageTitleWithDefaultLogo { diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index 5020414cb..d0691877b 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -22,21 +22,21 @@ html { .formDialogHeader:not(.formDialogHeader-clear), .skinHeader-withBackground { - background-color: #0C2450; background: -webkit-gradient(linear, left top, left bottom, from(#0C2450), to(#081B3B)); background: -webkit-linear-gradient(top, #0C2450, #081B3B); background: -o-linear-gradient(top, #0C2450, #081B3B); - background: linear-gradient(to bottom, #0C2450, #081B3B) + background: linear-gradient(to bottom, #0C2450, #081B3B); + background-color: #0C2450; } .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; - background-color: rgba(0, 0, 0, .3); background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)) + background-color: rgba(0, 0, 0, .3); } .pageTitleWithDefaultLogo { @@ -45,11 +45,11 @@ html { .backgroundContainer, .dialog { - background-color: #0F3562; background: -webkit-gradient(linear, left top, left bottom, from(#0F3562), color-stop(#1162A4), to(#03215F)); background: -webkit-linear-gradient(top, #0F3562, #1162A4, #03215F); background: -o-linear-gradient(top, #0F3562, #1162A4, #03215F); background: linear-gradient(to bottom, #0F3562, #1162A4, #03215F) + background-color: #0F3562; } .backgroundContainer.withBackdrop { @@ -427,6 +427,7 @@ html { } ::-webkit-scrollbar-track { + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) } @@ -436,6 +437,7 @@ html { ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { + border-radius: 2px; -webkit-border-radius: 2px; background: center no-repeat rgba(255, 255, 255, .7) } From 2a89f31383731d55f114cecd1b9dd9b2da6ba7c1 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:04:48 +0100 Subject: [PATCH 26/68] Fix no-duplicate-selectors (CSS) --- src/assets/css/fonts.css | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/assets/css/fonts.css b/src/assets/css/fonts.css index 12f1eaf4b..c52eb653e 100644 --- a/src/assets/css/fonts.css +++ b/src/assets/css/fonts.css @@ -1,8 +1,5 @@ html { font-family: -apple-system, "Helvetica", system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", 'Open Sans', sans-serif; -} - -html { font-size: 93%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; From ba8b34cd5684d9c0b2e52e74b5ebf60d128e459b Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:11:12 +0100 Subject: [PATCH 27/68] Fix no-duplicate-selectors (CSS) --- src/components/cardbuilder/card.css | 4 ---- src/components/guide/guide.css | 26 ++++++++------------------ src/elements/emby-radio/emby-radio.css | 6 +----- 3 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index c5e56c7a8..ede4c7943 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -212,10 +212,6 @@ button { box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); } -.cardImageContainer { - display: flex; -} - .cardImage { position: absolute; top: 0; diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 7dd059414..ad3f4e797 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -51,6 +51,8 @@ } .guide-channelTimeslotHeader { + border: 0 !important; + border-right-color: transparent; flex-shrink: 0; justify-content: center; } @@ -69,9 +71,14 @@ } .channelPrograms { + height: 4.42em; + contain: strict; + display: flex; + flex-direction: column; + border-style: solid; + border-width: 1px 0 1px 0; white-space: nowrap; position: relative; - contain: strict; box-sizing: border-box; } @@ -148,10 +155,6 @@ background: transparent; } -.guide-channelTimeslotHeader { - border: 0 !important; -} - /* Important - have to put the fixed width on channelsContainer, not the individual channelHeaderCell This was causing channelsContainer to extend beyond the fixed width on ps4, tizen, lg and opera tv. */ @@ -203,15 +206,6 @@ } } -.channelPrograms { - height: 4.42em; - contain: strict; - display: flex; - flex-direction: column; - border-style: solid; - border-width: 1px 0 1px 0; -} - .channelPrograms + .channelPrograms, .guide-channelHeaderCell + .guide-channelHeaderCell { margin-top: -1px; } @@ -220,10 +214,6 @@ height: 3em; } -.guide-channelTimeslotHeader { - border-right-color: transparent; -} - .guide-channelTimeslotHeader, .timeslotHeader { background: transparent !important; height: 2.8em; diff --git a/src/elements/emby-radio/emby-radio.css b/src/elements/emby-radio/emby-radio.css index 25fdc5b93..a60c131f0 100644 --- a/src/elements/emby-radio/emby-radio.css +++ b/src/elements/emby-radio/emby-radio.css @@ -4,7 +4,7 @@ display: inline-block; box-sizing: border-box; margin: 0; - padding-left: 0; + padding-left: 24px; } .radio-label-block { @@ -14,10 +14,6 @@ margin-bottom: .5em; } -.mdl-radio { - padding-left: 24px; -} - .mdl-radio__button { line-height: 24px; position: absolute; From eef526df2c0c034c848fa8baebf0ef4c47c7c8bb Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:29:41 +0100 Subject: [PATCH 28/68] Fix no-descending-specificity (CSS) --- src/assets/css/dashboard.css | 120 +++++++++++------------ src/assets/css/librarybrowser.css | 65 ++++++------ src/components/cardbuilder/card.css | 52 +++++----- src/components/guide/guide.css | 8 +- src/components/listview/listview.css | 10 +- src/components/loading/loading.css | 26 ++--- src/elements/emby-select/emby-select.css | 8 +- src/themes/appletv/theme.css | 10 +- src/themes/blueradiance/theme.css | 18 ++-- src/themes/dark/theme.css | 18 ++-- src/themes/light/theme.css | 10 +- src/themes/purplehaze/theme.css | 56 +++++------ src/themes/wmc/theme.css | 20 ++-- 13 files changed, 209 insertions(+), 212 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 7c905b2c2..507179af2 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -49,8 +49,9 @@ progress[aria-valuenow]:before { @media all and (min-width:50em) { - .type-interior>.ui-panel-content-wrap>div[data-role=content], - .type-interior>div[data-role=content] { + .type-interior>div[data-role=content], + .type-interior>.ui-panel-content-wrap>div[data-role=content] + { padding-right: 0; padding-left: 0; padding-top: 0; @@ -74,6 +75,22 @@ progress[aria-valuenow]:before { height: 4em } +a[data-role=button] { + background: #292929 !important; + background-clip: padding-box; + -webkit-font-smoothing: antialiased; + -webkit-user-select: none; + -webkit-background-clip: padding-box; + cursor: pointer !important; + font-family: inherit !important; + font-weight: 500 !important; + margin: 0 .25em !important; + display: inline-block; + padding: .8em 1em; + text-align: center; + text-decoration: none !important; +} + div[data-role=controlgroup] a[data-role=button] { display: inline-block !important; margin: 0 !important; @@ -107,6 +124,24 @@ div[data-role=controlgroup] a.ui-btn-active { color: #292929 !important } +.sessionAppInfo img { + max-width: 40px; + max-height: 40px; + margin-right: 8px; +} + +.appLinks img { + height: 36px +} + +.wizardContent h2 img { + height: 2.5em; + vertical-align: middle; + margin-right: .5em; + position: relative; + top: -.3em +} + .header .imageLink { display: inline-block } @@ -167,6 +202,18 @@ div[data-role=controlgroup] a.ui-btn-active { flex-grow: 1 } +.sessionNowPlayingContent { + -webkit-background-size: cover; + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0 +} + .activeSession:not(.playingSession) .sessionNowPlayingContent { display: none } @@ -213,15 +260,6 @@ div[data-role=controlgroup] a.ui-btn-active { } } -.premiumBanner img { - position: absolute; - text-align: right; - top: 0; - right: 0; - width: 4.4em; - height: 4.4em -} - .wizardContent { max-width: 62em; padding: .5em 2em 1em; @@ -237,14 +275,6 @@ div[data-role=controlgroup] a.ui-btn-active { max-width: 100% } -.wizardContent h2 img { - height: 2.5em; - vertical-align: middle; - margin-right: .5em; - position: relative; - top: -.3em -} - .scheduledTaskPaperIconItem { outline: 0 !important } @@ -296,18 +326,6 @@ div[data-role=controlgroup] a.ui-btn-active { margin: 0 } -.sessionNowPlayingContent { - -webkit-background-size: cover; - background-size: cover; - background-repeat: no-repeat; - background-position: center center; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0 -} - .sessionNowPlayingInnerContent { position: absolute; top: 0; @@ -340,12 +358,6 @@ div[data-role=controlgroup] a.ui-btn-active { padding: 0.8em 0.5em; } -.sessionAppInfo img { - max-width: 40px; - max-height: 40px; - margin-right: 8px; -} - .sessionNowPlayingTime { flex-shrink: 0; align-self: flex-end; @@ -357,6 +369,13 @@ div[data-role=controlgroup] a.ui-btn-active { white-space: nowrap; } +.playbackProgress, +.transcodingProgress { + margin: 0px; + width: 100%; + background: transparent !important; +} + .activeSession .playbackProgress, .activeSession .transcodingProgress { position: absolute; @@ -367,13 +386,6 @@ div[data-role=controlgroup] a.ui-btn-active { width: 100%; } -.playbackProgress, -.transcodingProgress { - margin: 0px; - width: 100%; - background: transparent !important; -} - .playbackProgress > div { z-index: 1000; background-color: #00a4dc; @@ -412,26 +424,6 @@ div[data-role=controlgroup] a.ui-btn-active { margin-left: 5px } -.appLinks img { - height: 36px -} - -a[data-role=button] { - background: #292929 !important; - background-clip: padding-box; - -webkit-font-smoothing: antialiased; - -webkit-user-select: none; - -webkit-background-clip: padding-box; - cursor: pointer !important; - font-family: inherit !important; - font-weight: 500 !important; - margin: 0 .25em !important; - display: inline-block; - padding: .8em 1em; - text-align: center; - text-decoration: none !important; -} - @-webkit-keyframes rotating { from { -webkit-transform: rotate(0); diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 6ca85ae94..f6dbed1cb 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -84,6 +84,22 @@ display: none } +.headerLeft, +.headerRight { + justify-content: center; +} + +.headerRight { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end +} + .noHeaderRight .headerRight, .noHomeButtonHeader .headerHomeButton { display: none !important @@ -164,17 +180,6 @@ width: 100% } -.headerRight { - display: -webkit-box; - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end -} - .selectedMediaFolder { background-color: #f2f2f2 !important } @@ -358,6 +363,11 @@ margin: 0 0 .25em } +.listTopPaging, +.viewControls { + display: inline-block +} + .viewControls+.listTopPaging { margin-left: .5em !important } @@ -445,15 +455,6 @@ bottom: .75em } -.layout-mobile .detailPagePrimaryContainer { - display: block; - position: relative; -} - -.layout-tv .detailPagePrimaryContainer { - position: relative; -} - .detailPagePrimaryContainer { display: flex; align-items: center; @@ -464,6 +465,15 @@ z-index: 2; } +.layout-mobile .detailPagePrimaryContainer { + display: block; + position: relative; +} + +.layout-tv .detailPagePrimaryContainer { + position: relative; +} + .infoWrapper { flex: 1 0 0; } @@ -483,11 +493,6 @@ padding-right: 2%; } -.layout-mobile .detailImageContainer, -.layout-tv .detailImageContainer { - position: relative; -} - .detailImageContainer { margin: 1.25em 0; position: sticky; @@ -496,6 +501,11 @@ width: 22.786458333333332vw; } +.layout-mobile .detailImageContainer, +.layout-tv .detailImageContainer { + position: relative; +} + .detailPagePrimaryContent { position: relative; -webkit-box-flex: 1; @@ -741,11 +751,6 @@ } } -.listTopPaging, -.viewControls { - display: inline-block -} - @media all and (max-width:50em) { .editorMenuLink { display: none diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index ede4c7943..00a11a8eb 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -1,12 +1,12 @@ +button { + -webkit-border-fit: border !important; +} + button::-moz-focus-inner { padding: 0; border: 0; } -button { - -webkit-border-fit: border !important; -} - .card { border: 0; font-size: inherit !important; @@ -87,6 +87,11 @@ button { contain: style; } +.card.show-animation .cardBox { + will-change: transform; + transition: transform 200ms ease-out; +} + .card.show-focus:not(.show-animation) .cardBox { margin: .4em; } @@ -96,11 +101,6 @@ button { border: .5em solid transparent; } -.card.show-animation .cardBox { - will-change: transform; - transition: transform 200ms ease-out; -} - .card.show-animation:focus > .cardBox { transform: scale(1.18, 1.18); } @@ -298,6 +298,23 @@ button { padding-top: .24em; } +.textActionButton { + border: 0 !important; + background: transparent; + padding: 0 !important; + cursor: pointer; + -webkit-tap-highlight-color: rgba(0,0,0,0); + outline: none !important; + color: inherit; + vertical-align: middle; + font-family: inherit; + font-size: inherit; +} + +.textActionButton:hover { + text-decoration: underline; +} + .cardText > .textActionButton { width: 100%; overflow: hidden; @@ -337,23 +354,6 @@ button { text-align: center; } -.textActionButton { - border: 0 !important; - background: transparent; - padding: 0 !important; - cursor: pointer; - -webkit-tap-highlight-color: rgba(0,0,0,0); - outline: none !important; - color: inherit; - vertical-align: middle; - font-family: inherit; - font-size: inherit; -} - -.textActionButton:hover { - text-decoration: underline; -} - .cardImageIcon { font-size: 5em; color: inherit; diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index ad3f4e797..c6807a960 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -123,6 +123,10 @@ width: 2.0833333333333333333333333333333%; } +.programCell, .guide-channelHeaderCell { + outline: none !important; +} + .guide-channelHeaderCell, .guide-channelTimeslotHeader { padding: 0 !important; cursor: pointer; @@ -362,10 +366,6 @@ contain: layout style paint; } -.programCell, .guide-channelHeaderCell { - outline: none !important; -} - .timerIcon, .seriesTimerIcon { color: #cc3333 !important; } diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css index bdd9cd8ac..347d983f9 100644 --- a/src/components/listview/listview.css +++ b/src/components/listview/listview.css @@ -85,6 +85,11 @@ justify-content: center; } +.listItem, .listItemBody, .listItemMediaInfo { + display: flex; + contain: layout style; +} + .layout-tv .listItemBody { padding: .35em .75em; } @@ -241,11 +246,6 @@ align-items: center; } -.listItem, .listItemBody, .listItemMediaInfo { - display: flex; - contain: layout style; -} - .listItem-bottomoverview { font-size: 88%; margin-bottom: 1em; diff --git a/src/components/loading/loading.css b/src/components/loading/loading.css index 6d8472fc1..210746be1 100644 --- a/src/components/loading/loading.css +++ b/src/components/loading/loading.css @@ -345,19 +345,6 @@ } } -.mdl-spinner__circle-clipper { - display: inline-block; - position: relative; - width: 50%; - height: 100%; - overflow: hidden; - border-color: inherit; -} - - .mdl-spinner__circle-clipper .mdl-spinner__circle { - width: 200%; - } - .mdl-spinner__circle { box-sizing: border-box; height: 100%; @@ -375,6 +362,19 @@ left: 0; } +.mdl-spinner__circle-clipper { + display: inline-block; + position: relative; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit; +} + + .mdl-spinner__circle-clipper .mdl-spinner__circle { + width: 200%; + } + .mdl-spinner__circleLeft { border-right-color: transparent !important; -webkit-transform: rotate(129deg); diff --git a/src/elements/emby-select/emby-select.css b/src/elements/emby-select/emby-select.css index 76b28c420..391f131a6 100644 --- a/src/elements/emby-select/emby-select.css +++ b/src/elements/emby-select/emby-select.css @@ -25,6 +25,10 @@ appearance: none; } +.emby-select::-moz-focus-inner { + border: 0; +} + .selectContainer-inline > .emby-select { padding: .3em 1.9em .3em .5em; font-size: inherit; @@ -35,10 +39,6 @@ padding-right: 0; } -.emby-select::-moz-focus-inner { - border: 0; -} - .emby-select-focusscale { transition: transform 180ms ease-out !important; -webkit-transform-origin: center center; diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 806482d5e..03a1128df 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -280,6 +280,11 @@ html { border-color: #fff; } +.emby-checkbox:checked+span+.checkboxOutline, +.itemProgressBarForeground { + background-color: #00a4dc +} + .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { border-color: #00a4dc; } @@ -294,11 +299,6 @@ html { color: #fff } -.emby-checkbox:checked+span+.checkboxOutline, -.itemProgressBarForeground { - background-color: #00a4dc -} - .itemProgressBarForeground-recording { background-color: #CB272A } diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 6040d9b19..a4c4531e4 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -290,15 +290,15 @@ html { border-color: #fff; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { - border-color: #00a4dc; -} - .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc } +.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { + border-color: #00a4dc; +} + .itemProgressBarForeground-recording { background-color: #CB272A } @@ -437,11 +437,6 @@ html { border-color: #00a4dc !important } -.layout-desktop ::-webkit-scrollbar { - width: 1em; - height: 1em -} - ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) } @@ -450,6 +445,11 @@ html { background-color: #3b3b3b } +.layout-desktop ::-webkit-scrollbar { + width: 1em; + height: 1em +} + ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { -webkit-border-radius: 2px; diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index d32b47279..006aabf85 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -264,15 +264,15 @@ html { border-color: #fff; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { - border-color: #00a4dc; -} - .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc } +.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { + border-color: #00a4dc; +} + .itemProgressBarForeground-recording { background-color: #CB272A } @@ -407,11 +407,6 @@ html { border-color: #00a4dc !important } -.layout-desktop ::-webkit-scrollbar { - width: 1em; - height: 1em -} - ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) } @@ -420,6 +415,11 @@ html { background-color: #3b3b3b } +.layout-desktop ::-webkit-scrollbar { + width: 1em; + height: 1em +} + ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { -webkit-border-radius: 2px; diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 0824134df..449ddb091 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -273,6 +273,11 @@ html { border-color: #000; } +.emby-checkbox:checked+span+.checkboxOutline, +.itemProgressBarForeground { + background-color: #00a4dc +} + .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { border-color: #00a4dc; } @@ -287,11 +292,6 @@ html { color: #fff } -.emby-checkbox:checked+span+.checkboxOutline, -.itemProgressBarForeground { - background-color: #00a4dc -} - .itemProgressBarForeground-recording { background-color: #CB272A } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 12045f50b..02c6d844f 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -117,6 +117,20 @@ a[data-role=button] { color: rgb(225, 229, 242) } +#btnResetPassword, +.btnForgotPassword, +.btnCancel, +.button-cancel { + background: rgba(0, 0, 0, .5); + color: rgba(255, 255, 255, .87); +} + +.alphaPickerButton { + color: #999; + color: rgba(255, 255, 255, .5); + background-color: transparent +} + #btnResetPassword:hover, #btnRestart:hover, #btnDeleteImage:hover, @@ -148,14 +162,6 @@ a[data-role=button] { color: rgba(255, 255, 255, .87) } -#btnResetPassword, -.btnForgotPassword, -.btnCancel, -.button-cancel { - background: rgba(0, 0, 0, .5); - color: rgba(255, 255, 255, .87); -} - .itemName { color: #f1f7ee } @@ -289,12 +295,6 @@ a[data-role=button] { color: #48C3C8 } -.alphaPickerButton { - color: #999; - color: rgba(255, 255, 255, .5); - background-color: transparent -} - .alphaPickerButton-selected { color: #0ce8d6 } @@ -379,14 +379,14 @@ a[data-role=button] { color: rgb(12, 232, 214); } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { - border:2px solid #ff77f1; -} - .emby-checkbox:focus+span+.checkboxOutline { border-color: #ff77f1; } +.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { + border:2px solid #ff77f1; +} + .itemProgressBarForeground { background-color: rgb(12, 232, 214); } @@ -525,6 +525,11 @@ a[data-role=button] { color: #4285F4 } +.personCard .cardScalable { + border-radius: 50%; + border: 1px solid rgb(255, 255, 255); +} + .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { border-color: #ff77f1 !important @@ -536,11 +541,6 @@ a[data-role=button] { scrollbar-color: #888 rgba(59, 59, 59, 0.5) } -.layout-desktop ::-webkit-scrollbar { - width: .4em; - height: 1em -} - ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) } @@ -549,6 +549,11 @@ a[data-role=button] { background-color: rgba(59, 59, 59, 0.5) } +.layout-desktop ::-webkit-scrollbar { + width: .4em; + height: 1em +} + ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { -webkit-border-radius: 2px; @@ -573,11 +578,6 @@ a[data-role=button] { width: 40vw; } -.personCard .cardScalable { - border-radius: 50%; - border: 1px solid rgb(255, 255, 255); -} - .personCard .cardPadder-overflowPortrait, .personCard .cardPadder-portrait { padding-bottom: 100%; diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index d0691877b..6fd3ed001 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -263,6 +263,11 @@ html { border-color: #fff; } +.emby-checkbox:checked+span+.checkboxOutline, +.itemProgressBarForeground { + background-color: #00a4dc +} + .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { border-color: #00a4dc; } @@ -277,11 +282,6 @@ html { color: #fff } -.emby-checkbox:checked+span+.checkboxOutline, -.itemProgressBarForeground { - background-color: #00a4dc -} - .itemProgressBarForeground-recording { background-color: #CB272A } @@ -421,11 +421,6 @@ html { border-color: #fff !important } -.layout-desktop ::-webkit-scrollbar { - width: 1em; - height: 1em -} - ::-webkit-scrollbar-track { box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) @@ -435,6 +430,11 @@ html { background-color: #081B3B } +.layout-desktop ::-webkit-scrollbar { + width: 1em; + height: 1em +} + ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { border-radius: 2px; From e3d7040910ef25d342382f79845ce3822928c197 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:34:36 +0100 Subject: [PATCH 29/68] Fix selector-type-no-unknown (CSS) --- src/elements/emby-slider/emby-slider.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index f42d6e548..22c0af5ed 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -1,4 +1,4 @@ -_:-ms-input-placeholder { +:-ms-input-placeholder { appearance: none; -ms-appearance: none; height: 2.223em; From 88cd834a191006254c0d0d31b865443ca26beba8 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:37:45 +0100 Subject: [PATCH 30/68] Fix block-closing-brace-newline-before (CSS) --- src/components/subtitlesync/subtitlesync.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/subtitlesync/subtitlesync.css b/src/components/subtitlesync/subtitlesync.css index 112e62472..b4552a50e 100644 --- a/src/components/subtitlesync/subtitlesync.css +++ b/src/components/subtitlesync/subtitlesync.css @@ -14,7 +14,7 @@ top: 0; right: 0; color: #ccc; - z-index: 2; + z-index: 2; } .subtitleSyncTextField { @@ -27,7 +27,7 @@ text-align: center; font-size: 20px; color: white; - z-index: 2; + z-index: 2; } #prompt { @@ -44,5 +44,5 @@ -webkit-flex-grow: 1; flex-grow: 1; border-radius: .3em; - z-index: 1; + z-index: 1; } \ No newline at end of file From 43ffbed47167845bd02af2dc3a0baa6d7db9041f Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:39:15 +0100 Subject: [PATCH 31/68] Fix block-opening-brace-space-before --- src/assets/css/dashboard.css | 5 ++--- src/themes/purplehaze/theme.css | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 507179af2..95f1cabcf 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -50,8 +50,7 @@ progress[aria-valuenow]:before { @media all and (min-width:50em) { .type-interior>div[data-role=content], - .type-interior>.ui-panel-content-wrap>div[data-role=content] - { + .type-interior>.ui-panel-content-wrap>div[data-role=content] { padding-right: 0; padding-left: 0; padding-top: 0; @@ -458,7 +457,7 @@ div[data-role=controlgroup] a.ui-btn-active { box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37) } -.ui-bar-a{ +.ui-bar-a { text-align: center; padding: 0 20px; } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 02c6d844f..e272a9ab8 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -584,11 +584,11 @@ a[data-role=button] { contain: strict; } -.personCard .coveredImage { +.personCard .coveredImage { clip-path: circle(50% at 50% 50%); } -.personCard .cardOverlayContainer { +.personCard .cardOverlayContainer { clip-path: circle(50% at 50% 50%); } From 04a4ca9a57ffa337c596c0a7181418a0b7b03468 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:40:08 +0100 Subject: [PATCH 32/68] Fix color-hex-case (CSS) --- src/assets/css/librarybrowser.css | 2 +- src/components/guide/programs.css | 2 +- src/components/indicators/indicators.css | 2 +- src/components/navdrawer/navdrawer.css | 2 +- src/components/playback/iconosd.css | 2 +- src/elements/emby-button/emby-button.css | 2 +- src/themes/appletv/theme.css | 26 +++++++------- src/themes/blueradiance/theme.css | 16 ++++----- src/themes/dark/theme.css | 16 ++++----- src/themes/light/theme.css | 24 ++++++------- src/themes/purplehaze/theme.css | 28 +++++++-------- src/themes/wmc/theme.css | 44 ++++++++++++------------ 12 files changed, 83 insertions(+), 83 deletions(-) diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index f6dbed1cb..8102f9084 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -858,7 +858,7 @@ } .btnSyncComplete { - background: #673AB7 !important + background: #673ab7 !important } .btnSyncComplete i { diff --git a/src/components/guide/programs.css b/src/components/guide/programs.css index 7a559e173..5f0e82dd8 100644 --- a/src/components/guide/programs.css +++ b/src/components/guide/programs.css @@ -9,7 +9,7 @@ } .premiereTvProgram { - background: #EF6C00; + background: #ef6c00; color: #fff; } diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index c2d089e1a..89e0a178d 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -24,7 +24,7 @@ } .timerIndicator { - color: #CB272A; + color: #cb272a; } .timerIndicator-inactive { diff --git a/src/components/navdrawer/navdrawer.css b/src/components/navdrawer/navdrawer.css index 7f9faafe1..6608235c2 100644 --- a/src/components/navdrawer/navdrawer.css +++ b/src/components/navdrawer/navdrawer.css @@ -7,7 +7,7 @@ } .touch-menu-la { - background-color: #FFF; + background-color: #fff; will-change: transform; display: -webkit-box; display: -webkit-flex; diff --git a/src/components/playback/iconosd.css b/src/components/playback/iconosd.css index b2c4fca91..3f0feeca2 100644 --- a/src/components/playback/iconosd.css +++ b/src/components/playback/iconosd.css @@ -36,5 +36,5 @@ } .brightnessOsdProgressInner { - background: #FF9800; + background: #ff9800; } \ No newline at end of file diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index 60f0e943c..fc5567967 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -176,6 +176,6 @@ font-size: 82%; border-radius: 100em; box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px -1px rgba(0, 0, 0, 0.2); - background: #03A9F4; + background: #03a9f4; font-weight: bold; } diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 03a1128df..825639973 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -39,7 +39,7 @@ html { } html { - background: #D5E9F2 + background: #d5e9f2 } .backgroundContainer, @@ -130,19 +130,19 @@ html { } .defaultCardBackground2 { - background-color: #D32F2F + background-color: #d32f2f } .defaultCardBackground3 { - background-color: #0288D1 + background-color: #0288d1 } .defaultCardBackground4 { - background-color: #388E3C + background-color: #388e3c } .defaultCardBackground5 { - background-color: #F57F17 + background-color: #f57f17 } .formDialogFooter:not(.formDialogFooter-clear) { @@ -248,7 +248,7 @@ html { .mediaInfoTimerIcon, .starIcon { - color: #CB272A + color: #cb272a } .emby-input, @@ -300,7 +300,7 @@ html { } .itemProgressBarForeground-recording { - background-color: #CB272A + background-color: #cb272a } .countIndicator, @@ -355,19 +355,19 @@ html { } .programCell-sports { - background: #3949AB !important + background: #3949ab !important } .programCell-movie { - background: #5E35B1 !important + background: #5e35b1 !important } .programCell-kids { - background: #039BE5 !important + background: #039be5 !important } .programCell-news { - background: #43A047 !important + background: #43a047 !important } .programCell-active { @@ -418,7 +418,7 @@ html { .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285F4 + color: #4285f4 } .playstatebutton-icon-played { @@ -426,7 +426,7 @@ html { } .repeatButton-active { - color: #4285F4 + color: #4285f4 } .card:focus .cardBox.visualCardBox, diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index a4c4531e4..8cade96fc 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -245,7 +245,7 @@ html { .mediaInfoTimerIcon, .starIcon { - color: #CB272A + color: #cb272a } .emby-input, @@ -300,7 +300,7 @@ html { } .itemProgressBarForeground-recording { - background-color: #CB272A + background-color: #cb272a } .countIndicator, @@ -358,19 +358,19 @@ html { } .programCell-sports { - background: #3949AB !important + background: #3949ab !important } .programCell-movie { - background: #5E35B1 !important + background: #5e35b1 !important } .programCell-kids { - background: #039BE5 !important + background: #039be5 !important } .programCell-news { - background: #43A047 !important + background: #43a047 !important } .programCell-active { @@ -421,7 +421,7 @@ html { .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285F4 + color: #4285f4 } .playstatebutton-icon-played { @@ -429,7 +429,7 @@ html { } .repeatButton-active { - color: #4285F4 + color: #4285f4 } .card:focus .cardBox.visualCardBox, diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index 006aabf85..7e0eec8c6 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -219,7 +219,7 @@ html { .mediaInfoTimerIcon, .starIcon { - color: #CB272A + color: #cb272a } .emby-input, @@ -274,7 +274,7 @@ html { } .itemProgressBarForeground-recording { - background-color: #CB272A + background-color: #cb272a } .countIndicator, @@ -328,19 +328,19 @@ html { } .programCell-sports { - background: #3949AB !important + background: #3949ab !important } .programCell-movie { - background: #5E35B1 !important + background: #5e35b1 !important } .programCell-kids { - background: #039BE5 !important + background: #039be5 !important } .programCell-news { - background: #43A047 !important + background: #43a047 !important } .programCell-active { @@ -391,7 +391,7 @@ html { .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285F4 + color: #4285f4 } .playstatebutton-icon-played { @@ -399,7 +399,7 @@ html { } .repeatButton-active { - color: #4285F4 + color: #4285f4 } .card:focus .cardBox.visualCardBox, diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 449ddb091..159f50fa4 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -122,19 +122,19 @@ html { } .defaultCardBackground2 { - background-color: #D32F2F + background-color: #d32f2f } .defaultCardBackground3 { - background-color: #0288D1 + background-color: #0288d1 } .defaultCardBackground4 { - background-color: #388E3C + background-color: #388e3c } .defaultCardBackground5 { - background-color: #F57F17 + background-color: #f57f17 } .formDialogHeader:not(.formDialogHeader-clear) { @@ -241,7 +241,7 @@ html { .mediaInfoTimerIcon, .starIcon { - color: #CB272A + color: #cb272a } .emby-input, @@ -293,7 +293,7 @@ html { } .itemProgressBarForeground-recording { - background-color: #CB272A + background-color: #cb272a } .countIndicator, @@ -347,19 +347,19 @@ html { } .programCell-sports { - background: #3949AB !important + background: #3949ab !important } .programCell-movie { - background: #5E35B1 !important + background: #5e35b1 !important } .programCell-kids { - background: #039BE5 !important + background: #039be5 !important } .programCell-news { - background: #43A047 !important + background: #43a047 !important } .programCell-active { @@ -410,7 +410,7 @@ html { .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285F4 + color: #4285f4 } .playstatebutton-icon-played { @@ -418,7 +418,7 @@ html { } .repeatButton-active { - color: #4285F4 + color: #4285f4 } .card:focus .cardBox.visualCardBox, diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index e272a9ab8..6594b48eb 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -283,16 +283,16 @@ a[data-role=button] { } .itemSelectionPanel { - border: 1px solid #48C3C8 + border: 1px solid #48c3c8 } .selectionCommandsPanel { - background: #48C3C8; + background: #48c3c8; color: #f8f8fe } .upNextDialog-countdownText { - color: #48C3C8 + color: #48c3c8 } .alphaPickerButton-selected { @@ -318,12 +318,12 @@ a[data-role=button] { } .progressring-spiner { - border-color: #48C3C8 + border-color: #48c3c8 } .button-flat-accent, .button-link { - color: #48C3C8 + color: #48c3c8 } .mediaInfoText { @@ -392,7 +392,7 @@ a[data-role=button] { } .itemProgressBarForeground-recording { - background-color: #CB272A + background-color: #cb272a } .countIndicator, @@ -451,19 +451,19 @@ a[data-role=button] { } .programCell-sports { - background: #3949AB !important + background: #3949ab !important } .programCell-movie { - background: #5E35B1 !important + background: #5e35b1 !important } .programCell-kids { - background: #039BE5 !important + background: #039be5 !important } .programCell-news { - background: #43A047 !important + background: #43a047 !important } .programCell-active { @@ -472,7 +472,7 @@ a[data-role=button] { .guide-channelHeaderCell:focus, .programCell:focus { - background-color: #48C3C8 !important; + background-color: #48c3c8 !important; color: #fff !important } @@ -496,7 +496,7 @@ a[data-role=button] { } .guide-date-tab-button.show-focus:focus { - background-color: #48C3C8; + background-color: #48c3c8; color: #fff } @@ -514,7 +514,7 @@ a[data-role=button] { .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285F4 + color: #4285f4 } .playstatebutton-icon-played { @@ -522,7 +522,7 @@ a[data-role=button] { } .repeatButton-active { - color: #4285F4 + color: #4285f4 } .personCard .cardScalable { diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index 6fd3ed001..dcc4a8b99 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -1,13 +1,13 @@ html { color: #eee; color: rgba(255, 255, 255, .9); - background-color: #0F3562 + background-color: #0f3562 } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #0C2450 + background-color: #0c2450 } .emby-collapsible-button { @@ -22,11 +22,11 @@ html { .formDialogHeader:not(.formDialogHeader-clear), .skinHeader-withBackground { - background: -webkit-gradient(linear, left top, left bottom, from(#0C2450), to(#081B3B)); - background: -webkit-linear-gradient(top, #0C2450, #081B3B); - background: -o-linear-gradient(top, #0C2450, #081B3B); - background: linear-gradient(to bottom, #0C2450, #081B3B); - background-color: #0C2450; + background: -webkit-gradient(linear, left top, left bottom, from(#0c2450), to(#081b3b)); + background: -webkit-linear-gradient(top, #0c2450, #081b3b); + background: -o-linear-gradient(top, #0c2450, #081b3b); + background: linear-gradient(to bottom, #0c2450, #081b3b); + background-color: #0c2450; } .skinHeader.semiTransparent { @@ -35,7 +35,7 @@ html { background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)) + background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background-color: rgba(0, 0, 0, .3); } @@ -48,7 +48,7 @@ html { background: -webkit-gradient(linear, left top, left bottom, from(#0F3562), color-stop(#1162A4), to(#03215F)); background: -webkit-linear-gradient(top, #0F3562, #1162A4, #03215F); background: -o-linear-gradient(top, #0F3562, #1162A4, #03215F); - background: linear-gradient(to bottom, #0F3562, #1162A4, #03215F) + background: linear-gradient(to bottom, #0F3562, #1162A4, #03215F); background-color: #0F3562; } @@ -117,7 +117,7 @@ html { .collapseContent, .paperList, .visualCardBox { - background-color: #0F3562 + background-color: #0f3562 } .defaultCardBackground1 { @@ -162,7 +162,7 @@ html { } .toast { - background: #081B3B; + background: #081b3b; color: #fff; color: rgba(255, 255, 255, .87) } @@ -174,7 +174,7 @@ html { background: -webkit-linear-gradient(bottom, #0C2450, #081B3B); background: -o-linear-gradient(bottom, #0C2450, #081B3B); background: linear-gradient(to top, #0C2450, #081B3B); - color: rgba(255, 255, 255, .78) + color: rgba(255, 255, 255, .78); } .itemSelectionPanel { @@ -231,7 +231,7 @@ html { .mediaInfoTimerIcon, .starIcon { - color: #CB272A + color: #cb272a } .emby-input, @@ -283,7 +283,7 @@ html { } .itemProgressBarForeground-recording { - background-color: #CB272A + background-color: #cb272a } .countIndicator, @@ -297,7 +297,7 @@ html { } .mainDrawer { - background-color: #0F3562; + background-color: #0f3562; color: #ccc; color: rgba(255, 255, 255, .7) } @@ -342,19 +342,19 @@ html { } .programCell-sports { - background: #3949AB !important + background: #3949ab !important } .programCell-movie { - background: #5E35B1 !important + background: #5e35b1 !important } .programCell-kids { - background: #039BE5 !important + background: #039be5 !important } .programCell-news { - background: #43A047 !important + background: #43a047 !important } .programCell-active { @@ -405,7 +405,7 @@ html { .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285F4 + color: #4285f4 } .playstatebutton-icon-played { @@ -413,7 +413,7 @@ html { } .repeatButton-active { - color: #4285F4 + color: #4285f4 } .card:focus .cardBox.visualCardBox, @@ -427,7 +427,7 @@ html { } ::-webkit-scrollbar-track-piece { - background-color: #081B3B + background-color: #081b3b } .layout-desktop ::-webkit-scrollbar { From 58c9f71a7d152899c99feaee7ee6fa4a022b60a8 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:40:47 +0100 Subject: [PATCH 33/68] Fix color-hex-length (CSS) --- src/assets/css/librarybrowser.css | 2 +- src/components/emby-scrollbuttons/emby-scrollbuttons.css | 2 +- src/components/guide/guide.css | 2 +- src/components/guide/programs.css | 4 ++-- src/components/indicators/indicators.css | 2 +- src/components/recordingcreator/recordingfields.css | 2 +- src/components/userdatabuttons/userdatabuttons.css | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 8102f9084..bc73dc784 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -998,7 +998,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { } .searchfields-icon { - color: #aaaaaa; + color: #aaa; } .button-accent-flat { diff --git a/src/components/emby-scrollbuttons/emby-scrollbuttons.css b/src/components/emby-scrollbuttons/emby-scrollbuttons.css index 6786824bd..f09c10992 100644 --- a/src/components/emby-scrollbuttons/emby-scrollbuttons.css +++ b/src/components/emby-scrollbuttons/emby-scrollbuttons.css @@ -8,7 +8,7 @@ min-height:24px; padding-top: 1.25em; z-index: 1; - color: #ffffff; + color: #fff; display: flex; } diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index c6807a960..687998275 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -367,7 +367,7 @@ } .timerIcon, .seriesTimerIcon { - color: #cc3333 !important; + color: #c33 !important; } .seriesTimerIcon-inactive { diff --git a/src/components/guide/programs.css b/src/components/guide/programs.css index 5f0e82dd8..34976e81e 100644 --- a/src/components/guide/programs.css +++ b/src/components/guide/programs.css @@ -1,10 +1,10 @@ .newTvProgram { - background: #3388cc; + background: #38c; color: #fff; } .liveTvProgram { - background: #cc3333; + background: #c33; color: #fff; } diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index 89e0a178d..774fac4f4 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -86,7 +86,7 @@ } .missingIndicator, .unairedIndicator { - background: #cc3333; + background: #c33; padding: .25em .5em; border-radius: 100em; color: #fff; diff --git a/src/components/recordingcreator/recordingfields.css b/src/components/recordingcreator/recordingfields.css index c8492f529..baa7845da 100644 --- a/src/components/recordingcreator/recordingfields.css +++ b/src/components/recordingcreator/recordingfields.css @@ -4,7 +4,7 @@ } .recordingIcon-active { - color: #cc3333; + color: #c33; } .recordSeriesContainer { diff --git a/src/components/userdatabuttons/userdatabuttons.css b/src/components/userdatabuttons/userdatabuttons.css index 013863173..9d8ce097c 100644 --- a/src/components/userdatabuttons/userdatabuttons.css +++ b/src/components/userdatabuttons/userdatabuttons.css @@ -1,3 +1,3 @@ .btnUserDataOn { - color: #cc3333 !important; + color: #c33 !important; } \ No newline at end of file From 8a272313cf5432d95ff6300ebde4b4542b28018c Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:42:13 +0100 Subject: [PATCH 34/68] Fix comment-whitespace-inside (CSS) --- src/components/guide/guide.css | 2 +- src/components/viewManager/viewContainer.css | 4 ++-- src/elements/emby-slider/emby-slider.css | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 687998275..6b895248b 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -263,7 +263,7 @@ position: relative; flex-grow: 1; contain: layout style paint; - /*transition: transform 60ms ease-out;*/ + /* transition: transform 60ms ease-out; */ } .guide-programNameCaret { diff --git a/src/components/viewManager/viewContainer.css b/src/components/viewManager/viewContainer.css index 26edaaef3..00ef2c449 100644 --- a/src/components/viewManager/viewContainer.css +++ b/src/components/viewManager/viewContainer.css @@ -5,8 +5,8 @@ right: 0; bottom: 0; contain: layout style size; - /* Can't use will-change because it causes the alpha picker to move when the page scrolls*/ - /*will-change: transform;*/ + /* Can't use will-change because it causes the alpha picker to move when the page scrolls */ + /* will-change: transform; */ } @keyframes view-fadeout { diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index 22c0af5ed..1f318ebfa 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -11,7 +11,7 @@ -moz-appearance: none; -ms-appearance: none; appearance: none; - height: 150%;/*150% is needed, else ie and edge won't display the thumb properly*/ + height: 150%;/* 150% is needed, else ie and edge won't display the thumb properly */ background: transparent; -webkit-user-select: none; -moz-user-select: none; @@ -184,7 +184,7 @@ } .mdl-slider-background-lower { - /*transition: width 0.18s cubic-bezier(0.4, 0, 0.2, 1);*/ + /* transition: width 0.18s cubic-bezier(0.4, 0, 0.2, 1); */ position: absolute; left: 0; width: 0; @@ -199,13 +199,13 @@ .mdl-slider-background-lower-withtransform { width: 100%; - /*transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);*/ + /* transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); */ transform-origin: left center; transform: scaleX(0); } .mdl-slider-background-upper { - /*transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1), width 0.18s cubic-bezier(0.4, 0, 0.2, 1);*/ + /* transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1), width 0.18s cubic-bezier(0.4, 0, 0.2, 1); */ background: #666; background: rgba(255, 255, 255, .4); position: absolute; From b2e2cf201203170752d1db0113fcdcb82b84b84d Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:48:11 +0100 Subject: [PATCH 35/68] Fix declaration-bang-space-before (CSS) --- src/components/appfooter/appfooter.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/appfooter/appfooter.css b/src/components/appfooter/appfooter.css index 789bc1db2..4cb342e34 100644 --- a/src/components/appfooter/appfooter.css +++ b/src/components/appfooter/appfooter.css @@ -9,5 +9,5 @@ } .appfooter.headroom--unpinned { - transform: translateY(100%)!important; + transform: translateY(100%) !important; } \ No newline at end of file From f290604615d64653c7c3c82fb1be791924d5c95e Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:49:56 +0100 Subject: [PATCH 36/68] Fix declaration-block-trailing-semicolon (CSS) --- src/assets/css/dashboard.css | 126 ++--- src/assets/css/detailtable.css | 6 +- src/assets/css/ios.css | 4 +- src/assets/css/librarybrowser.css | 268 +++++------ src/assets/css/livetv.css | 4 +- src/assets/css/metadataeditor.css | 28 +- src/assets/css/site.css | 28 +- src/assets/css/videoosd.css | 60 +-- .../directorybrowser/directorybrowser.css | 4 +- src/components/filterdialog/style.css | 8 +- src/components/homesections/homesections.css | 4 +- src/components/navdrawer/navdrawer.css | 14 +- .../remotecontrol/remotecontrol.css | 54 +-- src/elements/emby-radio/emby-radio.css | 2 +- src/themes/appletv/theme.css | 158 +++---- src/themes/blueradiance/theme.css | 172 +++---- src/themes/dark/theme.css | 162 +++---- src/themes/emby/theme.css | 432 ++++++++++++++++++ src/themes/light/theme.css | 158 +++---- src/themes/purplehaze/theme.css | 172 +++---- src/themes/wmc/theme.css | 152 +++--- 21 files changed, 1227 insertions(+), 789 deletions(-) create mode 100644 src/themes/emby/theme.css diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 95f1cabcf..d912a4930 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -7,11 +7,11 @@ .dashboardFooter { margin-top: 3.5em; - text-align: center + text-align: center; } .dashboardFooter a { - margin: 0 .7em + margin: 0 .7em; } progress { @@ -19,32 +19,32 @@ progress { -moz-appearance: none; -webkit-appearance: none; margin: 0; - background: #ccc !important + background: #ccc !important; } progress[role]:after { - background-image: none + background-image: none; } progress::-webkit-progress-bar { - background: #ccc + background: #ccc; } progress::-moz-progress-bar { - background-color: #00a4dc + background-color: #00a4dc; } progress::-webkit-progress-value { - background-color: #00a4dc + background-color: #00a4dc; } progress[aria-valuenow]:before { border-radius: .4em; - background-color: #00a4dc + background-color: #00a4dc; } .localnav { - margin-bottom: 2.2em !important + margin-bottom: 2.2em !important; } @media all and (min-width:50em) { @@ -54,24 +54,24 @@ progress[aria-valuenow]:before { padding-right: 0; padding-left: 0; padding-top: 0; - overflow: hidden + overflow: hidden; } } .dashboardDocument .dashboardEntryHeaderButton, .dashboardDocument .lnkManageServer { - display: none !important + display: none !important; } .adminDrawerLogo { padding: 1.5em 1em 1.2em; border-bottom: 1px solid #e0e0e0; margin-bottom: 1em; - display: block + display: block; } .adminDrawerLogo img { - height: 4em + height: 4em; } a[data-role=button] { @@ -96,31 +96,31 @@ div[data-role=controlgroup] a[data-role=button] { -webkit-box-shadow: none !important; box-shadow: none !important; -webkit-border-radius: 0; - border-radius: 0 + border-radius: 0; } div[data-role=controlgroup] a[data-role=button]:first-child { -webkit-border-bottom-left-radius: .3125em; border-bottom-left-radius: .3125em; -webkit-border-top-left-radius: .3125em; - border-top-left-radius: .3125em + border-top-left-radius: .3125em; } div[data-role=controlgroup] a[data-role=button]:last-child { -webkit-border-bottom-right-radius: .3125em; border-bottom-right-radius: .3125em; -webkit-border-top-right-radius: .3125em; - border-top-right-radius: .3125em + border-top-right-radius: .3125em; } div[data-role=controlgroup] a[data-role=button]+a[data-role=button] { border-left-width: 0 !important; - margin: 0 0 0 -.4em !important + margin: 0 0 0 -.4em !important; } div[data-role=controlgroup] a.ui-btn-active { background: #00a4dc !important; - color: #292929 !important + color: #292929 !important; } .sessionAppInfo img { @@ -130,7 +130,7 @@ div[data-role=controlgroup] a.ui-btn-active { } .appLinks img { - height: 36px + height: 36px; } .wizardContent h2 img { @@ -138,46 +138,46 @@ div[data-role=controlgroup] a.ui-btn-active { vertical-align: middle; margin-right: .5em; position: relative; - top: -.3em + top: -.3em; } .header .imageLink { - display: inline-block + display: inline-block; } .header .imageLink img { height: 2.1em; - vertical-align: middle + vertical-align: middle; } .content-primary { padding-top: 6em; padding-right: 1em; - padding-left: 1em + padding-left: 1em; } .withTabs .content-primary { - padding-top: 9em !important + padding-top: 9em !important; } @media all and (min-width:40em) { .content-primary { - padding-top: 7em + padding-top: 7em; } .withTabs .content-primary { - padding-top: 10em !important + padding-top: 10em !important; } } @media all and (min-width:84em) { .withTabs .content-primary { - padding-top: 7em !important + padding-top: 7em !important; } } .content-primary ul:first-child { - margin-top: 0 + margin-top: 0; } .dashboardSections { @@ -185,7 +185,7 @@ div[data-role=controlgroup] a.ui-btn-active { display: -webkit-flex; display: flex; -webkit-flex-direction: column; - flex-direction: column + flex-direction: column; } .dashboardColumn { @@ -198,7 +198,7 @@ div[data-role=controlgroup] a.ui-btn-active { flex-shrink: 0; -webkit-box-flex: 1; -webkit-flex-grow: 1; - flex-grow: 1 + flex-grow: 1; } .sessionNowPlayingContent { @@ -210,26 +210,26 @@ div[data-role=controlgroup] a.ui-btn-active { top: 0; left: 0; right: 0; - bottom: 0 + bottom: 0; } .activeSession:not(.playingSession) .sessionNowPlayingContent { - display: none + display: none; } .dashboardSection { -webkit-flex-shrink: 0; flex-shrink: 0; - margin: 0 0 2em + margin: 0 0 2em; } .dashboardSection h3 { margin-top: .5em; - margin-bottom: .5em + margin-bottom: .5em; } .activeRecordingItems>.card { - width: 50% + width: 50%; } @media all and (min-width:70em) { @@ -239,23 +239,23 @@ div[data-role=controlgroup] a.ui-btn-active { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; - flex-direction: row + flex-direction: row; } .dashboardColumn-2-60 { - width: 46% + width: 46%; } .dashboardColumn-2-40 { - width: 27% + width: 27%; } .dashboardSection { - padding: 0 1.5em + padding: 0 1.5em; } .activeRecordingItems>.card { - width: 25% + width: 25%; } } @@ -263,23 +263,23 @@ div[data-role=controlgroup] a.ui-btn-active { max-width: 62em; padding: .5em 2em 1em; margin: 0 auto; - background: #fff + background: #fff; } .wizardNavigation { - text-align: right + text-align: right; } .wizardContent form { - max-width: 100% + max-width: 100%; } .scheduledTaskPaperIconItem { - outline: 0 !important + outline: 0 !important; } .activeSession { - width: 100% !important + width: 100% !important; } .activitylogUserPhoto { @@ -294,13 +294,13 @@ div[data-role=controlgroup] a.ui-btn-active { @media all and (min-width:40em) { .activeSession { - width: 100% !important + width: 100% !important; } } @media all and (min-width:50em) { .activeSession { - width: 50% !important + width: 50% !important; } } @@ -309,7 +309,7 @@ div[data-role=controlgroup] a.ui-btn-active { padding-bottom: 1em !important; border-top: 1px solid #eee; text-align: center; - position: relative + position: relative; } .sessionAppInfo { @@ -318,11 +318,11 @@ div[data-role=controlgroup] a.ui-btn-active { } .sessionCardButtons { - min-height: 2.7em + min-height: 2.7em; } .sessionCardButton { - margin: 0 + margin: 0; } .sessionNowPlayingInnerContent { @@ -331,17 +331,17 @@ div[data-role=controlgroup] a.ui-btn-active { left: 0; right: 0; bottom: 0; - font-weight: 400 + font-weight: 400; } .sessionNowPlayingContent-withbackground+.sessionNowPlayingInnerContent { color: #fff !important; - background: rgba(0, 0, 0, .7) + background: rgba(0, 0, 0, .7); } .sessionAppName { vertical-align: top; - max-width: 200px + max-width: 200px; } .sessionNowPlayingDetails { @@ -396,31 +396,31 @@ div[data-role=controlgroup] a.ui-btn-active { @media all and (max-width:34.375em) { .sessionAppName { - max-width: 160px + max-width: 160px; } } @media all and (max-width:31.25em) { .sessionAppName { - max-width: 150px + max-width: 150px; } } .disabledUser { -webkit-filter: grayscale(100%); - filter: grayscale(100%) + filter: grayscale(100%); } .disabledUserBanner { - margin: 0 0 2em + margin: 0 0 2em; } .appLinks a { - text-decoration: none !important + text-decoration: none !important; } .appLinks a+a { - margin-left: 5px + margin-left: 5px; } @-webkit-keyframes rotating { @@ -438,23 +438,23 @@ div[data-role=controlgroup] a.ui-btn-active { @keyframes rotating { from { -webkit-transform: rotate(0); - transform: rotate(0) + transform: rotate(0); } to { -webkit-transform: rotate(360deg); - transform: rotate(360deg) + transform: rotate(360deg); } } .rotatingCircle { -webkit-animation: rotating 2s linear infinite; - animation: rotating 2s linear infinite + animation: rotating 2s linear infinite; } .pluginPreviewImg { -webkit-box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); - box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37) + box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); } .ui-bar-a { diff --git a/src/assets/css/detailtable.css b/src/assets/css/detailtable.css index 33f060836..960cd69ea 100644 --- a/src/assets/css/detailtable.css +++ b/src/assets/css/detailtable.css @@ -1,7 +1,7 @@ .detailTableBodyCell, .detailTableHeaderCell { border-spacing: 0; - padding: .4em + padding: .4em; } .detailTable { @@ -9,11 +9,11 @@ border-spacing: 0; text-align: left; width: 100%; - margin: 0 auto + margin: 0 auto; } .detailTableHeaderCell { font-weight: 700; text-align: left; - vertical-align: top + vertical-align: top; } \ No newline at end of file diff --git a/src/assets/css/ios.css b/src/assets/css/ios.css index 47fa7bd53..1d133d13b 100644 --- a/src/assets/css/ios.css +++ b/src/assets/css/ios.css @@ -1,8 +1,8 @@ html { - font-size: 82% !important + font-size: 82% !important; } .formDialogFooter { position: static !important; - margin: 0 -1em !important + margin: 0 -1em !important; } \ No newline at end of file diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index bc73dc784..e4dc776d5 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -1,7 +1,7 @@ .headerUserImage, .navMenuOption, .pageTitle { - vertical-align: middle + vertical-align: middle; } .detailButton-mobile, @@ -9,7 +9,7 @@ .listPaging, .sectionTabs, .viewSettings { - text-align: center + text-align: center; } .headerSelectedPlayer, @@ -17,27 +17,27 @@ .navMenuOptionText { -o-text-overflow: ellipsis; text-overflow: ellipsis; - overflow: hidden + overflow: hidden; } .libraryPage { - padding-top: 7em !important + padding-top: 7em !important; } .itemDetailPage { - padding-top: 0em !important + padding-top: 0em !important; } .standalonePage { - padding-top: 4.5em !important + padding-top: 4.5em !important; } .wizardPage { - padding-top: 7em !important + padding-top: 7em !important; } .libraryPage:not(.noSecondaryNavPage) { - padding-top: 7.5em !important + padding-top: 7.5em !important; } .absolutePageTabContent { @@ -50,11 +50,11 @@ top: 6.9em !important; -webkit-transition: -webkit-transform .2s ease-out; -o-transition: transform .2s ease-out; - transition: transform .2s ease-out + transition: transform .2s ease-out; } .pageTabContent:not(.is-active) { - display: none !important + display: none !important; } .headerUserImage { @@ -64,7 +64,7 @@ background-position: center center; -webkit-border-radius: 100em; border-radius: 100em; - display: inline-block + display: inline-block; } .headerUserButtonRound div { @@ -77,11 +77,11 @@ .headerButton { -webkit-flex-shrink: 0; - flex-shrink: 0 + flex-shrink: 0; } .hideMainDrawer .mainDrawerButton { - display: none + display: none; } .headerLeft, @@ -97,12 +97,12 @@ align-items: center; -webkit-box-pack: end; -webkit-justify-content: flex-end; - justify-content: flex-end + justify-content: flex-end; } .noHeaderRight .headerRight, .noHomeButtonHeader .headerHomeButton { - display: none !important + display: none !important; } .pageTitle { @@ -115,7 +115,7 @@ -webkit-align-items: center; align-items: center; -webkit-flex-shrink: 1; - flex-shrink: 1 + flex-shrink: 1; } .headerLeft, @@ -137,7 +137,7 @@ -webkit-background-size: contain; background-size: contain; background-repeat: no-repeat; - width: 13.2em + width: 13.2em; } .skinHeader { @@ -149,7 +149,7 @@ border: 0; display: flex; flex-direction: column; - contain: layout style paint + contain: layout style paint; } .headerLeft, @@ -158,11 +158,11 @@ } .hiddenViewMenuBar .skinHeader { - display: none + display: none; } .headerTop { - padding: .54em 0 + padding: .54em 0; } .headerLeft { @@ -177,11 +177,11 @@ } .sectionTabs { - width: 100% + width: 100%; } .selectedMediaFolder { - background-color: #f2f2f2 !important + background-color: #f2f2f2 !important; } .navMenuOption { @@ -200,22 +200,22 @@ font-weight: 400 !important; margin: 0 !important; -webkit-border-radius: 0 !important; - border-radius: 0 !important + border-radius: 0 !important; } .navMenuOptionIcon { margin-right: 1.2em; -webkit-flex-shrink: 0; - flex-shrink: 0 + flex-shrink: 0; } .navMenuOptionText { - white-space: nowrap + white-space: nowrap; } .sidebarHeader { padding-left: 1.2em; - margin: 1em 0 .5em + margin: 1em 0 .5em; } .dashboardDocument .skinBody { @@ -226,24 +226,24 @@ top: 0; right: 0; bottom: 0; - left: 0 + left: 0; } .layout-desktop .searchTabButton, .layout-mobile .searchTabButton, .layout-tv .headerSearchButton { - display: none !important + display: none !important; } .mainDrawer-scrollContainer { - padding-bottom: 10vh + padding-bottom: 10vh; } @media all and (min-width:40em) { .dashboardDocument .adminDrawerLogo, .dashboardDocument .mainDrawerButton { - display: none !important + display: none !important; } .dashboardDocument .mainDrawer { @@ -255,21 +255,21 @@ -webkit-box-shadow: none !important; box-shadow: none !important; width: 20.205em !important; - font-size: 94% + font-size: 94%; } .dashboardDocument .mainDrawer-scrollContainer { - margin-top: 5em !important + margin-top: 5em !important; } .dashboardDocument .skinBody { - left: 20em + left: 20em; } } @media all and (max-width:60em) { .libraryDocument .mainDrawerButton { - display: none + display: none; } } @@ -285,7 +285,7 @@ @media all and (min-width:84em) { .headerTop { - padding: 1.489em 0 + padding: 1.489em 0; } .headerTabs { @@ -300,19 +300,19 @@ justify-content: center; margin-top: -3.34em; position: relative; - top: -1.05em + top: -1.05em; } .libraryPage:not(.noSecondaryNavPage) { - padding-top: 4.6em !important + padding-top: 4.6em !important; } .pageWithAbsoluteTabs:not(.noSecondaryNavPage) { - padding-top: 6.7em !important + padding-top: 6.7em !important; } .absolutePageTabContent { - top: 5.7em !important + top: 5.7em !important; } .dashboardDocument .mainDrawer-scrollContainer { @@ -322,22 +322,22 @@ .headerSelectedPlayer { max-width: 10em; - white-space: nowrap + white-space: nowrap; } @media all and (max-width:37.5em) { .headerSelectedPlayer { - display: none + display: none; } } .hidingAnimatedTab { - visibility: hidden + visibility: hidden; } .headerArrowImage { height: 20px; - margin-left: .5em + margin-left: .5em; } .backdropContainer { @@ -346,30 +346,30 @@ left: 0; right: 0; bottom: 0; - z-index: -1 + z-index: -1; } .libraryPage .header { - padding-bottom: 0 + padding-bottom: 0; } .flexPageTabContent.is-active { display: -webkit-box !important; display: -webkit-flex !important; - display: flex !important + display: flex !important; } .viewSettings { - margin: 0 0 .25em + margin: 0 0 .25em; } .listTopPaging, .viewControls { - display: inline-block + display: inline-block; } .viewControls+.listTopPaging { - margin-left: .5em !important + margin-left: .5em !important; } .criticReview { @@ -378,60 +378,60 @@ padding: .8em .8em .8em 3em; -webkit-border-radius: .3em; border-radius: .3em; - position: relative + position: relative; } .detailLogo, .itemBackdrop { background-repeat: no-repeat; - background-position: center center + background-position: center center; } .criticReview:first-child { - margin-top: .5em + margin-top: .5em; } .criticReview img { - width: 2.4em + width: 2.4em; } .criticRatingScore { - margin-bottom: .5em + margin-bottom: .5em; } .itemTag { display: inline-block; - margin-right: 1em + margin-right: 1em; } .itemOverview { - white-space: pre-wrap + white-space: pre-wrap; } .itemLinks { - padding: 0 + padding: 0; } .itemLinks p { - margin: .5em 0 + margin: .5em 0; } .reviewLink, .reviewerName { - margin-top: .5em + margin-top: .5em; } .reviewerName { - color: #ccc + color: #ccc; } .reviewDate { - margin-left: 1em + margin-left: 1em; } .reviewScore { position: absolute; - left: .8em + left: .8em; } .itemBackdrop { @@ -440,19 +440,19 @@ background-repeat: no-repeat; background-position: center; height: 50vh; - position: relative + position: relative; } .itemBackdropProgressBar { position: absolute !important; bottom: 0; left: 0; - right: 0 + right: 0; } .desktopMiscInfoContainer { position: absolute; - bottom: .75em + bottom: .75em; } .detailPagePrimaryContainer { @@ -510,7 +510,7 @@ position: relative; -webkit-box-flex: 1; -webkit-flex-grow: 1; - flex-grow: 1 + flex-grow: 1; } .detailLogo { @@ -520,18 +520,18 @@ top: 14.5%; right: 10.5%; -webkit-background-size: contain; - background-size: contain + background-size: contain; } @media all and (max-width:87.5em) { .detailLogo { - right: 5% + right: 5%; } } @media all and (max-width:75em) { .detailLogo { - right: 2% + right: 2%; } } @@ -543,7 +543,7 @@ bottom: 5%; top: auto; background-position: center right; - display: none + display: none; } } @@ -555,23 +555,23 @@ @media all and (max-width:62.5em) { .detailPageContent { - position: relative + position: relative; } .btnPlaySimple { - display: none !important + display: none !important; } } @media all and (max-width:75em) { .lnkSibling { - display: none !important + display: none !important; } } .parentName { display: block; - margin-bottom: .5em + margin-bottom: .5em; } .emby-button.detailFloatingButton { @@ -582,36 +582,36 @@ left: 50%; margin: -2.2em 0 0 -2.2em; padding: 0.4em !important; - color: rgba(255, 255, 255, .76) + color: rgba(255, 255, 255, .76); } .emby-button.detailFloatingButton i { - font-size: 3.5em + font-size: 3.5em; } @media all and (max-width:62.5em) { .parentName { - margin-bottom: 1em + margin-bottom: 1em; } .itemDetailPage { - padding-top: 0 !important + padding-top: 0 !important; } .detailimg-hidemobile { - display: none + display: none; } } @media all and (min-width:31.25em) { .mobileDetails { - display: none + display: none; } } @media all and (max-width:31.25em) { .desktopDetails { - display: none !important + display: none !important; } } @@ -623,19 +623,19 @@ } .itemName { - margin: .5em 0 + margin: .5em 0; } .empty { - margin: 0 + margin: 0; } .detailCollapsibleSection:not(.hide)+.detailCollapsibleSection { - margin-top: -2em + margin-top: -2em; } .detailPageCollabsible { - margin-top: 0 + margin-top: 0; } .mainDetailButtons { @@ -652,11 +652,11 @@ margin-left: 0; margin-right: .5em; -webkit-flex-shrink: 0; - flex-shrink: 0 + flex-shrink: 0; } .mainDetailButtons.hide+.recordingFields { - margin-top: 1.5em !important + margin-top: 1.5em !important; } .detailButton-mobile { @@ -669,31 +669,31 @@ -webkit-align-items: center; align-items: center; margin: 0 !important; - padding: .5em .7em !important + padding: .5em .7em !important; } .detailButton { - margin: 0 .5em 0 0 !important + margin: 0 .5em 0 0 !important; } @media all and (min-width:29em) { .detailButton-mobile { padding-left: .75em !important; - padding-right: .75em !important + padding-right: .75em !important; } } @media all and (min-width:32em) { .detailButton-mobile { padding-left: .8em !important; - padding-right: .8em !important + padding-right: .8em !important; } } @media all and (min-width:35em) { .detailButton-mobile { padding-left: .85em !important; - padding-right: .85em !important + padding-right: .85em !important; } } @@ -710,13 +710,13 @@ justify-content: center; -webkit-box-align: center; -webkit-align-items: center; - align-items: center + align-items: center; } .detailButton-mobile-icon { font-size: 1.6em !important; width: 1em; - height: 1em + height: 1em; } .detailImageProgressContainer { @@ -727,33 +727,33 @@ .detailButton-mobile-text { margin-top: .7em; font-size: 80%; - font-weight: 400 + font-weight: 400; } @media all and (max-width:62.5em) { .mainDetailButtons { - margin-left: -.5em + margin-left: -.5em; } .detailButton { - display: none !important + display: none !important; } } @media all and (min-width:62.5em) { .detailFloatingButton { - display: none !important + display: none !important; } .mainDetailButtons { font-size: 108%; - margin: 1.25em 0 + margin: 1.25em 0; } } @media all and (max-width:50em) { .editorMenuLink { - display: none + display: none; } } @@ -765,7 +765,7 @@ flex-wrap: wrap; -webkit-box-align: center; -webkit-align-items: center; - align-items: center + align-items: center; } @media all and (max-width:31.25em) { @@ -773,16 +773,16 @@ text-align: center; -webkit-box-pack: center; -webkit-justify-content: center; - justify-content: center + justify-content: center; } .itemMiscInfo .endsAt { - display: none + display: none; } } .layout-tv .detailVerticalSection { - margin-bottom: 3.4em !important + margin-bottom: 3.4em !important; } .detailPageContent { @@ -799,66 +799,66 @@ .mediaInfoStream { margin: 0 3em 0 0; display: inline-block; - vertical-align: top + vertical-align: top; } .mediaInfoStreamType { display: block; - margin: 1em 0 + margin: 1em 0; } .mediaInfoAttribute, .mediaInfoLabel { - display: inline-block + display: inline-block; } .mediaInfoLabel { margin-right: 1em; - font-weight: 600 + font-weight: 600; } .recordingProgressBar::-moz-progress-bar { - background-color: #c33 + background-color: #c33; } .recordingProgressBar::-webkit-progress-value { - background-color: #c33 + background-color: #c33; } .recordingProgressBar[aria-valuenow]:before { - background-color: #c33 + background-color: #c33; } .timelineHeader { margin-bottom: .25em; line-height: 1.25em; - line-height: initial + line-height: initial; } .itemsContainer { - margin: 0 auto + margin: 0 auto; } @media all and (max-height:31.25em) { .itemBackdrop { - height: 52vh + height: 52vh; } } @media all and (max-width:75em) { .listViewUserDataButtons { - display: none !important + display: none !important; } } @media all and (max-width:62.5em) { .detailsHiddenOnMobile { - display: none + display: none; } } .btnSyncComplete { - background: #673ab7 !important + background: #673ab7 !important; } .btnSyncComplete i { @@ -867,7 +867,7 @@ } .bulletSeparator { - margin: 0 .35em + margin: 0 .35em; } .mediaInfoIcons { @@ -879,18 +879,18 @@ align-items: center; margin: 1em 0; -webkit-flex-wrap: wrap; - flex-wrap: wrap + flex-wrap: wrap; } .verticalSection-extrabottompadding { - margin-bottom: 2.7em + margin-bottom: 2.7em; } .sectionTitleButton, .sectionTitleIconButton { margin-right: 0 !important; display: inline-block; - vertical-align: middle + vertical-align: middle; } .sectionTitleContainer { @@ -917,11 +917,11 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { .sectionTitleButton { margin-left: 1.5em !important; -webkit-flex-shrink: 0; - flex-shrink: 0 + flex-shrink: 0; } .sectionTitleButton + .sectionTitleButton { - margin-left: .5em !important + margin-left: .5em !important; } .sectionTitleIconButton { @@ -929,13 +929,13 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { -webkit-flex-shrink: 0; flex-shrink: 0; font-size: 84% !important; - padding: .5em !important + padding: .5em !important; } .horizontalItemsContainer { display: -webkit-box; display: -webkit-flex; - display: flex + display: flex; } .sectionTitleTextButton { @@ -943,22 +943,22 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important; - color: inherit !important + color: inherit !important; } .sectionTitleTextButton:not(.padded-left) { - padding: 0 !important + padding: 0 !important; } .sectionTitleTextButton.padded-left { padding-bottom: 0 !important; padding-right: 0 !important; - padding-top: 0 !important + padding-top: 0 !important; } .sectionTitleTextButton>.sectionTitle { margin-bottom: 0; - margin-top: 0 + margin-top: 0; } .padded-left { @@ -1009,27 +1009,27 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { text-decoration: none; font-weight: inherit !important; vertical-align: middle; - color: inherit !important + color: inherit !important; } .itemsViewSettingsContainer { -webkit-box-pack: center; -webkit-justify-content: center; - justify-content: center + justify-content: center; } @media all and (min-width:40em) { .listIconButton-autohide { - display: none !important + display: none !important; } } @media all and (max-width:40em) { .listTextButton-autohide { - display: none !important + display: none !important; } } .itemsViewSettingsContainer>.button-flat { - margin: 0 + margin: 0; } diff --git a/src/assets/css/livetv.css b/src/assets/css/livetv.css index 93e3e029c..fa3309453 100644 --- a/src/assets/css/livetv.css +++ b/src/assets/css/livetv.css @@ -1,9 +1,9 @@ .guideVerticalScroller { - padding-bottom: 15em + padding-bottom: 15em; } @media all and (min-width:62.5em) { #guideTab { - padding-left: .5em + padding-left: .5em; } } \ No newline at end of file diff --git a/src/assets/css/metadataeditor.css b/src/assets/css/metadataeditor.css index 542c7c8f2..5109ca1da 100644 --- a/src/assets/css/metadataeditor.css +++ b/src/assets/css/metadataeditor.css @@ -1,17 +1,17 @@ .editPageSidebar { - display: block + display: block; } .editPageSidebar-withcontent { - display: none + display: none; } .libraryTree { - margin-left: .25em + margin-left: .25em; } .offlineEditorNode { - color: #c33 + color: #c33; } .editorNode img { @@ -19,11 +19,11 @@ margin: 0 .35em; vertical-align: middle; position: relative; - top: -2px + top: -2px; } .jstree-anchor { - font-weight: 400 !important + font-weight: 400 !important; } .jstree-wholerow-hovered { @@ -31,7 +31,7 @@ -webkit-border-radius: 0 !important; border-radius: 0 !important; -webkit-box-shadow: none !important; - box-shadow: none !important + box-shadow: none !important; } .jstree-default .jstree-hovered { @@ -40,15 +40,15 @@ border-radius: 0 !important; -webkit-box-shadow: none !important; box-shadow: none !important; - color: #fff !important + color: #fff !important; } .jstree-default .jstree-wholerow-clicked { - background: #00a4dc !important + background: #00a4dc !important; } .metadataSidebarIcon { - margin-right: .4em + margin-right: .4em; } @media all and (min-width:50em) { @@ -59,21 +59,21 @@ left: 0; width: 30%; border-right: 1px solid #555; - display: block + display: block; } .editPageInnerContent { float: right; - width: 68.5% + width: 68.5%; } } @media all and (min-width:112.5em) { .editPageSidebar { - width: 25% + width: 25%; } .editPageInnerContent { - width: 73.5% + width: 73.5%; } } diff --git a/src/assets/css/site.css b/src/assets/css/site.css index 292fc6745..5b060dd0e 100644 --- a/src/assets/css/site.css +++ b/src/assets/css/site.css @@ -2,7 +2,7 @@ body, html { margin: 0; padding: 0; - height: 100% + height: 100%; } .backgroundContainer { @@ -11,11 +11,11 @@ html { left: 0; right: 0; bottom: 0; - contain: strict + contain: strict; } html { - line-height: 1.35 + line-height: 1.35; } .layout-mobile, @@ -25,7 +25,7 @@ html { -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; - user-select: none + user-select: none; } body { @@ -35,34 +35,34 @@ body { } .mainAnimatedPage { - contain: style size !important + contain: style size !important; } .pageContainer { - overflow-x: visible !important + overflow-x: visible !important; } .bodyWithPopupOpen { - overflow-y: hidden !important + overflow-y: hidden !important; } div[data-role=page] { - outline: 0 + outline: 0; } .pageTitle { margin-top: 0; - font-family: inherit + font-family: inherit; } .fieldDescription { padding-left: .15em; font-weight: 400; - white-space: normal !important + white-space: normal !important; } .fieldDescription+.fieldDescription { - margin-top: .3em + margin-top: .3em; } .content-primary, @@ -76,18 +76,18 @@ div[data-role=page] { @media all and (min-width:50em) { .readOnlyContent, form { - max-width: 54em + max-width: 54em; } } .headerHelpButton { margin-left: 1.25em !important; padding-bottom: .4em !important; - padding-top: .4em !important + padding-top: .4em !important; } .mediaInfoContent { margin-left: auto; margin-right: auto; - width: 85% + width: 85%; } diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index 833cfcb4f..57d27a9c5 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -11,7 +11,7 @@ .videoOsdBottom { bottom: 0; left: 0; - right: 0 + right: 0; } .osdHeader { @@ -27,11 +27,11 @@ } .osdHeader-hidden { - opacity: 0 + opacity: 0; } .osdHeader .headerButton:not(.headerBackButton):not(.headerCastButton) { - display: none + display: none; } .chapterThumbContainer { @@ -40,7 +40,7 @@ -webkit-box-flex: 1; -webkit-flex-grow: 1; flex-grow: 1; - position: relative + position: relative; } .chapterThumb { @@ -50,20 +50,20 @@ background-repeat: no-repeat; border: 0; height: 20vh; - min-width: 20vh + min-width: 20vh; } @media all and (orientation:portrait) { .chapterThumb { height: 30vw; - min-width: 30vw + min-width: 30vw; } } @media all and (max-height:50em) and (orientation:landscape) { .chapterThumb { height: 30vh; - min-width: 30vh + min-width: 30vh; } } @@ -74,17 +74,17 @@ right: 0; background: rgba(0, 0, 0, .7); padding: .25em .5em; - user-select: none + user-select: none; } .chapterThumbText { padding: .25em 0; margin: 0; - opacity: 1 + opacity: 1; } .chapterThumbText-dim { - opacity: .6 + opacity: .6; } .videoOsdBottom { @@ -104,17 +104,17 @@ transition: opacity 0.3s ease-out; color: #fff; user-select: none; - -webkit-touch-callout: none + -webkit-touch-callout: none; } .videoOsdBottom-hidden { - opacity: 0 + opacity: 0; } .osdControls { -webkit-box-flex: 1; -webkit-flex-grow: 1; - flex-grow: 1 + flex-grow: 1; } .videoOsdBottom .buttons { @@ -126,14 +126,14 @@ flex-wrap: wrap; -webkit-box-align: center; -webkit-align-items: center; - align-items: center + align-items: center; } .osdVolumeSliderContainer { width: 9em; -webkit-box-flex: 1; -webkit-flex-grow: 1; - flex-grow: 1 + flex-grow: 1; } .osdMediaInfo, @@ -149,7 +149,7 @@ margin: 0 .5em 0 auto; display: flex; -webkit-align-items: center; - align-items: center + align-items: center; } .osdTimeText { @@ -157,13 +157,13 @@ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; - user-select: none + user-select: none; } .osdPoster { width: 10%; position: relative; - margin-right: .5em + margin-right: .5em; } .osdPoster img { @@ -178,22 +178,22 @@ -moz-user-select: none; -webkit-user-drag: none; -webkit-user-select: none; - -ms-user-select: none + -ms-user-select: none; } .osdTitle, .osdTitleSmall { - margin: 0 1em 0 0 + margin: 0 1em 0 0; } .osdMediaInfo { display: flex; -webkit-align-items: center; - align-items: center + align-items: center; } .osdSecondaryMediaInfo { - padding-left: .6em !important + padding-left: .6em !important; } .osdTextContainer { @@ -208,13 +208,13 @@ -ms-user-select: none; user-select: none; margin-bottom: .7em; - padding-left: .5em + padding-left: .5em; } .osdMainTextContainer { -webkit-box-align: baseline; -webkit-align-items: baseline; - align-items: baseline + align-items: baseline; } .osdMediaStatus { @@ -248,7 +248,7 @@ .pageContainer { top: 0; - position: fixed + position: fixed; } @media all and (max-width:30em) { @@ -257,31 +257,31 @@ .btnRewind, .osdMediaInfo, .osdPoster { - display: none !important + display: none !important; } } @media all and (max-width:33.75em) { .videoOsdBottom .paper-icon-button-light { - margin: 0 + margin: 0; } } @media all and (max-width:43em) { .videoOsdBottom .volumeButtons, .osdMediaStatus span { - display: none !important + display: none !important; } } @media all and (max-width:50em) { .videoOsdBottom .btnFastForward, .videoOsdBottom .btnRewind { - display: none !important + display: none !important; } } @media all and (max-width:75em) { .videoOsdBottom .endsAtText { - display: none !important + display: none !important; } } diff --git a/src/components/directorybrowser/directorybrowser.css b/src/components/directorybrowser/directorybrowser.css index 0f3f22f07..d47293e00 100644 --- a/src/components/directorybrowser/directorybrowser.css +++ b/src/components/directorybrowser/directorybrowser.css @@ -1,8 +1,8 @@ #ulDirectoryPickerList a { padding-top: .4em; - padding-bottom: .4em + padding-bottom: .4em; } .lblDirectoryPickerPath { - white-space: nowrap + white-space: nowrap; } \ No newline at end of file diff --git a/src/components/filterdialog/style.css b/src/components/filterdialog/style.css index 9851c2d7b..393b04b24 100644 --- a/src/components/filterdialog/style.css +++ b/src/components/filterdialog/style.css @@ -8,13 +8,13 @@ -webkit-border-radius: 0 !important; border-radius: 0 !important; max-height: none !important; - max-width: none !important + max-width: none !important; } @media all and (min-height:600px) { .dynamicFilterDialog { top: 10% !important; - bottom: 25% !important + bottom: 25% !important; } } @@ -23,7 +23,7 @@ width: auto; left: 10vw !important; right: 10vw !important; - margin-left: 0 !important + margin-left: 0 !important; } } @@ -31,6 +31,6 @@ .dynamicFilterDialog { width: 20.16em; margin-left: -10.08em !important; - left: 50% !important + left: 50% !important; } } diff --git a/src/components/homesections/homesections.css b/src/components/homesections/homesections.css index 45df67c48..8751308eb 100644 --- a/src/components/homesections/homesections.css +++ b/src/components/homesections/homesections.css @@ -14,12 +14,12 @@ margin-left: .5em; margin-right: .5em; -webkit-flex-shrink: 0; - flex-shrink: 0 + flex-shrink: 0; } .homeLibraryText { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; - overflow: hidden + overflow: hidden; } diff --git a/src/components/navdrawer/navdrawer.css b/src/components/navdrawer/navdrawer.css index 6608235c2..7ec6b4e73 100644 --- a/src/components/navdrawer/navdrawer.css +++ b/src/components/navdrawer/navdrawer.css @@ -3,7 +3,7 @@ position: fixed; top: 0; bottom: 0; - contain: strict + contain: strict; } .touch-menu-la { @@ -15,24 +15,24 @@ -webkit-transition: -webkit-transform ease-out 40ms, left ease-out 260ms; -o-transition: transform ease-out 40ms, left ease-out 260ms; transition: transform ease-out 40ms, left ease-out 260ms; - z-index: 1099 + z-index: 1099; } .touch-menu-la.transition { -webkit-transition: -webkit-transform ease-out 240ms, left ease-out 260ms; -o-transition: transform ease-out 240ms, left ease-out 260ms; - transition: transform ease-out 240ms, left ease-out 260ms + transition: transform ease-out 240ms, left ease-out 260ms; } .drawer-open { -webkit-box-shadow: 2px 0 12px rgba(0, 0, 0, .4); - box-shadow: 2px 0 12px rgba(0, 0, 0, .4) + box-shadow: 2px 0 12px rgba(0, 0, 0, .4); } .scrollContainer { -webkit-box-flex: 1; -webkit-flex-grow: 1; - flex-grow: 1 + flex-grow: 1; } .tmla-mask { @@ -44,9 +44,9 @@ -o-transition: opacity ease-in-out .38s, visibility ease-in-out .38s; transition: opacity ease-in-out .38s, visibility ease-in-out .38s; will-change: opacity; - background-color: rgba(0, 0, 0, .3) + background-color: rgba(0, 0, 0, .3); } .tmla-mask.backdrop { - opacity: 1 + opacity: 1; } \ No newline at end of file diff --git a/src/components/remotecontrol/remotecontrol.css b/src/components/remotecontrol/remotecontrol.css index 508c8d674..cc60bd55a 100644 --- a/src/components/remotecontrol/remotecontrol.css +++ b/src/components/remotecontrol/remotecontrol.css @@ -5,11 +5,11 @@ -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; - flex-direction: row + flex-direction: row; } .navigationSection { - text-align: center + text-align: center; } .btnArrowUp{ @@ -33,11 +33,11 @@ } .nowPlayingPageTitle { - margin: 0 0 .5em .5em + margin: 0 0 .5em .5em; } .nowPlayingPositionSliderContainer { - margin: .7em 0 .7em 1em + margin: .7em 0 .7em 1em; } .nowPlayingInfoButtons { @@ -48,7 +48,7 @@ -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; - flex-wrap: wrap + flex-wrap: wrap; } .nowPlayingInfoControls, @@ -63,12 +63,12 @@ margin-right: .25em; position: relative; -webkit-flex-shrink: 0; - flex-shrink: 0 + flex-shrink: 0; } @media all and (min-width:50em) { .nowPlayingPageImageContainer { - width: 16% + width: 16%; } } @@ -83,7 +83,7 @@ flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; - justify-content: center + justify-content: center; } .nowPlayingPageImage { @@ -110,43 +110,43 @@ flex-direction: column !important; -webkit-box-align: center; -webkit-align-items: center; - align-items: center + align-items: center; } .nowPlayingPageTitle { text-align: center; - margin: .5em 0 .75em + margin: .5em 0 .75em; } .nowPlayingPositionSliderContainer { - margin: .7em 1em + margin: .7em 1em; } .nowPlayingInfoButtons { -webkit-box-pack: center; -webkit-justify-content: center; - justify-content: center + justify-content: center; } .nowPlayingPageImageContainer { width: auto; - margin-right: 0 + margin-right: 0; } .nowPlayingInfoControls { margin-top: 1em; - max-width: 100% + max-width: 100%; } .nowPlayingPageImage { width: auto; - height: 36vh + height: 36vh; } } @media all and (orientation:portrait) and (max-width:40em) { .nowPlayingPageImage { - height: 30vh + height: 30vh; } } @@ -155,7 +155,7 @@ -webkit-box-align: center; -webkit-align-items: center; align-items: center; - margin: 0 1em + margin: 0 1em; } .nowPlayingSecondaryButtons { @@ -169,7 +169,7 @@ flex-wrap: wrap; -webkit-box-pack: center; -webkit-justify-content: center; - justify-content: center + justify-content: center; } @media all and (min-width:50em) { @@ -179,25 +179,25 @@ flex-grow: 1; -webkit-box-pack: end; -webkit-justify-content: flex-end; - justify-content: flex-end + justify-content: flex-end; } } @media all and (min-width:80em) { .nowPlayingPageImageContainer { - margin-right: .75em + margin-right: .75em; } } .nowPlayingNavButtonContainer { - width: 30em + width: 30em; } .smallBackdropPosterItem .cardOverlayInner>div { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; - overflow: hidden + overflow: hidden; } .playlistIndexIndicatorImage { @@ -207,16 +207,16 @@ } .hideVideoButtons .videoButton { - display: none + display: none; } .nowPlayingVolumeSliderContainer { - width: 9em + width: 9em; } @media all and (max-width:50em) { .nowPlayingInfoButtons .nowPlayingPageUserDataButtons { - display: none !important + display: none !important; } .navigationSection .collapseContent i{ font-size: 4em; @@ -225,7 +225,7 @@ @media all and (max-width:47em) { .nowPlayingInfoButtons .repeatToggleButton { - display: none !important + display: none !important; } } @@ -233,6 +233,6 @@ .nowPlayingInfoButtons .btnNowPlayingFastForward, .nowPlayingInfoButtons .btnNowPlayingRewind, .nowPlayingInfoButtons .playlist .listItemMediaInfo { - display: none !important + display: none !important; } } diff --git a/src/elements/emby-radio/emby-radio.css b/src/elements/emby-radio/emby-radio.css index a60c131f0..2e27f4821 100644 --- a/src/elements/emby-radio/emby-radio.css +++ b/src/elements/emby-radio/emby-radio.css @@ -90,7 +90,7 @@ } .mdl-radio__button:checked:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle { - box-shadow: 0 0 0 10px rgba(0, 164, 220, 0.26) + box-shadow: 0 0 0 10px rgba(0, 164, 220, 0.26); } .mdl-radio__label { diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 825639973..58ea6618c 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -1,22 +1,22 @@ .skinHeader, html { color: #222; - color: rgba(0, 0, 0, .87) + color: rgba(0, 0, 0, .87); } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030 + background-color: #303030; } .emby-collapsible-button { border-color: #ccc; - border-color: rgba(0, 0, 0, .158) + border-color: rgba(0, 0, 0, .158); } .collapseContent { - background-color: #eaeaea + background-color: #eaeaea; } .formDialogHeader:not(.formDialogHeader-clear), @@ -26,38 +26,38 @@ html { background: -webkit-gradient(linear, left top, right top, from(#BCBCBC), color-stop(#A7B4B7), color-stop(#BEB5A5), color-stop(#ADBEC2), to(#B9C7CB)); background: -webkit-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); background: -o-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); - background: linear-gradient(to right, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB) + background: linear-gradient(to right, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); } .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; - backdrop-filter: none !important + backdrop-filter: none !important; } .pageTitleWithDefaultLogo { - background-image: url(../../assets/img/banner-dark.png) + background-image: url(../../assets/img/banner-dark.png); } html { - background: #d5e9f2 + background: #d5e9f2; } .backgroundContainer, .dialog { background: #D5E9F2; -webkit-background-size: 100% 100%; - background-size: 100% 100% + background-size: 100% 100%; } .backgroundContainer.withBackdrop { background: -webkit-gradient(linear, left top, left bottom, from(rgba(192, 212, 222, .94)), color-stop(rgba(235, 250, 254, .94)), color-stop(rgba(227, 220, 212, .94)), color-stop(rgba(206, 214, 216, .94)), to(rgba(192, 211, 218, .94))); background: -webkit-linear-gradient(top, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)); background: -o-linear-gradient(top, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)); - background: linear-gradient(to bottom, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)) + background: linear-gradient(to bottom, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)); } .actionSheet { - background: #f0f0f0 + background: #f0f0f0; } .paper-icon-button-light:hover:not(:disabled) { @@ -73,30 +73,30 @@ html { .raised { background: #fff; background: rgba(0, 0, 0, .14); - color: inherit + color: inherit; } .fab:focus, .raised:focus { - background: rgba(0, 0, 0, .24) + background: rgba(0, 0, 0, .24); } .button-submit { background: #00a4dc; - color: #fff + color: #fff; } .button-submit:focus { - background: #0cb0e8 + background: #0cb0e8; } .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .checkboxLabel { - color: inherit + color: inherit; } .checkboxListLabel, @@ -105,49 +105,49 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #555; - color: rgba(0, 0, 0, .7) + color: rgba(0, 0, 0, .7); } .button-link, .inputLabelFocused, .selectLabelFocused, .textareaLabelFocused { - color: green + color: green; } .checkboxOutline { - border-color: currentColor + border-color: currentColor; } .paperList, .visualCardBox { background-color: #fff; - background-color: rgba(0, 0, 0, .1) + background-color: rgba(0, 0, 0, .1); } .defaultCardBackground1 { - background-color: #009688 + background-color: #009688; } .defaultCardBackground2 { - background-color: #d32f2f + background-color: #d32f2f; } .defaultCardBackground3 { - background-color: #0288d1 + background-color: #0288d1; } .defaultCardBackground4 { - background-color: #388e3c + background-color: #388e3c; } .defaultCardBackground5 { - background-color: #f57f17 + background-color: #f57f17; } .formDialogFooter:not(.formDialogFooter-clear) { border-top: 1px solid #ddd; - border-top: 1px solid rgba(0, 0, 0, .08) + border-top: 1px solid rgba(0, 0, 0, .08); } .cardText-secondary, @@ -158,31 +158,31 @@ html { .programSecondaryTitle, .secondaryText { color: #888; - color: rgba(0, 0, 0, .5) + color: rgba(0, 0, 0, .5); } .actionsheetDivider { background: #ddd; - background: rgba(0, 0, 0, .14) + background: rgba(0, 0, 0, .14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5 + opacity: .5; } .formDialogHeader a, .toast { - color: #fff + color: #fff; } .actionSheetMenuItem:hover { - background-color: #ddd + background-color: #ddd; } .toast { background: #303030; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .appfooter, @@ -192,63 +192,63 @@ html { background: -webkit-gradient(linear, left top, right top, from(#BCBCBC), color-stop(#A7B4B7), color-stop(#BEB5A5), color-stop(#ADBEC2), to(#B9C7CB)); background: -webkit-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); background: -o-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); - background: linear-gradient(to right, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB) + background: linear-gradient(to right, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); } .nowPlayingBarSecondaryText { - color: #999 + color: #999; } .itemSelectionPanel { - border: 1px solid #00a4dc + border: 1px solid #00a4dc; } .selectionCommandsPanel { background: #00a4dc; - color: #fff + color: #fff; } .upNextDialog-countdownText { - color: #00a4dc + color: #00a4dc; } .alphaPickerButton { color: #555; color: rgba(0, 0, 0, .7); - background-color: transparent + background-color: transparent; } .alphaPickerButton-selected, .alphaPickerButton-tv:focus { background-color: #00a4dc; - color: #fff !important + color: #fff !important; } .detailTableBodyRow-shaded:nth-child(even) { background: #f8f8f8; - background: rgba(0, 0, 0, .1) + background: rgba(0, 0, 0, .1); } .listItem-border { - border-color: rgba(0, 0, 0, .1) !important + border-color: rgba(0, 0, 0, .1) !important; } .listItem:focus { - background: rgba(0, 0, 0, .2) + background: rgba(0, 0, 0, .2); } .progressring-spiner { - border-color: #00a4dc + border-color: #00a4dc; } .mediaInfoText { color: #333; - background: #fff + background: #fff; } .mediaInfoTimerIcon, .starIcon { - color: #cb272a + color: #cb272a; } .emby-input, @@ -257,23 +257,23 @@ html { background: rgba(255, 255, 255, .9); border: .07em solid rgba(0, 0, 0, .158); -webkit-border-radius: .15em; - border-radius: .15em + border-radius: .15em; } .emby-input:focus, .emby-textarea:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-select-withcolor { color: inherit; background: rgba(255, 255, 255, .9); - border: .07em solid rgba(0, 0, 0, .158) + border: .07em solid rgba(0, 0, 0, .158); } .emby-checkbox:checked+span+.checkboxOutline, .emby-select-withcolor:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-checkbox:focus+span+.checkboxOutline { @@ -282,7 +282,7 @@ html { .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { - background-color: #00a4dc + background-color: #00a4dc; } .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { @@ -291,44 +291,44 @@ html { .emby-select-withcolor>option { color: #000; - background: #fff + background: #fff; } .emby-select-tv-withcolor:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .itemProgressBarForeground-recording { - background-color: #cb272a + background-color: #cb272a; } .countIndicator, .fullSyncIndicator, .playedIndicator { - background: #00a4dc + background: #00a4dc; } .fullSyncIndicator { - color: #fff + color: #fff; } .mainDrawer { - background: #fff + background: #fff; } .navMenuOption:hover { - background: #f2f2f2 + background: #f2f2f2; } .navMenuOption-selected { background: #00a4dc !important; - color: #fff + color: #fff; } .emby-button.show-focus:focus { background: #00a4dc; - color: #fff + color: #fff; } .emby-tab-button { @@ -351,57 +351,57 @@ html { .guide-channelHeaderCell, .programCell { border-color: #555; - border-color: rgba(0, 0, 0, .1) + border-color: rgba(0, 0, 0, .1); } .programCell-sports { - background: #3949ab !important + background: #3949ab !important; } .programCell-movie { - background: #5e35b1 !important + background: #5e35b1 !important; } .programCell-kids { - background: #039be5 !important + background: #039be5 !important; } .programCell-news { - background: #43a047 !important + background: #43a047 !important; } .programCell-active { - background: rgba(0, 0, 0, .1) !important + background: rgba(0, 0, 0, .1) !important; } .guide-channelHeaderCell:focus, .programCell:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .guide-programTextIcon { color: #1e1e1e; - background: #555 + background: #555; } .guide-headerTimeslots { - color: inherit + color: inherit; } .guide-date-tab-button { color: #555; - color: rgba(0, 0, 0, .54) + color: rgba(0, 0, 0, .54); } .guide-date-tab-button.emby-tab-button-active, .guide-date-tab-button:focus { - color: #00a4dc + color: #00a4dc; } .guide-date-tab-button.show-focus:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .infoBanner { @@ -409,31 +409,31 @@ html { background: #fff3a5; padding: 1em; -webkit-border-radius: .25em; - border-radius: .25em + border-radius: .25em; } .ratingbutton-icon-withrating { - color: #c33 + color: #c33; } .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285f4 + color: #4285f4; } .playstatebutton-icon-played { - color: #c33 + color: #c33; } .repeatButton-active { - color: #4285f4 + color: #4285f4; } .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #00a4dc !important + border-color: #00a4dc !important; } .metadataSidebarIcon { - color: #00a4dc + color: #00a4dc; } diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 8cade96fc..2abc0d6b1 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -1,18 +1,18 @@ .skinHeader, html { color: #ddd; - color: rgba(255, 255, 255, .8) + color: rgba(255, 255, 255, .8); } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030 + background-color: #303030; } .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135) + border-color: rgba(255, 255, 255, .135); } .skinHeader-withBackground { @@ -20,7 +20,7 @@ html { background: -webkit-gradient(linear, left top, right top, from(#291A31), color-stop(#033664), color-stop(#011432), color-stop(#141A3A), to(#291A31)); background: -webkit-linear-gradient(left, #291A31, #033664, #011432, #141A3A, #291A31); background: -o-linear-gradient(left, #291A31, #033664, #011432, #141A3A, #291A31); - background: linear-gradient(to right, #291A31, #033664, #011432, #141A3A, #291A31) + background: linear-gradient(to right, #291A31, #033664, #011432, #141A3A, #291A31); } .skinHeader.semiTransparent { @@ -34,27 +34,27 @@ html { } .pageTitleWithDefaultLogo { - background-image: url(../../assets/img/banner-light.png) + background-image: url(../../assets/img/banner-light.png); } .dialog, html { - background-color: #033361 + background-color: #033361; } .backgroundContainer { background: url(bg.jpg) center top no-repeat #033361; -webkit-background-size: cover; - background-size: cover + background-size: cover; } .backgroundContainer.withBackdrop { - opacity: .86 + opacity: .86; } @media (orientation:portrait) { .backgroundContainer { - background-position: 30% top + background-position: 30% top; } } @@ -70,31 +70,31 @@ html { .fab, .raised { background: rgba(0, 0, 0, .5); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .fab:focus, .raised:focus { - background: rgba(0, 0, 0, .7) + background: rgba(0, 0, 0, .7); } .button-submit { background: #00a4dc; - color: #fff + color: #fff; } .button-submit:focus { background: #0cb0e8; - color: #fff + color: #fff; } .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .checkboxLabel { - color: inherit + color: inherit; } .checkboxListLabel, @@ -103,17 +103,17 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7) + color: rgba(255, 255, 255, .7); } .inputLabelFocused, .selectLabelFocused, .textareaLabelFocused { - color: #00a4dc + color: #00a4dc; } .checkboxOutline { - border-color: currentColor + border-color: currentColor; } .collapseContent, @@ -121,27 +121,27 @@ html { .formDialogHeader:not(.formDialogHeader-clear), .paperList, .visualCardBox { - background-color: rgba(0, 0, 0, .5) + background-color: rgba(0, 0, 0, .5); } .defaultCardBackground1 { - background-color: #d2b019 + background-color: #d2b019; } .defaultCardBackground2 { - background-color: #338abb + background-color: #338abb; } .defaultCardBackground3 { - background-color: #6b689d + background-color: #6b689d; } .defaultCardBackground4 { - background-color: #dd452b + background-color: #dd452b; } .defaultCardBackground5 { - background-color: #5ccea9 + background-color: #5ccea9; } .cardText-secondary, @@ -152,100 +152,100 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5) + color: rgba(255, 255, 255, .5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14) + background: rgba(255, 255, 255, .14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5 + opacity: .5; } .actionSheetMenuItem:hover { - background-color: rgba(0, 0, 0, .5) + background-color: rgba(0, 0, 0, .5); } .toast { background: #303030; color: #fff; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .appfooter { background: #033664; color: #ccc; - color: rgba(255, 255, 255, .78) + color: rgba(255, 255, 255, .78); } @supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)) { .appfooter-blurred { background: rgba(1, 2, 50, .7); - backdrop-filter: blur(20px) + backdrop-filter: blur(20px); } } .itemSelectionPanel { - border: 1px solid #00a4dc + border: 1px solid #00a4dc; } .selectionCommandsPanel { background: #00a4dc; - color: #fff + color: #fff; } .upNextDialog-countdownText { - color: #00a4dc + color: #00a4dc; } .alphaPickerButton { color: #999; color: rgba(255, 255, 255, .5); - background-color: transparent + background-color: transparent; } .alphaPickerButton-selected { - color: #fff + color: #fff; } .alphaPickerButton-tv:focus { background-color: #00a4dc; - color: #fff !important + color: #fff !important; } .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9) + background: rgba(30, 30, 30, .9); } .listItem-border { - border-color: rgba(255, 255, 255, .1) !important + border-color: rgba(255, 255, 255, .1) !important; } .listItem:focus { - background: rgba(0, 0, 0, .3) + background: rgba(0, 0, 0, .3); } .progressring-spiner { - border-color: #00a4dc + border-color: #00a4dc; } .button-flat-accent, .button-link { - color: #00a4dc + color: #00a4dc; } .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2) + background: rgba(170, 170, 190, .2); } .mediaInfoTimerIcon, .starIcon { - color: #cb272a + color: #cb272a; } .emby-input, @@ -254,36 +254,36 @@ html { background: rgba(0, 0, 0, .5); border: .07em solid transparent; -webkit-border-radius: .15em; - border-radius: .15em + border-radius: .15em; } .emby-input:focus, .emby-textarea:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-select-withcolor { color: inherit; background: rgba(0, 0, 0, .5); - border: .07em solid transparent + border: .07em solid transparent; } .emby-select-withcolor>option { color: inherit; - background: #222 + background: #222; } .emby-select-withcolor:focus { - border-color: #00a4dc !important + border-color: #00a4dc !important; } .emby-select-tv-withcolor:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .emby-checkbox:checked+span+.checkboxOutline { - border-color: #00a4dc + border-color: #00a4dc; } .emby-checkbox:focus+span+.checkboxOutline { @@ -292,7 +292,7 @@ html { .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { - background-color: #00a4dc + background-color: #00a4dc; } .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { @@ -300,39 +300,39 @@ html { } .itemProgressBarForeground-recording { - background-color: #cb272a + background-color: #cb272a; } .countIndicator, .fullSyncIndicator, .playedIndicator { - background: #00a4dc + background: #00a4dc; } .fullSyncIndicator { - color: #fff + color: #fff; } .mainDrawer { - background-color: rgba(0, 0, 0, .5) + background-color: rgba(0, 0, 0, .5); } .drawer-open { - background-color: #011432 + background-color: #011432; } .navMenuOption:hover { - background: rgba(221, 221, 221, 0.068) + background: rgba(221, 221, 221, 0.068); } .navMenuOption-selected { background: #00a4dc !important; - color: #fff + color: #fff; } .emby-button.show-focus:focus { background: #00a4dc; - color: #fff + color: #fff; } .emby-tab-button { @@ -340,7 +340,7 @@ html { } .emby-tab-button-active { - color: #00a4dc + color: #00a4dc; } .emby-tab-button.show-focus:focus { @@ -354,57 +354,57 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05) + border-color: rgba(255, 255, 255, .05); } .programCell-sports { - background: #3949ab !important + background: #3949ab !important; } .programCell-movie { - background: #5e35b1 !important + background: #5e35b1 !important; } .programCell-kids { - background: #039be5 !important + background: #039be5 !important; } .programCell-news { - background: #43a047 !important + background: #43a047 !important; } .programCell-active { - background: rgba(0, 0, 0, .4) !important + background: rgba(0, 0, 0, .4) !important; } .guide-channelHeaderCell:focus, .programCell:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .guide-programTextIcon { color: #1e1e1e; - background: #555 + background: #555; } .guide-headerTimeslots { - color: inherit + color: inherit; } .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3) + color: rgba(255, 255, 255, .3); } .guide-date-tab-button.emby-tab-button-active, .guide-date-tab-button:focus { - color: #00a4dc + color: #00a4dc; } .guide-date-tab-button.show-focus:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .infoBanner { @@ -412,54 +412,56 @@ html { background: #111; padding: 1em; -webkit-border-radius: .25em; - border-radius: .25em + border-radius: .25em; } .ratingbutton-icon-withrating { - color: #c33 + color: #c33; } .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285f4 + color: #4285f4; } .playstatebutton-icon-played { - color: #c33 + color: #c33; } .repeatButton-active { - color: #4285f4 + color: #4285f4; } .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #00a4dc !important + border-color: #00a4dc !important; } ::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); } ::-webkit-scrollbar-track-piece { - background-color: #3b3b3b + background-color: #3b3b3b; } .layout-desktop ::-webkit-scrollbar { width: 1em; - height: 1em + height: 1em; } ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { + border-radius: 2px; -webkit-border-radius: 2px; - background: center no-repeat #888 + background: center no-repeat #888; } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em + height: .7em; } .metadataSidebarIcon { - color: #00a4dc + color: #00a4dc; } diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index 7e0eec8c6..e02de9379 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -1,22 +1,22 @@ .skinHeader, html { color: #ddd; - color: rgba(255, 255, 255, .8) + color: rgba(255, 255, 255, .8); } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #101010 + background-color: #101010; } .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135) + border-color: rgba(255, 255, 255, .135); } .skinHeader-withBackground { - background-color: #101010 + background-color: #101010; } .skinHeader.semiTransparent { @@ -26,17 +26,17 @@ html { } .pageTitleWithDefaultLogo { - background-image: url(../../assets/img/banner-light.png) + background-image: url(../../assets/img/banner-light.png); } .backgroundContainer, .dialog, html { - background-color: #101010 + background-color: #101010; } .backgroundContainer.withBackdrop { - background-color: rgba(0, 0, 0, .86) + background-color: rgba(0, 0, 0, .86); } .paper-icon-button-light:hover:not(:disabled) { @@ -51,31 +51,31 @@ html { .fab, .raised { background: #303030; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .fab:focus, .raised:focus { - background: #383838 + background: #383838; } .button-submit { background: #00a4dc; - color: #fff + color: #fff; } .button-submit:focus { background: #0cb0e8; - color: #fff + color: #fff; } .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .checkboxLabel { - color: inherit + color: inherit; } .checkboxListLabel, @@ -84,17 +84,17 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7) + color: rgba(255, 255, 255, .7); } .inputLabelFocused, .selectLabelFocused, .textareaLabelFocused { - color: #00a4dc + color: #00a4dc; } .checkboxOutline { - border-color: currentColor + border-color: currentColor; } .collapseContent, @@ -102,27 +102,27 @@ html { .formDialogHeader:not(.formDialogHeader-clear), .paperList, .visualCardBox { - background-color: #242424 + background-color: #242424; } .defaultCardBackground1 { - background-color: #d2b019 + background-color: #d2b019; } .defaultCardBackground2 { - background-color: #338abb + background-color: #338abb; } .defaultCardBackground3 { - background-color: #6b689d + background-color: #6b689d; } .defaultCardBackground4 { - background-color: #dd452b + background-color: #dd452b; } .defaultCardBackground5 { - background-color: #5ccea9 + background-color: #5ccea9; } .cardText-secondary, @@ -133,93 +133,93 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5) + color: rgba(255, 255, 255, .5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14) + background: rgba(255, 255, 255, .14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5 + opacity: .5; } .actionSheetMenuItem:hover { - background-color: #242424 + background-color: #242424; } .toast { background: #303030; color: #fff; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .appfooter { background: #101010; color: #ccc; - color: rgba(255, 255, 255, .78) + color: rgba(255, 255, 255, .78); } .itemSelectionPanel { - border: 1px solid #00a4dc + border: 1px solid #00a4dc; } .selectionCommandsPanel { background: #00a4dc; - color: #fff + color: #fff; } .upNextDialog-countdownText { - color: #00a4dc + color: #00a4dc; } .alphaPickerButton { color: #999; color: rgba(255, 255, 255, .5); - background-color: transparent + background-color: transparent; } .alphaPickerButton-selected { - color: #fff + color: #fff; } .alphaPickerButton-tv:focus { background-color: #00a4dc; - color: #fff !important + color: #fff !important; } .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9) + background: rgba(30, 30, 30, .9); } .listItem-border { - border-color: rgba(34, 34, 34, .9) !important + border-color: rgba(34, 34, 34, .9) !important; } .listItem:focus { - background: #333 + background: #333; } .progressring-spiner { - border-color: #00a4dc + border-color: #00a4dc; } .button-flat-accent, .button-link { - color: #00a4dc + color: #00a4dc; } .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2) + background: rgba(170, 170, 190, .2); } .mediaInfoTimerIcon, .starIcon { - color: #cb272a + color: #cb272a; } .emby-input, @@ -228,36 +228,36 @@ html { background: #292929; border: .07em solid #292929; -webkit-border-radius: .15em; - border-radius: .15em + border-radius: .15em; } .emby-input:focus, .emby-textarea:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-select-withcolor { color: inherit; background: #292929; - border: .07em solid #292929 + border: .07em solid #292929; } .emby-select-withcolor>option { color: inherit; - background: #222 + background: #222; } .emby-select-withcolor:focus { - border-color: #00a4dc !important + border-color: #00a4dc !important; } .emby-select-tv-withcolor:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .emby-checkbox:checked+span+.checkboxOutline { - border-color: #00a4dc + border-color: #00a4dc; } .emby-checkbox:focus+span+.checkboxOutline { @@ -266,7 +266,7 @@ html { .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { - background-color: #00a4dc + background-color: #00a4dc; } .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { @@ -274,35 +274,35 @@ html { } .itemProgressBarForeground-recording { - background-color: #cb272a + background-color: #cb272a; } .countIndicator, .fullSyncIndicator, .playedIndicator { - background: #00a4dc + background: #00a4dc; } .fullSyncIndicator { - color: #fff + color: #fff; } .mainDrawer { - background-color: #101010 + background-color: #101010; } .navMenuOption:hover { - background: #252528 + background: #252528; } .navMenuOption-selected { background: #00a4dc !important; - color: #fff + color: #fff; } .emby-button.show-focus:focus { background: #00a4dc; - color: #fff + color: #fff; } .emby-tab-button { @@ -324,57 +324,57 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05) + border-color: rgba(255, 255, 255, .05); } .programCell-sports { - background: #3949ab !important + background: #3949ab !important; } .programCell-movie { - background: #5e35b1 !important + background: #5e35b1 !important; } .programCell-kids { - background: #039be5 !important + background: #039be5 !important; } .programCell-news { - background: #43a047 !important + background: #43a047 !important; } .programCell-active { - background: #1e1e1e !important + background: #1e1e1e !important; } .guide-channelHeaderCell:focus, .programCell:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .guide-programTextIcon { color: #1e1e1e; - background: #555 + background: #555; } .guide-headerTimeslots { - color: inherit + color: inherit; } .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3) + color: rgba(255, 255, 255, .3); } .guide-date-tab-button.emby-tab-button-active, .guide-date-tab-button:focus { - color: #00a4dc + color: #00a4dc; } .guide-date-tab-button.show-focus:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .infoBanner { @@ -382,54 +382,56 @@ html { background: #111; padding: 1em; -webkit-border-radius: .25em; - border-radius: .25em + border-radius: .25em; } .ratingbutton-icon-withrating { - color: #c33 + color: #c33; } .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285f4 + color: #4285f4; } .playstatebutton-icon-played { - color: #c33 + color: #c33; } .repeatButton-active { - color: #4285f4 + color: #4285f4; } .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #00a4dc !important + border-color: #00a4dc !important; } ::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); } ::-webkit-scrollbar-track-piece { - background-color: #3b3b3b + background-color: #3b3b3b; } .layout-desktop ::-webkit-scrollbar { width: 1em; - height: 1em + height: 1em; } ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { + border-radius: 2px; -webkit-border-radius: 2px; - background: center no-repeat #888 + background: center no-repeat #888; } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em + height: .7em; } .metadataSidebarIcon { - color: #00a4dc + color: #00a4dc; } diff --git a/src/themes/emby/theme.css b/src/themes/emby/theme.css new file mode 100644 index 000000000..64e9bfdd2 --- /dev/null +++ b/src/themes/emby/theme.css @@ -0,0 +1,432 @@ +.skinHeader, +html { + color: #ddd; + color: rgba(255, 255, 255, .8); +} + +.wizardStartForm, +.ui-corner-all, +.ui-shadow { + background-color: #1f1f1f; +} + +.emby-collapsible-button { + border-color: #383838; + border-color: rgba(255, 255, 255, .135); +} + +.skinHeader-withBackground { + background-color: #1f1f1f; +} + +.skinHeader.semiTransparent { + backdrop-filter: none !important; + background-color: rgba(0, 0, 0, 0.4); +} + +.pageTitleWithDefaultLogo { + background-image: url(../logowhite.png); +} + +.backgroundContainer, +.dialog, +html { + background-color: #1a1a1a; +} + +.backgroundContainer.withBackdrop { + background-color: rgba(0, 0, 0, .86); +} + +.paper-icon-button-light:hover:not(:disabled) { + color: #52b54b; + background-color: rgba(82, 181, 75, .2); +} + +.paper-icon-button-light.show-focus:focus { + color: #52b54b; +} + +.fab, +.raised { + background: #303030; + color: rgba(255, 255, 255, .87); +} + +.fab:focus, +.raised:focus { + background: #383838; +} + +.button-submit { + background: #52b54b; + color: #fff; +} + +.button-submit:focus { + background: #5ec157; + color: #fff; +} + +.button-delete { + background: rgb(247, 0, 0); + color: rgba(255, 255, 255, .87); +} + +.checkboxLabel { + color: inherit; +} + +.checkboxListLabel, +.inputLabel, +.inputLabelUnfocused, +.paperListLabel, +.textareaLabelUnfocused { + color: #bbb; + color: rgba(255, 255, 255, .7); +} + +.inputLabelFocused, +.selectLabelFocused, +.textareaLabelFocused { + color: #52b54b; +} + +.checkboxOutline { + border-color: currentColor; +} + +.collapseContent, +.formDialogFooter:not(.formDialogFooter-clear), +.formDialogHeader:not(.formDialogHeader-clear), +.paperList, +.visualCardBox { + background-color: #242424; +} + +.defaultCardBackground1 { + background-color: #d2b019; +} + +.defaultCardBackground2 { + background-color: #338abb; +} + +.defaultCardBackground3 { + background-color: #6b689d; +} + +.defaultCardBackground4 { + background-color: #dd452b; +} + +.defaultCardBackground5 { + background-color: #5ccea9; +} + +.cardText-secondary, +.fieldDescription, +.guide-programNameCaret, +.listItem .secondary, +.nowPlayingBarSecondaryText, +.programSecondaryTitle, +.secondaryText { + color: #999; + color: rgba(255, 255, 255, .5); +} + +.actionsheetDivider { + background: #444; + background: rgba(255, 255, 255, .14); +} + +.cardFooter-vibrant .cardText-secondary { + color: inherit; + opacity: .5; +} + +.actionSheetMenuItem:hover { + background-color: #242424; +} + +.toast { + background: #303030; + color: #fff; + color: rgba(255, 255, 255, .87); +} + +.appfooter { + background: #101010; + color: #ccc; + color: rgba(255, 255, 255, .78); +} + +.itemSelectionPanel { + border: 1px solid #52b54b; +} + +.selectionCommandsPanel { + background: #52b54b; + color: #fff; +} + +.upNextDialog-countdownText { + color: #52b54b; +} + +.alphaPickerButton { + color: #999; + color: rgba(255, 255, 255, .5); + background-color: transparent; +} + +.alphaPickerButton-selected { + color: #fff; +} + +.alphaPickerButton-tv:focus { + background-color: #52b54b; + color: #fff !important; +} + +.detailTableBodyRow-shaded:nth-child(even) { + background: #1c1c1c; + background: rgba(30, 30, 30, .9); +} + +.listItem-border { + border-color: rgba(34, 34, 34, .9) !important; +} + +.listItem:focus { + background: #333; +} + +.progressring-spiner { + border-color: #52b54b; +} + +.button-flat-accent, +.button-link { + color: #52b54b; +} + +.mediaInfoText { + color: #ddd; + background: rgba(170, 170, 190, .2); +} + +.mediaInfoTimerIcon, +.starIcon { + color: #cb272a; +} + +.emby-input, +.emby-textarea { + color: inherit; + background: #292929; + border: .07em solid #292929; + border-radius: .15em; +} + +.emby-input:focus, +.emby-textarea:focus { + border-color: #52b54b; +} + +.emby-select-withcolor { + color: inherit; + background: #292929; + border: .07em solid #292929; +} + +.emby-select-withcolor>option { + color: inherit; + background: #222; +} + +.emby-select-withcolor:focus { + border-color: #52b54b !important; +} + +.emby-select-tv-withcolor:focus { + background-color: #52b54b !important; + color: #fff !important; +} + +.emby-checkbox:checked+span+.checkboxOutline { + border-color: #52b54b; +} + +.emby-checkbox:focus+span+.checkboxOutline { + border-color: #fff; +} + +.emby-checkbox:checked+span+.checkboxOutline, +.itemProgressBarForeground { + background-color: #52b54b; +} + +.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { + border-color: #52b54b; +} + +.itemProgressBarForeground-recording { + background-color: #cb272a; +} + +.countIndicator, +.fullSyncIndicator, +.playedIndicator { + background: #52b54b; +} + +.fullSyncIndicator { + color: #fff; +} + +.mainDrawer { + background-color: #1c1c1c; +} + +.navMenuOption:hover { + background: #252528; +} + +.navMenuOption-selected { + background: #52b54b !important; + color: #fff; +} + +.emby-button.show-focus:focus { + background: #52b54b; + color: #fff; +} + +.emby-tab-button { + color: #999; +} + +.emby-tab-button-active { + color: #52b54b; +} + +.emby-tab-button.show-focus:focus { + color: #52b54b; +} + +.emby-tab-button:hover { + color: #52b54b; +} + +.channelPrograms, +.guide-channelHeaderCell, +.programCell { + border-color: rgba(255, 255, 255, .05); +} + +.programCell-sports { + background: #3949ab !important; +} + +.programCell-movie { + background: #5e35b1 !important; +} + +.programCell-kids { + background: #039be5 !important; +} + +.programCell-news { + background: #43a047 !important; +} + +.programCell-active { + background: #1e1e1e !important; +} + +.guide-channelHeaderCell:focus, +.programCell:focus { + background-color: #52b54b !important; + color: #fff !important; +} + +.guide-programTextIcon { + color: #1e1e1e; + background: #555; +} + +.guide-headerTimeslots { + color: inherit; +} + +.guide-date-tab-button { + color: #555; + color: rgba(255, 255, 255, .3); +} + +.guide-date-tab-button.emby-tab-button-active, +.guide-date-tab-button:focus { + color: #52b54b; +} + +.guide-date-tab-button.show-focus:focus { + background-color: #52b54b; + color: #fff; +} + +.infoBanner { + color: #ddd; + background: #111; + padding: 1em; + border-radius: .25em; +} + +.ratingbutton-icon-withrating { + color: #c33; +} + +.downloadbutton-icon-complete, +.downloadbutton-icon-on { + color: #4285f4; +} + +.playstatebutton-icon-played { + color: #c33; +} + +.repeatButton-active { + color: #4285f4; +} + +.card:focus .cardBox.visualCardBox, +.card:focus .cardBox:not(.visualCardBox) .cardScalable { + border-color: #52b54b !important; +} + +::-webkit-scrollbar-track { + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); +} + +::-webkit-scrollbar-track-piece { + background-color: #3b3b3b; +} + +.layout-desktop ::-webkit-scrollbar { + width: 1em; + height: 1em; +} + +::-webkit-scrollbar-thumb:horizontal, +::-webkit-scrollbar-thumb:vertical { + border-radius: 2px; + background: center no-repeat #888; +} + +.timeslotHeaders-desktop::-webkit-scrollbar { + height: .7em; +} + +.metadataSidebarIcon { + color: #00a4dc; +} diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 159f50fa4..292db2b2b 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -1,22 +1,22 @@ .skinHeader, html { color: #222; - color: rgba(0, 0, 0, .87) + color: rgba(0, 0, 0, .87); } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030 + background-color: #303030; } .emby-collapsible-button { border-color: #ccc; - border-color: rgba(0, 0, 0, .158) + border-color: rgba(0, 0, 0, .158); } .collapseContent { - background-color: #eaeaea + background-color: #eaeaea; } .skinHeader-withBackground { @@ -24,12 +24,12 @@ html { color: #ccc; color: rgba(255, 255, 255, .87); -webkit-box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); - box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37) + box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); } .osdHeader { -webkit-box-shadow: none !important; - box-shadow: none !important + box-shadow: none !important; } .skinHeader.semiTransparent { @@ -39,20 +39,20 @@ html { } .pageTitleWithDefaultLogo { - background-image: url(../../assets/img/banner-light.png) + background-image: url(../../assets/img/banner-light.png); } .backgroundContainer, html { - background-color: #f2f2f2 + background-color: #f2f2f2; } .backgroundContainer.withBackdrop { - background-color: rgba(255, 255, 255, .80) + background-color: rgba(255, 255, 255, .80); } .dialog { - background-color: #f0f0f0 + background-color: #f0f0f0; } .paper-icon-button-light:hover:not(:disabled) { @@ -67,30 +67,30 @@ html { .fab, .raised { background: #d8d8d8; - color: inherit + color: inherit; } .fab:focus, .raised:focus { - background: #ccc + background: #ccc; } .button-submit { background: #00a4dc; - color: #fff + color: #fff; } .button-submit:focus { - background: #0cb0e8 + background: #0cb0e8; } .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .checkboxLabel { - color: inherit + color: inherit; } .checkboxListLabel, @@ -98,55 +98,55 @@ html { .inputLabelUnfocused, .paperListLabel, .textareaLabelUnfocused { - color: #555 + color: #555; } .button-link, .inputLabelFocused, .selectLabelFocused, .textareaLabelFocused { - color: green + color: green; } .checkboxOutline { - border-color: currentColor + border-color: currentColor; } .paperList, .visualCardBox { - background-color: #fff + background-color: #fff; } .defaultCardBackground1 { - background-color: #009688 + background-color: #009688; } .defaultCardBackground2 { - background-color: #d32f2f + background-color: #d32f2f; } .defaultCardBackground3 { - background-color: #0288d1 + background-color: #0288d1; } .defaultCardBackground4 { - background-color: #388e3c + background-color: #388e3c; } .defaultCardBackground5 { - background-color: #f57f17 + background-color: #f57f17; } .formDialogHeader:not(.formDialogHeader-clear) { background-color: #00a4dc; - color: #fff + color: #fff; } .formDialogFooter:not(.formDialogFooter-clear) { background-color: #f0f0f0; border-top: 1px solid #ddd; border-top: 1px solid rgba(0, 0, 0, .08); - color: inherit + color: inherit; } .cardText-secondary, @@ -156,92 +156,92 @@ html { .nowPlayingBarSecondaryText, .programSecondaryTitle, .secondaryText { - color: #888 + color: #888; } .actionsheetDivider { background: #ddd; - background: rgba(0, 0, 0, .14) + background: rgba(0, 0, 0, .14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5 + opacity: .5; } .formDialogHeader a, .toast { - color: #fff + color: #fff; } .actionSheetMenuItem:hover { - background-color: #ddd + background-color: #ddd; } .toast { background: #303030; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .appfooter { background: #282828; color: #ccc; - color: rgba(255, 255, 255, .78) + color: rgba(255, 255, 255, .78); } .nowPlayingBarSecondaryText { - color: #999 + color: #999; } .itemSelectionPanel { - border: 1px solid #00a4dc + border: 1px solid #00a4dc; } .selectionCommandsPanel { background: #00a4dc; - color: #fff + color: #fff; } .upNextDialog-countdownText { - color: #00a4dc + color: #00a4dc; } .alphaPickerButton { color: #555; color: rgba(0, 0, 0, .7); - background-color: transparent + background-color: transparent; } .alphaPickerButton-selected, .alphaPickerButton-tv:focus { background-color: #00a4dc; - color: #fff !important + color: #fff !important; } .detailTableBodyRow-shaded:nth-child(even) { - background: #f8f8f8 + background: #f8f8f8; } .listItem-border { - border-color: #f0f0f0 !important + border-color: #f0f0f0 !important; } .listItem:focus { - background: #ddd + background: #ddd; } .progressring-spiner { - border-color: #00a4dc + border-color: #00a4dc; } .mediaInfoText { color: #333; - background: #fff + background: #fff; } .mediaInfoTimerIcon, .starIcon { - color: #cb272a + color: #cb272a; } .emby-input, @@ -250,23 +250,23 @@ html { background: #fff; border: .07em solid rgba(0, 0, 0, .158); -webkit-border-radius: .15em; - border-radius: .15em + border-radius: .15em; } .emby-input:focus, .emby-textarea:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-select-withcolor { color: inherit; background: #fff; - border: .07em solid rgba(0, 0, 0, .158) + border: .07em solid rgba(0, 0, 0, .158); } .emby-checkbox:checked+span+.checkboxOutline, .emby-select-withcolor:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-checkbox:focus+span+.checkboxOutline { @@ -275,7 +275,7 @@ html { .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { - background-color: #00a4dc + background-color: #00a4dc; } .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { @@ -284,44 +284,44 @@ html { .emby-select-withcolor>option { color: #000; - background: #fff + background: #fff; } .emby-select-tv-withcolor:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .itemProgressBarForeground-recording { - background-color: #cb272a + background-color: #cb272a; } .countIndicator, .fullSyncIndicator, .playedIndicator { - background: #00a4dc + background: #00a4dc; } .fullSyncIndicator { - color: #fff + color: #fff; } .mainDrawer { - background: #fff + background: #fff; } .navMenuOption:hover { - background: #f2f2f2 + background: #f2f2f2; } .navMenuOption-selected { background: #00a4dc !important; - color: #fff + color: #fff; } .emby-button.show-focus:focus { background: #00a4dc; - color: #fff + color: #fff; } .emby-tab-button { @@ -343,57 +343,57 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(0, 0, 0, .12) + border-color: rgba(0, 0, 0, .12); } .programCell-sports { - background: #3949ab !important + background: #3949ab !important; } .programCell-movie { - background: #5e35b1 !important + background: #5e35b1 !important; } .programCell-kids { - background: #039be5 !important + background: #039be5 !important; } .programCell-news { - background: #43a047 !important + background: #43a047 !important; } .programCell-active { - background: rgba(0, 0, 0, .1) !important + background: rgba(0, 0, 0, .1) !important; } .guide-channelHeaderCell:focus, .programCell:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .guide-programTextIcon { color: #1e1e1e; - background: #555 + background: #555; } .guide-headerTimeslots { - color: inherit + color: inherit; } .guide-date-tab-button { color: #555; - color: rgba(0, 0, 0, .54) + color: rgba(0, 0, 0, .54); } .guide-date-tab-button.emby-tab-button-active, .guide-date-tab-button:focus { - color: #00a4dc + color: #00a4dc; } .guide-date-tab-button.show-focus:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .infoBanner { @@ -401,31 +401,31 @@ html { background: #fff3a5; padding: 1em; -webkit-border-radius: .25em; - border-radius: .25em + border-radius: .25em; } .ratingbutton-icon-withrating { - color: #c33 + color: #c33; } .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285f4 + color: #4285f4; } .playstatebutton-icon-played { - color: #c33 + color: #c33; } .repeatButton-active { - color: #4285f4 + color: #4285f4; } .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #00a4dc !important + border-color: #00a4dc !important; } .metadataSidebarIcon { - color: #00a4dc + color: #00a4dc; } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 6594b48eb..5747396ac 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -1,18 +1,18 @@ .skinHeader, html { color: #f8f8fe; - color: rgba(248, 248, 254, 0.973) + color: rgba(248, 248, 254, 0.973); } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030 + background-color: #303030; } .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135) + border-color: rgba(255, 255, 255, .135); } .skinHeader-withBackground { @@ -29,32 +29,32 @@ html { background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)) + background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); background-color: rgba(0, 0, 0, .3); } .pageTitleWithDefaultLogo { - background-image: url(../../assets/img/banner-light.png) + background-image: url(../../assets/img/banner-light.png); } .dialog, html { - background-color: #230c33 + background-color: #230c33; } .backgroundContainer { background: url(bg.jpg) center top no-repeat #030322; -webkit-background-size: cover; - background-size: cover + background-size: cover; } .backgroundContainer.withBackdrop { - opacity: .86 + opacity: .86; } @media (orientation:portrait) { .backgroundContainer { - background-position: 30% top + background-position: 30% top; } } @@ -91,12 +91,12 @@ progress::-webkit-progress-value { .fab:focus, .raised:focus { - background: #ff77f1 + background: #ff77f1; } div[data-role=controlgroup] a.ui-btn-active { background: #55828b !important; - color: #e1e5f2 !important + color: #e1e5f2 !important; } a[data-role=button] { @@ -114,7 +114,7 @@ a[data-role=button] { .button-alt, .btnOption { background: rgb(72, 195, 200); - color: rgb(225, 229, 242) + color: rgb(225, 229, 242); } #btnResetPassword, @@ -128,7 +128,7 @@ a[data-role=button] { .alphaPickerButton { color: #999; color: rgba(255, 255, 255, .5); - background-color: transparent + background-color: transparent; } #btnResetPassword:hover, @@ -150,31 +150,31 @@ a[data-role=button] { .btnManual:hover, .block:hover { background: rgb(12, 232, 214); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .button-submit:focus { - background: #ff77f1 + background: #ff77f1; } .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .itemName { - color: #f1f7ee + color: #f1f7ee; } .textareaLabel, .sectionTitle, .fieldDescription, .checkboxLabel { - color: #f1f7ee + color: #f1f7ee; } .checkboxLabel { - color: inherit + color: inherit; } .selectLabel, @@ -190,15 +190,15 @@ a[data-role=button] { .inputLabelFocused, .selectLabelFocused, .textareaLabelFocused { - color: #ff77f1 + color: #ff77f1; } .checkboxOutline { - border-color: currentColor + border-color: currentColor; } .cardContent { - border-radius: 1.000em + border-radius: 1.000em; } .collapseContent, @@ -207,7 +207,7 @@ a[data-role=button] { .paperList, .visualCardBox { background-color: rgba(0, 0, 0, .5); - border-radius: 1.000em + border-radius: 1.000em; } .cardOverlayContainer { @@ -219,23 +219,23 @@ a[data-role=button] { } .defaultCardBackground1 { - background-color: #d2b019 + background-color: #d2b019; } .defaultCardBackground2 { - background-color: #338abb + background-color: #338abb; } .defaultCardBackground3 { - background-color: #6b689d + background-color: #6b689d; } .defaultCardBackground4 { - background-color: #dd452b + background-color: #dd452b; } .defaultCardBackground5 { - background-color: #5ccea9 + background-color: #5ccea9; } .cardText-secondary, @@ -246,94 +246,94 @@ a[data-role=button] { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5) + color: rgba(255, 255, 255, .5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14) + background: rgba(255, 255, 255, .14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5 + opacity: .5; } .actionSheetMenuItem:hover { - background-color: rgba(0, 0, 0, .5) + background-color: rgba(0, 0, 0, .5); } .toast { background: #303030; color: #f8f8fe; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .appfooter { background: #06256f; color: #ccc; - color: rgba(255, 255, 255, .78) + color: rgba(255, 255, 255, .78); } @supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)) { .appfooter-blurred { background: rgba(6, 37, 111, .7); - backdrop-filter: blur(20px) + backdrop-filter: blur(20px); } } .itemSelectionPanel { - border: 1px solid #48c3c8 + border: 1px solid #48c3c8; } .selectionCommandsPanel { background: #48c3c8; - color: #f8f8fe + color: #f8f8fe; } .upNextDialog-countdownText { - color: #48c3c8 + color: #48c3c8; } .alphaPickerButton-selected { - color: #0ce8d6 + color: #0ce8d6; } .alphaPickerButton-tv:focus { background: #ff77f1; - color: #f8f8fe !important + color: #f8f8fe !important; } .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9) + background: rgba(30, 30, 30, .9); } .listItem-border { - border-color: rgba(255, 255, 255, .1) !important + border-color: rgba(255, 255, 255, .1) !important; } .listItem:focus { - background: rgba(0, 0, 0, .3) + background: rgba(0, 0, 0, .3); } .progressring-spiner { - border-color: #48c3c8 + border-color: #48c3c8; } .button-flat-accent, .button-link { - color: #48c3c8 + color: #48c3c8; } .mediaInfoText { color: #f8f8fe; - background: rgba(170, 170, 190, .2) + background: rgba(170, 170, 190, .2); } .mediaInfoTimerIcon, .starIcon { - color: #f2b01e + color: #f2b01e; } .emby-input, @@ -342,32 +342,32 @@ a[data-role=button] { background: rgba(0, 0, 0, .5); border: .07em solid transparent; -webkit-border-radius: .15em; - border-radius: .15em + border-radius: .15em; } .emby-input:focus, .emby-textarea:focus { - border-color: #ff77f1 + border-color: #ff77f1; } .emby-select-withcolor { color: inherit; background: rgba(0, 0, 0, .5); - border: .07em solid transparent + border: .07em solid transparent; } .emby-select-withcolor>option { color: inherit; - background: #030322d7 + background: #030322d7; } .emby-select-withcolor:focus { - border-color: #ff77f1 !important + border-color: #ff77f1 !important; } .emby-select-tv-withcolor:focus { background-color: #ff77f1 !important; - color: #fff !important + color: #fff !important; } .emby-checkbox:checked+span+.checkboxOutline { @@ -392,7 +392,7 @@ a[data-role=button] { } .itemProgressBarForeground-recording { - background-color: #cb272a + background-color: #cb272a; } .countIndicator, @@ -402,30 +402,30 @@ a[data-role=button] { } .fullSyncIndicator { - color: #fff + color: #fff; } .mainDrawer { color: #f8f8fe; - background: rgba(0, 0, 0, .5) + background: rgba(0, 0, 0, .5); } .drawer-open { - background-color: #030322 + background-color: #030322; } .navMenuOption:hover { - background: rgba(221, 221, 221, 0.068) + background: rgba(221, 221, 221, 0.068); } .navMenuOption-selected { background: #6f0765 !important; - color: #f8f8fe + color: #f8f8fe; } .emby-button.show-focus:focus { background: #8ae9c1; - color: #f8f8fe + color: #f8f8fe; } .emby-tab-button { @@ -447,57 +447,57 @@ a[data-role=button] { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05) + border-color: rgba(255, 255, 255, .05); } .programCell-sports { - background: #3949ab !important + background: #3949ab !important; } .programCell-movie { - background: #5e35b1 !important + background: #5e35b1 !important; } .programCell-kids { - background: #039be5 !important + background: #039be5 !important; } .programCell-news { - background: #43a047 !important + background: #43a047 !important; } .programCell-active { - background: rgba(0, 0, 0, .4) !important + background: rgba(0, 0, 0, .4) !important; } .guide-channelHeaderCell:focus, .programCell:focus { background-color: #48c3c8 !important; - color: #fff !important + color: #fff !important; } .guide-programTextIcon { color: #1e1e1e; - background: #555 + background: #555; } .guide-headerTimeslots { - color: inherit + color: inherit; } .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3) + color: rgba(255, 255, 255, .3); } .guide-date-tab-button.emby-tab-button-active, .guide-date-tab-button:focus { - color: #ff77f1 + color: #ff77f1; } .guide-date-tab-button.show-focus:focus { background-color: #48c3c8; - color: #fff + color: #fff; } .infoBanner { @@ -505,24 +505,24 @@ a[data-role=button] { background: #dbe6ff; padding: 1em; -webkit-border-radius: .25em; - border-radius: .25em + border-radius: .25em; } .ratingbutton-icon-withrating { - color: #c33 + color: #c33; } .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285f4 + color: #4285f4; } .playstatebutton-icon-played { - color: #c33 + color: #c33; } .repeatButton-active { - color: #4285f4 + color: #4285f4; } .personCard .cardScalable { @@ -532,36 +532,38 @@ a[data-role=button] { .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #ff77f1 !important + border-color: #ff77f1 !important; } .layout-desktop, .scrollY { scrollbar-width: thin; - scrollbar-color: #888 rgba(59, 59, 59, 0.5) + scrollbar-color: #888 rgba(59, 59, 59, 0.5); } ::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); } ::-webkit-scrollbar-track-piece { - background-color: rgba(59, 59, 59, 0.5) + background-color: rgba(59, 59, 59, 0.5); } .layout-desktop ::-webkit-scrollbar { width: .4em; - height: 1em + height: 1em; } ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { + border-radius: 2px; -webkit-border-radius: 2px; - background: center no-repeat #888 + background: center no-repeat #888; } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em + height: .7em; } .mediaInfoOfficialRating { @@ -571,7 +573,7 @@ a[data-role=button] { } .metadataSidebarIcon { - color: #dbe6ff + color: #dbe6ff; } .personCard .overflowPortraitCard { diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index dcc4a8b99..cef12280f 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -1,23 +1,23 @@ html { color: #eee; color: rgba(255, 255, 255, .9); - background-color: #0f3562 + background-color: #0f3562; } .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #0c2450 + background-color: #0c2450; } .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135) + border-color: rgba(255, 255, 255, .135); } .skinHeader { color: #ccc; - color: rgba(255, 255, 255, .78) + color: rgba(255, 255, 255, .78); } .formDialogHeader:not(.formDialogHeader-clear), @@ -40,7 +40,7 @@ html { } .pageTitleWithDefaultLogo { - background-image: url(../../assets/img/banner-light.png) + background-image: url(../../assets/img/banner-light.png); } .backgroundContainer, @@ -53,7 +53,7 @@ html { } .backgroundContainer.withBackdrop { - background: rgba(17, 98, 164, .9) + background: rgba(17, 98, 164, .9); } .paper-icon-button-light:hover:not(:disabled) { @@ -68,31 +68,31 @@ html { .fab, .raised { background: #082845; - color: #fff + color: #fff; } .fab:focus, .raised:focus { - background: #143451 + background: #143451; } .button-submit { background: #00a4dc; - color: #fff + color: #fff; } .button-submit:focus { background: #0cb0e8; - color: #fff + color: #fff; } .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .checkboxLabel { - color: inherit + color: inherit; } .checkboxListLabel, @@ -101,43 +101,43 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7) + color: rgba(255, 255, 255, .7); } .inputLabelFocused, .selectLabelFocused, .textareaLabelFocused { - color: #00a4dc + color: #00a4dc; } .checkboxOutline { - border-color: currentColor + border-color: currentColor; } .collapseContent, .paperList, .visualCardBox { - background-color: #0f3562 + background-color: #0f3562; } .defaultCardBackground1 { - background-color: #d2b019 + background-color: #d2b019; } .defaultCardBackground2 { - background-color: #338abb + background-color: #338abb; } .defaultCardBackground3 { - background-color: #6b689d + background-color: #6b689d; } .defaultCardBackground4 { - background-color: #dd452b + background-color: #dd452b; } .defaultCardBackground5 { - background-color: #5ccea9 + background-color: #5ccea9; } .cardText-secondary, @@ -148,23 +148,23 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5) + color: rgba(255, 255, 255, .5); } .actionsheetDivider { background: #ddd; - background: rgba(255, 255, 255, .14) + background: rgba(255, 255, 255, .14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5 + opacity: .5; } .toast { background: #081b3b; color: #fff; - color: rgba(255, 255, 255, .87) + color: rgba(255, 255, 255, .87); } .appfooter, @@ -178,60 +178,60 @@ html { } .itemSelectionPanel { - border: 1px solid #00a4dc + border: 1px solid #00a4dc; } .selectionCommandsPanel { background: #00a4dc; - color: #fff + color: #fff; } .upNextDialog-countdownText { - color: #00a4dc + color: #00a4dc; } .alphaPickerButton { color: #999; color: rgba(255, 255, 255, .5); - background-color: transparent + background-color: transparent; } .alphaPickerButton-selected, .alphaPickerButton-tv:focus { background-color: #00a4dc; - color: #fff !important + color: #fff !important; } .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(0, 0, 0, .3) + background: rgba(0, 0, 0, .3); } .listItem-border { - border-color: rgba(0, 0, 0, .3) !important + border-color: rgba(0, 0, 0, .3) !important; } .listItem:focus { - background: #333 + background: #333; } .progressring-spiner { - border-color: #00a4dc + border-color: #00a4dc; } .button-flat-accent, .button-link { - color: #00a4dc + color: #00a4dc; } .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2) + background: rgba(170, 170, 190, .2); } .mediaInfoTimerIcon, .starIcon { - color: #cb272a + color: #cb272a; } .emby-input, @@ -240,23 +240,23 @@ html { background: rgba(255, 255, 255, .2); border: .07em solid rgba(255, 255, 255, .135); -webkit-border-radius: .15em; - border-radius: .15em + border-radius: .15em; } .emby-input:focus, .emby-textarea:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-select-withcolor { color: inherit; background: rgba(255, 255, 255, .2); - border: .07em solid rgba(255, 255, 255, .135) + border: .07em solid rgba(255, 255, 255, .135); } .emby-checkbox:checked+span+.checkboxOutline, .emby-select-withcolor:focus { - border-color: #00a4dc + border-color: #00a4dc; } .emby-checkbox:focus+span+.checkboxOutline { @@ -265,7 +265,7 @@ html { .emby-checkbox:checked+span+.checkboxOutline, .itemProgressBarForeground { - background-color: #00a4dc + background-color: #00a4dc; } .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { @@ -274,48 +274,48 @@ html { .emby-select-withcolor>option { color: #000; - background: #fff + background: #fff; } .emby-select-tv-withcolor:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .itemProgressBarForeground-recording { - background-color: #cb272a + background-color: #cb272a; } .countIndicator, .fullSyncIndicator, .playedIndicator { - background: #00a4dc + background: #00a4dc; } .fullSyncIndicator { - color: #fff + color: #fff; } .mainDrawer { background-color: #0f3562; color: #ccc; - color: rgba(255, 255, 255, .7) + color: rgba(255, 255, 255, .7); } .actionSheetMenuItem:hover, .navMenuOption:hover { background: #252528; - background: rgba(0, 0, 0, .2) + background: rgba(0, 0, 0, .2); } .navMenuOption-selected { background: #00a4dc !important; - color: #fff + color: #fff; } .emby-button.show-focus:focus { background: #00a4dc; - color: #fff + color: #fff; } .emby-tab-button { @@ -323,7 +323,7 @@ html { } .emby-tab-button-active { - color: #fff + color: #fff; } .emby-tab-button.show-focus:focus { @@ -338,57 +338,57 @@ html { .guide-channelHeaderCell, .programCell { border-color: #999; - border-color: rgba(255, 255, 255, .1) + border-color: rgba(255, 255, 255, .1); } .programCell-sports { - background: #3949ab !important + background: #3949ab !important; } .programCell-movie { - background: #5e35b1 !important + background: #5e35b1 !important; } .programCell-kids { - background: #039be5 !important + background: #039be5 !important; } .programCell-news { - background: #43a047 !important + background: #43a047 !important; } .programCell-active { - background: rgba(0, 0, 0, .3) !important + background: rgba(0, 0, 0, .3) !important; } .guide-channelHeaderCell:focus, .programCell:focus { background-color: #00a4dc !important; - color: #fff !important + color: #fff !important; } .guide-programTextIcon { color: #1e1e1e; - background: #555 + background: #555; } .guide-headerTimeslots { - color: inherit + color: inherit; } .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3) + color: rgba(255, 255, 255, .3); } .guide-date-tab-button.emby-tab-button-active, .guide-date-tab-button:focus { - color: #00a4dc + color: #00a4dc; } .guide-date-tab-button.show-focus:focus { background-color: #00a4dc; - color: #fff + color: #fff; } .infoBanner { @@ -396,52 +396,52 @@ html { background: #fff3a5; padding: 1em; -webkit-border-radius: .25em; - border-radius: .25em + border-radius: .25em; } .ratingbutton-icon-withrating { - color: #c33 + color: #c33; } .downloadbutton-icon-complete, .downloadbutton-icon-on { - color: #4285f4 + color: #4285f4; } .playstatebutton-icon-played { - color: #c33 + color: #c33; } .repeatButton-active { - color: #4285f4 + color: #4285f4; } .card:focus .cardBox.visualCardBox, .card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #fff !important + border-color: #fff !important; } ::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3) + box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); } ::-webkit-scrollbar-track-piece { - background-color: #081b3b + background-color: #081b3b; } .layout-desktop ::-webkit-scrollbar { width: 1em; - height: 1em + height: 1em; } ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-thumb:vertical { border-radius: 2px; -webkit-border-radius: 2px; - background: center no-repeat rgba(255, 255, 255, .7) + background: center no-repeat rgba(255, 255, 255, .7); } .metadataSidebarIcon { - color: #00a4dc + color: #00a4dc; } From 0c0853a80aefe65e1dd81a03d276b0ccee63db42 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:50:51 +0100 Subject: [PATCH 37/68] Fix declaration-colon-space-after (CSS) --- src/assets/css/dashboard.css | 14 +++++++------- src/assets/css/videoosd.css | 2 ++ .../emby-scrollbuttons/emby-scrollbuttons.css | 4 ++-- src/themes/purplehaze/theme.css | 4 ++-- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index d912a4930..6c15a9bc6 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -283,13 +283,13 @@ div[data-role=controlgroup] a.ui-btn-active { } .activitylogUserPhoto { - height:1.71em; - width:1.71em; - border-radius:100%; - margin-right:.5em; - background-size:cover; - background-repeat:no-repeat; - background-position:center; + height: 1.71em; + width: 1.71em; + border-radius: 100%; + margin-right: .5em; + background-size: cover; + background-repeat: no-repeat; + background-position: center; } @media all and (min-width:40em) { diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index 57d27a9c5..c5709aee0 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -224,12 +224,14 @@ @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); + transform:rotate(360deg); } } @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); + transform:rotate(360deg); } } diff --git a/src/components/emby-scrollbuttons/emby-scrollbuttons.css b/src/components/emby-scrollbuttons/emby-scrollbuttons.css index f09c10992..32e60292a 100644 --- a/src/components/emby-scrollbuttons/emby-scrollbuttons.css +++ b/src/components/emby-scrollbuttons/emby-scrollbuttons.css @@ -4,8 +4,8 @@ right: 0; align-items: center; justify-content: center; - min-width:104px; - min-height:24px; + min-width: 104px; + min-height: 24px; padding-top: 1.25em; z-index: 1; color: #fff; diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 5747396ac..1e17a91a4 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -372,7 +372,7 @@ a[data-role=button] { .emby-checkbox:checked+span+.checkboxOutline { background-color: #030322; - border:2px solid rgb(72, 195, 200); + border: 2px solid rgb(72, 195, 200); } .emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-checked { @@ -384,7 +384,7 @@ a[data-role=button] { } .emby-checkbox:focus:not(:checked)+span+.checkboxOutline { - border:2px solid #ff77f1; + border: 2px solid #ff77f1; } .itemProgressBarForeground { From 2ac83a43d1eb611a9a13230562f204f22f666685 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:52:38 +0100 Subject: [PATCH 38/68] Fix function-comma-space-after (CSS) --- src/components/cardbuilder/card.css | 12 ++++++------ src/components/indicators/indicators.css | 2 +- src/components/loading/loading.css | 8 ++++---- src/components/nowplayingbar/nowplayingbar.css | 2 +- src/components/playerstats/playerstats.css | 2 +- src/components/slideshow/style.css | 2 +- src/components/subtitlesync/subtitlesync.css | 2 +- src/elements/emby-radio/emby-radio.css | 6 +++--- src/elements/emby-toggle/emby-toggle.css | 8 ++++---- src/themes/appletv/theme.css | 2 +- src/themes/blueradiance/theme.css | 2 +- src/themes/dark/theme.css | 2 +- src/themes/light/theme.css | 2 +- src/themes/purplehaze/theme.css | 3 +-- src/themes/wmc/theme.css | 2 +- 15 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index 00a11a8eb..afc867c04 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -263,7 +263,7 @@ button::-moz-focus-inner { } .innerCardFooter { - background: rgba(0,0,0,.7); + background: rgba(0, 0, 0, .7); position: absolute; bottom: 0; left: 0; @@ -403,7 +403,7 @@ button::-moz-focus-inner { } .cardOverlayButtonIcon { - background-color: rgba(0,0,0,.7) !important; + background-color: rgba(0, 0, 0, .7) !important; border-radius: 100em; width: 1.5em !important; height: 1.5em !important; @@ -425,8 +425,8 @@ button::-moz-focus-inner { height: 2.6em; top: 50%; left: 50%; - background-color: rgba(0,0,0,.5) !important; - border: .06em solid rgba(255,255,255,.6); + background-color: rgba(0, 0, 0, .5) !important; + border: .06em solid rgba(255, 255, 255, .6); padding: .38em !important; color: rgba(255, 255, 255, .76); transition: transform 200ms ease-out; @@ -730,7 +730,7 @@ button::-moz-focus-inner { } .cardOverlayContainer { - background: rgba(0,0,0,0.5); + background: rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity .2s; position: absolute; @@ -761,7 +761,7 @@ button::-moz-focus-inner { } .cardOverlayFab-primary { - background-color: rgba(0,0,0,0.7); + background-color: rgba(0, 0, 0, 0.7); font-size: 130%; padding: 0; width: 3em; diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index 774fac4f4..906aa89bb 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -1,6 +1,6 @@ .itemProgressBar { background: #333; - background: rgba(51,51,51,.8); + background: rgba(51, 51, 51, .8); position: relative; height: .28em; } diff --git a/src/components/loading/loading.css b/src/components/loading/loading.css index 210746be1..4025bbd0c 100644 --- a/src/components/loading/loading.css +++ b/src/components/loading/loading.css @@ -33,7 +33,7 @@ } .mdl-spinner__layer-1 { - border-color: rgb(66,165,245); + border-color: rgb(66, 165, 245); } .mdl-spinner__layer-1-active { @@ -42,7 +42,7 @@ } .mdl-spinner__layer-2 { - border-color: rgb(244,67,54); + border-color: rgb(244, 67, 54); } .mdl-spinner__layer-2-active { @@ -51,7 +51,7 @@ } .mdl-spinner__layer-3 { - border-color: rgb(253,216,53); + border-color: rgb(253, 216, 53); } .mdl-spinner__layer-3-active { @@ -60,7 +60,7 @@ } .mdl-spinner__layer-4 { - border-color: rgb(76,175,80); + border-color: rgb(76, 175, 80); } .mdl-spinner__layer-4-active { diff --git a/src/components/nowplayingbar/nowplayingbar.css b/src/components/nowplayingbar/nowplayingbar.css index 120a0508a..965de35c6 100644 --- a/src/components/nowplayingbar/nowplayingbar.css +++ b/src/components/nowplayingbar/nowplayingbar.css @@ -16,7 +16,7 @@ } .nowPlayingBar-hidden { - transform: translate3d(0,100%,0); + transform: translate3d(0, 100%, 0); } .nowPlayingBarTop { diff --git a/src/components/playerstats/playerstats.css b/src/components/playerstats/playerstats.css index 6e363a898..5ae6f154b 100644 --- a/src/components/playerstats/playerstats.css +++ b/src/components/playerstats/playerstats.css @@ -1,5 +1,5 @@ .playerStats { - background: rgba(28,28,28,0.8); + background: rgba(28, 28, 28, 0.8); border-radius: .3em; color: #fff; left: 1.5em; diff --git a/src/components/slideshow/style.css b/src/components/slideshow/style.css index 43211a8fe..5d0bd4004 100644 --- a/src/components/slideshow/style.css +++ b/src/components/slideshow/style.css @@ -121,7 +121,7 @@ .slideTextInner { margin: 0 auto; max-width: 60%; - background: rgba(0,0,0,.8); + background: rgba(0, 0, 0, .8); display: inline-block; padding: .5em 1em; border-radius: .25em; diff --git a/src/components/subtitlesync/subtitlesync.css b/src/components/subtitlesync/subtitlesync.css index b4552a50e..5b9c9a510 100644 --- a/src/components/subtitlesync/subtitlesync.css +++ b/src/components/subtitlesync/subtitlesync.css @@ -3,7 +3,7 @@ margin-left: 30%; margin-right: 30%; height: 4.2em; - background: rgba(28,28,28,0.8); + background: rgba(28, 28, 28, 0.8); border-radius: .3em; color: #fff; position: absolute; diff --git a/src/elements/emby-radio/emby-radio.css b/src/elements/emby-radio/emby-radio.css index 2e27f4821..987fce436 100644 --- a/src/elements/emby-radio/emby-radio.css +++ b/src/elements/emby-radio/emby-radio.css @@ -50,7 +50,7 @@ } .mdl-radio__button:disabled + .mdl-radio__label + .mdl-radio__outer-circle { - border: 2px solid rgba(0,0,0, 0.26); + border: 2px solid rgba(0, 0, 0, 0.26); cursor: auto; } @@ -81,7 +81,7 @@ } .mdl-radio__button:disabled + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle { - background: rgba(0,0,0, 0.26); + background: rgba(0, 0, 0, 0.26); cursor: auto; } @@ -98,6 +98,6 @@ } .mdl-radio__button:disabled + .mdl-radio__label { - color: rgba(0,0,0, 0.26); + color: rgba(0, 0, 0, 0.26); cursor: auto; } diff --git a/src/elements/emby-toggle/emby-toggle.css b/src/elements/emby-toggle/emby-toggle.css index fb91419cb..c893736c2 100644 --- a/src/elements/emby-toggle/emby-toggle.css +++ b/src/elements/emby-toggle/emby-toggle.css @@ -41,7 +41,7 @@ } .mdl-switch__track { - background: rgba(128,128,128, 0.5); + background: rgba(128, 128, 128, 0.5); height: 1em; border-radius: 1em; cursor: pointer; @@ -52,7 +52,7 @@ } .mdl-switch__input[disabled] + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__track { - background: rgba(0,0,0, 0.12); + background: rgba(0, 0, 0, 0.12); cursor: auto; } @@ -81,7 +81,7 @@ } .mdl-switch__input[disabled] + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__thumb { - background: rgb(189,189,189); + background: rgb(189, 189, 189); cursor: auto; } @@ -117,6 +117,6 @@ } .mdl-switch__input[disabled] .mdl-switch__label { - color: rgb(189,189,189); + color: rgb(189, 189, 189); cursor: auto; } diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 58ea6618c..4bd2f1326 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -62,7 +62,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0,164,220, .2); + background-color: rgba(0, 164, 220, .2); } .paper-icon-button-light.show-focus:focus { diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 2abc0d6b1..3ea322160 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -60,7 +60,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0,164,220, .2); + background-color: rgba(0, 164, 220, .2); } .paper-icon-button-light.show-focus:focus { diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index e02de9379..7b77d4304 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -41,7 +41,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0,164,220, .2); + background-color: rgba(0, 164, 220, .2); } .paper-icon-button-light.show-focus:focus { diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 292db2b2b..0013c6956 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -57,7 +57,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0,164,220, .2); + background-color: rgba(0, 164, 220, .2); } .paper-icon-button-light.show-focus:focus { diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 1e17a91a4..8fecd316e 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -20,7 +20,6 @@ html { background: -moz-linear-gradient(left, #000420 0%, #06256f 18%, #2b052b 38%, #2b052b 68%, #06256f 81%, #000420 100%); background: -webkit-linear-gradient(left, #000420 0%,#06256f 18%,#2b052b 38%,#2b052b 68%,#06256f 81%,#000420 100%); background: linear-gradient(to right, #000420 0%,#06256f 18%,#2b052b 38%,#2b052b 68%,#06256f 81%,#000420 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000420', endColorstr='#000420',GradientType=1 ); } .skinHeader.semiTransparent { @@ -60,7 +59,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: rgb(12, 232, 214); - background-color: rgba(0,164,220, .2); + background-color: rgba(0, 164, 220, .2); } .paper-icon-button-light.show-focus:focus { diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index cef12280f..c633fc22d 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -58,7 +58,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0,164,220, .2); + background-color: rgba(0, 164, 220, .2); } .paper-icon-button-light.show-focus:focus { From c243d00add12f96d18cf152788a8652a756cd6e6 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:54:06 +0100 Subject: [PATCH 39/68] Fix function-name-case (CSS) --- src/elements/emby-slider/emby-slider.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index 1f318ebfa..1b94a44a9 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -105,7 +105,7 @@ background: #00a4dc; background-image: none; border: none; - transform: Scale(1.4, 1.4); + transform: scale(1.4, 1.4); } .mdl-slider::-ms-thumb { From 61719e3ab23fc33ae06e6baf7aa60b0fcd732d1b Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:55:55 +0100 Subject: [PATCH 40/68] Fix length-zero-no-unit (CSS) --- src/assets/css/dashboard.css | 4 ++-- src/elements/emby-button/emby-button.css | 2 +- src/elements/emby-radio/emby-radio.css | 2 +- src/themes/purplehaze/theme.css | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 6c15a9bc6..b1747991e 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -347,7 +347,7 @@ div[data-role=controlgroup] a.ui-btn-active { .sessionNowPlayingDetails { display: flex; position: absolute; - bottom: 0px; + bottom: 0; width: 100%; } @@ -370,7 +370,7 @@ div[data-role=controlgroup] a.ui-btn-active { .playbackProgress, .transcodingProgress { - margin: 0px; + margin: 0; width: 100%; background: transparent !important; } diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index fc5567967..e58501c8b 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -175,7 +175,7 @@ justify-content: center; font-size: 82%; border-radius: 100em; - box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px -1px rgba(0, 0, 0, 0.2); + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); background: #03a9f4; font-weight: bold; } diff --git a/src/elements/emby-radio/emby-radio.css b/src/elements/emby-radio/emby-radio.css index 987fce436..a41acee5e 100644 --- a/src/elements/emby-radio/emby-radio.css +++ b/src/elements/emby-radio/emby-radio.css @@ -86,7 +86,7 @@ } .mdl-radio__button:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle { - box-shadow: 0 0 0px 10px rgba(255, 255, 255, 0.76); + box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.76); } .mdl-radio__button:checked:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle { diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 8fecd316e..b6351de41 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -213,8 +213,8 @@ a[data-role=button] { border-radius: 0.8em; } .visualCardBox .cardOverlayContainer { - border-bottom-right-radius: 0em; - border-bottom-left-radius: 0em; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .defaultCardBackground1 { From 870a48e78b78c8e952fa1d8d647b4ce7411b0131 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:56:36 +0100 Subject: [PATCH 41/68] Fix max-empty-lines (CSS) --- src/components/cardbuilder/card.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index afc867c04..374556195 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -530,7 +530,6 @@ button::-moz-focus-inner { } } - @media (min-width: 87.5em) { .squareCard, .portraitCard { width: 14.285714285714285714285714285714%; From c7264691d2487cd49307860792c7eb50430b2ebf Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:57:31 +0100 Subject: [PATCH 42/68] Fix media-feature-colon-space-after (CSS) --- src/assets/css/dashboard.css | 16 +++--- src/assets/css/librarybrowser.css | 54 +++++++++---------- src/assets/css/livetv.css | 2 +- src/assets/css/metadataeditor.css | 4 +- src/assets/css/site.css | 2 +- src/assets/css/videoosd.css | 14 ++--- src/components/filterdialog/style.css | 6 +-- src/components/guide/guide.css | 8 +-- .../remotecontrol/remotecontrol.css | 16 +++--- src/themes/blueradiance/theme.css | 2 +- src/themes/purplehaze/theme.css | 2 +- 11 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index b1747991e..39ffc4e29 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -47,7 +47,7 @@ progress[aria-valuenow]:before { margin-bottom: 2.2em !important; } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .type-interior>div[data-role=content], .type-interior>.ui-panel-content-wrap>div[data-role=content] { @@ -160,7 +160,7 @@ div[data-role=controlgroup] a.ui-btn-active { padding-top: 9em !important; } -@media all and (min-width:40em) { +@media all and (min-width: 40em) { .content-primary { padding-top: 7em; } @@ -170,7 +170,7 @@ div[data-role=controlgroup] a.ui-btn-active { } } -@media all and (min-width:84em) { +@media all and (min-width: 84em) { .withTabs .content-primary { padding-top: 7em !important; } @@ -232,7 +232,7 @@ div[data-role=controlgroup] a.ui-btn-active { width: 50%; } -@media all and (min-width:70em) { +@media all and (min-width: 70em) { .dashboardSections { -webkit-flex-wrap: wrap; flex-wrap: wrap; @@ -292,13 +292,13 @@ div[data-role=controlgroup] a.ui-btn-active { background-position: center; } -@media all and (min-width:40em) { +@media all and (min-width: 40em) { .activeSession { width: 100% !important; } } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .activeSession { width: 50% !important; } @@ -394,13 +394,13 @@ div[data-role=controlgroup] a.ui-btn-active { background-color: #dd4919; } -@media all and (max-width:34.375em) { +@media all and (max-width: 34.375em) { .sessionAppName { max-width: 160px; } } -@media all and (max-width:31.25em) { +@media all and (max-width: 31.25em) { .sessionAppName { max-width: 150px; } diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index e4dc776d5..756df82ac 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -239,7 +239,7 @@ padding-bottom: 10vh; } -@media all and (min-width:40em) { +@media all and (min-width: 40em) { .dashboardDocument .adminDrawerLogo, .dashboardDocument .mainDrawerButton { @@ -267,13 +267,13 @@ } } -@media all and (max-width:60em) { +@media all and (max-width: 60em) { .libraryDocument .mainDrawerButton { display: none; } } -@media all and (max-width:84em) { +@media all and (max-width: 84em) { .withSectionTabs .headerTop { padding-bottom: 0.2em; } @@ -283,7 +283,7 @@ } } -@media all and (min-width:84em) { +@media all and (min-width: 84em) { .headerTop { padding: 1.489em 0; } @@ -325,7 +325,7 @@ white-space: nowrap; } -@media all and (max-width:37.5em) { +@media all and (max-width: 37.5em) { .headerSelectedPlayer { display: none; } @@ -523,19 +523,19 @@ background-size: contain; } -@media all and (max-width:87.5em) { +@media all and (max-width: 87.5em) { .detailLogo { right: 5%; } } -@media all and (max-width:75em) { +@media all and (max-width: 75em) { .detailLogo { right: 2%; } } -@media all and (max-width:68.75em) { +@media all and (max-width: 68.75em) { .detailLogo { width: 14.91em; height: 3.5em; @@ -553,7 +553,7 @@ -webkit-box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); } -@media all and (max-width:62.5em) { +@media all and (max-width: 62.5em) { .detailPageContent { position: relative; } @@ -563,7 +563,7 @@ } } -@media all and (max-width:75em) { +@media all and (max-width: 75em) { .lnkSibling { display: none !important; } @@ -589,7 +589,7 @@ font-size: 3.5em; } -@media all and (max-width:62.5em) { +@media all and (max-width: 62.5em) { .parentName { margin-bottom: 1em; } @@ -603,13 +603,13 @@ } } -@media all and (min-width:31.25em) { +@media all and (min-width: 31.25em) { .mobileDetails { display: none; } } -@media all and (max-width:31.25em) { +@media all and (max-width: 31.25em) { .desktopDetails { display: none !important; } @@ -676,21 +676,21 @@ margin: 0 .5em 0 0 !important; } -@media all and (min-width:29em) { +@media all and (min-width: 29em) { .detailButton-mobile { padding-left: .75em !important; padding-right: .75em !important; } } -@media all and (min-width:32em) { +@media all and (min-width: 32em) { .detailButton-mobile { padding-left: .8em !important; padding-right: .8em !important; } } -@media all and (min-width:35em) { +@media all and (min-width: 35em) { .detailButton-mobile { padding-left: .85em !important; padding-right: .85em !important; @@ -730,7 +730,7 @@ font-weight: 400; } -@media all and (max-width:62.5em) { +@media all and (max-width: 62.5em) { .mainDetailButtons { margin-left: -.5em; } @@ -740,7 +740,7 @@ } } -@media all and (min-width:62.5em) { +@media all and (min-width: 62.5em) { .detailFloatingButton { display: none !important; } @@ -751,7 +751,7 @@ } } -@media all and (max-width:50em) { +@media all and (max-width: 50em) { .editorMenuLink { display: none; } @@ -768,7 +768,7 @@ align-items: center; } -@media all and (max-width:31.25em) { +@media all and (max-width: 31.25em) { .mobileDetails .itemMiscInfo { text-align: center; -webkit-box-pack: center; @@ -790,7 +790,7 @@ border-collapse: collapse; } -@media all and (max-width:62.5em) { +@media all and (max-width: 62.5em) { .detailPageContent-nodetailimg { padding-top: 0; } @@ -839,19 +839,19 @@ margin: 0 auto; } -@media all and (max-height:31.25em) { +@media all and (max-height: 31.25em) { .itemBackdrop { height: 52vh; } } -@media all and (max-width:75em) { +@media all and (max-width: 75em) { .listViewUserDataButtons { display: none !important; } } -@media all and (max-width:62.5em) { +@media all and (max-width: 62.5em) { .detailsHiddenOnMobile { display: none; } @@ -987,7 +987,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { margin-bottom: -1em; } -@media all and (min-height:31.25em) { +@media all and (min-height: 31.25em) { .padded-left-withalphapicker { padding-left: 7.5%; } @@ -1018,13 +1018,13 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { justify-content: center; } -@media all and (min-width:40em) { +@media all and (min-width: 40em) { .listIconButton-autohide { display: none !important; } } -@media all and (max-width:40em) { +@media all and (max-width: 40em) { .listTextButton-autohide { display: none !important; } diff --git a/src/assets/css/livetv.css b/src/assets/css/livetv.css index fa3309453..b91864178 100644 --- a/src/assets/css/livetv.css +++ b/src/assets/css/livetv.css @@ -2,7 +2,7 @@ padding-bottom: 15em; } -@media all and (min-width:62.5em) { +@media all and (min-width: 62.5em) { #guideTab { padding-left: .5em; } diff --git a/src/assets/css/metadataeditor.css b/src/assets/css/metadataeditor.css index 5109ca1da..36cb6b001 100644 --- a/src/assets/css/metadataeditor.css +++ b/src/assets/css/metadataeditor.css @@ -51,7 +51,7 @@ margin-right: .4em; } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .editPageSidebar { position: fixed; top: 5.2em; @@ -68,7 +68,7 @@ } } -@media all and (min-width:112.5em) { +@media all and (min-width: 112.5em) { .editPageSidebar { width: 25%; } diff --git a/src/assets/css/site.css b/src/assets/css/site.css index 5b060dd0e..cbcafd76c 100644 --- a/src/assets/css/site.css +++ b/src/assets/css/site.css @@ -73,7 +73,7 @@ div[data-role=page] { padding-bottom: 5em !important; } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .readOnlyContent, form { max-width: 54em; diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index c5709aee0..87238a1f9 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -53,14 +53,14 @@ min-width: 20vh; } -@media all and (orientation:portrait) { +@media all and (orientation: portrait) { .chapterThumb { height: 30vw; min-width: 30vw; } } -@media all and (max-height:50em) and (orientation:landscape) { +@media all and (max-height: 50em) and (orientation: landscape) { .chapterThumb { height: 30vh; min-width: 30vh; @@ -253,7 +253,7 @@ position: fixed; } -@media all and (max-width:30em) { +@media all and (max-width: 30em) { .btnFastForward, .btnRewind, @@ -263,26 +263,26 @@ } } -@media all and (max-width:33.75em) { +@media all and (max-width: 33.75em) { .videoOsdBottom .paper-icon-button-light { margin: 0; } } -@media all and (max-width:43em) { +@media all and (max-width: 43em) { .videoOsdBottom .volumeButtons, .osdMediaStatus span { display: none !important; } } -@media all and (max-width:50em) { +@media all and (max-width: 50em) { .videoOsdBottom .btnFastForward, .videoOsdBottom .btnRewind { display: none !important; } } -@media all and (max-width:75em) { +@media all and (max-width: 75em) { .videoOsdBottom .endsAtText { display: none !important; } diff --git a/src/components/filterdialog/style.css b/src/components/filterdialog/style.css index 393b04b24..f05ef2e4a 100644 --- a/src/components/filterdialog/style.css +++ b/src/components/filterdialog/style.css @@ -11,14 +11,14 @@ max-width: none !important; } -@media all and (min-height:600px) { +@media all and (min-height: 600px) { .dynamicFilterDialog { top: 10% !important; bottom: 25% !important; } } -@media all and (max-width:400px) { +@media all and (max-width: 400px) { .dynamicFilterDialog { width: auto; left: 10vw !important; @@ -27,7 +27,7 @@ } } -@media all and (min-width:400px) { +@media all and (min-width: 400px) { .dynamicFilterDialog { width: 20.16em; margin-left: -10.08em !important; diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 6b895248b..8e14cb72a 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -166,25 +166,25 @@ width: 24vw; } -@media all and (min-width:31.25em) { +@media all and (min-width: 31.25em) { .channelsContainer, .guide-channelTimeslotHeader { width: 16vw; } } -@media all and (min-width:37.5em) { +@media all and (min-width: 37.5em) { .channelsContainer, .guide-channelTimeslotHeader { width: 16vw; } } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .channelsContainer, .guide-channelTimeslotHeader { width: 14vw; } } -@media all and (min-width:80em) { +@media all and (min-width: 80em) { .channelsContainer, .guide-channelTimeslotHeader { width: 12vw; } diff --git a/src/components/remotecontrol/remotecontrol.css b/src/components/remotecontrol/remotecontrol.css index cc60bd55a..fb6e6f915 100644 --- a/src/components/remotecontrol/remotecontrol.css +++ b/src/components/remotecontrol/remotecontrol.css @@ -66,7 +66,7 @@ flex-shrink: 0; } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .nowPlayingPageImageContainer { width: 16%; } @@ -102,7 +102,7 @@ -ms-user-select: none } -@media all and (orientation:portrait) and (max-width:50em) { +@media all and (orientation: portrait) and (max-width: 50em) { .nowPlayingInfoContainer { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; @@ -144,7 +144,7 @@ } } -@media all and (orientation:portrait) and (max-width:40em) { +@media all and (orientation: portrait) and (max-width: 40em) { .nowPlayingPageImage { height: 30vh; } @@ -172,7 +172,7 @@ justify-content: center; } -@media all and (min-width:50em) { +@media all and (min-width: 50em) { .nowPlayingSecondaryButtons { -webkit-box-flex: 1; -webkit-flex-grow: 1; @@ -183,7 +183,7 @@ } } -@media all and (min-width:80em) { +@media all and (min-width: 80em) { .nowPlayingPageImageContainer { margin-right: .75em; } @@ -214,7 +214,7 @@ width: 9em; } -@media all and (max-width:50em) { +@media all and (max-width: 50em) { .nowPlayingInfoButtons .nowPlayingPageUserDataButtons { display: none !important; } @@ -223,13 +223,13 @@ } } -@media all and (max-width:47em) { +@media all and (max-width: 47em) { .nowPlayingInfoButtons .repeatToggleButton { display: none !important; } } -@media all and (max-width:34em) { +@media all and (max-width: 34em) { .nowPlayingInfoButtons .btnNowPlayingFastForward, .nowPlayingInfoButtons .btnNowPlayingRewind, .nowPlayingInfoButtons .playlist .listItemMediaInfo { diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 3ea322160..140adccfb 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -52,7 +52,7 @@ html { opacity: .86; } -@media (orientation:portrait) { +@media (orientation: portrait) { .backgroundContainer { background-position: 30% top; } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index b6351de41..13838c179 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -51,7 +51,7 @@ html { opacity: .86; } -@media (orientation:portrait) { +@media (orientation: portrait) { .backgroundContainer { background-position: 30% top; } From 2a074d10f1a8114262b537645d7ff37e5d0f9143 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 14:59:39 +0100 Subject: [PATCH 43/68] Fix no-missing-end-of-source-newline (CSS) --- src/assets/css/clearbutton.css | 2 +- src/assets/css/detailtable.css | 2 +- src/assets/css/flexstyles.css | 2 +- src/assets/css/ios.css | 2 +- src/assets/css/livetv.css | 2 +- src/components/appfooter/appfooter.css | 2 +- src/components/directorybrowser/directorybrowser.css | 2 +- src/components/headroom/headroom.css | 2 +- src/components/imageeditor/imageeditor.css | 2 +- src/components/images/style.css | 2 +- src/components/imageuploader/style.css | 2 +- src/components/indicators/indicators.css | 2 +- src/components/navdrawer/navdrawer.css | 2 +- src/components/playback/iconosd.css | 2 +- src/components/recordingcreator/recordingfields.css | 2 +- src/components/subtitleeditor/subtitleeditor.css | 2 +- src/components/subtitlesync/subtitlesync.css | 2 +- src/components/userdatabuttons/userdatabuttons.css | 2 +- src/components/viewManager/viewContainer.css | 2 +- src/components/youtubeplayer/style.css | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/assets/css/clearbutton.css b/src/assets/css/clearbutton.css index 2d3f8d680..9e6c10525 100644 --- a/src/assets/css/clearbutton.css +++ b/src/assets/css/clearbutton.css @@ -9,4 +9,4 @@ vertical-align: middle; font-family: inherit; font-size: inherit; -} \ No newline at end of file +} diff --git a/src/assets/css/detailtable.css b/src/assets/css/detailtable.css index 960cd69ea..5f6df2a32 100644 --- a/src/assets/css/detailtable.css +++ b/src/assets/css/detailtable.css @@ -16,4 +16,4 @@ font-weight: 700; text-align: left; vertical-align: top; -} \ No newline at end of file +} diff --git a/src/assets/css/flexstyles.css b/src/assets/css/flexstyles.css index b35e25d57..a5a479f2f 100644 --- a/src/assets/css/flexstyles.css +++ b/src/assets/css/flexstyles.css @@ -44,4 +44,4 @@ .align-self-flex-end { align-self: flex-end; -} \ No newline at end of file +} diff --git a/src/assets/css/ios.css b/src/assets/css/ios.css index 1d133d13b..57de0c5fd 100644 --- a/src/assets/css/ios.css +++ b/src/assets/css/ios.css @@ -5,4 +5,4 @@ html { .formDialogFooter { position: static !important; margin: 0 -1em !important; -} \ No newline at end of file +} diff --git a/src/assets/css/livetv.css b/src/assets/css/livetv.css index b91864178..3b6074dfb 100644 --- a/src/assets/css/livetv.css +++ b/src/assets/css/livetv.css @@ -6,4 +6,4 @@ #guideTab { padding-left: .5em; } -} \ No newline at end of file +} diff --git a/src/components/appfooter/appfooter.css b/src/components/appfooter/appfooter.css index 4cb342e34..06776650f 100644 --- a/src/components/appfooter/appfooter.css +++ b/src/components/appfooter/appfooter.css @@ -10,4 +10,4 @@ .appfooter.headroom--unpinned { transform: translateY(100%) !important; - } \ No newline at end of file + } diff --git a/src/components/directorybrowser/directorybrowser.css b/src/components/directorybrowser/directorybrowser.css index d47293e00..97a5945f5 100644 --- a/src/components/directorybrowser/directorybrowser.css +++ b/src/components/directorybrowser/directorybrowser.css @@ -5,4 +5,4 @@ .lblDirectoryPickerPath { white-space: nowrap; -} \ No newline at end of file +} diff --git a/src/components/headroom/headroom.css b/src/components/headroom/headroom.css index caac40a1b..df985892f 100644 --- a/src/components/headroom/headroom.css +++ b/src/components/headroom/headroom.css @@ -8,4 +8,4 @@ .headroom--unpinned:not(.headroomDisabled) { transform: translateY(-100%); -} \ No newline at end of file +} diff --git a/src/components/imageeditor/imageeditor.css b/src/components/imageeditor/imageeditor.css index d45400cac..5587e7d8d 100644 --- a/src/components/imageeditor/imageeditor.css +++ b/src/components/imageeditor/imageeditor.css @@ -6,4 +6,4 @@ .first-imageEditor-buttons { margin-top: 2em; -} \ No newline at end of file +} diff --git a/src/components/images/style.css b/src/components/images/style.css index 5cf39c1e4..dc0fc6f61 100644 --- a/src/components/images/style.css +++ b/src/components/images/style.css @@ -44,4 +44,4 @@ 100% { opacity: 1; } -} \ No newline at end of file +} diff --git a/src/components/imageuploader/style.css b/src/components/imageuploader/style.css index bd86d8bff..a4b3ee910 100644 --- a/src/components/imageuploader/style.css +++ b/src/components/imageuploader/style.css @@ -8,4 +8,4 @@ display: flex; align-items: center; justify-content: center; -} \ No newline at end of file +} diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index 906aa89bb..3bbd7edf9 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -93,4 +93,4 @@ font-size: 84%; font-weight: 500; margin: 0 .25em; -} \ No newline at end of file +} diff --git a/src/components/navdrawer/navdrawer.css b/src/components/navdrawer/navdrawer.css index 7ec6b4e73..b592c6139 100644 --- a/src/components/navdrawer/navdrawer.css +++ b/src/components/navdrawer/navdrawer.css @@ -49,4 +49,4 @@ .tmla-mask.backdrop { opacity: 1; -} \ No newline at end of file +} diff --git a/src/components/playback/iconosd.css b/src/components/playback/iconosd.css index 3f0feeca2..f905767cf 100644 --- a/src/components/playback/iconosd.css +++ b/src/components/playback/iconosd.css @@ -37,4 +37,4 @@ .brightnessOsdProgressInner { background: #ff9800; -} \ No newline at end of file +} diff --git a/src/components/recordingcreator/recordingfields.css b/src/components/recordingcreator/recordingfields.css index baa7845da..f07a22f1a 100644 --- a/src/components/recordingcreator/recordingfields.css +++ b/src/components/recordingcreator/recordingfields.css @@ -9,4 +9,4 @@ .recordSeriesContainer { margin-bottom: .8em; -} \ No newline at end of file +} diff --git a/src/components/subtitleeditor/subtitleeditor.css b/src/components/subtitleeditor/subtitleeditor.css index a97b20b38..08e6faffb 100644 --- a/src/components/subtitleeditor/subtitleeditor.css +++ b/src/components/subtitleeditor/subtitleeditor.css @@ -1,3 +1,3 @@ .originalSubtitleFileLabel { margin-right: 1em; -} \ No newline at end of file +} diff --git a/src/components/subtitlesync/subtitlesync.css b/src/components/subtitlesync/subtitlesync.css index 5b9c9a510..321145be5 100644 --- a/src/components/subtitlesync/subtitlesync.css +++ b/src/components/subtitlesync/subtitlesync.css @@ -45,4 +45,4 @@ flex-grow: 1; border-radius: .3em; z-index: 1; -} \ No newline at end of file +} diff --git a/src/components/userdatabuttons/userdatabuttons.css b/src/components/userdatabuttons/userdatabuttons.css index 9d8ce097c..f93f47ffc 100644 --- a/src/components/userdatabuttons/userdatabuttons.css +++ b/src/components/userdatabuttons/userdatabuttons.css @@ -1,3 +1,3 @@ .btnUserDataOn { color: #c33 !important; -} \ No newline at end of file +} diff --git a/src/components/viewManager/viewContainer.css b/src/components/viewManager/viewContainer.css index 00ef2c449..9c46dd18a 100644 --- a/src/components/viewManager/viewContainer.css +++ b/src/components/viewManager/viewContainer.css @@ -67,4 +67,4 @@ to { transform: translate3d(100%, 0, 0); } -} \ No newline at end of file +} diff --git a/src/components/youtubeplayer/style.css b/src/components/youtubeplayer/style.css index 8c59a541c..87526c47a 100644 --- a/src/components/youtubeplayer/style.css +++ b/src/components/youtubeplayer/style.css @@ -18,4 +18,4 @@ padding: 0 !important; width: 100%; height: 100%; - } \ No newline at end of file + } From ea28429cdfaad6e2babbff1c87f4d8c4a8da1d1f Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:00:37 +0100 Subject: [PATCH 44/68] Fix number-leading-zero (CSS) --- src/assets/css/dashboard.css | 26 +++---- src/assets/css/detailtable.css | 2 +- src/assets/css/librarybrowser.css | 58 +++++++-------- src/assets/css/livetv.css | 2 +- src/assets/css/metadataeditor.css | 6 +- src/assets/css/site.css | 8 +-- src/assets/css/videoosd.css | 20 +++--- src/components/actionsheet/actionsheet.css | 24 +++---- src/components/alphapicker/style.css | 8 +-- src/components/cardbuilder/card.css | 46 ++++++------ src/components/dialogHelper/dialoghelper.css | 6 +- .../directorybrowser/directorybrowser.css | 4 +- src/components/formdialog.css | 8 +-- src/components/guide/guide.css | 40 +++++------ src/components/homesections/homesections.css | 2 +- src/components/htmlvideoplayer/style.css | 2 +- src/components/indicators/indicators.css | 10 +-- src/components/lazyloader/lazyedgehack.css | 4 +- src/components/listview/listview.css | 34 ++++----- src/components/loading/loading.css | 2 +- src/components/mediainfo/mediainfo.css | 18 ++--- src/components/multiselect/multiselect.css | 4 +- src/components/navdrawer/navdrawer.css | 2 +- .../nowplayingbar/nowplayingbar.css | 2 +- src/components/playback/iconosd.css | 14 ++-- src/components/playerstats/playerstats.css | 8 +-- .../recordingcreator/recordingcreator.css | 2 +- .../recordingcreator/recordingfields.css | 2 +- .../remotecontrol/remotecontrol.css | 14 ++-- src/components/search/searchfields.css | 4 +- src/components/slideshow/style.css | 30 ++++---- src/components/subtitlesync/subtitlesync.css | 4 +- src/components/toast/toast.css | 4 +- src/components/upnextdialog/upnextdialog.css | 2 +- src/elements/emby-button/emby-button.css | 8 +-- src/elements/emby-checkbox/emby-checkbox.css | 6 +- src/elements/emby-collapse/emby-collapse.css | 8 +-- src/elements/emby-input/emby-input.css | 4 +- .../emby-progressring/emby-progressring.css | 6 +- src/elements/emby-radio/emby-radio.css | 4 +- src/elements/emby-select/emby-select.css | 18 ++--- src/elements/emby-slider/emby-slider.css | 18 ++--- src/elements/emby-textarea/emby-textarea.css | 6 +- src/elements/emby-toggle/emby-toggle.css | 12 ++-- src/themes/appletv/theme.css | 48 ++++++------- src/themes/blueradiance/theme.css | 58 +++++++-------- src/themes/dark/theme.css | 40 +++++------ src/themes/emby/theme.css | 48 ++++++------- src/themes/light/theme.css | 30 ++++---- src/themes/purplehaze/theme.css | 70 +++++++++---------- src/themes/wmc/theme.css | 44 ++++++------ 51 files changed, 425 insertions(+), 425 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 39ffc4e29..e954a9fb4 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -11,7 +11,7 @@ } .dashboardFooter a { - margin: 0 .7em; + margin: 0 0.7em; } progress { @@ -39,7 +39,7 @@ progress::-webkit-progress-value { } progress[aria-valuenow]:before { - border-radius: .4em; + border-radius: 0.4em; background-color: #00a4dc; } @@ -83,9 +83,9 @@ a[data-role=button] { cursor: pointer !important; font-family: inherit !important; font-weight: 500 !important; - margin: 0 .25em !important; + margin: 0 0.25em !important; display: inline-block; - padding: .8em 1em; + padding: 0.8em 1em; text-align: center; text-decoration: none !important; } @@ -115,7 +115,7 @@ div[data-role=controlgroup] a[data-role=button]:last-child { div[data-role=controlgroup] a[data-role=button]+a[data-role=button] { border-left-width: 0 !important; - margin: 0 0 0 -.4em !important; + margin: 0 0 0 -0.4em !important; } div[data-role=controlgroup] a.ui-btn-active { @@ -136,9 +136,9 @@ div[data-role=controlgroup] a.ui-btn-active { .wizardContent h2 img { height: 2.5em; vertical-align: middle; - margin-right: .5em; + margin-right: 0.5em; position: relative; - top: -.3em; + top: -0.3em; } .header .imageLink { @@ -224,8 +224,8 @@ div[data-role=controlgroup] a.ui-btn-active { } .dashboardSection h3 { - margin-top: .5em; - margin-bottom: .5em; + margin-top: 0.5em; + margin-bottom: 0.5em; } .activeRecordingItems>.card { @@ -261,7 +261,7 @@ div[data-role=controlgroup] a.ui-btn-active { .wizardContent { max-width: 62em; - padding: .5em 2em 1em; + padding: 0.5em 2em 1em; margin: 0 auto; background: #fff; } @@ -286,7 +286,7 @@ div[data-role=controlgroup] a.ui-btn-active { height: 1.71em; width: 1.71em; border-radius: 100%; - margin-right: .5em; + margin-right: 0.5em; background-size: cover; background-repeat: no-repeat; background-position: center; @@ -305,7 +305,7 @@ div[data-role=controlgroup] a.ui-btn-active { } .sessionCardFooter { - padding-top: .5em !important; + padding-top: 0.5em !important; padding-bottom: 1em !important; border-top: 1px solid #eee; text-align: center; @@ -336,7 +336,7 @@ div[data-role=controlgroup] a.ui-btn-active { .sessionNowPlayingContent-withbackground+.sessionNowPlayingInnerContent { color: #fff !important; - background: rgba(0, 0, 0, .7); + background: rgba(0, 0, 0, 0.7); } .sessionAppName { diff --git a/src/assets/css/detailtable.css b/src/assets/css/detailtable.css index 5f6df2a32..4e2e16511 100644 --- a/src/assets/css/detailtable.css +++ b/src/assets/css/detailtable.css @@ -1,7 +1,7 @@ .detailTableBodyCell, .detailTableHeaderCell { border-spacing: 0; - padding: .4em; + padding: 0.4em; } .detailTable { diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 756df82ac..4004835ce 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -109,7 +109,7 @@ display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; - margin: .3em 0 0 .5em; + margin: 0.3em 0 0 0.5em; height: 1.7em; -webkit-box-align: center; -webkit-align-items: center; @@ -162,7 +162,7 @@ } .headerTop { - padding: .54em 0; + padding: 0.54em 0; } .headerLeft { @@ -215,7 +215,7 @@ .sidebarHeader { padding-left: 1.2em; - margin: 1em 0 .5em; + margin: 1em 0 0.5em; } .dashboardDocument .skinBody { @@ -337,7 +337,7 @@ .headerArrowImage { height: 20px; - margin-left: .5em; + margin-left: 0.5em; } .backdropContainer { @@ -360,7 +360,7 @@ } .viewSettings { - margin: 0 0 .25em; + margin: 0 0 0.25em; } .listTopPaging, @@ -369,7 +369,7 @@ } .viewControls+.listTopPaging { - margin-left: .5em !important; + margin-left: 0.5em !important; } .criticReview { @@ -388,7 +388,7 @@ } .criticReview:first-child { - margin-top: .5em; + margin-top: 0.5em; } .criticReview img { @@ -396,7 +396,7 @@ } .criticRatingScore { - margin-bottom: .5em; + margin-bottom: 0.5em; } .itemTag { @@ -413,12 +413,12 @@ } .itemLinks p { - margin: .5em 0; + margin: 0.5em 0; } .reviewLink, .reviewerName { - margin-top: .5em; + margin-top: 0.5em; } .reviewerName { @@ -431,7 +431,7 @@ .reviewScore { position: absolute; - left: .8em; + left: 0.8em; } .itemBackdrop { @@ -452,7 +452,7 @@ .desktopMiscInfoContainer { position: absolute; - bottom: .75em; + bottom: 0.75em; } .detailPagePrimaryContainer { @@ -571,12 +571,12 @@ .parentName { display: block; - margin-bottom: .5em; + margin-bottom: 0.5em; } .emby-button.detailFloatingButton { position: absolute; - background-color: rgba(0, 0, 0, .5) !important; + background-color: rgba(0, 0, 0, 0.5) !important; z-index: 1; top: 50%; left: 50%; @@ -623,7 +623,7 @@ } .itemName { - margin: .5em 0; + margin: 0.5em 0; } .empty { @@ -669,31 +669,31 @@ -webkit-align-items: center; align-items: center; margin: 0 !important; - padding: .5em .7em !important; + padding: 0.5em 0.7em !important; } .detailButton { - margin: 0 .5em 0 0 !important; + margin: 0 0.5em 0 0 !important; } @media all and (min-width: 29em) { .detailButton-mobile { - padding-left: .75em !important; - padding-right: .75em !important; + padding-left: 0.75em !important; + padding-right: 0.75em !important; } } @media all and (min-width: 32em) { .detailButton-mobile { - padding-left: .8em !important; - padding-right: .8em !important; + padding-left: 0.8em !important; + padding-right: 0.8em !important; } } @media all and (min-width: 35em) { .detailButton-mobile { - padding-left: .85em !important; - padding-right: .85em !important; + padding-left: 0.85em !important; + padding-right: 0.85em !important; } } @@ -725,14 +725,14 @@ } .detailButton-mobile-text { - margin-top: .7em; + margin-top: 0.7em; font-size: 80%; font-weight: 400; } @media all and (max-width: 62.5em) { .mainDetailButtons { - margin-left: -.5em; + margin-left: -0.5em; } .detailButton { @@ -830,7 +830,7 @@ } .timelineHeader { - margin-bottom: .25em; + margin-bottom: 0.25em; line-height: 1.25em; line-height: initial; } @@ -867,7 +867,7 @@ } .bulletSeparator { - margin: 0 .35em; + margin: 0 0.35em; } .mediaInfoIcons { @@ -921,7 +921,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { } .sectionTitleButton + .sectionTitleButton { - margin-left: .5em !important; + margin-left: 0.5em !important; } .sectionTitleIconButton { @@ -929,7 +929,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { -webkit-flex-shrink: 0; flex-shrink: 0; font-size: 84% !important; - padding: .5em !important; + padding: 0.5em !important; } .horizontalItemsContainer { diff --git a/src/assets/css/livetv.css b/src/assets/css/livetv.css index 3b6074dfb..695adff8c 100644 --- a/src/assets/css/livetv.css +++ b/src/assets/css/livetv.css @@ -4,6 +4,6 @@ @media all and (min-width: 62.5em) { #guideTab { - padding-left: .5em; + padding-left: 0.5em; } } diff --git a/src/assets/css/metadataeditor.css b/src/assets/css/metadataeditor.css index 36cb6b001..190f53187 100644 --- a/src/assets/css/metadataeditor.css +++ b/src/assets/css/metadataeditor.css @@ -7,7 +7,7 @@ } .libraryTree { - margin-left: .25em; + margin-left: 0.25em; } .offlineEditorNode { @@ -16,7 +16,7 @@ .editorNode img { height: 18px; - margin: 0 .35em; + margin: 0 0.35em; vertical-align: middle; position: relative; top: -2px; @@ -48,7 +48,7 @@ } .metadataSidebarIcon { - margin-right: .4em; + margin-right: 0.4em; } @media all and (min-width: 50em) { diff --git a/src/assets/css/site.css b/src/assets/css/site.css index cbcafd76c..4dc30280d 100644 --- a/src/assets/css/site.css +++ b/src/assets/css/site.css @@ -56,13 +56,13 @@ div[data-role=page] { } .fieldDescription { - padding-left: .15em; + padding-left: 0.15em; font-weight: 400; white-space: normal !important; } .fieldDescription+.fieldDescription { - margin-top: .3em; + margin-top: 0.3em; } .content-primary, @@ -82,8 +82,8 @@ div[data-role=page] { .headerHelpButton { margin-left: 1.25em !important; - padding-bottom: .4em !important; - padding-top: .4em !important; + padding-bottom: 0.4em !important; + padding-top: 0.4em !important; } .mediaInfoContent { diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index 87238a1f9..59318cb6f 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -72,19 +72,19 @@ bottom: 0; left: 0; right: 0; - background: rgba(0, 0, 0, .7); - padding: .25em .5em; + background: rgba(0, 0, 0, 0.7); + padding: 0.25em 0.5em; user-select: none; } .chapterThumbText { - padding: .25em 0; + padding: 0.25em 0; margin: 0; opacity: 1; } .chapterThumbText-dim { - opacity: .6; + opacity: 0.6; } .videoOsdBottom { @@ -146,7 +146,7 @@ } .volumeButtons { - margin: 0 .5em 0 auto; + margin: 0 0.5em 0 auto; display: flex; -webkit-align-items: center; align-items: center; @@ -163,7 +163,7 @@ .osdPoster { width: 10%; position: relative; - margin-right: .5em; + margin-right: 0.5em; } .osdPoster img { @@ -172,7 +172,7 @@ width: 100%; -webkit-box-shadow: 0 0 1.9vh #000; box-shadow: 0 0 1.9vh #000; - border: .08em solid #222; + border: 0.08em solid #222; user-drag: none; user-select: none; -moz-user-select: none; @@ -193,7 +193,7 @@ } .osdSecondaryMediaInfo { - padding-left: .6em !important; + padding-left: 0.6em !important; } .osdTextContainer { @@ -207,8 +207,8 @@ -moz-user-select: none; -ms-user-select: none; user-select: none; - margin-bottom: .7em; - padding-left: .5em; + margin-bottom: 0.7em; + padding-left: 0.5em; } .osdMainTextContainer { diff --git a/src/components/actionsheet/actionsheet.css b/src/components/actionsheet/actionsheet.css index 8e5084038..87d6e9466 100644 --- a/src/components/actionsheet/actionsheet.css +++ b/src/components/actionsheet/actionsheet.css @@ -4,7 +4,7 @@ padding: 0; border: none; max-height: 84%; - border-radius: .1em !important; + border-radius: 0.1em !important; } .actionsheet-not-fullscreen { @@ -24,7 +24,7 @@ .actionSheetContent { margin: 0 !important; - padding: .4em 0 !important; + padding: 0.4em 0 !important; flex-direction: column; display: flex; justify-content: center; @@ -45,7 +45,7 @@ } .actionsheetListItemBody { - padding: .4em 1em .4em .6em !important; + padding: 0.4em 1em 0.4em 0.6em !important; } .actionSheetItemText { @@ -59,13 +59,13 @@ } .actionSheetItemAsideText { - opacity: .7; + opacity: 0.7; font-size: 90%; display: flex; justify-content: flex-end; flex-shrink: 0; margin-left: 5em; - margin-right: .5em; + margin-right: 0.5em; } .actionSheetScroller { @@ -83,14 +83,14 @@ } .actionsheetDivider { - height: .07em; - margin: .25em 0; + height: 0.07em; + margin: 0.25em 0; flex-shrink: 0; } .actionSheetTitle { - margin: .6em 0 .7em !important; - padding: 0 .9em; + margin: 0.6em 0 0.7em !important; + padding: 0 0.9em; flex-grow: 0; } @@ -100,7 +100,7 @@ } .actionsheetMenuItemIcon { - margin: 0 .85em 0 .45em !important; + margin: 0 0.85em 0 0.45em !important; padding: 0 !important; } @@ -110,6 +110,6 @@ .btnCloseActionSheet { position: fixed; - top: .75em; - left: .5em; + top: 0.75em; + left: 0.5em; } diff --git a/src/components/alphapicker/style.css b/src/components/alphapicker/style.css index 29543421e..78f74404f 100644 --- a/src/components/alphapicker/style.css +++ b/src/components/alphapicker/style.css @@ -35,9 +35,9 @@ font-size: inherit; min-width: initial; margin: 0; - padding: .1em .4em; + padding: 0.1em 0.4em; width: auto; - border-radius: .1em; + border-radius: 0.1em; font-weight: normal; flex-shrink: 0; flex-grow: 1; @@ -113,11 +113,11 @@ } .alphaPicker-fixed-left { - left: .4em; + left: 0.4em; } .alphaPicker-fixed-right { - right: .4em; + right: 0.4em; } @media all and (min-width: 62.5em) { diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index 374556195..dd8a73248 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -93,12 +93,12 @@ button::-moz-focus-inner { } .card.show-focus:not(.show-animation) .cardBox { - margin: .4em; + margin: 0.4em; } .card.show-focus:not(.show-animation) .cardBox.visualCardBox, .card.show-focus:not(.show-animation) .cardBox:not(.visualCardBox) .cardScalable { - border: .5em solid transparent; + border: 0.5em solid transparent; } .card.show-animation:focus > .cardBox { @@ -123,7 +123,7 @@ button::-moz-focus-inner { .btnCardOptions { position: absolute; - bottom: .25em; + bottom: 0.25em; right: 0; margin: 0 !important; z-index: 1; @@ -134,8 +134,8 @@ button::-moz-focus-inner { position: absolute; align-items: center; justify-content: center; - top: .3em; - left: .3em; + top: 0.3em; + left: 0.3em; text-align: center; vertical-align: middle; width: 1.6em; @@ -253,17 +253,17 @@ button::-moz-focus-inner { } .cardFooter { - padding: .3em .3em .5em .3em; + padding: 0.3em 0.3em 0.5em 0.3em; position: relative; } .visualCardBox { box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); - border-radius: .145em; + border-radius: 0.145em; } .innerCardFooter { - background: rgba(0, 0, 0, .7); + background: rgba(0, 0, 0, 0.7); position: absolute; bottom: 0; left: 0; @@ -283,7 +283,7 @@ button::-moz-focus-inner { } .cardText { - padding: .06em .5em; + padding: 0.06em 0.5em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @@ -295,7 +295,7 @@ button::-moz-focus-inner { } .cardText-first { - padding-top: .24em; + padding-top: 0.24em; } .textActionButton { @@ -322,7 +322,7 @@ button::-moz-focus-inner { } .innerCardFooter > .cardText { - padding: .3em .5em; + padding: 0.3em 0.5em; } .cardFooter-withlogo { @@ -361,12 +361,12 @@ button::-moz-focus-inner { .cardImageIcon-small { font-size: 3em; - margin-bottom: .1em; + margin-bottom: 0.1em; } .cardIndicators { - right: .225em; - top: .225em; + right: 0.225em; + top: 0.225em; position: absolute; display: flex; align-items: center; @@ -383,16 +383,16 @@ button::-moz-focus-inner { } .programAttributeIndicator { - padding: .18em .5em; + padding: 0.18em 0.5em; color: #fff; font-weight: 500; } .cardOverlayButton { - color: rgba(255, 255, 255, .76); + color: rgba(255, 255, 255, 0.76); margin: 0; z-index: 1; - padding: .75em; + padding: 0.75em; font-size: 88%; } @@ -403,7 +403,7 @@ button::-moz-focus-inner { } .cardOverlayButtonIcon { - background-color: rgba(0, 0, 0, .7) !important; + background-color: rgba(0, 0, 0, 0.7) !important; border-radius: 100em; width: 1.5em !important; height: 1.5em !important; @@ -425,10 +425,10 @@ button::-moz-focus-inner { height: 2.6em; top: 50%; left: 50%; - background-color: rgba(0, 0, 0, .5) !important; - border: .06em solid rgba(255, 255, 255, .6); - padding: .38em !important; - color: rgba(255, 255, 255, .76); + background-color: rgba(0, 0, 0, 0.5) !important; + border: 0.06em solid rgba(255, 255, 255, 0.6); + padding: 0.38em !important; + color: rgba(255, 255, 255, 0.76); transition: transform 200ms ease-out; } @@ -731,7 +731,7 @@ button::-moz-focus-inner { .cardOverlayContainer { background: rgba(0, 0, 0, 0.5); opacity: 0; - transition: opacity .2s; + transition: opacity 0.2s; position: absolute; top: 0; left: 0; diff --git a/src/components/dialogHelper/dialoghelper.css b/src/components/dialogHelper/dialoghelper.css index 2cc20b5ff..875ebfab2 100644 --- a/src/components/dialogHelper/dialoghelper.css +++ b/src/components/dialogHelper/dialoghelper.css @@ -51,13 +51,13 @@ to { opacity: 0; - transform: scale(.5); + transform: scale(0.5); } } @keyframes scaleup { from { - transform: scale(.5); + transform: scale(0.5); opacity: 0; } @@ -169,5 +169,5 @@ } .dialogBackdropOpened { - opacity: .5; + opacity: 0.5; } diff --git a/src/components/directorybrowser/directorybrowser.css b/src/components/directorybrowser/directorybrowser.css index 97a5945f5..ef6d58934 100644 --- a/src/components/directorybrowser/directorybrowser.css +++ b/src/components/directorybrowser/directorybrowser.css @@ -1,6 +1,6 @@ #ulDirectoryPickerList a { - padding-top: .4em; - padding-bottom: .4em; + padding-top: 0.4em; + padding-bottom: 0.4em; } .lblDirectoryPickerPath { diff --git a/src/components/formdialog.css b/src/components/formdialog.css index b976d8130..5eb1ba6ea 100644 --- a/src/components/formdialog.css +++ b/src/components/formdialog.css @@ -5,7 +5,7 @@ } .formDialogHeader { - padding: 1em .5em; + padding: 1em 0.5em; display: flex; align-items: center; flex-shrink: 0; @@ -23,7 +23,7 @@ } .dialogContentInner { - padding: .5em 1em 20em 1em; + padding: 0.5em 1em 20em 1em; } .dialogContentInner-mini { @@ -62,11 +62,11 @@ padding-bottom: 1.5em; flex-direction: column; width: 80% !important; - padding-top: .5em; + padding-top: 0.5em; } .formDialogFooterItem { - margin: .5em !important; + margin: 0.5em !important; flex-grow: 1; text-align: center; flex-basis: 0; diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 8e14cb72a..524b3c7e2 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -14,12 +14,12 @@ } .layout-desktop .tvGuideHeader { - margin-bottom: .5em; + margin-bottom: 0.5em; } .guideHeaderDateSelection { font-size: 86%; - padding: .4em 0; + padding: 0.4em 0; } .guide-headerTimeslots { @@ -39,10 +39,10 @@ .guideProgramIndicator { text-transform: uppercase; - border-radius: .25em; - margin-right: .5em; + border-radius: 0.25em; + margin-right: 0.5em; font-size: 82%; - padding: .2em .25em; + padding: 0.2em 0.25em; display: inline-flex; align-items: center; justify-content: center; @@ -87,7 +87,7 @@ } .guideSpacer { - width: .3em; + width: 0.3em; flex-shrink: 0; } @@ -119,7 +119,7 @@ .timeslotHeader { display: inline-flex; align-items: center; - text-indent: .25em; + text-indent: 0.25em; width: 2.0833333333333333333333333333333%; } @@ -145,7 +145,7 @@ text-align: left; contain: strict; flex-shrink: 0; - border-radius: .12em; + border-radius: 0.12em; color: inherit; } @@ -255,7 +255,7 @@ } .guideProgramName { - padding: 0 .7em 0; + padding: 0 0.7em 0; overflow: hidden; text-overflow: ellipsis; align-items: center; @@ -283,11 +283,11 @@ .guideProgramSecondaryInfo { display: flex; align-items: center; - margin-top: .1em; + margin-top: 0.1em; } .programIcon { - margin-left: .5em; + margin-left: 0.5em; height: 1em; width: 1em; font-size: 1.6em; @@ -298,16 +298,16 @@ .guide-programTextIcon { font-weight: bold; - font-size: .9em; - padding: .16em .3em; - border-radius: .25em; - margin-right: .35em; + font-size: 0.9em; + padding: 0.16em 0.3em; + border-radius: 0.25em; + margin-right: 0.35em; width: auto; height: auto; } .guide-programTextIcon-tv { - font-size: .74em; + font-size: 0.74em; } .guideChannelNumber { @@ -372,7 +372,7 @@ .seriesTimerIcon-inactive { color: inherit !important; - opacity: .7; + opacity: 0.7; } .guideOptions { @@ -405,8 +405,8 @@ } .guide-date-tab-button { - padding: .3em .7em !important; - margin: 0 .3em !important; + padding: 0.3em 0.7em !important; + margin: 0 0.3em !important; font-weight: normal; } @@ -415,6 +415,6 @@ } .guide-date-tab-button.show-focus:focus { - border-radius: .15em !important; + border-radius: 0.15em !important; transform: none !important; } diff --git a/src/components/homesections/homesections.css b/src/components/homesections/homesections.css index 8751308eb..58eabb091 100644 --- a/src/components/homesections/homesections.css +++ b/src/components/homesections/homesections.css @@ -1,6 +1,6 @@ .homeLibraryButton { min-width: 18%; - margin: .5em !important; + margin: 0.5em !important; } @media all and (max-width: 50em) { diff --git a/src/components/htmlvideoplayer/style.css b/src/components/htmlvideoplayer/style.css index 32c090eea..5ecf4af66 100644 --- a/src/components/htmlvideoplayer/style.css +++ b/src/components/htmlvideoplayer/style.css @@ -72,7 +72,7 @@ video::-webkit-media-controls { @keyframes htmlvideoplayer-zoomin { from { transform: scale3d(0.2, 0.2, 0.2); - opacity: .6; + opacity: 0.6; } to { diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index 3bbd7edf9..28132aab7 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -1,8 +1,8 @@ .itemProgressBar { background: #333; - background: rgba(51, 51, 51, .8); + background: rgba(51, 51, 51, 0.8); position: relative; - height: .28em; + height: 0.28em; } .itemProgressBarForeground { @@ -32,7 +32,7 @@ } .indicator + .indicator { - margin-left: .25em; + margin-left: 0.25em; } .indicatorIcon { @@ -87,10 +87,10 @@ .missingIndicator, .unairedIndicator { background: #c33; - padding: .25em .5em; + padding: 0.25em 0.5em; border-radius: 100em; color: #fff; font-size: 84%; font-weight: 500; - margin: 0 .25em; + margin: 0 0.25em; } diff --git a/src/components/lazyloader/lazyedgehack.css b/src/components/lazyloader/lazyedgehack.css index e0fea48c4..e358872f1 100644 --- a/src/components/lazyloader/lazyedgehack.css +++ b/src/components/lazyloader/lazyedgehack.css @@ -1,5 +1,5 @@ .lazy { /* In edge, intersection observer will not fire on 0px sized elements */ - min-width: .1em; - min-height: .1em; + min-width: 0.1em; + min-height: 0.1em; } diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css index 347d983f9..69420d011 100644 --- a/src/components/listview/listview.css +++ b/src/components/listview/listview.css @@ -10,7 +10,7 @@ display: block; align-items: center; text-align: left; - padding: .25em .25em .25em .5em; + padding: 0.25em 0.25em 0.25em 0.5em; cursor: pointer; overflow: hidden; } @@ -71,13 +71,13 @@ } .listViewDragHandle { - margin-left: -.25em !important; + margin-left: -0.25em !important; touch-action: none; } .listItemBody { flex-grow: 1; - padding: .85em .75em; + padding: 0.85em 0.75em; overflow: hidden; text-overflow: ellipsis; flex-direction: column; @@ -91,7 +91,7 @@ } .layout-tv .listItemBody { - padding: .35em .75em; + padding: 0.35em 0.75em; } .listItemBody-noleftpadding { @@ -100,7 +100,7 @@ .listItemBodyText { margin: 0; - padding: .1em 0; + padding: 0.1em 0; overflow: hidden; text-overflow: ellipsis; } @@ -126,7 +126,7 @@ width: 19.5vw; height: 13vw; background-position: center center; - margin-right: .75em; + margin-right: 0.75em; } .listItemImageButton { @@ -166,13 +166,13 @@ } .listItemBody { - padding-left: .75em; + padding-left: 0.75em; } } @media all and (max-width: 50em) { .listItemBody { - padding-right: .5em; + padding-right: 0.5em; } } @@ -185,15 +185,15 @@ width: 1em !important; height: 1em !important; font-size: 143%; - padding: 0 .25em 0 0; + padding: 0 0.25em 0 0; } .listItemIcon:not(.listItemIcon-transparent) { background-color: #00a4dc; color: #fff; - padding: .5em; + padding: 0.5em; border-radius: 100em; - margin: 0 .2em 0 .4em; + margin: 0 0.2em 0 0.4em; } .listItemProgressBar { @@ -204,7 +204,7 @@ } .listItem:focus { - border-radius: .2em; + border-radius: 0.2em; } .listItem:focus .secondary { @@ -212,7 +212,7 @@ } .listItem-focusscale { - transition: transform .2s ease-out; + transition: transform 0.2s ease-out; } .listItem-focusscale:focus { @@ -220,7 +220,7 @@ } .paperList { - margin: .5em auto; + margin: 0.5em auto; } .paperList-clear { @@ -239,8 +239,8 @@ } .listItemIndicators { - right: .324em; - top: .324em; + right: 0.324em; + top: 0.324em; position: absolute; display: flex; align-items: center; @@ -249,7 +249,7 @@ .listItem-bottomoverview { font-size: 88%; margin-bottom: 1em; - margin-top: .2em; + margin-top: 0.2em; } @media all and (max-width: 50em) { diff --git a/src/components/loading/loading.css b/src/components/loading/loading.css index 4025bbd0c..d612f64e7 100644 --- a/src/components/loading/loading.css +++ b/src/components/loading/loading.css @@ -348,7 +348,7 @@ .mdl-spinner__circle { box-sizing: border-box; height: 100%; - border-width: .21em; + border-width: 0.21em; border-style: solid; border-color: inherit; border-bottom-color: transparent !important; diff --git a/src/components/mediainfo/mediainfo.css b/src/components/mediainfo/mediainfo.css index 2203ba667..b957c3a5b 100644 --- a/src/components/mediainfo/mediainfo.css +++ b/src/components/mediainfo/mediainfo.css @@ -4,13 +4,13 @@ } .mediaInfoText { - padding: .22em .5em; - border-radius: .25em; + padding: 0.22em 0.5em; + border-radius: 0.25em; font-size: 92%; display: flex; align-items: center; white-space: nowrap; - margin: 0 .5em 0 0; + margin: 0 0.5em 0 0; } .mediaInfoText-upper { @@ -21,7 +21,7 @@ width: auto; height: auto; font-size: 1.6em; - margin-right: .6em; + margin-right: 0.6em; } .mediaInfoItem:last-child { @@ -63,8 +63,8 @@ .mediaInfoProgramAttribute { text-transform: uppercase; - padding: .16em .6em; - border-radius: .15em; + padding: 0.16em 0.6em; + border-radius: 0.15em; font-size: 80%; } @@ -73,13 +73,13 @@ } .mediaInfoOfficialRating { - border: .09em solid currentColor; - padding: 0 .6em; + border: 0.09em solid currentColor; + padding: 0 0.6em; height: 1.3em; line-height: 1.8em; display: flex; align-items: center; justify-content: center; - border-radius: .1em; + border-radius: 0.1em; font-size: 96%; } diff --git a/src/components/multiselect/multiselect.css b/src/components/multiselect/multiselect.css index 9c2a58cd2..e9c66c57a 100644 --- a/src/components/multiselect/multiselect.css +++ b/src/components/multiselect/multiselect.css @@ -4,7 +4,7 @@ left: 0; right: 0; top: 0; - background-color: rgba(0, 0, 0, .3); + background-color: rgba(0, 0, 0, 0.3); z-index: 99998; } @@ -13,7 +13,7 @@ top: 0; left: 0; right: 0; - padding: 1em .5em; + padding: 1em 0.5em; display: flex; align-items: center; z-index: 99999; diff --git a/src/components/navdrawer/navdrawer.css b/src/components/navdrawer/navdrawer.css index b592c6139..b19731d77 100644 --- a/src/components/navdrawer/navdrawer.css +++ b/src/components/navdrawer/navdrawer.css @@ -44,7 +44,7 @@ -o-transition: opacity ease-in-out .38s, visibility ease-in-out .38s; transition: opacity ease-in-out .38s, visibility ease-in-out .38s; will-change: opacity; - background-color: rgba(0, 0, 0, .3); + background-color: rgba(0, 0, 0, 0.3); } .tmla-mask.backdrop { diff --git a/src/components/nowplayingbar/nowplayingbar.css b/src/components/nowplayingbar/nowplayingbar.css index 965de35c6..0339452da 100644 --- a/src/components/nowplayingbar/nowplayingbar.css +++ b/src/components/nowplayingbar/nowplayingbar.css @@ -74,7 +74,7 @@ .nowPlayingBarPositionContainer { position: absolute !important; left: 0; - top: -.56em; + top: -0.56em; right: 0; z-index: 1; } diff --git a/src/components/playback/iconosd.css b/src/components/playback/iconosd.css index f905767cf..8f197a179 100644 --- a/src/components/playback/iconosd.css +++ b/src/components/playback/iconosd.css @@ -4,11 +4,11 @@ right: 3%; z-index: 100000; background: #222; - background: rgba(0, 0, 0, .8); + background: rgba(0, 0, 0, 0.8); padding: 1em; color: #fff; backdrop-filter: blur(5px); - border-radius: .25em; + border-radius: 0.25em; transition: opacity 200ms ease-out; } @@ -19,20 +19,20 @@ .iconOsdIcon { font-size: 320%; display: block; - margin: .25em .7em; + margin: 0.25em 0.7em; } .iconOsdProgressOuter { - margin: 1.5em .25em 1em; - height: .35em; + margin: 1.5em 0.25em 1em; + height: 0.35em; background: #222; - border-radius: .25em; + border-radius: 0.25em; } .iconOsdProgressInner { background: #00a4dc; height: 100%; - border-radius: .25em; + border-radius: 0.25em; } .brightnessOsdProgressInner { diff --git a/src/components/playerstats/playerstats.css b/src/components/playerstats/playerstats.css index 5ae6f154b..dfdf75a2e 100644 --- a/src/components/playerstats/playerstats.css +++ b/src/components/playerstats/playerstats.css @@ -1,6 +1,6 @@ .playerStats { background: rgba(28, 28, 28, 0.8); - border-radius: .3em; + border-radius: 0.3em; color: #fff; left: 1.5em; position: absolute; @@ -22,8 +22,8 @@ .playerStats-closeButton { position: absolute; - top: .25em; - right: .25em; + top: 0.25em; + right: 0.25em; color: #ccc; z-index: 1; } @@ -43,7 +43,7 @@ .playerStats-stat-label { font-weight: 500; - margin: 0 .5em 0 0; + margin: 0 0.5em 0 0; } .playerStats-stat-header { diff --git a/src/components/recordingcreator/recordingcreator.css b/src/components/recordingcreator/recordingcreator.css index dc1ba9b31..031d04b86 100644 --- a/src/components/recordingcreator/recordingcreator.css +++ b/src/components/recordingcreator/recordingcreator.css @@ -9,7 +9,7 @@ } .recordingDialog-itemName { - margin-top: .7em; + margin-top: 0.7em; } .recordingDetailsContainer { diff --git a/src/components/recordingcreator/recordingfields.css b/src/components/recordingcreator/recordingfields.css index f07a22f1a..db0c7e069 100644 --- a/src/components/recordingcreator/recordingfields.css +++ b/src/components/recordingcreator/recordingfields.css @@ -8,5 +8,5 @@ } .recordSeriesContainer { - margin-bottom: .8em; + margin-bottom: 0.8em; } diff --git a/src/components/remotecontrol/remotecontrol.css b/src/components/remotecontrol/remotecontrol.css index fb6e6f915..3ecb55d16 100644 --- a/src/components/remotecontrol/remotecontrol.css +++ b/src/components/remotecontrol/remotecontrol.css @@ -33,11 +33,11 @@ } .nowPlayingPageTitle { - margin: 0 0 .5em .5em; + margin: 0 0 0.5em 0.5em; } .nowPlayingPositionSliderContainer { - margin: .7em 0 .7em 1em; + margin: 0.7em 0 0.7em 1em; } .nowPlayingInfoButtons { @@ -60,7 +60,7 @@ .nowPlayingPageImageContainer { width: 20%; - margin-right: .25em; + margin-right: 0.25em; position: relative; -webkit-flex-shrink: 0; flex-shrink: 0; @@ -93,7 +93,7 @@ width: 100%; -webkit-box-shadow: 0 0 1.9vh #000; box-shadow: 0 0 1.9vh #000; - border: .1em solid #222; + border: 0.1em solid #222; user-drag: none; user-select: none; -moz-user-select: none; @@ -115,11 +115,11 @@ .nowPlayingPageTitle { text-align: center; - margin: .5em 0 .75em; + margin: 0.5em 0 0.75em; } .nowPlayingPositionSliderContainer { - margin: .7em 1em; + margin: 0.7em 1em; } .nowPlayingInfoButtons { @@ -185,7 +185,7 @@ @media all and (min-width: 80em) { .nowPlayingPageImageContainer { - margin-right: .75em; + margin-right: 0.75em; } } diff --git a/src/components/search/searchfields.css b/src/components/search/searchfields.css index 01981ed99..08d8515c8 100644 --- a/src/components/search/searchfields.css +++ b/src/components/search/searchfields.css @@ -4,8 +4,8 @@ } .searchfields-icon { - margin-bottom: .1em; - margin-right: .25em; + margin-bottom: 0.1em; + margin-right: 0.25em; font-size: 2em; align-self: flex-end; } diff --git a/src/components/slideshow/style.css b/src/components/slideshow/style.css index 5d0bd4004..046aff2bd 100644 --- a/src/components/slideshow/style.css +++ b/src/components/slideshow/style.css @@ -27,8 +27,8 @@ .slideshowImageText { position: fixed; - bottom: .25em; - right: .5em; + bottom: 0.25em; + right: 0.5em; color: #fff; z-index: 1002; font-weight: normal; @@ -52,26 +52,26 @@ .slideshowButtonIcon { color: #fff; - opacity: .7; + opacity: 0.7; } .btnSlideshowPrevious { - left: .5vh; + left: 0.5vh; top: 45vh; z-index: 1002; position: absolute; } .btnSlideshowNext { - right: .5vh; + right: 0.5vh; top: 45vh; z-index: 1002; position: absolute; } .topActionButtons { - right: .5vh; - top: .5vh; + right: 0.5vh; + top: 0.5vh; z-index: 1002; position: absolute; } @@ -81,9 +81,9 @@ left: 0; bottom: 0; right: 0; - background-color: rgba(0, 0, 0, .7); + background-color: rgba(0, 0, 0, 0.7); color: #fff; - padding: .5%; + padding: 0.5%; display: flex; flex-direction: row; align-items: center; @@ -95,9 +95,9 @@ left: 0; top: 0; right: 0; - background-color: rgba(0, 0, 0, .7); + background-color: rgba(0, 0, 0, 0.7); color: #fff; - padding: .5%; + padding: 0.5%; display: flex; flex-direction: row; align-items: center; @@ -121,14 +121,14 @@ .slideTextInner { margin: 0 auto; max-width: 60%; - background: rgba(0, 0, 0, .8); + background: rgba(0, 0, 0, 0.8); display: inline-block; - padding: .5em 1em; - border-radius: .25em; + padding: 0.5em 1em; + border-radius: 0.25em; } .slideTitle { - margin: 0 0 .25em; + margin: 0 0 0.25em; } .slideSubtitle { diff --git a/src/components/subtitlesync/subtitlesync.css b/src/components/subtitlesync/subtitlesync.css index 321145be5..2ff8a3e90 100644 --- a/src/components/subtitlesync/subtitlesync.css +++ b/src/components/subtitlesync/subtitlesync.css @@ -4,7 +4,7 @@ margin-right: 30%; height: 4.2em; background: rgba(28, 28, 28, 0.8); - border-radius: .3em; + border-radius: 0.3em; color: #fff; position: absolute; } @@ -43,6 +43,6 @@ -webkit-box-flex: 1; -webkit-flex-grow: 1; flex-grow: 1; - border-radius: .3em; + border-radius: 0.3em; z-index: 1; } diff --git a/src/components/toast/toast.css b/src/components/toast/toast.css index 09d89abca..28d6cb52f 100644 --- a/src/components/toast/toast.css +++ b/src/components/toast/toast.css @@ -3,9 +3,9 @@ min-width: 20em; box-sizing: border-box; box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); - border-radius: .15em; + border-radius: 0.15em; cursor: default; - transition: transform .3s ease-out; + transition: transform 0.3s ease-out; min-height: initial; padding: 1em 1.5em; bottom: 1em; diff --git a/src/components/upnextdialog/upnextdialog.css b/src/components/upnextdialog/upnextdialog.css index 336a90d58..7c9c13207 100644 --- a/src/components/upnextdialog/upnextdialog.css +++ b/src/components/upnextdialog/upnextdialog.css @@ -28,7 +28,7 @@ position: relative; margin-right: 1em; flex-shrink: 0; - margin-bottom: .5em; + margin-bottom: 0.5em; } .upNextDialog-button { diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index e58501c8b..eedf61668 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -45,7 +45,7 @@ } .button-flat:hover { - opacity: .5; + opacity: 0.5; } .button-link { @@ -82,7 +82,7 @@ display: block; align-items: center; justify-content: center; - margin: .25em 0; + margin: 0.25em 0; width: 100%; } @@ -91,7 +91,7 @@ display: inline-flex; align-items: center; box-sizing: border-box; - margin: 0 .29em; + margin: 0 0.29em; background: transparent; text-align: center; font-size: inherit; @@ -107,7 +107,7 @@ min-height: initial; width: auto; height: auto; - padding: .556em; + padding: 0.556em; vertical-align: middle; border: 0; /* These are getting an outline in opera tv browsers, which run chrome 30 */ diff --git a/src/elements/emby-checkbox/emby-checkbox.css b/src/elements/emby-checkbox/emby-checkbox.css index 254f092ac..b7637c6df 100644 --- a/src/elements/emby-checkbox/emby-checkbox.css +++ b/src/elements/emby-checkbox/emby-checkbox.css @@ -55,7 +55,7 @@ margin: 0; overflow: hidden; border: 2px solid currentcolor; - border-radius: .14em; + border-radius: 0.14em; z-index: 2; display: flex; align-items: center; @@ -102,7 +102,7 @@ .checkboxList-verticalwrap > .emby-checkbox-label { display: inline-flex; - margin: .3em 0 .3em 0; + margin: 0.3em 0 0.3em 0; width: 12em; } @@ -111,7 +111,7 @@ } .checkboxListLabel { - margin-bottom: .25em; + margin-bottom: 0.25em; } @keyframes repaintChrome { diff --git a/src/elements/emby-collapse/emby-collapse.css b/src/elements/emby-collapse/emby-collapse.css index 50674313a..dd22c20b5 100644 --- a/src/elements/emby-collapse/emby-collapse.css +++ b/src/elements/emby-collapse/emby-collapse.css @@ -1,5 +1,5 @@ .emby-collapse { - margin: .5em 0; + margin: 0.5em 0; } .collapseContent { @@ -18,9 +18,9 @@ text-transform: none; width: 100%; text-align: left; - border-width: 0 0 .1em 0; + border-width: 0 0 0.1em 0; border-style: solid; - padding-left: .1em; + padding-left: 0.1em; background: transparent; box-shadow: none; } @@ -29,7 +29,7 @@ transform-origin: 50% 50%; transition: transform 180ms ease-out; position: absolute; - right: .5em; + right: 0.5em; font-size: 1.5em; } diff --git a/src/elements/emby-input/emby-input.css b/src/elements/emby-input/emby-input.css index d888eb570..273638e59 100644 --- a/src/elements/emby-input/emby-input.css +++ b/src/elements/emby-input/emby-input.css @@ -27,11 +27,11 @@ .inputLabel { display: inline-block; - margin-bottom: .25em; + margin-bottom: 0.25em; } .emby-input + .fieldDescription { - margin-top: .25em; + margin-top: 0.25em; } .emby-input-iconbutton { diff --git a/src/elements/emby-progressring/emby-progressring.css b/src/elements/emby-progressring/emby-progressring.css index 7bef7c35f..014db3aed 100644 --- a/src/elements/emby-progressring/emby-progressring.css +++ b/src/elements/emby-progressring/emby-progressring.css @@ -11,9 +11,9 @@ width: 100%; height: 100%; border-radius: 50%; - border: .25em solid rgba(0, 0, 0, 1); + border: 0.25em solid rgba(0, 0, 0, 1); box-sizing: border-box; - background: rgba(0, 0, 0, .9); + background: rgba(0, 0, 0, 0.9); display: flex; align-items: center; justify-content: center; @@ -51,7 +51,7 @@ width: 200%; height: 200%; border-radius: 50%; - border-width: .25em; + border-width: 0.25em; border-style: solid; box-sizing: border-box; } diff --git a/src/elements/emby-radio/emby-radio.css b/src/elements/emby-radio/emby-radio.css index a41acee5e..bda1083d3 100644 --- a/src/elements/emby-radio/emby-radio.css +++ b/src/elements/emby-radio/emby-radio.css @@ -10,8 +10,8 @@ .radio-label-block { display: flex; align-items: center; - margin-top: .5em; - margin-bottom: .5em; + margin-top: 0.5em; + margin-bottom: 0.5em; } .mdl-radio__button { diff --git a/src/elements/emby-select/emby-select.css b/src/elements/emby-select/emby-select.css index 391f131a6..b99f9879b 100644 --- a/src/elements/emby-select/emby-select.css +++ b/src/elements/emby-select/emby-select.css @@ -30,7 +30,7 @@ } .selectContainer-inline > .emby-select { - padding: .3em 1.9em .3em .5em; + padding: 0.3em 1.9em 0.3em 0.5em; font-size: inherit; } @@ -51,7 +51,7 @@ } .emby-select + .fieldDescription { - margin-top: .25em; + margin-top: 0.25em; } .selectContainer { @@ -67,32 +67,32 @@ .selectLabel { display: block; - margin-bottom: .25em; + margin-bottom: 0.25em; } .selectContainer-inline > .selectLabel { margin-bottom: 0; - margin-right: .5em; + margin-right: 0.5em; flex-shrink: 0; } .emby-select-withcolor { -webkit-appearance: none; appearance: none; - border-radius: .2em; + border-radius: 0.2em; } .selectArrowContainer { position: absolute; - right: .3em; - top: .2em; + right: 0.3em; + top: 0.2em; color: inherit; pointer-events: none; } .selectContainer-inline > .selectArrowContainer { top: initial; - bottom: .24em; + bottom: 0.24em; font-size: 90%; } @@ -101,7 +101,7 @@ } .selectArrow { - margin-top: .35em; + margin-top: 0.35em; font-size: 1.7em; } diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index 1b94a44a9..111fd2343 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -56,7 +56,7 @@ .mdl-slider::-ms-track { background: none; color: transparent; - height: .2em; + height: 0.2em; width: 100%; border: none; } @@ -116,13 +116,13 @@ border-radius: 50%; background: #00a4dc; border: none; - transform: scale(.9, .9); + transform: scale(0.9, 0.9); transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); } .mdl-slider-hoverthumb::-ms-thumb { - margin-left: -.4em; - transform: scale(.5, .5); + margin-left: -0.4em; + transform: scale(0.5, 0.5); } .mdl-slider:hover::-ms-thumb { @@ -160,15 +160,15 @@ .mdl-slider-background-flex-container { width: 100%; box-sizing: border-box; - margin-top: -.05em; + margin-top: -0.05em; top: 50%; position: absolute; } .mdl-slider-background-flex { background: #333; - height: .2em; - margin-top: -.08em; + height: 0.2em; + margin-top: -0.08em; width: 100%; top: 50%; left: 0; @@ -207,7 +207,7 @@ .mdl-slider-background-upper { /* transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1), width 0.18s cubic-bezier(0.4, 0, 0.2, 1); */ background: #666; - background: rgba(255, 255, 255, .4); + background: rgba(255, 255, 255, 0.4); position: absolute; left: 0; width: 0; @@ -229,5 +229,5 @@ .sliderBubbleText { margin: 0; - padding: .5em .75em; + padding: 0.5em 0.75em; } diff --git a/src/elements/emby-textarea/emby-textarea.css b/src/elements/emby-textarea/emby-textarea.css index 6ac826223..54ca33f6b 100644 --- a/src/elements/emby-textarea/emby-textarea.css +++ b/src/elements/emby-textarea/emby-textarea.css @@ -23,10 +23,10 @@ .textareaLabel { display: inline-block; - transition: all .2s ease-out; - margin-bottom: .25em; + transition: all 0.2s ease-out; + margin-bottom: 0.25em; } .emby-textarea + .fieldDescription { - margin-top: .25em; + margin-top: 0.25em; } diff --git a/src/elements/emby-toggle/emby-toggle.css b/src/elements/emby-toggle/emby-toggle.css index c893736c2..3b5c5a5f6 100644 --- a/src/elements/emby-toggle/emby-toggle.css +++ b/src/elements/emby-toggle/emby-toggle.css @@ -60,7 +60,7 @@ background: #999; position: absolute; left: 0; - top: -.25em; + top: -0.25em; height: 1.44em; width: 1.44em; border-radius: 50%; @@ -77,7 +77,7 @@ .mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__thumb { background: #00a4dc; left: 1.466em; - box-shadow: 0 3px 0.28em 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px .56em 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 0.28em 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 0.56em 0 rgba(0, 0, 0, 0.12); } .mdl-switch__input[disabled] + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__thumb { @@ -93,14 +93,14 @@ transform: translate(-50%, -50%); display: inline-block; box-sizing: border-box; - width: .6em; - height: .6em; + width: 0.6em; + height: 0.6em; border-radius: 50%; background-color: transparent; } .mdl-switch__input:focus + .mdl-switch__label + .mdl-switch__trackContainer .mdl-switch__focus-helper { - box-shadow: 0 0 0 1.39em rgba(0, 0, 0, .05); + box-shadow: 0 0 0 1.39em rgba(0, 0, 0, 0.05); } .mdl-switch__input:checked:focus + .mdl-switch__label + .mdl-switch__trackContainer .mdl-switch__focus-helper { @@ -113,7 +113,7 @@ margin: 0; display: inline-flex; align-items: center; - margin-left: .7em; + margin-left: 0.7em; } .mdl-switch__input[disabled] .mdl-switch__label { diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 4bd2f1326..1b60a45c2 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -1,7 +1,7 @@ .skinHeader, html { color: #222; - color: rgba(0, 0, 0, .87); + color: rgba(0, 0, 0, 0.87); } .wizardStartForm, @@ -12,7 +12,7 @@ html { .emby-collapsible-button { border-color: #ccc; - border-color: rgba(0, 0, 0, .158); + border-color: rgba(0, 0, 0, 0.158); } .collapseContent { @@ -21,7 +21,7 @@ html { .formDialogHeader:not(.formDialogHeader-clear), .skinHeader-withBackground { - color: rgba(0, 0, 0, .7); + color: rgba(0, 0, 0, 0.7); background: #303030; background: -webkit-gradient(linear, left top, right top, from(#BCBCBC), color-stop(#A7B4B7), color-stop(#BEB5A5), color-stop(#ADBEC2), to(#B9C7CB)); background: -webkit-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); @@ -62,7 +62,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0, 164, 220, .2); + background-color: rgba(0, 164, 220, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -72,13 +72,13 @@ html { .fab, .raised { background: #fff; - background: rgba(0, 0, 0, .14); + background: rgba(0, 0, 0, 0.14); color: inherit; } .fab:focus, .raised:focus { - background: rgba(0, 0, 0, .24); + background: rgba(0, 0, 0, 0.24); } .button-submit { @@ -92,7 +92,7 @@ html { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .checkboxLabel { @@ -105,7 +105,7 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #555; - color: rgba(0, 0, 0, .7); + color: rgba(0, 0, 0, 0.7); } .button-link, @@ -122,7 +122,7 @@ html { .paperList, .visualCardBox { background-color: #fff; - background-color: rgba(0, 0, 0, .1); + background-color: rgba(0, 0, 0, 0.1); } .defaultCardBackground1 { @@ -147,7 +147,7 @@ html { .formDialogFooter:not(.formDialogFooter-clear) { border-top: 1px solid #ddd; - border-top: 1px solid rgba(0, 0, 0, .08); + border-top: 1px solid rgba(0, 0, 0, 0.08); } .cardText-secondary, @@ -158,17 +158,17 @@ html { .programSecondaryTitle, .secondaryText { color: #888; - color: rgba(0, 0, 0, .5); + color: rgba(0, 0, 0, 0.5); } .actionsheetDivider { background: #ddd; - background: rgba(0, 0, 0, .14); + background: rgba(0, 0, 0, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .formDialogHeader a, @@ -182,12 +182,12 @@ html { .toast { background: #303030; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter, .formDialogFooter:not(.formDialogFooter-clear) { - color: rgba(0, 0, 0, .7); + color: rgba(0, 0, 0, 0.7); background: #303030; background: -webkit-gradient(linear, left top, right top, from(#BCBCBC), color-stop(#A7B4B7), color-stop(#BEB5A5), color-stop(#ADBEC2), to(#B9C7CB)); background: -webkit-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); @@ -214,7 +214,7 @@ html { .alphaPickerButton { color: #555; - color: rgba(0, 0, 0, .7); + color: rgba(0, 0, 0, 0.7); background-color: transparent; } @@ -226,15 +226,15 @@ html { .detailTableBodyRow-shaded:nth-child(even) { background: #f8f8f8; - background: rgba(0, 0, 0, .1); + background: rgba(0, 0, 0, 0.1); } .listItem-border { - border-color: rgba(0, 0, 0, .1) !important; + border-color: rgba(0, 0, 0, 0.1) !important; } .listItem:focus { - background: rgba(0, 0, 0, .2); + background: rgba(0, 0, 0, 0.2); } .progressring-spiner { @@ -267,8 +267,8 @@ html { .emby-select-withcolor { color: inherit; - background: rgba(255, 255, 255, .9); - border: .07em solid rgba(0, 0, 0, .158); + background: rgba(255, 255, 255, 0.9); + border: 0.07em solid rgba(0, 0, 0, 0.158); } .emby-checkbox:checked+span+.checkboxOutline, @@ -351,7 +351,7 @@ html { .guide-channelHeaderCell, .programCell { border-color: #555; - border-color: rgba(0, 0, 0, .1); + border-color: rgba(0, 0, 0, 0.1); } .programCell-sports { @@ -371,7 +371,7 @@ html { } .programCell-active { - background: rgba(0, 0, 0, .1) !important; + background: rgba(0, 0, 0, 0.1) !important; } .guide-channelHeaderCell:focus, @@ -391,7 +391,7 @@ html { .guide-date-tab-button { color: #555; - color: rgba(0, 0, 0, .54); + color: rgba(0, 0, 0, 0.54); } .guide-date-tab-button.emby-tab-button-active, diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 140adccfb..1a4df079d 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -1,7 +1,7 @@ .skinHeader, html { color: #ddd; - color: rgba(255, 255, 255, .8); + color: rgba(255, 255, 255, 0.8); } .wizardStartForm, @@ -12,7 +12,7 @@ html { .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135); + border-color: rgba(255, 255, 255, 0.135); } .skinHeader-withBackground { @@ -49,7 +49,7 @@ html { } .backgroundContainer.withBackdrop { - opacity: .86; + opacity: 0.86; } @media (orientation: portrait) { @@ -60,7 +60,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0, 164, 220, .2); + background-color: rgba(0, 164, 220, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -69,13 +69,13 @@ html { .fab, .raised { - background: rgba(0, 0, 0, .5); - color: rgba(255, 255, 255, .87); + background: rgba(0, 0, 0, 0.5); + color: rgba(255, 255, 255, 0.87); } .fab:focus, .raised:focus { - background: rgba(0, 0, 0, .7); + background: rgba(0, 0, 0, 0.7); } .button-submit { @@ -90,7 +90,7 @@ html { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .checkboxLabel { @@ -103,7 +103,7 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7); + color: rgba(255, 255, 255, 0.7); } .inputLabelFocused, @@ -121,7 +121,7 @@ html { .formDialogHeader:not(.formDialogHeader-clear), .paperList, .visualCardBox { - background-color: rgba(0, 0, 0, .5); + background-color: rgba(0, 0, 0, 0.5); } .defaultCardBackground1 { @@ -152,38 +152,38 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14); + background: rgba(255, 255, 255, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .actionSheetMenuItem:hover { - background-color: rgba(0, 0, 0, .5); + background-color: rgba(0, 0, 0, 0.5); } .toast { background: #303030; color: #fff; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter { background: #033664; color: #ccc; - color: rgba(255, 255, 255, .78); + color: rgba(255, 255, 255, 0.78); } @supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)) { .appfooter-blurred { - background: rgba(1, 2, 50, .7); + background: rgba(1, 2, 50, 0.7); backdrop-filter: blur(20px); } } @@ -203,7 +203,7 @@ html { .alphaPickerButton { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); background-color: transparent; } @@ -218,15 +218,15 @@ html { .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9); + background: rgba(30, 30, 30, 0.9); } .listItem-border { - border-color: rgba(255, 255, 255, .1) !important; + border-color: rgba(255, 255, 255, 0.1) !important; } .listItem:focus { - background: rgba(0, 0, 0, .3); + background: rgba(0, 0, 0, 0.3); } .progressring-spiner { @@ -240,7 +240,7 @@ html { .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2); + background: rgba(170, 170, 190, 0.2); } .mediaInfoTimerIcon, @@ -264,8 +264,8 @@ html { .emby-select-withcolor { color: inherit; - background: rgba(0, 0, 0, .5); - border: .07em solid transparent; + background: rgba(0, 0, 0, 0.5); + border: 0.07em solid transparent; } .emby-select-withcolor>option { @@ -314,7 +314,7 @@ html { } .mainDrawer { - background-color: rgba(0, 0, 0, .5); + background-color: rgba(0, 0, 0, 0.5); } .drawer-open { @@ -354,7 +354,7 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05); + border-color: rgba(255, 255, 255, 0.05); } .programCell-sports { @@ -374,7 +374,7 @@ html { } .programCell-active { - background: rgba(0, 0, 0, .4) !important; + background: rgba(0, 0, 0, 0.4) !important; } .guide-channelHeaderCell:focus, @@ -394,7 +394,7 @@ html { .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3); + color: rgba(255, 255, 255, 0.3); } .guide-date-tab-button.emby-tab-button-active, @@ -459,7 +459,7 @@ html { } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em; + height: 0.7em; } .metadataSidebarIcon { diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index 7b77d4304..1a4882236 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -1,7 +1,7 @@ .skinHeader, html { color: #ddd; - color: rgba(255, 255, 255, .8); + color: rgba(255, 255, 255, 0.8); } .wizardStartForm, @@ -12,7 +12,7 @@ html { .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135); + border-color: rgba(255, 255, 255, 0.135); } .skinHeader-withBackground { @@ -36,12 +36,12 @@ html { } .backgroundContainer.withBackdrop { - background-color: rgba(0, 0, 0, .86); + background-color: rgba(0, 0, 0, 0.86); } .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0, 164, 220, .2); + background-color: rgba(0, 164, 220, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -51,7 +51,7 @@ html { .fab, .raised { background: #303030; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .fab:focus, @@ -71,7 +71,7 @@ html { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .checkboxLabel { @@ -84,7 +84,7 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7); + color: rgba(255, 255, 255, 0.7); } .inputLabelFocused, @@ -133,17 +133,17 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14); + background: rgba(255, 255, 255, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .actionSheetMenuItem:hover { @@ -153,13 +153,13 @@ html { .toast { background: #303030; color: #fff; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter { background: #101010; color: #ccc; - color: rgba(255, 255, 255, .78); + color: rgba(255, 255, 255, 0.78); } .itemSelectionPanel { @@ -177,7 +177,7 @@ html { .alphaPickerButton { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); background-color: transparent; } @@ -192,11 +192,11 @@ html { .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9); + background: rgba(30, 30, 30, 0.9); } .listItem-border { - border-color: rgba(34, 34, 34, .9) !important; + border-color: rgba(34, 34, 34, 0.9) !important; } .listItem:focus { @@ -214,7 +214,7 @@ html { .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2); + background: rgba(170, 170, 190, 0.2); } .mediaInfoTimerIcon, @@ -239,7 +239,7 @@ html { .emby-select-withcolor { color: inherit; background: #292929; - border: .07em solid #292929; + border: 0.07em solid #292929; } .emby-select-withcolor>option { @@ -324,7 +324,7 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05); + border-color: rgba(255, 255, 255, 0.05); } .programCell-sports { @@ -364,7 +364,7 @@ html { .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3); + color: rgba(255, 255, 255, 0.3); } .guide-date-tab-button.emby-tab-button-active, @@ -429,7 +429,7 @@ html { } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em; + height: 0.7em; } .metadataSidebarIcon { diff --git a/src/themes/emby/theme.css b/src/themes/emby/theme.css index 64e9bfdd2..32827ad20 100644 --- a/src/themes/emby/theme.css +++ b/src/themes/emby/theme.css @@ -1,7 +1,7 @@ .skinHeader, html { color: #ddd; - color: rgba(255, 255, 255, .8); + color: rgba(255, 255, 255, 0.8); } .wizardStartForm, @@ -12,7 +12,7 @@ html { .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135); + border-color: rgba(255, 255, 255, 0.135); } .skinHeader-withBackground { @@ -35,12 +35,12 @@ html { } .backgroundContainer.withBackdrop { - background-color: rgba(0, 0, 0, .86); + background-color: rgba(0, 0, 0, 0.86); } .paper-icon-button-light:hover:not(:disabled) { color: #52b54b; - background-color: rgba(82, 181, 75, .2); + background-color: rgba(82, 181, 75, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -50,7 +50,7 @@ html { .fab, .raised { background: #303030; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .fab:focus, @@ -70,7 +70,7 @@ html { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .checkboxLabel { @@ -83,7 +83,7 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7); + color: rgba(255, 255, 255, 0.7); } .inputLabelFocused, @@ -132,17 +132,17 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14); + background: rgba(255, 255, 255, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .actionSheetMenuItem:hover { @@ -152,13 +152,13 @@ html { .toast { background: #303030; color: #fff; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter { background: #101010; color: #ccc; - color: rgba(255, 255, 255, .78); + color: rgba(255, 255, 255, 0.78); } .itemSelectionPanel { @@ -176,7 +176,7 @@ html { .alphaPickerButton { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); background-color: transparent; } @@ -191,11 +191,11 @@ html { .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9); + background: rgba(30, 30, 30, 0.9); } .listItem-border { - border-color: rgba(34, 34, 34, .9) !important; + border-color: rgba(34, 34, 34, 0.9) !important; } .listItem:focus { @@ -213,7 +213,7 @@ html { .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2); + background: rgba(170, 170, 190, 0.2); } .mediaInfoTimerIcon, @@ -225,8 +225,8 @@ html { .emby-textarea { color: inherit; background: #292929; - border: .07em solid #292929; - border-radius: .15em; + border: 0.07em solid #292929; + border-radius: 0.15em; } .emby-input:focus, @@ -237,7 +237,7 @@ html { .emby-select-withcolor { color: inherit; background: #292929; - border: .07em solid #292929; + border: 0.07em solid #292929; } .emby-select-withcolor>option { @@ -322,7 +322,7 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05); + border-color: rgba(255, 255, 255, 0.05); } .programCell-sports { @@ -362,7 +362,7 @@ html { .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3); + color: rgba(255, 255, 255, 0.3); } .guide-date-tab-button.emby-tab-button-active, @@ -379,7 +379,7 @@ html { color: #ddd; background: #111; padding: 1em; - border-radius: .25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { @@ -405,7 +405,7 @@ html { } ::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); } ::-webkit-scrollbar-track-piece { @@ -424,7 +424,7 @@ html { } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em; + height: 0.7em; } .metadataSidebarIcon { diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 0013c6956..c4af696c2 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -1,7 +1,7 @@ .skinHeader, html { color: #222; - color: rgba(0, 0, 0, .87); + color: rgba(0, 0, 0, 0.87); } .wizardStartForm, @@ -12,7 +12,7 @@ html { .emby-collapsible-button { border-color: #ccc; - border-color: rgba(0, 0, 0, .158); + border-color: rgba(0, 0, 0, 0.158); } .collapseContent { @@ -48,7 +48,7 @@ html { } .backgroundContainer.withBackdrop { - background-color: rgba(255, 255, 255, .80); + background-color: rgba(255, 255, 255, 0.80); } .dialog { @@ -57,7 +57,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0, 164, 220, .2); + background-color: rgba(0, 164, 220, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -86,7 +86,7 @@ html { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .checkboxLabel { @@ -145,7 +145,7 @@ html { .formDialogFooter:not(.formDialogFooter-clear) { background-color: #f0f0f0; border-top: 1px solid #ddd; - border-top: 1px solid rgba(0, 0, 0, .08); + border-top: 1px solid rgba(0, 0, 0, 0.08); color: inherit; } @@ -161,12 +161,12 @@ html { .actionsheetDivider { background: #ddd; - background: rgba(0, 0, 0, .14); + background: rgba(0, 0, 0, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .formDialogHeader a, @@ -180,13 +180,13 @@ html { .toast { background: #303030; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter { background: #282828; color: #ccc; - color: rgba(255, 255, 255, .78); + color: rgba(255, 255, 255, 0.78); } .nowPlayingBarSecondaryText { @@ -208,7 +208,7 @@ html { .alphaPickerButton { color: #555; - color: rgba(0, 0, 0, .7); + color: rgba(0, 0, 0, 0.7); background-color: transparent; } @@ -261,7 +261,7 @@ html { .emby-select-withcolor { color: inherit; background: #fff; - border: .07em solid rgba(0, 0, 0, .158); + border: 0.07em solid rgba(0, 0, 0, 0.158); } .emby-checkbox:checked+span+.checkboxOutline, @@ -343,7 +343,7 @@ html { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(0, 0, 0, .12); + border-color: rgba(0, 0, 0, 0.12); } .programCell-sports { @@ -363,7 +363,7 @@ html { } .programCell-active { - background: rgba(0, 0, 0, .1) !important; + background: rgba(0, 0, 0, 0.1) !important; } .guide-channelHeaderCell:focus, @@ -383,7 +383,7 @@ html { .guide-date-tab-button { color: #555; - color: rgba(0, 0, 0, .54); + color: rgba(0, 0, 0, 0.54); } .guide-date-tab-button.emby-tab-button-active, diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 13838c179..80d98cd23 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -12,7 +12,7 @@ html { .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135); + border-color: rgba(255, 255, 255, 0.135); } .skinHeader-withBackground { @@ -48,7 +48,7 @@ html { } .backgroundContainer.withBackdrop { - opacity: .86; + opacity: 0.86; } @media (orientation: portrait) { @@ -59,7 +59,7 @@ html { .paper-icon-button-light:hover:not(:disabled) { color: rgb(12, 232, 214); - background-color: rgba(0, 164, 220, .2); + background-color: rgba(0, 164, 220, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -67,25 +67,25 @@ html { } progress { - border-radius: .4em; + border-radius: 0.4em; } progress::-webkit-progress-bar { - border-radius: .4em; + border-radius: 0.4em; } progress::-moz-progress-bar { - border-radius: .4em; + border-radius: 0.4em; } progress::-webkit-progress-value { - border-radius: .4em; + border-radius: 0.4em; } .fab, .raised { - background: rgba(0, 0, 0, .5); - color: rgba(255, 255, 255, .87); + background: rgba(0, 0, 0, 0.5); + color: rgba(255, 255, 255, 0.87); } .fab:focus, @@ -120,13 +120,13 @@ a[data-role=button] { .btnForgotPassword, .btnCancel, .button-cancel { - background: rgba(0, 0, 0, .5); - color: rgba(255, 255, 255, .87); + background: rgba(0, 0, 0, 0.5); + color: rgba(255, 255, 255, 0.87); } .alphaPickerButton { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); background-color: transparent; } @@ -149,7 +149,7 @@ a[data-role=button] { .btnManual:hover, .block:hover { background: rgb(12, 232, 214); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .button-submit:focus { @@ -158,7 +158,7 @@ a[data-role=button] { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .itemName { @@ -205,7 +205,7 @@ a[data-role=button] { .formDialogHeader:not(.formDialogHeader-clear), .paperList, .visualCardBox { - background-color: rgba(0, 0, 0, .5); + background-color: rgba(0, 0, 0, 0.5); border-radius: 1.000em; } @@ -245,38 +245,38 @@ a[data-role=button] { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); } .actionsheetDivider { background: #444; - background: rgba(255, 255, 255, .14); + background: rgba(255, 255, 255, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .actionSheetMenuItem:hover { - background-color: rgba(0, 0, 0, .5); + background-color: rgba(0, 0, 0, 0.5); } .toast { background: #303030; color: #f8f8fe; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter { background: #06256f; color: #ccc; - color: rgba(255, 255, 255, .78); + color: rgba(255, 255, 255, 0.78); } @supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)) { .appfooter-blurred { - background: rgba(6, 37, 111, .7); + background: rgba(6, 37, 111, 0.7); backdrop-filter: blur(20px); } } @@ -305,15 +305,15 @@ a[data-role=button] { .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(30, 30, 30, .9); + background: rgba(30, 30, 30, 0.9); } .listItem-border { - border-color: rgba(255, 255, 255, .1) !important; + border-color: rgba(255, 255, 255, 0.1) !important; } .listItem:focus { - background: rgba(0, 0, 0, .3); + background: rgba(0, 0, 0, 0.3); } .progressring-spiner { @@ -327,7 +327,7 @@ a[data-role=button] { .mediaInfoText { color: #f8f8fe; - background: rgba(170, 170, 190, .2); + background: rgba(170, 170, 190, 0.2); } .mediaInfoTimerIcon, @@ -351,8 +351,8 @@ a[data-role=button] { .emby-select-withcolor { color: inherit; - background: rgba(0, 0, 0, .5); - border: .07em solid transparent; + background: rgba(0, 0, 0, 0.5); + border: 0.07em solid transparent; } .emby-select-withcolor>option { @@ -406,7 +406,7 @@ a[data-role=button] { .mainDrawer { color: #f8f8fe; - background: rgba(0, 0, 0, .5); + background: rgba(0, 0, 0, 0.5); } .drawer-open { @@ -446,7 +446,7 @@ a[data-role=button] { .channelPrograms, .guide-channelHeaderCell, .programCell { - border-color: rgba(255, 255, 255, .05); + border-color: rgba(255, 255, 255, 0.05); } .programCell-sports { @@ -466,7 +466,7 @@ a[data-role=button] { } .programCell-active { - background: rgba(0, 0, 0, .4) !important; + background: rgba(0, 0, 0, 0.4) !important; } .guide-channelHeaderCell:focus, @@ -486,7 +486,7 @@ a[data-role=button] { .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3); + color: rgba(255, 255, 255, 0.3); } .guide-date-tab-button.emby-tab-button-active, @@ -550,7 +550,7 @@ a[data-role=button] { } .layout-desktop ::-webkit-scrollbar { - width: .4em; + width: 0.4em; height: 1em; } @@ -562,11 +562,11 @@ a[data-role=button] { } .timeslotHeaders-desktop::-webkit-scrollbar { - height: .7em; + height: 0.7em; } .mediaInfoOfficialRating { - border: .09em solid #583fa0; + border: 0.09em solid #583fa0; background-color: #dbe6ff; color: #0e0f2d; } diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index c633fc22d..163965043 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -1,6 +1,6 @@ html { color: #eee; - color: rgba(255, 255, 255, .9); + color: rgba(255, 255, 255, 0.9); background-color: #0f3562; } @@ -12,12 +12,12 @@ html { .emby-collapsible-button { border-color: #383838; - border-color: rgba(255, 255, 255, .135); + border-color: rgba(255, 255, 255, 0.135); } .skinHeader { color: #ccc; - color: rgba(255, 255, 255, .78); + color: rgba(255, 255, 255, 0.78); } .formDialogHeader:not(.formDialogHeader-clear), @@ -53,12 +53,12 @@ html { } .backgroundContainer.withBackdrop { - background: rgba(17, 98, 164, .9); + background: rgba(17, 98, 164, 0.9); } .paper-icon-button-light:hover:not(:disabled) { color: #00a4dc; - background-color: rgba(0, 164, 220, .2); + background-color: rgba(0, 164, 220, 0.2); } .paper-icon-button-light.show-focus:focus { @@ -88,7 +88,7 @@ html { .button-delete { background: rgb(247, 0, 0); - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .checkboxLabel { @@ -101,7 +101,7 @@ html { .paperListLabel, .textareaLabelUnfocused { color: #bbb; - color: rgba(255, 255, 255, .7); + color: rgba(255, 255, 255, 0.7); } .inputLabelFocused, @@ -148,23 +148,23 @@ html { .programSecondaryTitle, .secondaryText { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); } .actionsheetDivider { background: #ddd; - background: rgba(255, 255, 255, .14); + background: rgba(255, 255, 255, 0.14); } .cardFooter-vibrant .cardText-secondary { color: inherit; - opacity: .5; + opacity: 0.5; } .toast { background: #081b3b; color: #fff; - color: rgba(255, 255, 255, .87); + color: rgba(255, 255, 255, 0.87); } .appfooter, @@ -192,7 +192,7 @@ html { .alphaPickerButton { color: #999; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); background-color: transparent; } @@ -204,11 +204,11 @@ html { .detailTableBodyRow-shaded:nth-child(even) { background: #1c1c1c; - background: rgba(0, 0, 0, .3); + background: rgba(0, 0, 0, 0.3); } .listItem-border { - border-color: rgba(0, 0, 0, .3) !important; + border-color: rgba(0, 0, 0, 0.3) !important; } .listItem:focus { @@ -226,7 +226,7 @@ html { .mediaInfoText { color: #ddd; - background: rgba(170, 170, 190, .2); + background: rgba(170, 170, 190, 0.2); } .mediaInfoTimerIcon, @@ -250,8 +250,8 @@ html { .emby-select-withcolor { color: inherit; - background: rgba(255, 255, 255, .2); - border: .07em solid rgba(255, 255, 255, .135); + background: rgba(255, 255, 255, 0.2); + border: 0.07em solid rgba(255, 255, 255, 0.135); } .emby-checkbox:checked+span+.checkboxOutline, @@ -299,13 +299,13 @@ html { .mainDrawer { background-color: #0f3562; color: #ccc; - color: rgba(255, 255, 255, .7); + color: rgba(255, 255, 255, 0.7); } .actionSheetMenuItem:hover, .navMenuOption:hover { background: #252528; - background: rgba(0, 0, 0, .2); + background: rgba(0, 0, 0, 0.2); } .navMenuOption-selected { @@ -338,7 +338,7 @@ html { .guide-channelHeaderCell, .programCell { border-color: #999; - border-color: rgba(255, 255, 255, .1); + border-color: rgba(255, 255, 255, 0.1); } .programCell-sports { @@ -358,7 +358,7 @@ html { } .programCell-active { - background: rgba(0, 0, 0, .3) !important; + background: rgba(0, 0, 0, 0.3) !important; } .guide-channelHeaderCell:focus, @@ -378,7 +378,7 @@ html { .guide-date-tab-button { color: #555; - color: rgba(255, 255, 255, .3); + color: rgba(255, 255, 255, 0.3); } .guide-date-tab-button.emby-tab-button-active, From a896a6bcadad8e607e6f737f7c05d03da06dcb94 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:01:18 +0100 Subject: [PATCH 45/68] Fix number-no-trailing-zeros (CSS) --- src/components/listview/listview.css | 2 +- src/themes/light/theme.css | 2 +- src/themes/purplehaze/theme.css | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css index 69420d011..bd77ca778 100644 --- a/src/components/listview/listview.css +++ b/src/components/listview/listview.css @@ -50,7 +50,7 @@ } .listItem-border.show-focus:focus { - transform: scale(1.0) !important; + transform: scale(1) !important; } .listItemImage, .listItemIcon, .listItemAside { diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index c4af696c2..5315343df 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -48,7 +48,7 @@ html { } .backgroundContainer.withBackdrop { - background-color: rgba(255, 255, 255, 0.80); + background-color: rgba(255, 255, 255, 0.8); } .dialog { diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 80d98cd23..b5fa8372f 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -197,7 +197,7 @@ a[data-role=button] { } .cardContent { - border-radius: 1.000em; + border-radius: 1em; } .collapseContent, @@ -206,7 +206,7 @@ a[data-role=button] { .paperList, .visualCardBox { background-color: rgba(0, 0, 0, 0.5); - border-radius: 1.000em; + border-radius: 1em; } .cardOverlayContainer { From fafd0d4ea0bff8a8b19402ab8d21b47c6a0fdc86 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:02:21 +0100 Subject: [PATCH 46/68] Fix rule-empty-line-before (CSS) --- src/assets/css/dashboard.css | 1 - src/assets/css/librarybrowser.css | 1 - src/assets/css/videoosd.css | 1 - src/components/alphapicker/style.css | 7 ------- src/components/cardbuilder/card.css | 4 ---- src/components/dialogHelper/dialoghelper.css | 4 ---- src/components/formdialog.css | 2 -- src/components/guide/guide.css | 7 ------- src/components/homesections/homesections.css | 1 - src/components/nowplayingbar/nowplayingbar.css | 2 +- src/components/upnextdialog/upnextdialog.css | 1 - src/themes/purplehaze/theme.css | 1 + 12 files changed, 2 insertions(+), 30 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index e954a9fb4..c85c0c175 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -48,7 +48,6 @@ progress[aria-valuenow]:before { } @media all and (min-width: 50em) { - .type-interior>div[data-role=content], .type-interior>.ui-panel-content-wrap>div[data-role=content] { padding-right: 0; diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 4004835ce..3e12d9906 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -240,7 +240,6 @@ } @media all and (min-width: 40em) { - .dashboardDocument .adminDrawerLogo, .dashboardDocument .mainDrawerButton { display: none !important; diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index 59318cb6f..608a0d8da 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -254,7 +254,6 @@ } @media all and (max-width: 30em) { - .btnFastForward, .btnRewind, .osdMediaInfo, diff --git a/src/components/alphapicker/style.css b/src/components/alphapicker/style.css index 78f74404f..c93341bc7 100644 --- a/src/components/alphapicker/style.css +++ b/src/components/alphapicker/style.css @@ -44,7 +44,6 @@ } @media all and (max-height: 50em) { - .alphaPicker-fixed { bottom: 5em; } @@ -56,14 +55,12 @@ } @media all and (max-height: 49em) { - .alphaPicker-vertical { font-size: 94%; } } @media all and (max-height: 44em) { - .alphaPicker-vertical { font-size: 90%; } @@ -75,14 +72,12 @@ } @media all and (max-height: 37em) { - .alphaPicker-vertical { font-size: 82%; } } @media all and (max-height: 32em) { - .alphaPicker-vertical { font-size: 74%; } @@ -121,7 +116,6 @@ } @media all and (min-width: 62.5em) { - .alphaPicker-fixed-left { left: 1em; } @@ -132,7 +126,6 @@ } @media all and (max-height: 31.25em) { - .alphaPicker-fixed { display: none !important; } diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index dd8a73248..d5e1f6f93 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -677,7 +677,6 @@ button::-moz-focus-inner { } @media (min-width: 100em) { - .overflowBackdropCard, .overflowSmallBackdropCard { width: 18.7vw; } @@ -688,21 +687,18 @@ button::-moz-focus-inner { } @media (min-width: 120em) { - .overflowSquareCard, .overflowPortraitCard { width: 10.3vw; } } @media (min-width: 131.25em) { - .overflowSquareCard, .overflowPortraitCard { width: 9.3vw; } } @media (min-width: 156.25em) { - .overflowBackdropCard, .overflowSmallBackdropCard { width: 15.6vw; } diff --git a/src/components/dialogHelper/dialoghelper.css b/src/components/dialogHelper/dialoghelper.css index 875ebfab2..ecdaa4f9e 100644 --- a/src/components/dialogHelper/dialoghelper.css +++ b/src/components/dialogHelper/dialoghelper.css @@ -78,7 +78,6 @@ } @keyframes fadeout { - from { opacity: 1; } @@ -101,7 +100,6 @@ } @keyframes slidedown { - from { opacity: 1; transform: none; @@ -114,7 +112,6 @@ } @media all and (max-width: 80em), all and (max-height: 45em) { - .dialog-fixedSize, .dialog-fullscreen-lowres { position: fixed !important; top: 0 !important; @@ -127,7 +124,6 @@ } @media all and (min-width: 80em) and (min-height: 45em) { - .dialog-medium { width: 80%; height: 80%; diff --git a/src/components/formdialog.css b/src/components/formdialog.css index 5eb1ba6ea..932ee8f2d 100644 --- a/src/components/formdialog.css +++ b/src/components/formdialog.css @@ -91,7 +91,6 @@ } @media all and (min-width: 50em) { - .formDialogFooterItem { max-width: 80%; } @@ -103,7 +102,6 @@ } @media all and (min-width: 80em) { - .formDialogFooterItem { max-width: 70%; } diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 524b3c7e2..52a501fd3 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -96,21 +96,18 @@ } @media all and (min-width: 37.5em) { - .channelPrograms, .timeslotHeadersInner { width: 1400vw; } } @media all and (min-width: 50em) { - .channelPrograms, .timeslotHeadersInner { width: 1200vw; } } @media all and (min-width: 80em) { - .channelPrograms, .timeslotHeadersInner { width: 810vw; } @@ -204,7 +201,6 @@ } @media all and (max-width: 50em) { - .newTvProgram, .liveTvProgram, .premiereTvProgram, .guideHdIcon { display: none; } @@ -339,14 +335,12 @@ } @media all and (min-width: 62.5em) { - .guideChannelName { max-width: 40%; } } @media all and (max-width: 62.5em) { - .guideChannelNumber { display: none; } @@ -382,7 +376,6 @@ } @media all and (max-width: 50em), all and (max-height: 37.5em) { - .tvGuideHeader { padding-left: 0; } diff --git a/src/components/homesections/homesections.css b/src/components/homesections/homesections.css index 58eabb091..164e96314 100644 --- a/src/components/homesections/homesections.css +++ b/src/components/homesections/homesections.css @@ -4,7 +4,6 @@ } @media all and (max-width: 50em) { - .homeLibraryButton { width: 46% !important; } diff --git a/src/components/nowplayingbar/nowplayingbar.css b/src/components/nowplayingbar/nowplayingbar.css index 0339452da..ea1a1a9e7 100644 --- a/src/components/nowplayingbar/nowplayingbar.css +++ b/src/components/nowplayingbar/nowplayingbar.css @@ -121,7 +121,6 @@ } @media all and (max-width: 70em) { - .nowPlayingBarRight .nowPlayingBarUserDataButtons { display: none; } @@ -155,6 +154,7 @@ .nowPlayingBarRight .nowPlayingBarVolumeSliderContainer { display: none !important; } + .nowPlayingBarInfoContainer { width: 70%; } diff --git a/src/components/upnextdialog/upnextdialog.css b/src/components/upnextdialog/upnextdialog.css index 7c9c13207..15f91b29d 100644 --- a/src/components/upnextdialog/upnextdialog.css +++ b/src/components/upnextdialog/upnextdialog.css @@ -37,7 +37,6 @@ } @media all and (orientation: landscape) { - .upNextDialog { flex-direction: row; } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index b5fa8372f..80fc6cbcd 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -212,6 +212,7 @@ a[data-role=button] { .cardOverlayContainer { border-radius: 0.8em; } + .visualCardBox .cardOverlayContainer { border-bottom-right-radius: 0; border-bottom-left-radius: 0; From ae0040165ae8ffc479c4fa2a9fa8601f487513f4 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:03:50 +0100 Subject: [PATCH 47/68] Fix selector-combinator-space-after (CSS) --- src/assets/css/dashboard.css | 14 +++++++------- src/assets/css/librarybrowser.css | 10 +++++----- src/assets/css/site.css | 2 +- src/components/remotecontrol/remotecontrol.css | 2 +- src/themes/appletv/theme.css | 10 +++++----- src/themes/blueradiance/theme.css | 10 +++++----- src/themes/dark/theme.css | 10 +++++----- src/themes/emby/theme.css | 10 +++++----- src/themes/light/theme.css | 10 +++++----- src/themes/purplehaze/theme.css | 8 ++++---- src/themes/wmc/theme.css | 10 +++++----- 11 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index c85c0c175..9abf8ec28 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -48,8 +48,8 @@ progress[aria-valuenow]:before { } @media all and (min-width: 50em) { - .type-interior>div[data-role=content], - .type-interior>.ui-panel-content-wrap>div[data-role=content] { + .type-interior> div[data-role=content], + .type-interior> .ui-panel-content-wrap> div[data-role=content] { padding-right: 0; padding-left: 0; padding-top: 0; @@ -112,7 +112,7 @@ div[data-role=controlgroup] a[data-role=button]:last-child { border-top-right-radius: .3125em; } -div[data-role=controlgroup] a[data-role=button]+a[data-role=button] { +div[data-role=controlgroup] a[data-role=button]+ a[data-role=button] { border-left-width: 0 !important; margin: 0 0 0 -0.4em !important; } @@ -227,7 +227,7 @@ div[data-role=controlgroup] a.ui-btn-active { margin-bottom: 0.5em; } -.activeRecordingItems>.card { +.activeRecordingItems> .card { width: 50%; } @@ -253,7 +253,7 @@ div[data-role=controlgroup] a.ui-btn-active { padding: 0 1.5em; } - .activeRecordingItems>.card { + .activeRecordingItems> .card { width: 25%; } } @@ -333,7 +333,7 @@ div[data-role=controlgroup] a.ui-btn-active { font-weight: 400; } -.sessionNowPlayingContent-withbackground+.sessionNowPlayingInnerContent { +.sessionNowPlayingContent-withbackground+ .sessionNowPlayingInnerContent { color: #fff !important; background: rgba(0, 0, 0, 0.7); } @@ -418,7 +418,7 @@ div[data-role=controlgroup] a.ui-btn-active { text-decoration: none !important; } -.appLinks a+a { +.appLinks a+ a { margin-left: 5px; } diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 3e12d9906..b4493f11a 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -367,7 +367,7 @@ display: inline-block; } -.viewControls+.listTopPaging { +.viewControls+ .listTopPaging { margin-left: 0.5em !important; } @@ -629,7 +629,7 @@ margin: 0; } -.detailCollapsibleSection:not(.hide)+.detailCollapsibleSection { +.detailCollapsibleSection:not(.hide)+ .detailCollapsibleSection { margin-top: -2em; } @@ -654,7 +654,7 @@ flex-shrink: 0; } -.mainDetailButtons.hide+.recordingFields { +.mainDetailButtons.hide+ .recordingFields { margin-top: 1.5em !important; } @@ -955,7 +955,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { padding-top: 0 !important; } -.sectionTitleTextButton>.sectionTitle { +.sectionTitleTextButton> .sectionTitle { margin-bottom: 0; margin-top: 0; } @@ -1029,6 +1029,6 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { } } -.itemsViewSettingsContainer>.button-flat { +.itemsViewSettingsContainer> .button-flat { margin: 0; } diff --git a/src/assets/css/site.css b/src/assets/css/site.css index 4dc30280d..0b376f84a 100644 --- a/src/assets/css/site.css +++ b/src/assets/css/site.css @@ -61,7 +61,7 @@ div[data-role=page] { white-space: normal !important; } -.fieldDescription+.fieldDescription { +.fieldDescription+ .fieldDescription { margin-top: 0.3em; } diff --git a/src/components/remotecontrol/remotecontrol.css b/src/components/remotecontrol/remotecontrol.css index 3ecb55d16..5e8d11299 100644 --- a/src/components/remotecontrol/remotecontrol.css +++ b/src/components/remotecontrol/remotecontrol.css @@ -193,7 +193,7 @@ width: 30em; } -.smallBackdropPosterItem .cardOverlayInner>div { +.smallBackdropPosterItem .cardOverlayInner> div { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 1b60a45c2..b0f77ec1a 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -271,25 +271,25 @@ html { border: 0.07em solid rgba(0, 0, 0, 0.158); } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .emby-select-withcolor:focus { border-color: #00a4dc; } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border-color: #00a4dc; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: #000; background: #fff; } diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 1a4df079d..435a2207e 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -268,7 +268,7 @@ html { border: 0.07em solid transparent; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: inherit; background: #222; } @@ -282,20 +282,20 @@ html { color: #fff !important; } -.emby-checkbox:checked+span+.checkboxOutline { +.emby-checkbox:checked+ span+ .checkboxOutline { border-color: #00a4dc; } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border-color: #00a4dc; } diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index 1a4882236..82a9bdae0 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -242,7 +242,7 @@ html { border: 0.07em solid #292929; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: inherit; background: #222; } @@ -256,20 +256,20 @@ html { color: #fff !important; } -.emby-checkbox:checked+span+.checkboxOutline { +.emby-checkbox:checked+ span+ .checkboxOutline { border-color: #00a4dc; } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border-color: #00a4dc; } diff --git a/src/themes/emby/theme.css b/src/themes/emby/theme.css index 32827ad20..dde1627fe 100644 --- a/src/themes/emby/theme.css +++ b/src/themes/emby/theme.css @@ -240,7 +240,7 @@ html { border: 0.07em solid #292929; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: inherit; background: #222; } @@ -254,20 +254,20 @@ html { color: #fff !important; } -.emby-checkbox:checked+span+.checkboxOutline { +.emby-checkbox:checked+ span+ .checkboxOutline { border-color: #52b54b; } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .itemProgressBarForeground { background-color: #52b54b; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border-color: #52b54b; } diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 5315343df..c07696040 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -264,25 +264,25 @@ html { border: 0.07em solid rgba(0, 0, 0, 0.158); } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .emby-select-withcolor:focus { border-color: #00a4dc; } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #000; } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border-color: #00a4dc; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: #000; background: #fff; } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index 80fc6cbcd..f9113a030 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -356,7 +356,7 @@ a[data-role=button] { border: 0.07em solid transparent; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: inherit; background: #030322d7; } @@ -370,7 +370,7 @@ a[data-role=button] { color: #fff !important; } -.emby-checkbox:checked+span+.checkboxOutline { +.emby-checkbox:checked+ span+ .checkboxOutline { background-color: #030322; border: 2px solid rgb(72, 195, 200); } @@ -379,11 +379,11 @@ a[data-role=button] { color: rgb(12, 232, 214); } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #ff77f1; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border: 2px solid #ff77f1; } diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index 163965043..1f0580d9c 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -254,25 +254,25 @@ html { border: 0.07em solid rgba(255, 255, 255, 0.135); } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .emby-select-withcolor:focus { border-color: #00a4dc; } -.emby-checkbox:focus+span+.checkboxOutline { +.emby-checkbox:focus+ span+ .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+span+.checkboxOutline, +.emby-checkbox:checked+ span+ .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+span+.checkboxOutline { +.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { border-color: #00a4dc; } -.emby-select-withcolor>option { +.emby-select-withcolor> option { color: #000; background: #fff; } From cc377df8f35e23cc929d823df3c8ed07074e57f5 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:04:19 +0100 Subject: [PATCH 48/68] Fix selector-combinator-space-before (CSS) --- src/assets/css/dashboard.css | 14 +++++++------- src/assets/css/librarybrowser.css | 10 +++++----- src/assets/css/site.css | 2 +- src/components/remotecontrol/remotecontrol.css | 2 +- src/themes/appletv/theme.css | 10 +++++----- src/themes/blueradiance/theme.css | 10 +++++----- src/themes/dark/theme.css | 10 +++++----- src/themes/emby/theme.css | 10 +++++----- src/themes/light/theme.css | 10 +++++----- src/themes/purplehaze/theme.css | 8 ++++---- src/themes/wmc/theme.css | 10 +++++----- 11 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 9abf8ec28..2b6d97e06 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -48,8 +48,8 @@ progress[aria-valuenow]:before { } @media all and (min-width: 50em) { - .type-interior> div[data-role=content], - .type-interior> .ui-panel-content-wrap> div[data-role=content] { + .type-interior > div[data-role=content], + .type-interior > .ui-panel-content-wrap > div[data-role=content] { padding-right: 0; padding-left: 0; padding-top: 0; @@ -112,7 +112,7 @@ div[data-role=controlgroup] a[data-role=button]:last-child { border-top-right-radius: .3125em; } -div[data-role=controlgroup] a[data-role=button]+ a[data-role=button] { +div[data-role=controlgroup] a[data-role=button] + a[data-role=button] { border-left-width: 0 !important; margin: 0 0 0 -0.4em !important; } @@ -227,7 +227,7 @@ div[data-role=controlgroup] a.ui-btn-active { margin-bottom: 0.5em; } -.activeRecordingItems> .card { +.activeRecordingItems > .card { width: 50%; } @@ -253,7 +253,7 @@ div[data-role=controlgroup] a.ui-btn-active { padding: 0 1.5em; } - .activeRecordingItems> .card { + .activeRecordingItems > .card { width: 25%; } } @@ -333,7 +333,7 @@ div[data-role=controlgroup] a.ui-btn-active { font-weight: 400; } -.sessionNowPlayingContent-withbackground+ .sessionNowPlayingInnerContent { +.sessionNowPlayingContent-withbackground + .sessionNowPlayingInnerContent { color: #fff !important; background: rgba(0, 0, 0, 0.7); } @@ -418,7 +418,7 @@ div[data-role=controlgroup] a.ui-btn-active { text-decoration: none !important; } -.appLinks a+ a { +.appLinks a + a { margin-left: 5px; } diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index b4493f11a..6ee1f63d5 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -367,7 +367,7 @@ display: inline-block; } -.viewControls+ .listTopPaging { +.viewControls + .listTopPaging { margin-left: 0.5em !important; } @@ -629,7 +629,7 @@ margin: 0; } -.detailCollapsibleSection:not(.hide)+ .detailCollapsibleSection { +.detailCollapsibleSection:not(.hide) + .detailCollapsibleSection { margin-top: -2em; } @@ -654,7 +654,7 @@ flex-shrink: 0; } -.mainDetailButtons.hide+ .recordingFields { +.mainDetailButtons.hide + .recordingFields { margin-top: 1.5em !important; } @@ -955,7 +955,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { padding-top: 0 !important; } -.sectionTitleTextButton> .sectionTitle { +.sectionTitleTextButton > .sectionTitle { margin-bottom: 0; margin-top: 0; } @@ -1029,6 +1029,6 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards { } } -.itemsViewSettingsContainer> .button-flat { +.itemsViewSettingsContainer > .button-flat { margin: 0; } diff --git a/src/assets/css/site.css b/src/assets/css/site.css index 0b376f84a..f5821266f 100644 --- a/src/assets/css/site.css +++ b/src/assets/css/site.css @@ -61,7 +61,7 @@ div[data-role=page] { white-space: normal !important; } -.fieldDescription+ .fieldDescription { +.fieldDescription + .fieldDescription { margin-top: 0.3em; } diff --git a/src/components/remotecontrol/remotecontrol.css b/src/components/remotecontrol/remotecontrol.css index 5e8d11299..6f36fc866 100644 --- a/src/components/remotecontrol/remotecontrol.css +++ b/src/components/remotecontrol/remotecontrol.css @@ -193,7 +193,7 @@ width: 30em; } -.smallBackdropPosterItem .cardOverlayInner> div { +.smallBackdropPosterItem .cardOverlayInner > div { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index b0f77ec1a..6b25ba614 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -271,25 +271,25 @@ html { border: 0.07em solid rgba(0, 0, 0, 0.158); } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .emby-select-withcolor:focus { border-color: #00a4dc; } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border-color: #00a4dc; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: #000; background: #fff; } diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 435a2207e..e86e8f445 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -268,7 +268,7 @@ html { border: 0.07em solid transparent; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: inherit; background: #222; } @@ -282,20 +282,20 @@ html { color: #fff !important; } -.emby-checkbox:checked+ span+ .checkboxOutline { +.emby-checkbox:checked + span + .checkboxOutline { border-color: #00a4dc; } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border-color: #00a4dc; } diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index 82a9bdae0..c2f4308dd 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -242,7 +242,7 @@ html { border: 0.07em solid #292929; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: inherit; background: #222; } @@ -256,20 +256,20 @@ html { color: #fff !important; } -.emby-checkbox:checked+ span+ .checkboxOutline { +.emby-checkbox:checked + span + .checkboxOutline { border-color: #00a4dc; } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border-color: #00a4dc; } diff --git a/src/themes/emby/theme.css b/src/themes/emby/theme.css index dde1627fe..b2225a88d 100644 --- a/src/themes/emby/theme.css +++ b/src/themes/emby/theme.css @@ -240,7 +240,7 @@ html { border: 0.07em solid #292929; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: inherit; background: #222; } @@ -254,20 +254,20 @@ html { color: #fff !important; } -.emby-checkbox:checked+ span+ .checkboxOutline { +.emby-checkbox:checked + span + .checkboxOutline { border-color: #52b54b; } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .itemProgressBarForeground { background-color: #52b54b; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border-color: #52b54b; } diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index c07696040..beb672aec 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -264,25 +264,25 @@ html { border: 0.07em solid rgba(0, 0, 0, 0.158); } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .emby-select-withcolor:focus { border-color: #00a4dc; } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #000; } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border-color: #00a4dc; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: #000; background: #fff; } diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index f9113a030..f8406f234 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -356,7 +356,7 @@ a[data-role=button] { border: 0.07em solid transparent; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: inherit; background: #030322d7; } @@ -370,7 +370,7 @@ a[data-role=button] { color: #fff !important; } -.emby-checkbox:checked+ span+ .checkboxOutline { +.emby-checkbox:checked + span + .checkboxOutline { background-color: #030322; border: 2px solid rgb(72, 195, 200); } @@ -379,11 +379,11 @@ a[data-role=button] { color: rgb(12, 232, 214); } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #ff77f1; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border: 2px solid #ff77f1; } diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index 1f0580d9c..c3c97f5f0 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -254,25 +254,25 @@ html { border: 0.07em solid rgba(255, 255, 255, 0.135); } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .emby-select-withcolor:focus { border-color: #00a4dc; } -.emby-checkbox:focus+ span+ .checkboxOutline { +.emby-checkbox:focus + span + .checkboxOutline { border-color: #fff; } -.emby-checkbox:checked+ span+ .checkboxOutline, +.emby-checkbox:checked + span + .checkboxOutline, .itemProgressBarForeground { background-color: #00a4dc; } -.emby-checkbox:focus:not(:checked)+ span+ .checkboxOutline { +.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { border-color: #00a4dc; } -.emby-select-withcolor> option { +.emby-select-withcolor > option { color: #000; background: #fff; } From ce79cb653703775ca255effdd248adaac9e9238d Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:07:52 +0100 Subject: [PATCH 49/68] Fix selector-pseudo-element-colon-notation (CSS) --- src/assets/css/dashboard.css | 4 ++-- src/assets/css/librarybrowser.css | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 2b6d97e06..736478556 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -22,7 +22,7 @@ progress { background: #ccc !important; } -progress[role]:after { +progress[role]::after { background-image: none; } @@ -38,7 +38,7 @@ progress::-webkit-progress-value { background-color: #00a4dc; } -progress[aria-valuenow]:before { +progress[aria-valuenow]::before { border-radius: 0.4em; background-color: #00a4dc; } diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 6ee1f63d5..af6501c17 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -824,7 +824,7 @@ background-color: #c33; } -.recordingProgressBar[aria-valuenow]:before { +.recordingProgressBar[aria-valuenow]::before { background-color: #c33; } From 27714cb8fb387a81496518dfe612ab4e208c3df4 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 15:45:20 +0100 Subject: [PATCH 50/68] Add stylelint config --- .stylelintrc | 160 ++++++++++++++++ package.json | 3 + yarn.lock | 507 ++++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 643 insertions(+), 27 deletions(-) create mode 100644 .stylelintrc diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 000000000..5f0bc35c2 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,160 @@ +{ + "plugins": [ + "stylelint-no-browser-hacks/lib", + "stylelint-order", + "stylelint-config-rational-order/plugin" + ], + "rules": { + "at-rule-empty-line-before": [ "always", { + except: [ + "blockless-after-same-name-blockless", + "first-nested", + ], + ignore: ["after-comment"], + } ], + "at-rule-name-case": "lower", + "at-rule-name-space-after": "always-single-line", + "at-rule-no-unknown": true, + "at-rule-semicolon-newline-after": "always", + "block-closing-brace-empty-line-before": "never", + "block-closing-brace-newline-after": "always", + "block-closing-brace-newline-before": "always-multi-line", + "block-closing-brace-space-before": "always-single-line", + "block-no-empty": true, + "block-opening-brace-newline-after": "always-multi-line", + "block-opening-brace-space-after": "always-single-line", + "block-opening-brace-space-before": "always", + "color-hex-case": "lower", + "color-hex-length": "short", + "color-no-invalid-hex": true, + "comment-empty-line-before": [ "always", { + except: ["first-nested"], + ignore: ["stylelint-commands"], + } ], + "comment-no-empty": true, + "comment-whitespace-inside": "always", + "custom-property-empty-line-before": [ "always", { + except: [ + "after-custom-property", + "first-nested", + ], + ignore: [ + "after-comment", + "inside-single-line-block", + ], + } ], + "declaration-bang-space-after": "never", + "declaration-bang-space-before": "always", + "declaration-block-no-duplicate-properties": [ + true, + { + ignore: ["consecutive-duplicates-with-different-values"] + } + ], + "declaration-block-no-shorthand-property-overrides": true, + "declaration-block-semicolon-newline-after": "always-multi-line", + "declaration-block-semicolon-space-after": "always-single-line", + "declaration-block-semicolon-space-before": "never", + "declaration-block-single-line-max-declarations": 1, + "declaration-block-trailing-semicolon": "always", + "declaration-colon-newline-after": "always-multi-line", + "declaration-colon-space-after": "always-single-line", + "declaration-colon-space-before": "never", + "declaration-empty-line-before": [ "always", { + except: [ + "after-declaration", + "first-nested", + ], + ignore: [ + "after-comment", + "inside-single-line-block", + ], + } ], + "font-family-no-duplicate-names": true, + "function-calc-no-invalid": true, + "function-calc-no-unspaced-operator": true, + "function-comma-newline-after": "always-multi-line", + "function-comma-space-after": "always-single-line", + "function-comma-space-before": "never", + "function-linear-gradient-no-nonstandard-direction": true, + "function-max-empty-lines": 0, + "function-name-case": "lower", + "function-parentheses-newline-inside": "always-multi-line", + "function-parentheses-space-inside": "never-single-line", + "function-whitespace-after": "always", + "indentation": 2, + "keyframe-declaration-no-important": true, + "length-zero-no-unit": true, + "max-empty-lines": 1, + "media-feature-colon-space-after": "always", + "media-feature-colon-space-before": "never", + "media-feature-name-case": "lower", + "media-feature-name-no-unknown": true, + "media-feature-parentheses-space-inside": "never", + "media-feature-range-operator-space-after": "always", + "media-feature-range-operator-space-before": "always", + "media-query-list-comma-newline-after": "always-multi-line", + "media-query-list-comma-space-after": "always-single-line", + "media-query-list-comma-space-before": "never", + "no-descending-specificity": true, + "no-duplicate-at-import-rules": true, + "no-duplicate-selectors": true, + "no-empty-source": true, + "no-eol-whitespace": true, + "no-extra-semicolons": true, + "no-invalid-double-slash-comments": true, + "no-missing-end-of-source-newline": true, + "order/properties-order": [], + "number-leading-zero": "always", + "number-no-trailing-zeros": true, + "plugin/no-browser-hacks": true, + "plugin/rational-order": [true, { + "border-in-box-model": false, + "empty-line-between-groups": true, + }], + "property-case": "lower", + "property-no-unknown": [ + true, + { + "ignoreProperties": [ + "user-drag" + ] + } + ], + "rule-empty-line-before": [ "always-multi-line", { + except: ["first-nested"], + ignore: ["after-comment"], + } ], + "selector-attribute-brackets-space-inside": "never", + "selector-attribute-operator-space-after": "never", + "selector-attribute-operator-space-before": "never", + "selector-combinator-space-after": "always", + "selector-combinator-space-before": "always", + "selector-descendant-combinator-no-non-space": true, + "selector-list-comma-newline-after": "always", + "selector-list-comma-space-before": "never", + "selector-max-empty-lines": 0, + "selector-pseudo-class-case": "lower", + "selector-pseudo-class-no-unknown": true, + "selector-pseudo-class-parentheses-space-inside": "never", + "selector-pseudo-element-case": "lower", + "selector-pseudo-element-colon-notation": "double", + "selector-pseudo-element-no-unknown": [ + true, + { + "ignorePseudoElements": [ + "cue" + ] + } + ], + "selector-type-case": "lower", + "selector-type-no-unknown": true, + "string-no-newline": true, + "unit-case": "lower", + "unit-no-unknown": true, + "value-list-comma-newline-after": "always-multi-line", + "value-list-comma-space-after": "always-single-line", + "value-list-comma-space-before": "never", + "value-list-max-empty-lines": 0, + } +} \ No newline at end of file diff --git a/package.json b/package.json index f46fe5903..ba614a3a3 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "html-webpack-plugin": "^3.2.0", "style-loader": "^0.23.1", "stylelint": "^13.0.0", + "stylelint-config-rational-order": "^0.1.2", + "stylelint-no-browser-hacks": "^1.2.1", + "stylelint-order": "^4.0.0", "webpack": "^4.41.0", "webpack-cli": "^3.3.9", "webpack-concat-plugin": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index b79e6a51f..73a3ff982 100644 --- a/yarn.lock +++ b/yarn.lock @@ -523,6 +523,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -581,6 +586,11 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -591,7 +601,7 @@ array-flatten@^2.1.0: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== -array-union@^1.0.1: +array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= @@ -959,6 +969,15 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" +camelcase-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" + integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= + dependencies: + camelcase "^4.1.0" + map-obj "^2.0.0" + quick-lru "^1.0.0" + camelcase-keys@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.1.1.tgz#0d24dde78cea4c7d2da7f4ea40b7995083328c8d" @@ -968,6 +987,11 @@ camelcase-keys@^6.1.1: map-obj "^4.0.0" quick-lru "^4.0.1" +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -982,6 +1006,17 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" @@ -1128,6 +1163,14 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +clone-regexp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.1.tgz#051805cd33173375d82118fc0918606da39fd60f" + integrity sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw== + dependencies: + is-regexp "^1.0.0" + is-supported-regexp-flag "^1.0.0" + clone-regexp@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" @@ -1436,6 +1479,13 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" @@ -1460,14 +1510,14 @@ debug@^3.0.0, debug@^3.2.5, debug@^3.2.6: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" -decamelize-keys@^1.1.0: +decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= @@ -1612,7 +1662,7 @@ dir-glob@2.0.0: arrify "^1.0.1" path-type "^3.0.0" -dir-glob@^2.0.0: +dir-glob@^2.0.0, dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== @@ -1834,7 +1884,7 @@ escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -1987,6 +2037,13 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execall@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73" + integrity sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M= + dependencies: + clone-regexp "^1.0.0" + execall@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" @@ -2098,7 +2155,7 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-glob@^2.0.2: +fast-glob@^2.0.2, fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== @@ -2164,6 +2221,13 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +file-entry-cache@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-4.0.0.tgz#633567d15364aefe0b299e1e217735e8f3a9f6e8" + integrity sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA== + dependencies: + flat-cache "^2.0.1" + file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -2218,6 +2282,13 @@ find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -2257,6 +2328,11 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -2350,6 +2426,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +gather-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gather-stream/-/gather-stream-1.0.0.tgz#b33994af457a8115700d410f317733cbe7a0904b" + integrity sha1-szmUr0V6gRVwDUEPMXczy+egkEs= + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2379,6 +2460,11 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-stdin@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" @@ -2517,12 +2603,26 @@ globby@^8.0.1: pify "^3.0.0" slash "^1.0.0" +globby@^9.0.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + globjoin@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= -gonzales-pe@^4.2.4: +gonzales-pe@^4.2.3, gonzales-pe@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.4.tgz#356ae36a312c46fe0f1026dd6cb539039f8500d2" integrity sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ== @@ -2544,6 +2644,18 @@ hard-rejection@^2.0.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -2685,6 +2797,11 @@ html-minifier@^3.2.3: relateurl "0.2.x" uglify-js "3.4.x" +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + html-tags@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" @@ -2822,7 +2939,7 @@ ignore@^3.3.5: resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== -ignore@^4.0.6: +ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -2848,6 +2965,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -2948,6 +3070,11 @@ ipaddr.js@^1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +irregular-plurals@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766" + integrity sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y= + is-absolute-url@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" @@ -3167,6 +3294,11 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + is-regexp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" @@ -3177,6 +3309,11 @@ is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-supported-regexp-flag@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz#21ee16518d2c1dd3edd3e9a0d57e50207ac364ca" + integrity sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -3236,6 +3373,11 @@ jquery@>=1.9.1, jquery@^3.4.1: resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== +js-base64@^2.1.9: + version "2.5.1" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" + integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3329,6 +3471,11 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +known-css-properties@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.11.0.tgz#0da784f115ea77c76b81536d7052e90ee6c86a8a" + integrity sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w== + known-css-properties@^0.17.0: version "0.17.0" resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.17.0.tgz#1c535f530ee8e9e3e27bb6a718285780e1d07326" @@ -3341,6 +3488,11 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -3369,6 +3521,16 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -3393,6 +3555,14 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -3408,12 +3578,19 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3: +lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -log-symbols@^2.2.0: +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + +log-symbols@^2.0.0, log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== @@ -3437,6 +3614,14 @@ longest-streak@^2.0.1: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -3479,6 +3664,11 @@ map-obj@^1.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +map-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" + integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= + map-obj@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" @@ -3501,7 +3691,7 @@ markdown-table@^1.1.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== -mathml-tag-names@^2.1.1: +mathml-tag-names@^2.0.1, mathml-tag-names@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== @@ -3544,6 +3734,21 @@ memory-fs@^0.4.0, memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +meow@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" + integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== + dependencies: + camelcase-keys "^4.0.0" + decamelize-keys "^1.0.0" + loud-rejection "^1.0.0" + minimist-options "^3.0.1" + normalize-package-data "^2.3.4" + read-pkg-up "^3.0.0" + redent "^2.0.0" + trim-newlines "^2.0.0" + yargs-parser "^10.0.0" + meow@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/meow/-/meow-6.0.0.tgz#949196fdf21d979379e3bdccb0411e60f8cffd93" @@ -3670,6 +3875,14 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist-options@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + minimist-options@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.0.2.tgz#29c4021373ded40d546186725e57761e4b1984a7" @@ -3905,7 +4118,7 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.5.0: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -4157,6 +4370,11 @@ p-retry@^3.0.1: dependencies: retry "^0.12.0" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -4300,7 +4518,7 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pify@^4.0.1: +pify@^4.0.0, pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== @@ -4324,6 +4542,13 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +plur@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + integrity sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo= + dependencies: + irregular-plurals "^1.0.0" + portfinder@^1.0.24: version "1.0.24" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.24.tgz#11efbc6865f12f37624b6531ead1d809ed965cfa" @@ -4370,7 +4595,17 @@ postcss-modules-values@^2.0.0: icss-replace-symbols "^1.1.0" postcss "^7.0.6" -postcss-reporter@^6.0.1: +postcss-reporter@^1.3.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-1.4.1.tgz#c136f0a5b161915f379dd3765c61075f7e7b9af2" + integrity sha1-wTbwpbFhkV83ndN2XGEHX357mvI= + dependencies: + chalk "^1.0.0" + lodash "^4.1.0" + log-symbols "^1.0.2" + postcss "^5.0.0" + +postcss-reporter@^6.0.0, postcss-reporter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f" integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== @@ -4385,13 +4620,21 @@ postcss-resolve-nested-selector@^0.1.1: resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= -postcss-safe-parser@^4.0.1: +postcss-safe-parser@^4.0.0, postcss-safe-parser@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== dependencies: postcss "^7.0.0" +postcss-sass@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.3.5.tgz#6d3e39f101a53d2efa091f953493116d32beb68c" + integrity sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A== + dependencies: + gonzales-pe "^4.2.3" + postcss "^7.0.1" + postcss-sass@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.4.2.tgz#7d1f8ddf6960d329de28fb3ff43c9c42013646bc" @@ -4407,6 +4650,15 @@ postcss-scss@^2.0.0: dependencies: postcss "^7.0.0" +postcss-selector-parser@^2.0.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-selector-parser@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" @@ -4425,6 +4677,22 @@ postcss-selector-parser@^6.0.0: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-sorting@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-4.1.0.tgz#a107f0bf3852977fa64e4442bc340c88d5aacdb3" + integrity sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw== + dependencies: + lodash "^4.17.4" + postcss "^7.0.0" + +postcss-sorting@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" + integrity sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA== + dependencies: + lodash "^4.17.14" + postcss "^7.0.17" + postcss-syntax@^0.36.2: version "0.36.2" resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" @@ -4444,10 +4712,10 @@ postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.7: - version "7.0.26" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" - integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== +postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -4571,6 +4839,11 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== +quick-lru@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" + integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= + quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -4616,6 +4889,21 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +read-file-stdin@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/read-file-stdin/-/read-file-stdin-0.2.1.tgz#25eccff3a153b6809afacb23ee15387db9e0ee61" + integrity sha1-JezP86FTtoCa+ssj7hU4fbng7mE= + dependencies: + gather-stream "^1.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg-up@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -4625,6 +4913,15 @@ read-pkg-up@^7.0.0: read-pkg "^5.2.0" type-fest "^0.8.1" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -4666,6 +4963,14 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +redent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= + dependencies: + indent-string "^3.0.0" + strip-indent "^2.0.0" + redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -5104,6 +5409,11 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -5445,11 +5755,21 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -5475,6 +5795,57 @@ style-search@^0.1.0: resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= +stylehacks@^2.3: + version "2.3.2" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-2.3.2.tgz#64c83e0438a68c9edf449e8c552a7d9ab6009b0b" + integrity sha1-ZMg+BDimjJ7fRJ6MVSp9mrYAmws= + dependencies: + browserslist "^1.1.3" + chalk "^1.1.1" + log-symbols "^1.0.2" + minimist "^1.2.0" + plur "^2.1.2" + postcss "^5.0.18" + postcss-reporter "^1.3.3" + postcss-selector-parser "^2.0.0" + read-file-stdin "^0.2.1" + text-table "^0.2.0" + write-file-stdout "0.0.2" + +stylelint-config-rational-order@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/stylelint-config-rational-order/-/stylelint-config-rational-order-0.1.2.tgz#4e98e390783d437f0ec41fb73bc41992e78d02a0" + integrity sha512-Qo7ZQaihCwTqijfZg4sbdQQHtugOX/B1/fYh018EiDZHW+lkqH9uHOnsDwDPGZrYJuB6CoyI7MZh2ecw2dOkew== + dependencies: + stylelint "^9.10.1" + stylelint-order "^2.2.1" + +stylelint-no-browser-hacks@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/stylelint-no-browser-hacks/-/stylelint-no-browser-hacks-1.2.1.tgz#c6ae1a53d04d3a8d32de40b6e9b6dec3ec607dea" + integrity sha512-lPcqHx3e/WnrXdw0wdnKtcjcSCAYEXjwSitXRw0OQ2qPF+iLyDFoarbn4qcw38Uuu7q29fhj+w2mECLM0fUOlw== + dependencies: + stylehacks "^2.3" + stylelint "^9.1" + +stylelint-order@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-2.2.1.tgz#cd2d4a0d81d91c705f1d275a58487e5ad5aa5828" + integrity sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg== + dependencies: + lodash "^4.17.10" + postcss "^7.0.2" + postcss-sorting "^4.1.0" + +stylelint-order@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-4.0.0.tgz#2a945c2198caac3ff44687d7c8582c81d044b556" + integrity sha512-bXV0v+jfB0+JKsqIn3mLglg1Dj2QCYkFHNfL1c+rVMEmruZmW5LUqT/ARBERfBm8SFtCuXpEdatidw/3IkcoiA== + dependencies: + lodash "^4.17.15" + postcss "^7.0.26" + postcss-sorting "^5.0.1" + stylelint@^13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.0.0.tgz#532007f7154c1a5ed14245d857a5884316f5111f" @@ -5529,6 +5900,59 @@ stylelint@^13.0.0: v8-compile-cache "^2.1.0" write-file-atomic "^3.0.1" +stylelint@^9.1, stylelint@^9.10.1: + version "9.10.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.10.1.tgz#5f0ee3701461dff1d68284e1386efe8f0677a75d" + integrity sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ== + dependencies: + autoprefixer "^9.0.0" + balanced-match "^1.0.0" + chalk "^2.4.1" + cosmiconfig "^5.0.0" + debug "^4.0.0" + execall "^1.0.0" + file-entry-cache "^4.0.0" + get-stdin "^6.0.0" + global-modules "^2.0.0" + globby "^9.0.0" + globjoin "^0.1.4" + html-tags "^2.0.0" + ignore "^5.0.4" + import-lazy "^3.1.0" + imurmurhash "^0.1.4" + known-css-properties "^0.11.0" + leven "^2.1.0" + lodash "^4.17.4" + log-symbols "^2.0.0" + mathml-tag-names "^2.0.1" + meow "^5.0.0" + micromatch "^3.1.10" + normalize-selector "^0.2.0" + pify "^4.0.0" + postcss "^7.0.13" + postcss-html "^0.36.0" + postcss-jsx "^0.36.0" + postcss-less "^3.1.0" + postcss-markdown "^0.36.0" + postcss-media-query-parser "^0.2.3" + postcss-reporter "^6.0.0" + postcss-resolve-nested-selector "^0.1.1" + postcss-safe-parser "^4.0.0" + postcss-sass "^0.3.5" + postcss-scss "^2.0.0" + postcss-selector-parser "^3.1.0" + postcss-syntax "^0.36.2" + postcss-value-parser "^3.3.0" + resolve-from "^4.0.0" + signal-exit "^3.0.2" + slash "^2.0.0" + specificity "^0.4.1" + string-width "^3.0.0" + style-search "^0.1.0" + sugarss "^2.0.0" + svg-tags "^1.0.0" + table "^5.0.0" + sugarss@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" @@ -5543,6 +5967,18 @@ supports-color@6.1.0, supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -5567,20 +6003,20 @@ swiper@^3.4.2: resolved "https://registry.yarnpkg.com/swiper/-/swiper-3.4.2.tgz#39d6b410b1a39833e1f72d3b72999df5f5e38392" integrity sha1-Oda0ELGjmDPh9y07cpmd9fXjg5I= -table@^5.2.3: - version "5.4.5" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" - integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== +table@^5.0.0, table@^5.4.6: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: ajv "^6.10.2" lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" -table@^5.4.6: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +table@^5.2.3: + version "5.4.5" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" + integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== dependencies: ajv "^6.10.2" lodash "^4.17.14" @@ -5718,6 +6154,11 @@ toposort@^1.0.0: resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= +trim-newlines@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" + integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= + trim-newlines@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" @@ -6306,6 +6747,11 @@ write-file-atomic@^3.0.1: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-file-stdout@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/write-file-stdout/-/write-file-stdout-0.0.2.tgz#c252d7c7c5b1b402897630e3453c7bfe690d9ca1" + integrity sha1-wlLXx8WxtAKJdjDjRTx7/mkNnKE= + write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -6347,6 +6793,13 @@ yaml@^1.7.2: dependencies: "@babel/runtime" "^7.6.3" +yargs-parser@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" From e411ceab5a4106448f98e24744afca9cf32e0d55 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 19 Jan 2020 16:05:35 +0100 Subject: [PATCH 51/68] Add CSS linting to CI --- .ci/azure-pipelines.yml | 4 ++++ .stylelintrc | 10 ---------- package.json | 1 + 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.ci/azure-pipelines.yml b/.ci/azure-pipelines.yml index 0d6b018e0..1b16b94b6 100644 --- a/.ci/azure-pipelines.yml +++ b/.ci/azure-pipelines.yml @@ -57,3 +57,7 @@ jobs: - script: 'yarn run lint' displayName: 'Run ESLint' + + - script: | + yarn run stylelint + displayName: 'Run stylelint' diff --git a/.stylelintrc b/.stylelintrc index 5f0bc35c2..c093f6c7f 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -60,16 +60,6 @@ "declaration-colon-newline-after": "always-multi-line", "declaration-colon-space-after": "always-single-line", "declaration-colon-space-before": "never", - "declaration-empty-line-before": [ "always", { - except: [ - "after-declaration", - "first-nested", - ], - ignore: [ - "after-comment", - "inside-single-line-block", - ], - } ], "font-family-no-duplicate-names": true, "function-calc-no-invalid": true, "function-calc-no-unspaced-operator": true, diff --git a/package.json b/package.json index ba614a3a3..1b144ea30 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "serve": "webpack-dev-server --config webpack.dev.js --open", "build": "webpack --config webpack.prod.js", "lint": "eslint \"src\"", + "stylelint": "stylelint src/**/*.css", "prepare": "webpack --config webpack.prod.js" } } From c53d92accf166718cdc98b48a29bcfdb3352e798 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Mon, 20 Jan 2020 21:14:01 +0100 Subject: [PATCH 52/68] Fix unexpected unit remaining --- .stylelintrc | 8 -------- src/assets/css/librarybrowser.css | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.stylelintrc b/.stylelintrc index c093f6c7f..57ef97a70 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -1,8 +1,6 @@ { "plugins": [ "stylelint-no-browser-hacks/lib", - "stylelint-order", - "stylelint-config-rational-order/plugin" ], "rules": { "at-rule-empty-line-before": [ "always", { @@ -72,7 +70,6 @@ "function-parentheses-newline-inside": "always-multi-line", "function-parentheses-space-inside": "never-single-line", "function-whitespace-after": "always", - "indentation": 2, "keyframe-declaration-no-important": true, "length-zero-no-unit": true, "max-empty-lines": 1, @@ -94,14 +91,9 @@ "no-extra-semicolons": true, "no-invalid-double-slash-comments": true, "no-missing-end-of-source-newline": true, - "order/properties-order": [], "number-leading-zero": "always", "number-no-trailing-zeros": true, "plugin/no-browser-hacks": true, - "plugin/rational-order": [true, { - "border-in-box-model": false, - "empty-line-between-groups": true, - }], "property-case": "lower", "property-no-unknown": [ true, diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index af6501c17..0749c1358 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -25,7 +25,7 @@ } .itemDetailPage { - padding-top: 0em !important; + padding-top: 0 !important; } .standalonePage { From 1646cac34ac75699e87e90b5bc4a872b19397dd2 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Mon, 20 Jan 2020 21:34:18 +0100 Subject: [PATCH 53/68] Remove IE11 from browsersist --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 1b144ea30..55c02ffbd 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,6 @@ "Chrome 53", "Chrome 56", "Chrome 63", - "Explorer 11", "Firefox ESR" ], "scripts": { From 8634ae8400059e89027ffdc560c8c09682d61181 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Wed, 22 Jan 2020 21:40:45 +0100 Subject: [PATCH 54/68] Fix rebasing issues --- src/assets/css/dashboard.css | 26 ++--- src/assets/css/fonts.css | 4 +- src/assets/css/librarybrowser.css | 80 ++++++-------- src/assets/css/scrollstyles.css | 17 ++- src/assets/css/site.css | 2 +- src/assets/css/videoosd.css | 27 ++--- src/components/cardbuilder/card.css | 102 ++++++++++++------ src/components/dialogHelper/dialoghelper.css | 6 +- src/components/formdialog.css | 4 +- src/components/guide/guide.css | 56 +++++++--- src/components/homesections/homesections.css | 4 +- src/components/images/style.css | 37 +++---- src/components/imageuploader/style.css | 5 +- src/components/indicators/indicators.css | 3 +- src/components/listview/listview.css | 16 ++- src/components/navdrawer/navdrawer.css | 10 +- .../nowplayingbar/nowplayingbar.css | 10 +- .../remotecontrol/remotecontrol.css | 17 +-- src/components/slideshow/style.css | 8 +- src/components/viewManager/viewContainer.css | 2 + src/elements/emby-button/emby-button.css | 10 +- src/elements/emby-checkbox/emby-checkbox.css | 1 + src/elements/emby-input/emby-input.css | 8 +- src/elements/emby-radio/emby-radio.css | 1 + src/elements/emby-select/emby-select.css | 8 +- src/elements/emby-slider/emby-slider.css | 4 +- src/elements/emby-textarea/emby-textarea.css | 8 +- src/themes/appletv/theme.css | 38 +++---- src/themes/blueradiance/theme.css | 34 +++--- src/themes/dark/theme.css | 14 +-- src/themes/light/theme.css | 16 +-- src/themes/purplehaze/theme.css | 30 +++--- src/themes/wmc/theme.css | 50 ++++----- 33 files changed, 382 insertions(+), 276 deletions(-) diff --git a/src/assets/css/dashboard.css b/src/assets/css/dashboard.css index 736478556..8c8a9ca7f 100644 --- a/src/assets/css/dashboard.css +++ b/src/assets/css/dashboard.css @@ -2,7 +2,7 @@ .dashboardSections { flex-direction: column; -webkit-box-orient: vertical; - -webkit-box-direction: normal + -webkit-box-direction: normal; } .dashboardFooter { @@ -99,17 +99,17 @@ div[data-role=controlgroup] a[data-role=button] { } div[data-role=controlgroup] a[data-role=button]:first-child { - -webkit-border-bottom-left-radius: .3125em; - border-bottom-left-radius: .3125em; - -webkit-border-top-left-radius: .3125em; - border-top-left-radius: .3125em; + -webkit-border-bottom-left-radius: 0.3125em; + border-bottom-left-radius: 0.3125em; + -webkit-border-top-left-radius: 0.3125em; + border-top-left-radius: 0.3125em; } div[data-role=controlgroup] a[data-role=button]:last-child { - -webkit-border-bottom-right-radius: .3125em; - border-bottom-right-radius: .3125em; - -webkit-border-top-right-radius: .3125em; - border-top-right-radius: .3125em; + -webkit-border-bottom-right-radius: 0.3125em; + border-bottom-right-radius: 0.3125em; + -webkit-border-top-right-radius: 0.3125em; + border-top-right-radius: 0.3125em; } div[data-role=controlgroup] a[data-role=button] + a[data-role=button] { @@ -425,12 +425,12 @@ div[data-role=controlgroup] a.ui-btn-active { @-webkit-keyframes rotating { from { -webkit-transform: rotate(0); - transform: rotate(0) + transform: rotate(0); } to { -webkit-transform: rotate(360deg); - transform: rotate(360deg) + transform: rotate(360deg); } } @@ -452,8 +452,8 @@ div[data-role=controlgroup] a.ui-btn-active { } .pluginPreviewImg { - -webkit-box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); - box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); + -webkit-box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); + box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); } .ui-bar-a { diff --git a/src/assets/css/fonts.css b/src/assets/css/fonts.css index c52eb653e..1fd4a14a0 100644 --- a/src/assets/css/fonts.css +++ b/src/assets/css/fonts.css @@ -5,7 +5,9 @@ html { text-size-adjust: 100%; } -h1, h2, h3 { +h1, + h2, + h3 { /* For better bolding, since Helvetica does not support 500 weight, and 600 is too thick */ font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", 'Open Sans', sans-serif; } diff --git a/src/assets/css/librarybrowser.css b/src/assets/css/librarybrowser.css index 0749c1358..26b65115b 100644 --- a/src/assets/css/librarybrowser.css +++ b/src/assets/css/librarybrowser.css @@ -48,9 +48,9 @@ z-index: 1; margin: 0 !important; top: 6.9em !important; - -webkit-transition: -webkit-transform .2s ease-out; - -o-transition: transform .2s ease-out; - transition: transform .2s ease-out; + -webkit-transition: -webkit-transform 0.2s ease-out; + -o-transition: transform 0.2s ease-out; + transition: transform 0.2s ease-out; } .pageTabContent:not(.is-active) { @@ -84,9 +84,15 @@ display: none; } -.headerLeft, -.headerRight { - justify-content: center; +.headerLeft { + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + flex-grow: 1; + overflow: hidden; + justify-content: flex-start; } .headerRight { @@ -121,7 +127,7 @@ .headerLeft, .skinHeader { display: -webkit-box; - display: -webkit-flex + display: -webkit-flex; } .detailButton-mobile, @@ -129,7 +135,7 @@ flex-direction: column; -webkit-flex-direction: column; -webkit-box-orient: vertical; - -webkit-box-direction: normal + -webkit-box-direction: normal; } .pageTitleWithLogo { @@ -152,11 +158,6 @@ contain: layout style paint; } -.headerLeft, -.headerRight { - -webkit-box-align: center -} - .hiddenViewMenuBar .skinHeader { display: none; } @@ -165,17 +166,6 @@ padding: 0.54em 0; } -.headerLeft { - display: flex; - -webkit-align-items: center; - align-items: center; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - flex-grow: 1; - overflow: hidden; - justify-content: flex-start; -} - .sectionTabs { width: 100%; } @@ -193,7 +183,7 @@ align-items: center; text-decoration: none; color: inherit; - padding: .9em 0 .9em 2.4em !important; + padding: 0.9em 0 0.9em 2.4em !important; -webkit-box-flex: 1; -webkit-flex-grow: 1; flex-grow: 1; @@ -219,9 +209,9 @@ } .dashboardDocument .skinBody { - -webkit-transition: left ease-in-out .3s, padding ease-in-out .3s; - -o-transition: left ease-in-out .3s, padding ease-in-out .3s; - transition: left ease-in-out .3s, padding ease-in-out .3s; + -webkit-transition: left ease-in-out 0.3s, padding ease-in-out 0.3s; + -o-transition: left ease-in-out 0.3s, padding ease-in-out 0.3s; + transition: left ease-in-out 0.3s, padding ease-in-out 0.3s; position: absolute; top: 0; right: 0; @@ -374,9 +364,9 @@ .criticReview { margin: 1.5em 0; background: #222; - padding: .8em .8em .8em 3em; - -webkit-border-radius: .3em; - border-radius: .3em; + padding: 0.8em 0.8em 0.8em 3em; + -webkit-border-radius: 0.3em; + border-radius: 0.3em; position: relative; } @@ -548,8 +538,8 @@ .itemDetailImage { width: 100% !important; - box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); - -webkit-box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); + box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); + -webkit-box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); } @media all and (max-width: 62.5em) { @@ -573,6 +563,15 @@ margin-bottom: 0.5em; } +.btnSyncComplete { + background: #673ab7 !important; +} + +.btnSyncComplete i { + -webkit-border-radius: 100em; + border-radius: 100em; +} + .emby-button.detailFloatingButton { position: absolute; background-color: rgba(0, 0, 0, 0.5) !important; @@ -581,7 +580,7 @@ left: 50%; margin: -2.2em 0 0 -2.2em; padding: 0.4em !important; - color: rgba(255, 255, 255, .76); + color: rgba(255, 255, 255, 0.76); } .emby-button.detailFloatingButton i { @@ -618,7 +617,7 @@ .mainDetailButtons { display: flex; display: -webkit-box; - display: -webkit-flex + display: -webkit-flex; } .itemName { @@ -649,7 +648,7 @@ .recordingFields button { margin-left: 0; - margin-right: .5em; + margin-right: 0.5em; -webkit-flex-shrink: 0; flex-shrink: 0; } @@ -856,15 +855,6 @@ } } -.btnSyncComplete { - background: #673ab7 !important; -} - -.btnSyncComplete i { - -webkit-border-radius: 100em; - border-radius: 100em -} - .bulletSeparator { margin: 0 0.35em; } diff --git a/src/assets/css/scrollstyles.css b/src/assets/css/scrollstyles.css index 431cd2ba1..34ce01c96 100644 --- a/src/assets/css/scrollstyles.css +++ b/src/assets/css/scrollstyles.css @@ -9,7 +9,8 @@ scroll-behavior: smooth; } -.hiddenScrollX, .layout-tv .scrollX { +.hiddenScrollX, + .layout-tv .scrollX { -ms-overflow-style: none; } @@ -17,7 +18,8 @@ overflow: -moz-scrollbars-none; } -.hiddenScrollX::-webkit-scrollbar, .layout-tv .scrollX::-webkit-scrollbar { +.hiddenScrollX::-webkit-scrollbar, + .layout-tv .scrollX::-webkit-scrollbar { height: 0 !important; display: none; } @@ -35,17 +37,22 @@ scroll-behavior: smooth; } -.hiddenScrollY, .layout-tv .smoothScrollY { +.hiddenScrollY, + .layout-tv .smoothScrollY { -ms-overflow-style: none; + /* Can't do this because it not only hides the scrollbar, but also prevents scrolling */ - /*overflow: -moz-scrollbars-none;*/ + + /* overflow: -moz-scrollbars-none; */ } .hiddenScrollY-forced { overflow: -moz-scrollbars-none; } -.hiddenScrollY::-webkit-scrollbar, .layout-tv .smoothScrollY::-webkit-scrollbar, .layout-tv .scrollY::-webkit-scrollbar { +.hiddenScrollY::-webkit-scrollbar, + .layout-tv .smoothScrollY::-webkit-scrollbar, + .layout-tv .scrollY::-webkit-scrollbar { width: 0 !important; display: none; } diff --git a/src/assets/css/site.css b/src/assets/css/site.css index f5821266f..55ce4c880 100644 --- a/src/assets/css/site.css +++ b/src/assets/css/site.css @@ -31,7 +31,7 @@ html { body { overflow-x: hidden; background-color: transparent !important; - -webkit-font-smoothing: antialiased + -webkit-font-smoothing: antialiased; } .mainAnimatedPage { diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index 608a0d8da..c0a09bdc8 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -3,7 +3,7 @@ user-select: none; -webkit-user-select: none; -moz-user-select: none; - -ms-user-select: none + -ms-user-select: none; } .osdPoster img, @@ -15,9 +15,9 @@ } .osdHeader { - -webkit-transition: opacity .3s ease-out; - -o-transition: opacity .3s ease-out; - transition: opacity .3s ease-out; + -webkit-transition: opacity 0.3s ease-out; + -o-transition: opacity 0.3s ease-out; + transition: opacity 0.3s ease-out; position: relative; z-index: 1; background: rgba(0, 0, 0, 0.7) !important; @@ -118,7 +118,7 @@ } .videoOsdBottom .buttons { - padding: .25em 0 0; + padding: 0.25em 0 0; display: -webkit-box; display: -webkit-flex; display: flex; @@ -142,7 +142,7 @@ display: -webkit-box; display: -webkit-flex; align-items: center; - -webkit-box-align: center + -webkit-box-align: center; } .volumeButtons { @@ -224,28 +224,28 @@ @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); - transform:rotate(360deg); + transform: rotate(360deg); } } @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); - transform:rotate(360deg); + transform: rotate(360deg); } } @keyframes spin { 100% { -webkit-transform: rotate(360deg); - transform:rotate(360deg); + transform: rotate(360deg); } } .osdMediaStatus .animate { - -webkit-animation:spin 4s linear infinite; - -moz-animation:spin 4s linear infinite; - animation:spin 4s linear infinite; + -webkit-animation: spin 4s linear infinite; + -moz-animation: spin 4s linear infinite; + animation: spin 4s linear infinite; } .pageContainer { @@ -276,7 +276,8 @@ } @media all and (max-width: 50em) { - .videoOsdBottom .btnFastForward, .videoOsdBottom .btnRewind { + .videoOsdBottom .btnFastForward, + .videoOsdBottom .btnRewind { display: none !important; } } diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index d5e1f6f93..c5232bb54 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -18,7 +18,7 @@ button::-moz-focus-inner { padding: 0; display: block; color: inherit !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none !important; cursor: pointer; contain: layout style; @@ -55,17 +55,27 @@ button::-moz-focus-inner { contain: layout style; } -.cardPadder-backdrop, .cardPadder-mixedBackdrop, .cardPadder-smallBackdrop, .cardPadder-overflowBackdrop, .cardPadder-overflowSmallBackdrop { +.cardPadder-backdrop, + .cardPadder-mixedBackdrop, + .cardPadder-smallBackdrop, + .cardPadder-overflowBackdrop, + .cardPadder-overflowSmallBackdrop { padding-bottom: 56.25%; contain: strict; } -.cardPadder-square, .cardPadder-mixedSquare, .cardPadder-overflowSquare, .overflowSquareCard-textCardPadder { +.cardPadder-square, + .cardPadder-mixedSquare, + .cardPadder-overflowSquare, + .overflowSquareCard-textCardPadder { padding-bottom: 100%; contain: strict; } -.cardPadder-portrait, .cardPadder-mixedPortrait, .cardPadder-overflowPortrait, .overflowPortraitCard-textCardPadder { +.cardPadder-portrait, + .cardPadder-mixedPortrait, + .cardPadder-overflowPortrait, + .overflowPortraitCard-textCardPadder { padding-bottom: 150%; contain: strict; } @@ -80,8 +90,9 @@ button::-moz-focus-inner { margin: 0.6em; transition: none; border: 0 solid transparent; + /* These both are needed in case cardBox is a button */ - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none !important; contain: layout; contain: style; @@ -156,6 +167,7 @@ button::-moz-focus-inner { position: relative; background-clip: content-box !important; color: inherit; + /* This is only needed for scalable cards */ height: 100%; contain: strict; @@ -177,13 +189,16 @@ button::-moz-focus-inner { left: 0; right: 0; bottom: 0; + /* Needed in case this is a button */ display: block; + /* Needed in case this is a button */ margin: 0 !important; + /* Needed in safari */ height: 100%; - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none !important; contain: strict; } @@ -227,6 +242,7 @@ button::-moz-focus-inner { .cardImage-img { max-height: 100%; max-width: 100%; + /* This is simply for lazy image purposes, to ensure the image is visible sooner when scrolling */ min-height: 70%; min-width: 70%; @@ -303,7 +319,7 @@ button::-moz-focus-inner { background: transparent; padding: 0 !important; cursor: pointer; - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none !important; color: inherit; vertical-align: middle; @@ -475,13 +491,15 @@ button::-moz-focus-inner { width: 33.333333333333333333333333333333%; } - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 33.333333333333333333333333333333%; } } @media (min-width: 43.75em) { - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 25%; } } @@ -497,7 +515,8 @@ button::-moz-focus-inner { width: 50%; } - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 20%; } @@ -517,7 +536,8 @@ button::-moz-focus-inner { width: 25%; } - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 16.666666666666666666666666666667%; } @@ -531,7 +551,8 @@ button::-moz-focus-inner { } @media (min-width: 87.5em) { - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 14.285714285714285714285714285714%; } @@ -549,13 +570,15 @@ button::-moz-focus-inner { width: 20%; } - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 12.5%; } } @media (min-width: 120em) { - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 11.111111111111111111111111111111%; } } @@ -565,7 +588,8 @@ button::-moz-focus-inner { width: 25%; } - .squareCard, .portraitCard { + .squareCard, + .portraitCard { width: 10%; } } @@ -596,7 +620,8 @@ button::-moz-focus-inner { width: 72vw; } -.overflowSquareCard, .overflowPortraitCard { +.overflowSquareCard, + .overflowPortraitCard { width: 40vw; } @@ -621,29 +646,34 @@ button::-moz-focus-inner { } @media (min-width: 43.75em) { - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 23.1vw; } } @media (min-width: 48.125em) { - .overflowBackdropCard, .overflowSmallBackdropCard { + .overflowBackdropCard, + .overflowSmallBackdropCard { width: 30vw; } } @media (orientation: landscape) { - .overflowBackdropCard, .overflowSmallBackdropCard { + .overflowBackdropCard, + .overflowSmallBackdropCard { width: 30vw; } - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 23.1vw; } } @media (orientation: landscape) and (min-width: 48.125em) { - .overflowBackdropCard, .overflowSmallBackdropCard { + .overflowBackdropCard, + .overflowSmallBackdropCard { width: 23.1vw; } } @@ -655,51 +685,60 @@ button::-moz-focus-inner { } @media (min-width: 50em) { - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 18.5vw; } } @media (min-width: 75em) { - .overflowBackdropCard, .overflowSmallBackdropCard { + .overflowBackdropCard, + .overflowSmallBackdropCard { width: 23.1vw; } - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 15.5vw; } } @media (min-width: 87.5em) { - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 13.3vw; } } @media (min-width: 100em) { - .overflowBackdropCard, .overflowSmallBackdropCard { + .overflowBackdropCard, + .overflowSmallBackdropCard { width: 18.7vw; } - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 11.6vw; } } @media (min-width: 120em) { - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 10.3vw; } } @media (min-width: 131.25em) { - .overflowSquareCard, .overflowPortraitCard { + .overflowSquareCard, + .overflowPortraitCard { width: 9.3vw; } } @media (min-width: 156.25em) { - .overflowBackdropCard, .overflowSmallBackdropCard { + .overflowBackdropCard, + .overflowSmallBackdropCard { width: 15.6vw; } } @@ -716,7 +755,8 @@ button::-moz-focus-inner { padding-bottom: 87.75%; } -.itemsContainer-tv > .overflowSquareCard, .itemsContainer-tv > .overflowPortraitCard { +.itemsContainer-tv > .overflowSquareCard, + .itemsContainer-tv > .overflowPortraitCard { width: 15.6vw; } diff --git a/src/components/dialogHelper/dialoghelper.css b/src/components/dialogHelper/dialoghelper.css index ecdaa4f9e..0076eada6 100644 --- a/src/components/dialogHelper/dialoghelper.css +++ b/src/components/dialogHelper/dialoghelper.css @@ -15,11 +15,12 @@ .dialog { margin: 0; - border-radius: .2em; + border-radius: 0.2em; -webkit-font-smoothing: antialiased; border: 0; padding: 0; will-change: transform, opacity; + /* Strict does not work well with actionsheet */ contain: style paint; box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.4); @@ -112,7 +113,8 @@ } @media all and (max-width: 80em), all and (max-height: 45em) { - .dialog-fixedSize, .dialog-fullscreen-lowres { + .dialog-fixedSize, + .dialog-fullscreen-lowres { position: fixed !important; top: 0 !important; bottom: 0 !important; diff --git a/src/components/formdialog.css b/src/components/formdialog.css index 932ee8f2d..788331da9 100644 --- a/src/components/formdialog.css +++ b/src/components/formdialog.css @@ -12,7 +12,8 @@ } .formDialogHeaderTitle { - margin-left: .25em; + margin-left: 0.25em; + /* In case of h1, h2, h3 */ margin-top: 0; margin-bottom: 0; @@ -46,6 +47,7 @@ display: flex; position: absolute; padding: 1.25em 1em; + /* Without this emby-checkbox is able to appear on top */ z-index: 1; align-items: center; diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 52a501fd3..119f0c142 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -91,24 +91,28 @@ flex-shrink: 0; } -.channelPrograms, .timeslotHeadersInner { +.channelPrograms, + .timeslotHeadersInner { width: 1800vw; } @media all and (min-width: 37.5em) { - .channelPrograms, .timeslotHeadersInner { + .channelPrograms, + .timeslotHeadersInner { width: 1400vw; } } @media all and (min-width: 50em) { - .channelPrograms, .timeslotHeadersInner { + .channelPrograms, + .timeslotHeadersInner { width: 1200vw; } } @media all and (min-width: 80em) { - .channelPrograms, .timeslotHeadersInner { + .channelPrograms, + .timeslotHeadersInner { width: 810vw; } } @@ -120,11 +124,13 @@ width: 2.0833333333333333333333333333333%; } -.programCell, .guide-channelHeaderCell { +.programCell, + .guide-channelHeaderCell { outline: none !important; } -.guide-channelHeaderCell, .guide-channelTimeslotHeader { +.guide-channelHeaderCell, + .guide-channelTimeslotHeader { padding: 0 !important; cursor: pointer; outline: none !important; @@ -138,6 +144,7 @@ display: flex; align-items: center; text-decoration: none; + /* Needed in firefox */ text-align: left; contain: strict; @@ -159,30 +166,35 @@ /* Important - have to put the fixed width on channelsContainer, not the individual channelHeaderCell This was causing channelsContainer to extend beyond the fixed width on ps4, tizen, lg and opera tv. */ -.channelsContainer, .guide-channelTimeslotHeader { +.channelsContainer, + .guide-channelTimeslotHeader { width: 24vw; } @media all and (min-width: 31.25em) { - .channelsContainer, .guide-channelTimeslotHeader { + .channelsContainer, + .guide-channelTimeslotHeader { width: 16vw; } } @media all and (min-width: 37.5em) { - .channelsContainer, .guide-channelTimeslotHeader { + .channelsContainer, + .guide-channelTimeslotHeader { width: 16vw; } } @media all and (min-width: 50em) { - .channelsContainer, .guide-channelTimeslotHeader { + .channelsContainer, + .guide-channelTimeslotHeader { width: 14vw; } } @media all and (min-width: 80em) { - .channelsContainer, .guide-channelTimeslotHeader { + .channelsContainer, + .guide-channelTimeslotHeader { width: 12vw; } } @@ -201,20 +213,26 @@ } @media all and (max-width: 50em) { - .newTvProgram, .liveTvProgram, .premiereTvProgram, .guideHdIcon { + .newTvProgram, + .liveTvProgram, + .premiereTvProgram, + .guideHdIcon { display: none; } } - .channelPrograms + .channelPrograms, .guide-channelHeaderCell + .guide-channelHeaderCell { + .channelPrograms + .channelPrograms, + .guide-channelHeaderCell + .guide-channelHeaderCell { margin-top: -1px; } -.channelPrograms-tv, .guide-channelHeaderCell-tv { +.channelPrograms-tv, + .guide-channelHeaderCell-tv { height: 3em; } -.guide-channelTimeslotHeader, .timeslotHeader { +.guide-channelTimeslotHeader, + .timeslotHeader { background: transparent !important; height: 2.8em; } @@ -243,6 +261,7 @@ text-decoration: none; overflow: hidden; align-items: center; + /* Needed for Firefox */ text-align: left; contain: strict; @@ -259,6 +278,7 @@ position: relative; flex-grow: 1; contain: layout style paint; + /* transition: transform 60ms ease-out; */ } @@ -356,11 +376,13 @@ flex-direction: column; } -.channelsContainer, .programGrid { +.channelsContainer, + .programGrid { contain: layout style paint; } -.timerIcon, .seriesTimerIcon { +.timerIcon, + .seriesTimerIcon { color: #c33 !important; } diff --git a/src/components/homesections/homesections.css b/src/components/homesections/homesections.css index 164e96314..2a119c098 100644 --- a/src/components/homesections/homesections.css +++ b/src/components/homesections/homesections.css @@ -10,8 +10,8 @@ } .homeLibraryIcon { - margin-left: .5em; - margin-right: .5em; + margin-left: 0.5em; + margin-right: 0.5em; -webkit-flex-shrink: 0; flex-shrink: 0; } diff --git a/src/components/images/style.css b/src/components/images/style.css index dc0fc6f61..2836dd015 100644 --- a/src/components/images/style.css +++ b/src/components/images/style.css @@ -1,5 +1,22 @@ .lazy-image-fadein { + opacity: 0; animation: lazy-image-fadein 330ms ease-in normal both; + -webkit-animation-duration: 0.8s; + -moz-animation-duration: 0.8s; + -o-animation-duration: 0.8s; + animation-duration: 0.8s; + -webkit-animation-name: popInAnimation; + -moz-animation-name: popInAnimation; + -o-animation-name: popInAnimation; + animation-name: popInAnimation; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + -o-animation-fill-mode: forwards; + animation-fill-mode: forwards; + -webkit-animation-timing-function: cubic-bezier(0, 0, 0.5, 1); + -moz-animation-timing-function: cubic-bezier(0, 0, 0.5, 1); + -o-animation-timing-function: cubic-bezier(0, 0, 0.5, 1); + animation-timing-function: cubic-bezier(0, 0, 0.5, 1); } .lazy-image-fadein-fast { @@ -16,26 +33,6 @@ } } -.lazy-image-fadein { - opacity: 0; - -webkit-animation-duration: .8s; - -moz-animation-duration: .8s; - -o-animation-duration: .8s; - animation-duration: .8s; - -webkit-animation-name: popInAnimation; - -moz-animation-name: popInAnimation; - -o-animation-name: popInAnimation; - animation-name: popInAnimation; - -webkit-animation-fill-mode: forwards; - -moz-animation-fill-mode: forwards; - -o-animation-fill-mode: forwards; - animation-fill-mode: forwards; - -webkit-animation-timing-function: cubic-bezier(0,0,.5,1); - -moz-animation-timing-function: cubic-bezier(0,0,.5,1); - -o-animation-timing-function: cubic-bezier(0,0,.5,1); - animation-timing-function: cubic-bezier(0,0,.5,1); -} - @keyframes popInAnimation { 0% { opacity: 0; diff --git a/src/components/imageuploader/style.css b/src/components/imageuploader/style.css index a4b3ee910..dc4fecb10 100644 --- a/src/components/imageuploader/style.css +++ b/src/components/imageuploader/style.css @@ -1,6 +1,7 @@ .imageEditor-dropZone { - border: .2em dashed currentcolor; - border-radius: .25em; + border: 0.2em dashed currentcolor; + border-radius: 0.25em; + /* padding: 1.6em; */ text-align: center; position: relative; diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index 28132aab7..4343b6986 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -85,7 +85,8 @@ color: #333; } -.missingIndicator, .unairedIndicator { +.missingIndicator, + .unairedIndicator { background: #c33; padding: 0.25em 0.5em; border-radius: 100em; diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css index bd77ca778..9a355d1b0 100644 --- a/src/components/listview/listview.css +++ b/src/components/listview/listview.css @@ -53,11 +53,15 @@ transform: scale(1) !important; } -.listItemImage, .listItemIcon, .listItemAside { +.listItemImage, + .listItemIcon, + .listItemAside { flex-shrink: 0; } -.listItemBody, .listItemImage, .listItemIcon { +.listItemBody, + .listItemImage, + .listItemIcon { display: inline-block; vertical-align: middle; } @@ -85,7 +89,9 @@ justify-content: center; } -.listItem, .listItemBody, .listItemMediaInfo { +.listItem, + .listItemBody, + .listItemMediaInfo { display: flex; contain: layout style; } @@ -253,7 +259,9 @@ } @media all and (max-width: 50em) { - .listItem .endsAt, .listItem .criticRating, .listItem-overview { + .listItem .endsAt, + .listItem .criticRating, + .listItem-overview { display: none !important; } } diff --git a/src/components/navdrawer/navdrawer.css b/src/components/navdrawer/navdrawer.css index b19731d77..6d5d098de 100644 --- a/src/components/navdrawer/navdrawer.css +++ b/src/components/navdrawer/navdrawer.css @@ -25,8 +25,8 @@ } .drawer-open { - -webkit-box-shadow: 2px 0 12px rgba(0, 0, 0, .4); - box-shadow: 2px 0 12px rgba(0, 0, 0, .4); + -webkit-box-shadow: 2px 0 12px rgba(0, 0, 0, 0.4); + box-shadow: 2px 0 12px rgba(0, 0, 0, 0.4); } .scrollContainer { @@ -40,9 +40,9 @@ right: 0; opacity: 0; z-index: 1098; - -webkit-transition: opacity ease-in-out .38s, visibility ease-in-out .38s; - -o-transition: opacity ease-in-out .38s, visibility ease-in-out .38s; - transition: opacity ease-in-out .38s, visibility ease-in-out .38s; + -webkit-transition: opacity ease-in-out 0.38s, visibility ease-in-out 0.38s; + -o-transition: opacity ease-in-out 0.38s, visibility ease-in-out 0.38s; + transition: opacity ease-in-out 0.38s, visibility ease-in-out 0.38s; will-change: opacity; background-color: rgba(0, 0, 0, 0.3); } diff --git a/src/components/nowplayingbar/nowplayingbar.css b/src/components/nowplayingbar/nowplayingbar.css index ea1a1a9e7..75a8ba0b6 100644 --- a/src/components/nowplayingbar/nowplayingbar.css +++ b/src/components/nowplayingbar/nowplayingbar.css @@ -28,7 +28,8 @@ justify-content: center; } -.mediaButton, .nowPlayingBarUserDataButtons .btnUserItemRating { +.mediaButton, + .nowPlayingBarUserDataButtons .btnUserItemRating { vertical-align: middle; margin: 0; text-align: center; @@ -62,6 +63,7 @@ .nowPlayingBarCenter { vertical-align: middle; text-align: center; + /* Need this to make sure it's on top of nowPlayingBarPositionContainer so that buttons are fully clickable */ z-index: 2; flex-grow: 1; @@ -89,7 +91,8 @@ .nowPlayingBarRight { position: relative; - margin: 0 .5em 0 auto; + margin: 0 0.5em 0 auto; + /* Need this to make sure it's on top of nowPlayingBarPositionContainer so that buttons are fully clickable */ z-index: 2; display: flex; @@ -161,7 +164,8 @@ } @media all and (max-width: 24em) { - .nowPlayingBar .muteButton, .nowPlayingBar .unmuteButton { + .nowPlayingBar .muteButton, + .nowPlayingBar .unmuteButton { display: none; } } diff --git a/src/components/remotecontrol/remotecontrol.css b/src/components/remotecontrol/remotecontrol.css index 6f36fc866..83a1c48e5 100644 --- a/src/components/remotecontrol/remotecontrol.css +++ b/src/components/remotecontrol/remotecontrol.css @@ -12,23 +12,23 @@ text-align: center; } -.btnArrowUp{ +.btnArrowUp { border-radius: 40% 40% 10% 10%; } -.btnArrowLeft{ +.btnArrowLeft { border-radius: 40% 10% 10% 40%; } -.btnArrowRight{ +.btnArrowRight { border-radius: 10% 40% 40% 10%; } -.btnArrowDown{ +.btnArrowDown { border-radius: 10% 10% 40% 40%; } -.btnOk{ +.btnOk { border-radius: 10%; } @@ -55,7 +55,7 @@ .nowPlayingTime { display: flex; display: -webkit-box; - display: -webkit-flex + display: -webkit-flex; } .nowPlayingPageImageContainer { @@ -99,7 +99,7 @@ -moz-user-select: none; -webkit-user-drag: none; -webkit-user-select: none; - -ms-user-select: none + -ms-user-select: none; } @media all and (orientation: portrait) and (max-width: 50em) { @@ -218,7 +218,8 @@ .nowPlayingInfoButtons .nowPlayingPageUserDataButtons { display: none !important; } - .navigationSection .collapseContent i{ + + .navigationSection .collapseContent i { font-size: 4em; } } diff --git a/src/components/slideshow/style.css b/src/components/slideshow/style.css index 046aff2bd..f95952a0d 100644 --- a/src/components/slideshow/style.css +++ b/src/components/slideshow/style.css @@ -3,11 +3,14 @@ background: #000; } -.slideshowSwiperContainer, .swiper-wrapper, .swiper-slide { +.slideshowSwiperContainer, + .swiper-wrapper, + .swiper-slide { background: #000; } -.slideshowImage, .slideshowSwiperContainer { +.slideshowImage, + .slideshowSwiperContainer { position: fixed; top: 0; right: 0; @@ -32,6 +35,7 @@ color: #fff; z-index: 1002; font-weight: normal; + /* Add an outline */ text-shadow: 3px 3px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } diff --git a/src/components/viewManager/viewContainer.css b/src/components/viewManager/viewContainer.css index 9c46dd18a..61d934501 100644 --- a/src/components/viewManager/viewContainer.css +++ b/src/components/viewManager/viewContainer.css @@ -5,7 +5,9 @@ right: 0; bottom: 0; contain: layout style size; + /* Can't use will-change because it causes the alpha picker to move when the page scrolls */ + /* will-change: transform; */ } diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index eedf61668..9d4c28790 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -8,6 +8,7 @@ font-size: inherit; font-family: inherit; color: inherit; + /* These are getting an outline in opera tv browsers, which run chrome 30 */ outline: none !important; outline-width: 0; @@ -22,9 +23,11 @@ border: 0; border-radius: 0.2em; font-weight: 600; + /* Disable webkit tap highlighting */ - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-decoration: none; + /* Not crazy about this but it normalizes heights between anchors and buttons */ line-height: 1.35; transform-origin: center; @@ -110,12 +113,14 @@ padding: 0.556em; vertical-align: middle; border: 0; + /* These are getting an outline in opera tv browsers, which run chrome 30 */ outline: none !important; overflow: hidden; border-radius: 50%; + /* Disable webkit tap highlighting */ - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); justify-content: center; transform-origin: center; transition: 0.2s; @@ -137,6 +142,7 @@ .paper-icon-button-light > i { font-size: 1.66956521739130434em; + /* Make sure its on top of the ripple */ position: relative; z-index: 1; diff --git a/src/elements/emby-checkbox/emby-checkbox.css b/src/elements/emby-checkbox/emby-checkbox.css index b7637c6df..b34d1f6d5 100644 --- a/src/elements/emby-checkbox/emby-checkbox.css +++ b/src/elements/emby-checkbox/emby-checkbox.css @@ -32,6 +32,7 @@ .emby-checkbox { position: absolute; + /* This is for focusing purposes, so the focusManager doesn't skip over it */ width: 1px; height: 1px; diff --git a/src/elements/emby-input/emby-input.css b/src/elements/emby-input/emby-input.css index 273638e59..8cd082aaa 100644 --- a/src/elements/emby-input/emby-input.css +++ b/src/elements/emby-input/emby-input.css @@ -2,18 +2,22 @@ display: block; margin: 0; margin-bottom: 0 !important; + /* Remove select styling */ + /* Font size must the 16px or larger to prevent iOS page zoom on focus */ font-size: 110%; + /* General select styles: change as needed */ font-family: inherit; font-weight: inherit; - padding: .4em .25em; + padding: 0.4em 0.25em; + /* Prevent padding from causing width overflow */ -webkit-box-sizing: border-box; box-sizing: border-box; outline: none !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 100%; } diff --git a/src/elements/emby-radio/emby-radio.css b/src/elements/emby-radio/emby-radio.css index bda1083d3..6db3c39e4 100644 --- a/src/elements/emby-radio/emby-radio.css +++ b/src/elements/emby-radio/emby-radio.css @@ -17,6 +17,7 @@ .mdl-radio__button { line-height: 24px; position: absolute; + /* 1px is for focusing purposes, so the focusManager doesn't skip over it */ width: 1px; height: 1px; diff --git a/src/elements/emby-select/emby-select.css b/src/elements/emby-select/emby-select.css index b99f9879b..32c2905b4 100644 --- a/src/elements/emby-select/emby-select.css +++ b/src/elements/emby-select/emby-select.css @@ -2,17 +2,21 @@ display: block; margin: 0; margin-bottom: 0 !important; + /* Remove select styling */ + /* Font size must the 16px or larger to prevent iOS page zoom on focus */ font-size: 110%; + /* General select styles: change as needed */ font-family: inherit; font-weight: inherit; - padding: .5em 1.9em .5em .5em; + padding: 0.5em 1.9em 0.5em 0.5em; + /* Prevent padding from causing width overflow */ box-sizing: border-box; outline: none !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 100%; } diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index 111fd2343..53fd0793e 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -25,8 +25,9 @@ z-index: 1; cursor: pointer; margin: 0; + /* Disable webkit tap highlighting */ - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); display: block; } @@ -199,6 +200,7 @@ .mdl-slider-background-lower-withtransform { width: 100%; + /* transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); */ transform-origin: left center; transform: scaleX(0); diff --git a/src/elements/emby-textarea/emby-textarea.css b/src/elements/emby-textarea/emby-textarea.css index 54ca33f6b..44dfaee51 100644 --- a/src/elements/emby-textarea/emby-textarea.css +++ b/src/elements/emby-textarea/emby-textarea.css @@ -2,18 +2,22 @@ display: block; margin: 0; margin-bottom: 0 !important; + /* Remove select styling */ + /* Font size must the 16px or larger to prevent iOS page zoom on focus */ font-size: inherit; + /* General select styles: change as needed */ font-family: inherit; font-weight: inherit; color: inherit; - padding: .35em .25em; + padding: 0.35em 0.25em; + /* Prevent padding from causing width overflow */ box-sizing: border-box; outline: none !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 100%; } diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index 6b25ba614..ee2a3565d 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -23,10 +23,10 @@ html { .skinHeader-withBackground { color: rgba(0, 0, 0, 0.7); background: #303030; - background: -webkit-gradient(linear, left top, right top, from(#BCBCBC), color-stop(#A7B4B7), color-stop(#BEB5A5), color-stop(#ADBEC2), to(#B9C7CB)); - background: -webkit-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); - background: -o-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); - background: linear-gradient(to right, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); + background: -webkit-gradient(linear, left top, right top, from(#bcbcbc), color-stop(#a7b4b7), color-stop(#beb5a5), color-stop(#adbec2), to(#b9c7cb)); + background: -webkit-linear-gradient(left, #bcbcbc, #a7b4b7, #beb5a5, #adbec2, #b9c7cb); + background: -o-linear-gradient(left, #bcbcbc, #a7b4b7, #beb5a5, #adbec2, #b9c7cb); + background: linear-gradient(to right, #bcbcbc, #a7b4b7, #beb5a5, #adbec2, #b9c7cb); } .skinHeader.semiTransparent { @@ -44,16 +44,16 @@ html { .backgroundContainer, .dialog { - background: #D5E9F2; + background: #d5e9f2; -webkit-background-size: 100% 100%; background-size: 100% 100%; } .backgroundContainer.withBackdrop { - background: -webkit-gradient(linear, left top, left bottom, from(rgba(192, 212, 222, .94)), color-stop(rgba(235, 250, 254, .94)), color-stop(rgba(227, 220, 212, .94)), color-stop(rgba(206, 214, 216, .94)), to(rgba(192, 211, 218, .94))); - background: -webkit-linear-gradient(top, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)); - background: -o-linear-gradient(top, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)); - background: linear-gradient(to bottom, rgba(192, 212, 222, .94), rgba(235, 250, 254, .94), rgba(227, 220, 212, .94), rgba(206, 214, 216, .94), rgba(192, 211, 218, .94)); + background: -webkit-gradient(linear, left top, left bottom, from(rgba(192, 212, 222, 0.94)), color-stop(rgba(235, 250, 254, 0.94)), color-stop(rgba(227, 220, 212, 0.94)), color-stop(rgba(206, 214, 216, 0.94)), to(rgba(192, 211, 218, 0.94))); + background: -webkit-linear-gradient(top, rgba(192, 212, 222, 0.94), rgba(235, 250, 254, 0.94), rgba(227, 220, 212, 0.94), rgba(206, 214, 216, 0.94), rgba(192, 211, 218, 0.94)); + background: -o-linear-gradient(top, rgba(192, 212, 222, 0.94), rgba(235, 250, 254, 0.94), rgba(227, 220, 212, 0.94), rgba(206, 214, 216, 0.94), rgba(192, 211, 218, 0.94)); + background: linear-gradient(to bottom, rgba(192, 212, 222, 0.94), rgba(235, 250, 254, 0.94), rgba(227, 220, 212, 0.94), rgba(206, 214, 216, 0.94), rgba(192, 211, 218, 0.94)); } .actionSheet { @@ -189,10 +189,10 @@ html { .formDialogFooter:not(.formDialogFooter-clear) { color: rgba(0, 0, 0, 0.7); background: #303030; - background: -webkit-gradient(linear, left top, right top, from(#BCBCBC), color-stop(#A7B4B7), color-stop(#BEB5A5), color-stop(#ADBEC2), to(#B9C7CB)); - background: -webkit-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); - background: -o-linear-gradient(left, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); - background: linear-gradient(to right, #BCBCBC, #A7B4B7, #BEB5A5, #ADBEC2, #B9C7CB); + background: -webkit-gradient(linear, left top, right top, from(#bcbcbc), color-stop(#a7b4b7), color-stop(#beb5a5), color-stop(#adbec2), to(#b9c7cb)); + background: -webkit-linear-gradient(left, #bcbcbc, #a7b4b7, #beb5a5, #adbec2, #b9c7cb); + background: -o-linear-gradient(left, #bcbcbc, #a7b4b7, #beb5a5, #adbec2, #b9c7cb); + background: linear-gradient(to right, #bcbcbc, #a7b4b7, #beb5a5, #adbec2, #b9c7cb); } .nowPlayingBarSecondaryText { @@ -254,10 +254,10 @@ html { .emby-input, .emby-textarea { color: inherit; - background: rgba(255, 255, 255, .9); - border: .07em solid rgba(0, 0, 0, .158); - -webkit-border-radius: .15em; - border-radius: .15em; + background: rgba(255, 255, 255, 0.9); + border: 0.07em solid rgba(0, 0, 0, 0.158); + -webkit-border-radius: 0.15em; + border-radius: 0.15em; } .emby-input:focus, @@ -408,8 +408,8 @@ html { color: #000; background: #fff3a5; padding: 1em; - -webkit-border-radius: .25em; - border-radius: .25em; + -webkit-border-radius: 0.25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index e86e8f445..59cf8c5b1 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -17,20 +17,20 @@ html { .skinHeader-withBackground { background: #303030; - background: -webkit-gradient(linear, left top, right top, from(#291A31), color-stop(#033664), color-stop(#011432), color-stop(#141A3A), to(#291A31)); - background: -webkit-linear-gradient(left, #291A31, #033664, #011432, #141A3A, #291A31); - background: -o-linear-gradient(left, #291A31, #033664, #011432, #141A3A, #291A31); - background: linear-gradient(to right, #291A31, #033664, #011432, #141A3A, #291A31); + background: -webkit-gradient(linear, left top, right top, from(#291a31), color-stop(#033664), color-stop(#011432), color-stop(#141a3a), to(#291a31)); + background: -webkit-linear-gradient(left, #291a31, #033664, #011432, #141a3a, #291a31); + background: -o-linear-gradient(left, #291a31, #033664, #011432, #141a3a, #291a31); + background: linear-gradient(to right, #291a31, #033664, #011432, #141a3a, #291a31); } .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; - background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); - background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background-color: rgba(0, 0, 0, .3); + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0))); + background: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background: -o-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background-color: rgba(0, 0, 0, 0.3); } .pageTitleWithDefaultLogo { @@ -251,10 +251,10 @@ html { .emby-input, .emby-textarea { color: inherit; - background: rgba(0, 0, 0, .5); - border: .07em solid transparent; - -webkit-border-radius: .15em; - border-radius: .15em; + background: rgba(0, 0, 0, 0.5); + border: 0.07em solid transparent; + -webkit-border-radius: 0.15em; + border-radius: 0.15em; } .emby-input:focus, @@ -411,8 +411,8 @@ html { color: #ddd; background: #111; padding: 1em; - -webkit-border-radius: .25em; - border-radius: .25em; + -webkit-border-radius: 0.25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { @@ -438,8 +438,8 @@ html { } ::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); - box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); } ::-webkit-scrollbar-track-piece { diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index c2f4308dd..ff66451fd 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -226,9 +226,9 @@ html { .emby-textarea { color: inherit; background: #292929; - border: .07em solid #292929; - -webkit-border-radius: .15em; - border-radius: .15em; + border: 0.07em solid #292929; + -webkit-border-radius: 0.15em; + border-radius: 0.15em; } .emby-input:focus, @@ -381,8 +381,8 @@ html { color: #ddd; background: #111; padding: 1em; - -webkit-border-radius: .25em; - border-radius: .25em; + -webkit-border-radius: 0.25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { @@ -408,8 +408,8 @@ html { } ::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); - box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); } ::-webkit-scrollbar-track-piece { diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index beb672aec..f248ab931 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -22,9 +22,9 @@ html { .skinHeader-withBackground { background-color: #303030; color: #ccc; - color: rgba(255, 255, 255, .87); - -webkit-box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); - box-shadow: 0 .0725em .29em 0 rgba(0, 0, 0, .37); + color: rgba(255, 255, 255, 0.87); + -webkit-box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); + box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37); } .osdHeader { @@ -248,9 +248,9 @@ html { .emby-textarea { color: inherit; background: #fff; - border: .07em solid rgba(0, 0, 0, .158); - -webkit-border-radius: .15em; - border-radius: .15em; + border: 0.07em solid rgba(0, 0, 0, 0.158); + -webkit-border-radius: 0.15em; + border-radius: 0.15em; } .emby-input:focus, @@ -400,8 +400,8 @@ html { color: #000; background: #fff3a5; padding: 1em; - -webkit-border-radius: .25em; - border-radius: .25em; + -webkit-border-radius: 0.25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css index f8406f234..342510947 100644 --- a/src/themes/purplehaze/theme.css +++ b/src/themes/purplehaze/theme.css @@ -18,18 +18,18 @@ html { .skinHeader-withBackground { background: #000420; background: -moz-linear-gradient(left, #000420 0%, #06256f 18%, #2b052b 38%, #2b052b 68%, #06256f 81%, #000420 100%); - background: -webkit-linear-gradient(left, #000420 0%,#06256f 18%,#2b052b 38%,#2b052b 68%,#06256f 81%,#000420 100%); - background: linear-gradient(to right, #000420 0%,#06256f 18%,#2b052b 38%,#2b052b 68%,#06256f 81%,#000420 100%); + background: -webkit-linear-gradient(left, #000420 0%, #06256f 18%, #2b052b 38%, #2b052b 68%, #06256f 81%, #000420 100%); + background: linear-gradient(to right, #000420 0%, #06256f 18%, #2b052b 38%, #2b052b 68%, #06256f 81%, #000420 100%); } .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; - background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); - background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background-color: rgba(0, 0, 0, .3); + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0))); + background: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background: -o-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background-color: rgba(0, 0, 0, 0.3); } .pageTitleWithDefaultLogo { @@ -339,10 +339,10 @@ a[data-role=button] { .emby-input, .emby-textarea { color: inherit; - background: rgba(0, 0, 0, .5); - border: .07em solid transparent; - -webkit-border-radius: .15em; - border-radius: .15em; + background: rgba(0, 0, 0, 0.5); + border: 0.07em solid transparent; + -webkit-border-radius: 0.15em; + border-radius: 0.15em; } .emby-input:focus, @@ -504,8 +504,8 @@ a[data-role=button] { color: #0e0f2d; background: #dbe6ff; padding: 1em; - -webkit-border-radius: .25em; - border-radius: .25em; + -webkit-border-radius: 0.25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { @@ -542,8 +542,8 @@ a[data-role=button] { } ::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); - box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); } ::-webkit-scrollbar-track-piece { diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index c3c97f5f0..8190f1ac5 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -32,11 +32,11 @@ html { .skinHeader.semiTransparent { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; - background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0))); - background: -webkit-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: -o-linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); - background-color: rgba(0, 0, 0, .3); + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0))); + background: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background: -o-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); + background-color: rgba(0, 0, 0, 0.3); } .pageTitleWithDefaultLogo { @@ -45,11 +45,11 @@ html { .backgroundContainer, .dialog { - background: -webkit-gradient(linear, left top, left bottom, from(#0F3562), color-stop(#1162A4), to(#03215F)); - background: -webkit-linear-gradient(top, #0F3562, #1162A4, #03215F); - background: -o-linear-gradient(top, #0F3562, #1162A4, #03215F); - background: linear-gradient(to bottom, #0F3562, #1162A4, #03215F); - background-color: #0F3562; + background: -webkit-gradient(linear, left top, left bottom, from(#0f3562), color-stop(#1162a4), to(#03215f)); + background: -webkit-linear-gradient(top, #0f3562, #1162a4, #03215f); + background: -o-linear-gradient(top, #0f3562, #1162a4, #03215f); + background: linear-gradient(to bottom, #0f3562, #1162a4, #03215f); + background-color: #0f3562; } .backgroundContainer.withBackdrop { @@ -169,12 +169,12 @@ html { .appfooter, .formDialogFooter:not(.formDialogFooter-clear) { - background: #0C2450; - background: -webkit-gradient(linear, left bottom, left top, from(#0C2450), to(#081B3B)); - background: -webkit-linear-gradient(bottom, #0C2450, #081B3B); - background: -o-linear-gradient(bottom, #0C2450, #081B3B); - background: linear-gradient(to top, #0C2450, #081B3B); - color: rgba(255, 255, 255, .78); + background: #0c2450; + background: -webkit-gradient(linear, left bottom, left top, from(#0c2450), to(#081b3b)); + background: -webkit-linear-gradient(bottom, #0c2450, #081b3b); + background: -o-linear-gradient(bottom, #0c2450, #081b3b); + background: linear-gradient(to top, #0c2450, #081b3b); + color: rgba(255, 255, 255, 0.78); } .itemSelectionPanel { @@ -237,10 +237,10 @@ html { .emby-input, .emby-textarea { color: inherit; - background: rgba(255, 255, 255, .2); - border: .07em solid rgba(255, 255, 255, .135); - -webkit-border-radius: .15em; - border-radius: .15em; + background: rgba(255, 255, 255, 0.2); + border: 0.07em solid rgba(255, 255, 255, 0.135); + -webkit-border-radius: 0.15em; + border-radius: 0.15em; } .emby-input:focus, @@ -395,8 +395,8 @@ html { color: #000; background: #fff3a5; padding: 1em; - -webkit-border-radius: .25em; - border-radius: .25em; + -webkit-border-radius: 0.25em; + border-radius: 0.25em; } .ratingbutton-icon-withrating { @@ -422,8 +422,8 @@ html { } ::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); } ::-webkit-scrollbar-track-piece { @@ -439,7 +439,7 @@ html { ::-webkit-scrollbar-thumb:vertical { border-radius: 2px; -webkit-border-radius: 2px; - background: center no-repeat rgba(255, 255, 255, .7); + background: center no-repeat rgba(255, 255, 255, 0.7); } .metadataSidebarIcon { From c96aad1c95a4cf358c5f164f0f8dbe712ccb0749 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sat, 25 Jan 2020 11:42:43 +0100 Subject: [PATCH 55/68] Fix intentation (CSS) --- .stylelintrc | 1 + src/assets/css/fonts.css | 4 +- src/assets/css/scrollstyles.css | 10 +-- src/assets/css/videoosd.css | 2 +- src/components/appfooter/appfooter.css | 6 +- src/components/cardbuilder/card.css | 68 +++++++-------- src/components/dialogHelper/dialoghelper.css | 2 +- src/components/guide/guide.css | 58 ++++++------- src/components/indicators/indicators.css | 2 +- src/components/listview/listview.css | 16 ++-- src/components/loading/loading.css | 6 +- .../nowplayingbar/nowplayingbar.css | 4 +- src/components/slideshow/style.css | 6 +- src/components/youtubeplayer/style.css | 18 ++-- src/elements/emby-button/emby-button.css | 46 +++++------ src/elements/emby-checkbox/emby-checkbox.css | 10 +-- src/elements/emby-input/emby-input.css | 6 +- src/elements/emby-select/emby-select.css | 32 ++++---- src/elements/emby-slider/emby-slider.css | 82 +++++++++---------- src/elements/emby-textarea/emby-textarea.css | 6 +- src/themes/appletv/theme.css | 2 +- src/themes/blueradiance/theme.css | 2 +- src/themes/dark/theme.css | 2 +- src/themes/emby/theme.css | 2 +- src/themes/light/theme.css | 2 +- src/themes/wmc/theme.css | 2 +- 26 files changed, 199 insertions(+), 198 deletions(-) diff --git a/.stylelintrc b/.stylelintrc index 57ef97a70..93e359209 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -70,6 +70,7 @@ "function-parentheses-newline-inside": "always-multi-line", "function-parentheses-space-inside": "never-single-line", "function-whitespace-after": "always", + "indentation": 4, "keyframe-declaration-no-important": true, "length-zero-no-unit": true, "max-empty-lines": 1, diff --git a/src/assets/css/fonts.css b/src/assets/css/fonts.css index 1fd4a14a0..30fd1e2eb 100644 --- a/src/assets/css/fonts.css +++ b/src/assets/css/fonts.css @@ -6,8 +6,8 @@ html { } h1, - h2, - h3 { +h2, +h3 { /* For better bolding, since Helvetica does not support 500 weight, and 600 is too thick */ font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", 'Open Sans', sans-serif; } diff --git a/src/assets/css/scrollstyles.css b/src/assets/css/scrollstyles.css index 34ce01c96..1cb3207e0 100644 --- a/src/assets/css/scrollstyles.css +++ b/src/assets/css/scrollstyles.css @@ -10,7 +10,7 @@ } .hiddenScrollX, - .layout-tv .scrollX { +.layout-tv .scrollX { -ms-overflow-style: none; } @@ -19,7 +19,7 @@ } .hiddenScrollX::-webkit-scrollbar, - .layout-tv .scrollX::-webkit-scrollbar { +.layout-tv .scrollX::-webkit-scrollbar { height: 0 !important; display: none; } @@ -38,7 +38,7 @@ } .hiddenScrollY, - .layout-tv .smoothScrollY { +.layout-tv .smoothScrollY { -ms-overflow-style: none; /* Can't do this because it not only hides the scrollbar, but also prevents scrolling */ @@ -51,8 +51,8 @@ } .hiddenScrollY::-webkit-scrollbar, - .layout-tv .smoothScrollY::-webkit-scrollbar, - .layout-tv .scrollY::-webkit-scrollbar { +.layout-tv .smoothScrollY::-webkit-scrollbar, +.layout-tv .scrollY::-webkit-scrollbar { width: 0 !important; display: none; } diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css index c0a09bdc8..f4f198325 100644 --- a/src/assets/css/videoosd.css +++ b/src/assets/css/videoosd.css @@ -277,7 +277,7 @@ @media all and (max-width: 50em) { .videoOsdBottom .btnFastForward, - .videoOsdBottom .btnRewind { + .videoOsdBottom .btnRewind { display: none !important; } } diff --git a/src/components/appfooter/appfooter.css b/src/components/appfooter/appfooter.css index 06776650f..93cb3a75a 100644 --- a/src/components/appfooter/appfooter.css +++ b/src/components/appfooter/appfooter.css @@ -8,6 +8,6 @@ contain: layout style; } - .appfooter.headroom--unpinned { - transform: translateY(100%) !important; - } +.appfooter.headroom--unpinned { + transform: translateY(100%) !important; +} diff --git a/src/components/cardbuilder/card.css b/src/components/cardbuilder/card.css index c5232bb54..96bd28e8d 100644 --- a/src/components/cardbuilder/card.css +++ b/src/components/cardbuilder/card.css @@ -56,26 +56,26 @@ button::-moz-focus-inner { } .cardPadder-backdrop, - .cardPadder-mixedBackdrop, - .cardPadder-smallBackdrop, - .cardPadder-overflowBackdrop, - .cardPadder-overflowSmallBackdrop { +.cardPadder-mixedBackdrop, +.cardPadder-smallBackdrop, +.cardPadder-overflowBackdrop, +.cardPadder-overflowSmallBackdrop { padding-bottom: 56.25%; contain: strict; } .cardPadder-square, - .cardPadder-mixedSquare, - .cardPadder-overflowSquare, - .overflowSquareCard-textCardPadder { +.cardPadder-mixedSquare, +.cardPadder-overflowSquare, +.overflowSquareCard-textCardPadder { padding-bottom: 100%; contain: strict; } .cardPadder-portrait, - .cardPadder-mixedPortrait, - .cardPadder-overflowPortrait, - .overflowPortraitCard-textCardPadder { +.cardPadder-mixedPortrait, +.cardPadder-overflowPortrait, +.overflowPortraitCard-textCardPadder { padding-bottom: 150%; contain: strict; } @@ -492,14 +492,14 @@ button::-moz-focus-inner { } .squareCard, - .portraitCard { + .portraitCard { width: 33.333333333333333333333333333333%; } } @media (min-width: 43.75em) { .squareCard, - .portraitCard { + .portraitCard { width: 25%; } } @@ -516,7 +516,7 @@ button::-moz-focus-inner { } .squareCard, - .portraitCard { + .portraitCard { width: 20%; } @@ -537,7 +537,7 @@ button::-moz-focus-inner { } .squareCard, - .portraitCard { + .portraitCard { width: 16.666666666666666666666666666667%; } @@ -552,7 +552,7 @@ button::-moz-focus-inner { @media (min-width: 87.5em) { .squareCard, - .portraitCard { + .portraitCard { width: 14.285714285714285714285714285714%; } @@ -571,14 +571,14 @@ button::-moz-focus-inner { } .squareCard, - .portraitCard { + .portraitCard { width: 12.5%; } } @media (min-width: 120em) { .squareCard, - .portraitCard { + .portraitCard { width: 11.111111111111111111111111111111%; } } @@ -589,7 +589,7 @@ button::-moz-focus-inner { } .squareCard, - .portraitCard { + .portraitCard { width: 10%; } } @@ -621,7 +621,7 @@ button::-moz-focus-inner { } .overflowSquareCard, - .overflowPortraitCard { +.overflowPortraitCard { width: 40vw; } @@ -647,33 +647,33 @@ button::-moz-focus-inner { @media (min-width: 43.75em) { .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 23.1vw; } } @media (min-width: 48.125em) { .overflowBackdropCard, - .overflowSmallBackdropCard { + .overflowSmallBackdropCard { width: 30vw; } } @media (orientation: landscape) { .overflowBackdropCard, - .overflowSmallBackdropCard { + .overflowSmallBackdropCard { width: 30vw; } .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 23.1vw; } } @media (orientation: landscape) and (min-width: 48.125em) { .overflowBackdropCard, - .overflowSmallBackdropCard { + .overflowSmallBackdropCard { width: 23.1vw; } } @@ -686,59 +686,59 @@ button::-moz-focus-inner { @media (min-width: 50em) { .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 18.5vw; } } @media (min-width: 75em) { .overflowBackdropCard, - .overflowSmallBackdropCard { + .overflowSmallBackdropCard { width: 23.1vw; } .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 15.5vw; } } @media (min-width: 87.5em) { .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 13.3vw; } } @media (min-width: 100em) { .overflowBackdropCard, - .overflowSmallBackdropCard { + .overflowSmallBackdropCard { width: 18.7vw; } .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 11.6vw; } } @media (min-width: 120em) { .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 10.3vw; } } @media (min-width: 131.25em) { .overflowSquareCard, - .overflowPortraitCard { + .overflowPortraitCard { width: 9.3vw; } } @media (min-width: 156.25em) { .overflowBackdropCard, - .overflowSmallBackdropCard { + .overflowSmallBackdropCard { width: 15.6vw; } } @@ -756,7 +756,7 @@ button::-moz-focus-inner { } .itemsContainer-tv > .overflowSquareCard, - .itemsContainer-tv > .overflowPortraitCard { +.itemsContainer-tv > .overflowPortraitCard { width: 15.6vw; } diff --git a/src/components/dialogHelper/dialoghelper.css b/src/components/dialogHelper/dialoghelper.css index 0076eada6..df2adf075 100644 --- a/src/components/dialogHelper/dialoghelper.css +++ b/src/components/dialogHelper/dialoghelper.css @@ -114,7 +114,7 @@ @media all and (max-width: 80em), all and (max-height: 45em) { .dialog-fixedSize, - .dialog-fullscreen-lowres { + .dialog-fullscreen-lowres { position: fixed !important; top: 0 !important; bottom: 0 !important; diff --git a/src/components/guide/guide.css b/src/components/guide/guide.css index 119f0c142..3b776e6dd 100644 --- a/src/components/guide/guide.css +++ b/src/components/guide/guide.css @@ -92,27 +92,27 @@ } .channelPrograms, - .timeslotHeadersInner { +.timeslotHeadersInner { width: 1800vw; } @media all and (min-width: 37.5em) { .channelPrograms, - .timeslotHeadersInner { + .timeslotHeadersInner { width: 1400vw; } } @media all and (min-width: 50em) { .channelPrograms, - .timeslotHeadersInner { + .timeslotHeadersInner { width: 1200vw; } } @media all and (min-width: 80em) { .channelPrograms, - .timeslotHeadersInner { + .timeslotHeadersInner { width: 810vw; } } @@ -125,12 +125,12 @@ } .programCell, - .guide-channelHeaderCell { +.guide-channelHeaderCell { outline: none !important; } .guide-channelHeaderCell, - .guide-channelTimeslotHeader { +.guide-channelTimeslotHeader { padding: 0 !important; cursor: pointer; outline: none !important; @@ -167,34 +167,34 @@ This was causing channelsContainer to extend beyond the fixed width on ps4, tizen, lg and opera tv. */ .channelsContainer, - .guide-channelTimeslotHeader { +.guide-channelTimeslotHeader { width: 24vw; } @media all and (min-width: 31.25em) { .channelsContainer, - .guide-channelTimeslotHeader { + .guide-channelTimeslotHeader { width: 16vw; } } @media all and (min-width: 37.5em) { .channelsContainer, - .guide-channelTimeslotHeader { + .guide-channelTimeslotHeader { width: 16vw; } } @media all and (min-width: 50em) { .channelsContainer, - .guide-channelTimeslotHeader { + .guide-channelTimeslotHeader { width: 14vw; } } @media all and (min-width: 80em) { .channelsContainer, - .guide-channelTimeslotHeader { + .guide-channelTimeslotHeader { width: 12vw; } } @@ -214,25 +214,25 @@ @media all and (max-width: 50em) { .newTvProgram, - .liveTvProgram, - .premiereTvProgram, - .guideHdIcon { + .liveTvProgram, + .premiereTvProgram, + .guideHdIcon { display: none; } } - .channelPrograms + .channelPrograms, - .guide-channelHeaderCell + .guide-channelHeaderCell { - margin-top: -1px; - } +.channelPrograms + .channelPrograms, +.guide-channelHeaderCell + .guide-channelHeaderCell { + margin-top: -1px; +} .channelPrograms-tv, - .guide-channelHeaderCell-tv { +.guide-channelHeaderCell-tv { height: 3em; } .guide-channelTimeslotHeader, - .timeslotHeader { +.timeslotHeader { background: transparent !important; height: 2.8em; } @@ -377,12 +377,12 @@ } .channelsContainer, - .programGrid { +.programGrid { contain: layout style paint; } .timerIcon, - .seriesTimerIcon { +.seriesTimerIcon { color: #c33 !important; } @@ -425,11 +425,11 @@ font-weight: normal; } - .guide-date-tab-button.emby-tab-button-active { - border-color: transparent !important; - } +.guide-date-tab-button.emby-tab-button-active { + border-color: transparent !important; +} - .guide-date-tab-button.show-focus:focus { - border-radius: 0.15em !important; - transform: none !important; - } +.guide-date-tab-button.show-focus:focus { + border-radius: 0.15em !important; + transform: none !important; +} diff --git a/src/components/indicators/indicators.css b/src/components/indicators/indicators.css index 4343b6986..e4e798581 100644 --- a/src/components/indicators/indicators.css +++ b/src/components/indicators/indicators.css @@ -86,7 +86,7 @@ } .missingIndicator, - .unairedIndicator { +.unairedIndicator { background: #c33; padding: 0.25em 0.5em; border-radius: 100em; diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css index 9a355d1b0..1a37e4556 100644 --- a/src/components/listview/listview.css +++ b/src/components/listview/listview.css @@ -54,14 +54,14 @@ } .listItemImage, - .listItemIcon, - .listItemAside { +.listItemIcon, +.listItemAside { flex-shrink: 0; } .listItemBody, - .listItemImage, - .listItemIcon { +.listItemImage, +.listItemIcon { display: inline-block; vertical-align: middle; } @@ -90,8 +90,8 @@ } .listItem, - .listItemBody, - .listItemMediaInfo { +.listItemBody, +.listItemMediaInfo { display: flex; contain: layout style; } @@ -260,8 +260,8 @@ @media all and (max-width: 50em) { .listItem .endsAt, - .listItem .criticRating, - .listItem-overview { + .listItem .criticRating, + .listItem-overview { display: none !important; } } diff --git a/src/components/loading/loading.css b/src/components/loading/loading.css index d612f64e7..dae33aa9b 100644 --- a/src/components/loading/loading.css +++ b/src/components/loading/loading.css @@ -371,9 +371,9 @@ border-color: inherit; } - .mdl-spinner__circle-clipper .mdl-spinner__circle { - width: 200%; - } +.mdl-spinner__circle-clipper .mdl-spinner__circle { + width: 200%; +} .mdl-spinner__circleLeft { border-right-color: transparent !important; diff --git a/src/components/nowplayingbar/nowplayingbar.css b/src/components/nowplayingbar/nowplayingbar.css index 75a8ba0b6..b1e77715f 100644 --- a/src/components/nowplayingbar/nowplayingbar.css +++ b/src/components/nowplayingbar/nowplayingbar.css @@ -29,7 +29,7 @@ } .mediaButton, - .nowPlayingBarUserDataButtons .btnUserItemRating { +.nowPlayingBarUserDataButtons .btnUserItemRating { vertical-align: middle; margin: 0; text-align: center; @@ -165,7 +165,7 @@ @media all and (max-width: 24em) { .nowPlayingBar .muteButton, - .nowPlayingBar .unmuteButton { + .nowPlayingBar .unmuteButton { display: none; } } diff --git a/src/components/slideshow/style.css b/src/components/slideshow/style.css index f95952a0d..2bea7c969 100644 --- a/src/components/slideshow/style.css +++ b/src/components/slideshow/style.css @@ -4,13 +4,13 @@ } .slideshowSwiperContainer, - .swiper-wrapper, - .swiper-slide { +.swiper-wrapper, +.swiper-slide { background: #000; } .slideshowImage, - .slideshowSwiperContainer { +.slideshowSwiperContainer { position: fixed; top: 0; right: 0; diff --git a/src/components/youtubeplayer/style.css b/src/components/youtubeplayer/style.css index 87526c47a..1328e6f3d 100644 --- a/src/components/youtubeplayer/style.css +++ b/src/components/youtubeplayer/style.css @@ -9,13 +9,13 @@ align-items: center; } - .youtubePlayerContainer.onTop { - z-index: 1000; - } +.youtubePlayerContainer.onTop { + z-index: 1000; +} - .youtubePlayerContainer video { - margin: 0 !important; - padding: 0 !important; - width: 100%; - height: 100%; - } +.youtubePlayerContainer video { + margin: 0 !important; + padding: 0 !important; + width: 100%; + height: 100%; +} diff --git a/src/elements/emby-button/emby-button.css b/src/elements/emby-button/emby-button.css index 9d4c28790..2776dec65 100644 --- a/src/elements/emby-button/emby-button.css +++ b/src/elements/emby-button/emby-button.css @@ -131,33 +131,33 @@ z-index: 1; } - .paper-icon-button-light::-moz-focus-inner { - border: 0; - } +.paper-icon-button-light::-moz-focus-inner { + border: 0; +} - .paper-icon-button-light:disabled { - opacity: 0.3; - cursor: default; - } +.paper-icon-button-light:disabled { + opacity: 0.3; + cursor: default; +} - .paper-icon-button-light > i { - font-size: 1.66956521739130434em; +.paper-icon-button-light > i { + font-size: 1.66956521739130434em; - /* Make sure its on top of the ripple */ - position: relative; - z-index: 1; - vertical-align: middle; - } + /* Make sure its on top of the ripple */ + position: relative; + z-index: 1; + vertical-align: middle; +} - .paper-icon-button-light > div { - max-height: 100%; - transform: scale(1.8); - position: relative; - z-index: 1; - vertical-align: middle; - display: inline; - margin: 0 auto; - } +.paper-icon-button-light > div { + max-height: 100%; + transform: scale(1.8); + position: relative; + z-index: 1; + vertical-align: middle; + display: inline; + margin: 0 auto; +} .emby-button-foreground { position: relative; diff --git a/src/elements/emby-checkbox/emby-checkbox.css b/src/elements/emby-checkbox/emby-checkbox.css index b34d1f6d5..e69434257 100644 --- a/src/elements/emby-checkbox/emby-checkbox.css +++ b/src/elements/emby-checkbox/emby-checkbox.css @@ -101,11 +101,11 @@ flex-wrap: wrap; } - .checkboxList-verticalwrap > .emby-checkbox-label { - display: inline-flex; - margin: 0.3em 0 0.3em 0; - width: 12em; - } +.checkboxList-verticalwrap > .emby-checkbox-label { + display: inline-flex; + margin: 0.3em 0 0.3em 0; + width: 12em; +} .checkboxList-paperList { padding: 1em !important; diff --git a/src/elements/emby-input/emby-input.css b/src/elements/emby-input/emby-input.css index 8cd082aaa..65fa4ddee 100644 --- a/src/elements/emby-input/emby-input.css +++ b/src/elements/emby-input/emby-input.css @@ -21,9 +21,9 @@ width: 100%; } - .emby-input::-moz-focus-inner { - border: 0; - } +.emby-input::-moz-focus-inner { + border: 0; +} .inputContainer { margin-bottom: 1.8em; diff --git a/src/elements/emby-select/emby-select.css b/src/elements/emby-select/emby-select.css index 32c2905b4..b508e5d0e 100644 --- a/src/elements/emby-select/emby-select.css +++ b/src/elements/emby-select/emby-select.css @@ -20,14 +20,14 @@ width: 100%; } - .emby-select[disabled] { - background: none !important; - border-color: transparent !important; - color: inherit !important; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - } +.emby-select[disabled] { + background: none !important; + border-color: transparent !important; + color: inherit !important; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} .emby-select::-moz-focus-inner { border: 0; @@ -38,10 +38,10 @@ font-size: inherit; } - .selectContainer-inline > .emby-select[disabled] { - padding-left: 0; - padding-right: 0; - } +.selectContainer-inline > .emby-select[disabled] { + padding-left: 0; + padding-right: 0; +} .emby-select-focusscale { transition: transform 180ms ease-out !important; @@ -49,10 +49,10 @@ transform-origin: center center; } - .emby-select-focusscale:focus { - transform: scale(1.04); - z-index: 1; - } +.emby-select-focusscale:focus { + transform: scale(1.04); + z-index: 1; +} .emby-select + .fieldDescription { margin-top: 0.25em; diff --git a/src/elements/emby-slider/emby-slider.css b/src/elements/emby-slider/emby-slider.css index 53fd0793e..30d4ccb6d 100644 --- a/src/elements/emby-slider/emby-slider.css +++ b/src/elements/emby-slider/emby-slider.css @@ -31,55 +31,55 @@ display: block; } - .mdl-slider::-moz-focus-outer { - border: 0; - } +.mdl-slider::-moz-focus-outer { + border: 0; +} - .mdl-slider::-ms-tooltip { - display: none; - } +.mdl-slider::-ms-tooltip { + display: none; +} - .mdl-slider::-webkit-slider-runnable-track { - background: transparent; - } +.mdl-slider::-webkit-slider-runnable-track { + background: transparent; +} - .mdl-slider::-moz-range-track { - background: #444; - border: none; - width: calc(100% - 20px); - } +.mdl-slider::-moz-range-track { + background: #444; + border: none; + width: calc(100% - 20px); +} - .mdl-slider::-moz-range-progress { - background: #00a4dc; - width: calc(100% - 20px); - } +.mdl-slider::-moz-range-progress { + background: #00a4dc; + width: calc(100% - 20px); +} - .mdl-slider::-ms-track { - background: none; - color: transparent; - height: 0.2em; - width: 100%; - border: none; - } +.mdl-slider::-ms-track { + background: none; + color: transparent; + height: 0.2em; + width: 100%; + border: none; +} - .mdl-slider::-ms-fill-lower { - display: none; - } +.mdl-slider::-ms-fill-lower { + display: none; +} - .mdl-slider::-ms-fill-upper { - display: none; - } +.mdl-slider::-ms-fill-upper { + display: none; +} - .mdl-slider::-webkit-slider-thumb { - -webkit-appearance: none; - width: 1.2em; - height: 1.2em; - box-sizing: border-box; - border-radius: 50%; - background: #00a4dc; - border: none; - transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); - } +.mdl-slider::-webkit-slider-thumb { + -webkit-appearance: none; + width: 1.2em; + height: 1.2em; + box-sizing: border-box; + border-radius: 50%; + background: #00a4dc; + border: none; + transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); +} .mdl-slider-hoverthumb::-webkit-slider-thumb { transform: none; diff --git a/src/elements/emby-textarea/emby-textarea.css b/src/elements/emby-textarea/emby-textarea.css index 44dfaee51..086666491 100644 --- a/src/elements/emby-textarea/emby-textarea.css +++ b/src/elements/emby-textarea/emby-textarea.css @@ -21,9 +21,9 @@ width: 100%; } - .emby-textarea::-moz-focus-inner { - border: 0; - } +.emby-textarea::-moz-focus-inner { + border: 0; +} .textareaLabel { display: inline-block; diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index ee2a3565d..789371c45 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -7,7 +7,7 @@ html { .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030; + background-color: #303030; } .emby-collapsible-button { diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index 59cf8c5b1..75c721954 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -7,7 +7,7 @@ html { .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030; + background-color: #303030; } .emby-collapsible-button { diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index ff66451fd..a339c7186 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -7,7 +7,7 @@ html { .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #101010; + background-color: #101010; } .emby-collapsible-button { diff --git a/src/themes/emby/theme.css b/src/themes/emby/theme.css index b2225a88d..134bd6178 100644 --- a/src/themes/emby/theme.css +++ b/src/themes/emby/theme.css @@ -7,7 +7,7 @@ html { .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #1f1f1f; + background-color: #1f1f1f; } .emby-collapsible-button { diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index f248ab931..4f6017e16 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -7,7 +7,7 @@ html { .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #303030; + background-color: #303030; } .emby-collapsible-button { diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index 8190f1ac5..2d6a61be9 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -7,7 +7,7 @@ html { .wizardStartForm, .ui-corner-all, .ui-shadow { - background-color: #0c2450; + background-color: #0c2450; } .emby-collapsible-button { From 4b5eb8e063c89ddfd21ef59d8b85fcdad205210e Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sat, 25 Jan 2020 17:35:16 +0300 Subject: [PATCH 56/68] Fix click on pause button right after showOsd --- src/controllers/playback/videoosd.js | 38 +++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index 6392c3a1a..122b2c808 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -437,6 +437,11 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med }); currentVisibleMenu = null; toggleSubtitleSync("hide"); + + // Firefox does not blur by itself + if (document.activeElement) { + document.activeElement.blur(); + } } } @@ -1087,7 +1092,15 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med */ var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"]; + /** + * Clicked element. + * To skip 'click' handling on Firefox/Edge. + */ + var clickedElement; + function onWindowKeyDown(e) { + clickedElement = e.srcElement; + var key = keyboardnavigation.getKeyName(e); if (!currentVisibleMenu && 32 === e.keyCode) { @@ -1159,6 +1172,14 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med } } + function onWindowMouseDown(e) { + clickedElement = e.srcElement; + } + + function onWindowTouchStart(e) { + clickedElement = e.srcElement; + } + function getImgUrl(item, chapter, index, maxWidth, apiClient) { if (chapter.ImageTag) { return apiClient.getScaledImageUrl(item.Id, { @@ -1289,6 +1310,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med dom.addEventListener(window, "keydown", onWindowKeyDown, { capture: true }); + dom.addEventListener(window, window.PointerEvent ? "pointerdown" : "mousedown", onWindowMouseDown, { + passive: true + }); + dom.addEventListener(window, "touchstart", onWindowTouchStart, { + passive: true + }); } catch (e) { require(['appRouter'], function(appRouter) { appRouter.showDirect('/'); @@ -1303,6 +1330,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med dom.removeEventListener(window, "keydown", onWindowKeyDown, { capture: true }); + dom.removeEventListener(window, window.PointerEvent ? "pointerdown" : "mousedown", onWindowMouseDown, { + passive: true + }); + dom.removeEventListener(window, "touchstart", onWindowTouchStart, { + passive: true + }); stopOsdHideTimer(); headerElement.classList.remove("osdHeader"); headerElement.classList.remove("osdHeader-hidden"); @@ -1472,7 +1505,10 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med playbackManager.previousTrack(currentPlayer); }); view.querySelector(".btnPause").addEventListener("click", function () { - playbackManager.playPause(currentPlayer); + // Ignore 'click' if another element was originally clicked (Firefox/Edge issue) + if (this.contains(clickedElement)) { + playbackManager.playPause(currentPlayer); + } }); view.querySelector(".btnNextTrack").addEventListener("click", function () { playbackManager.nextTrack(currentPlayer); From 95801249688955e827735901ef939c1aa34341d9 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sat, 25 Jan 2020 18:05:54 +0300 Subject: [PATCH 57/68] Fix compatibility for older browsers (webOS 3) --- src/components/htmlvideoplayer/plugin.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/htmlvideoplayer/plugin.js b/src/components/htmlvideoplayer/plugin.js index a71b053a2..6f1ea2b11 100644 --- a/src/components/htmlvideoplayer/plugin.js +++ b/src/components/htmlvideoplayer/plugin.js @@ -1054,7 +1054,9 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa var options = { video: videoElement, subUrl: getTextTrackUrl(track, item), - fonts: attachments.map(i => i.DeliveryUrl), + fonts: attachments.map(function (i) { + return i.DeliveryUrl; + }), workerUrl: appRouter.baseUrl() + "/libraries/subtitles-octopus-worker.js", onError: function() { htmlMediaHelper.onErrorInternal(self, 'mediadecodeerror') From ca4e3294e8eeef0c9d1bd523916d7e2fcca4e728 Mon Sep 17 00:00:00 2001 From: ferferga Date: Sat, 25 Jan 2020 21:16:45 +0100 Subject: [PATCH 58/68] Removed 'Enable auto-update' checkbox from General settings --- src/dashboardgeneral.html | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/dashboardgeneral.html b/src/dashboardgeneral.html index 6387128d5..559e80ee0 100644 --- a/src/dashboardgeneral.html +++ b/src/dashboardgeneral.html @@ -56,21 +56,6 @@
-
-

${HeaderAutomaticUpdates}

- -
- -
${LabelAllowServerAutoRestartHelp}
-
-
-

${HeaderBranding}

From 49dd48a3e93f82b914f7bdeb19d426aef47d5d30 Mon Sep 17 00:00:00 2001 From: ferferga Date: Sat, 25 Jan 2020 23:15:27 +0100 Subject: [PATCH 59/68] Removed more code related to automatic updates --- src/controllers/dashboard/general.js | 14 -------------- src/strings/ar.json | 1 - src/strings/bg-bg.json | 1 - src/strings/cs.json | 1 - src/strings/da.json | 1 - src/strings/de.json | 1 - src/strings/el.json | 1 - src/strings/en-gb.json | 1 - src/strings/en-us.json | 1 - src/strings/es-mx.json | 1 - src/strings/es.json | 1 - src/strings/fr.json | 1 - src/strings/hr.json | 1 - src/strings/hu.json | 1 - src/strings/it.json | 1 - src/strings/ja.json | 1 - src/strings/kk.json | 1 - src/strings/ko.json | 1 - src/strings/nb.json | 1 - src/strings/nl.json | 1 - src/strings/pl.json | 1 - src/strings/pt-br.json | 1 - src/strings/pt-pt.json | 1 - src/strings/pt.json | 1 - src/strings/ro.json | 1 - src/strings/ru.json | 1 - src/strings/sk.json | 1 - src/strings/sv.json | 1 - src/strings/zh-cn.json | 1 - src/strings/zh-tw.json | 1 - 30 files changed, 43 deletions(-) diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index c37e5e9a4..34b275ba2 100644 --- a/src/controllers/dashboard/general.js +++ b/src/controllers/dashboard/general.js @@ -16,18 +16,6 @@ define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emb return '" })).val(config.UICulture); currentLanguage = config.UICulture; - if (systemInfo.CanSelfUpdate) { - page.querySelector(".fldAutomaticUpdates").classList.remove("hide"); - } else { - page.querySelector(".fldAutomaticUpdates").classList.add("hide"); - } - $("#chkEnableAutomaticServerUpdates", page).checked(config.EnableAutoUpdate); - $("#chkEnableAutomaticRestart", page).checked(config.EnableAutomaticRestart); - if (systemInfo.CanSelfRestart) { - page.querySelector("#fldEnableAutomaticRestart").classList.remove("hide"); - } else { - page.querySelector("#fldEnableAutomaticRestart").classList.add("hide"); - } if (systemInfo.CanSelfRestart || systemInfo.CanSelfUpdate) { $(".autoUpdatesContainer", page).removeClass("hide"); } else { @@ -48,8 +36,6 @@ define(["jQuery", "loading", "fnchecked", "emby-checkbox", "emby-textarea", "emb config.MetadataNetworkPath = $("#txtMetadataNetworkPath", form).val(); var requiresReload = (config.UICulture !== currentLanguage); config.AutoRunWebApp = $("#chkAutoRunWebApp", form).checked(); - config.EnableAutomaticRestart = $("#chkEnableAutomaticRestart", form).checked(); - config.EnableAutoUpdate = $("#chkEnableAutomaticServerUpdates", form).checked(); ApiClient.updateServerConfiguration(config).then(function() { ApiClient.getNamedConfiguration(brandingConfigKey).then(function(brandingConfig) { brandingConfig.LoginDisclaimer = form.querySelector("#txtLoginDisclaimer").value; diff --git a/src/strings/ar.json b/src/strings/ar.json index d9e0040d9..0adf5e045 100644 --- a/src/strings/ar.json +++ b/src/strings/ar.json @@ -699,7 +699,6 @@ "OptionEnableAccessFromAllDevices": "تفعيل الدخول على كافة الأجهزة", "OptionEnableAccessToAllChannels": "تفعيل الدخول على كافة القنوات", "OptionEnableAccessToAllLibraries": "تمكين الدخول على كافة المكتبات", - "OptionEnableAutomaticServerUpdates": "تمكين التحديثات الآلية في الخادم", "OptionEnableExternalContentInSuggestions": "تمكين المحتوى الخارجي في المقترحات", "OptionEnableExternalContentInSuggestionsHelp": "السماح للعروض الإعلانية من الإنترنت وبرامج بث التلفزة الحي لتضمّن في المحتوى المقترح.", "OptionEnableForAllTuners": "تمكين كل أجهزة المولفات", diff --git a/src/strings/bg-bg.json b/src/strings/bg-bg.json index c7ce36190..d1f6b11b9 100644 --- a/src/strings/bg-bg.json +++ b/src/strings/bg-bg.json @@ -565,7 +565,6 @@ "OptionEnableAccessFromAllDevices": "Позволяване на достъпа от всички устройства", "OptionEnableAccessToAllChannels": "Позволяване на достъпа до всички канали", "OptionEnableAccessToAllLibraries": "Позволяване на достъпа до всички библиотеки", - "OptionEnableAutomaticServerUpdates": "Разрешаване на автоматичните обновления", "OptionEnded": "Приключило", "OptionEveryday": "Всеки ден", "OptionExternallyDownloaded": "Външно сваляне", diff --git a/src/strings/cs.json b/src/strings/cs.json index b0827ca88..aa2ed1a48 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -930,7 +930,6 @@ "OptionEnableAccessFromAllDevices": "Povolit přístup ze všech zařízení", "OptionEnableAccessToAllChannels": "Povolit přístup ze všech kanálů", "OptionEnableAccessToAllLibraries": "Povolit přístup ke všem knihovnám", - "OptionEnableAutomaticServerUpdates": "Povolit automatickou aktualizaci serveru", "OptionEnableExternalContentInSuggestions": "Aktivovat externí obsah v návrzích", "OptionEnableExternalContentInSuggestionsHelp": "Povolit zahrnutí internetových upoutávek a živých televizních programů do navrhovaného obsahu.", "OptionEnableForAllTuners": "Povolit pro všechna zařízení tunerů", diff --git a/src/strings/da.json b/src/strings/da.json index 4ddd00252..cd8d9472c 100644 --- a/src/strings/da.json +++ b/src/strings/da.json @@ -825,7 +825,6 @@ "OptionEnableAccessFromAllDevices": "Tillad adgang fra alle enheder", "OptionEnableAccessToAllChannels": "Tillad adgang til alle kanaler", "OptionEnableAccessToAllLibraries": "Tillad adgang til alle biblioteker", - "OptionEnableAutomaticServerUpdates": "Aktiver automatiske serveropdateringer", "OptionEnableExternalContentInSuggestions": "Aktiver eksternt indhold i anbefalinger", "OptionEnableExternalContentInSuggestionsHelp": "Tillad at internet-trailers og live-tv-programmer bliver inkluderet i det anbefalede indhold.", "OptionEnableForAllTuners": "Aktiver for alle tuner-enheder", diff --git a/src/strings/de.json b/src/strings/de.json index 034cf04d5..d9b40800b 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -974,7 +974,6 @@ "OptionEnableAccessFromAllDevices": "Erlaube Zugriff von allen Geräten", "OptionEnableAccessToAllChannels": "Erlaube Zugriff auf alle Kanäle", "OptionEnableAccessToAllLibraries": "Erlaube Zugriff auf alle Bibliotheken", - "OptionEnableAutomaticServerUpdates": "Aktiviere automatische Server Updates", "OptionEnableExternalContentInSuggestions": "Aktiviere externe Inhalte in Empfehlungen", "OptionEnableExternalContentInSuggestionsHelp": "Erlaube Internet Trailer und Live TV Sendungen in Empfehlungen.", "OptionEnableForAllTuners": "Aktiviere für alle Tuner", diff --git a/src/strings/el.json b/src/strings/el.json index e189620c6..c718fa609 100644 --- a/src/strings/el.json +++ b/src/strings/el.json @@ -868,7 +868,6 @@ "OptionEnableAccessFromAllDevices": "Πρόσβαση από όλες τις συσκευές", "OptionEnableAccessToAllChannels": "Ενεργοποιήστε την πρόσβαση σε όλα τα κανάλια", "OptionEnableAccessToAllLibraries": "Πρόσβαση σε όλες τις Βιβλιοθήκες", - "OptionEnableAutomaticServerUpdates": "Ενεργοποίηση αυτόματων ενημερώσεων διακομιστή", "OptionEnableExternalContentInSuggestionsHelp": "Να επιτρέπεται η συμπερίληψη internet trailers και προγράμματα live tv στο προτεινόμενο περιεχόμενο.", "OptionEnableM2tsMode": "Ενεργοποίηση λειτουργίας M2ts", "OptionEnded": "Τέλος", diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json index 109346325..4c42629b4 100644 --- a/src/strings/en-gb.json +++ b/src/strings/en-gb.json @@ -1303,7 +1303,6 @@ "OptionEnableM2tsModeHelp": "Enable m2ts mode when encoding to mpegts.", "OptionEnableM2tsMode": "Enable M2ts mode", "OptionEnableExternalContentInSuggestions": "Enable external content in suggestions", - "OptionEnableAutomaticServerUpdates": "Enable automatic server updates", "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "OptionEnableAccessToAllChannels": "Enable access to all channels", "OptionEnableAccessFromAllDevices": "Enable access from all devices", diff --git a/src/strings/en-us.json b/src/strings/en-us.json index c9c00f0da..e58709091 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1104,7 +1104,6 @@ "OptionEnableAccessFromAllDevices": "Enable access from all devices", "OptionEnableAccessToAllChannels": "Enable access to all channels", "OptionEnableAccessToAllLibraries": "Enable access to all libraries", - "OptionEnableAutomaticServerUpdates": "Enable automatic server updates", "OptionEnableExternalContentInSuggestions": "Enable external content in suggestions", "OptionEnableExternalContentInSuggestionsHelp": "Allow internet trailers and live TV programs to be included within suggested content.", "OptionEnableForAllTuners": "Enable for all tuner devices", diff --git a/src/strings/es-mx.json b/src/strings/es-mx.json index 26b6643ff..f1f73c5d9 100644 --- a/src/strings/es-mx.json +++ b/src/strings/es-mx.json @@ -1018,7 +1018,6 @@ "OptionEnableAccessFromAllDevices": "Habilitar acceso desde todos los dispositivos", "OptionEnableAccessToAllChannels": "Habilitar acceso a todos los canales", "OptionEnableAccessToAllLibraries": "Habilitar el acceso a todas las bibliotecas", - "OptionEnableAutomaticServerUpdates": "Habilitar actualizaciones automáticas del servidor", "OptionEnableExternalContentInSuggestions": "Habilitar contenido externo en las sugerencias", "OptionEnableExternalContentInSuggestionsHelp": "Permitir que los trailers de Internet y los programas de televisión en vivo se incluyan en el contenido sugerido.", "OptionEnableForAllTuners": "Habilitar para todos los dispositivos sintonizadores", diff --git a/src/strings/es.json b/src/strings/es.json index 9bb44f01e..886478e8d 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -928,7 +928,6 @@ "OptionEnableAccessFromAllDevices": "Habilitar acceso desde todos los equipos", "OptionEnableAccessToAllChannels": "Habilitar acceso a todos los canales", "OptionEnableAccessToAllLibraries": "Habilitar acceso a todas las bibliotecas", - "OptionEnableAutomaticServerUpdates": "Activar actualizaciones automáticas del servidor", "OptionEnableExternalContentInSuggestions": "Habilitar contenido externo en sugerencias", "OptionEnableExternalContentInSuggestionsHelp": "Permite incluir los tráilers de Internet y los programas de TV en vivo en el contenido sugerido.", "OptionEnableForAllTuners": "Activar para todos los dispositivos sintonizadores", diff --git a/src/strings/fr.json b/src/strings/fr.json index 9e29c4f14..77c270c3a 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1009,7 +1009,6 @@ "OptionEnableAccessFromAllDevices": "Autoriser l'accès depuis tous les appareils", "OptionEnableAccessToAllChannels": "Activer l'accès à toutes les chaînes", "OptionEnableAccessToAllLibraries": "Activer l'accès à toutes les librairies", - "OptionEnableAutomaticServerUpdates": "Activer les mises à jour automatiques du serveur", "OptionEnableExternalContentInSuggestions": "Activer le contenu externe dans les suggestions", "OptionEnableExternalContentInSuggestionsHelp": "Autoriser les bandes-annonces sur internet et les programmes TV en direct à être inclus dans le contenu suggéré.", "OptionEnableForAllTuners": "Autoriser pour tous les tuners", diff --git a/src/strings/hr.json b/src/strings/hr.json index a1c700df6..1cdccf69b 100644 --- a/src/strings/hr.json +++ b/src/strings/hr.json @@ -755,7 +755,6 @@ "OptionEnableAccessFromAllDevices": "Omogući pristup svim uređajima", "OptionEnableAccessToAllChannels": "Omogući pristup svim kanalima", "OptionEnableAccessToAllLibraries": "Omogući pristup svim bibliotekama", - "OptionEnableAutomaticServerUpdates": "Omogući automatska ažuriranja servera", "OptionEnableExternalContentInSuggestions": "Omogući vanjske sadržaje u prijedlozima", "OptionEnableExternalContentInSuggestionsHelp": "Dopusti internet kratkim filmovima i TV programima uživo da budu uključeni u preporučenom sadržaju.", "OptionEnableForAllTuners": "Omogući za sve TV/Radio uređaje", diff --git a/src/strings/hu.json b/src/strings/hu.json index 4cc1fde94..7ea57e515 100644 --- a/src/strings/hu.json +++ b/src/strings/hu.json @@ -411,7 +411,6 @@ "OptionEnableAccessFromAllDevices": "Hozzáférés engedélyezése minden eszközről", "OptionEnableAccessToAllChannels": "Hozzáférés engedélyezése minden csatornához", "OptionEnableAccessToAllLibraries": "Hozzáférés engedélyezése minden könyvtárhoz", - "OptionEnableAutomaticServerUpdates": "Automatikus szerverfrissítés engedélyezése", "OptionExternallyDownloaded": "Külső letöltés", "OptionFavorite": "Kedvencek", "OptionFriday": "Péntek", diff --git a/src/strings/it.json b/src/strings/it.json index 5f81717e8..a54203665 100644 --- a/src/strings/it.json +++ b/src/strings/it.json @@ -969,7 +969,6 @@ "OptionEnableAccessFromAllDevices": "Abilita l'accesso da tutti i dispositivi", "OptionEnableAccessToAllChannels": "Abilita l'accesso a tutti i canali", "OptionEnableAccessToAllLibraries": "Abilita l'accesso a tutte le librerie", - "OptionEnableAutomaticServerUpdates": "Attiva aggiornamenti automatici del server", "OptionEnableExternalContentInSuggestions": "Abilita contenuto remoto nei suggerimenti", "OptionEnableExternalContentInSuggestionsHelp": "Consenti l'inclusione di trailer Internet e programmi TV tra i contenuti suggeriti.", "OptionEnableForAllTuners": "Abilita per tutti i sintonizzatori", diff --git a/src/strings/ja.json b/src/strings/ja.json index ee0ef90de..0dd773745 100644 --- a/src/strings/ja.json +++ b/src/strings/ja.json @@ -643,7 +643,6 @@ "OptionDownloadLogoImage": "ロゴ", "OptionEnableAccessToAllChannels": "すべてのチャンネルへのアクセスを有効化", "OptionEnableAccessToAllLibraries": "すべてのライブラリへのアクセスを優幸化", - "OptionEnableAutomaticServerUpdates": "サーバーの自動アップデートを有効化", "OptionWeekly": "週間", "OriginalAirDateValue": "元の公開日: {0}", "RepeatOne": "リピート", diff --git a/src/strings/kk.json b/src/strings/kk.json index 45025bb1b..3bf88ed5e 100644 --- a/src/strings/kk.json +++ b/src/strings/kk.json @@ -1065,7 +1065,6 @@ "OptionEnableAccessFromAllDevices": "Barlyq qurylǵylardan qatynaýdy qosý", "OptionEnableAccessToAllChannels": "Barlyq arnalarǵa qatynaýdy qosý", "OptionEnableAccessToAllLibraries": "Barlyq tasyǵyshhanalarǵa qatynaýdy qosý", - "OptionEnableAutomaticServerUpdates": "Serverdiń avtomatty jańartylýyn qosý", "OptionEnableExternalContentInSuggestions": "Uynystarǵa syrtqy mazmundy qosý", "OptionEnableExternalContentInSuggestionsHelp": "Internet-treılerler men efırlik kórsetimderge usynǵan mazmunǵa kirý úshin ruqsat etedi.", "OptionEnableForAllTuners": "Barlyq túner qurylǵylary úshin qosý", diff --git a/src/strings/ko.json b/src/strings/ko.json index 0f2b32c64..a0276b700 100644 --- a/src/strings/ko.json +++ b/src/strings/ko.json @@ -585,7 +585,6 @@ "OptionEnableAccessFromAllDevices": "모든 기기에서 접속 허용", "OptionEnableAccessToAllChannels": "모든 채널에 접속 허용", "OptionEnableAccessToAllLibraries": "모든 라이브러리에 접속 허용", - "OptionEnableAutomaticServerUpdates": "서버 자동 업데이트 사용", "OptionEnableM2tsMode": "M2ts 모드 활성화", "OptionEnded": "종료됨", "OptionEveryday": "매일", diff --git a/src/strings/nb.json b/src/strings/nb.json index 0ad9459ac..5633be14b 100644 --- a/src/strings/nb.json +++ b/src/strings/nb.json @@ -822,7 +822,6 @@ "OptionEnableAccessFromAllDevices": "Gi tilgang fra alle enheter", "OptionEnableAccessToAllChannels": "Gi tilgang til alle kanaler", "OptionEnableAccessToAllLibraries": "Gi tilgang til alle bibliotek", - "OptionEnableAutomaticServerUpdates": "Aktiver automatiske serveroppdateringer", "OptionEnableExternalContentInSuggestions": "Aktiver eksternt innhold i forslag", "OptionEnableExternalContentInSuggestionsHelp": "Tillat at Internett-trailere og programmer på direkte-TV inkluderes i foreslått innhold.", "OptionEnableForAllTuners": "Aktiver for alle mottakerenheter", diff --git a/src/strings/nl.json b/src/strings/nl.json index 8e5c9714a..40d449cb9 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -953,7 +953,6 @@ "OptionEnableAccessFromAllDevices": "Toegang vanaf alle apparaten toestaan", "OptionEnableAccessToAllChannels": "Toegang tot alle kanalen inschakelen", "OptionEnableAccessToAllLibraries": "Toegang tot alle bibliotheken inschakelen", - "OptionEnableAutomaticServerUpdates": "Schakel automatische server updates in", "OptionEnableExternalContentInSuggestions": "Inschakelen externe inhoud in suggesties", "OptionEnableExternalContentInSuggestionsHelp": "Laat internet trailers en live-tv-programma's op te nemen binnen de voorgestelde inhoud.", "OptionEnableForAllTuners": "Inschakelen voor alle tuners", diff --git a/src/strings/pl.json b/src/strings/pl.json index 15603fc13..37ef09c70 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -1026,7 +1026,6 @@ "OptionEnableAccessFromAllDevices": "Udostępniaj na wszystkich urządzeniach", "OptionEnableAccessToAllChannels": "Udostępniaj wszystkie kanały", "OptionEnableAccessToAllLibraries": "Udostępniaj wszystkie biblioteki", - "OptionEnableAutomaticServerUpdates": "Aktualizuj serwer automatycznie", "OptionEnableExternalContentInSuggestions": "Dodawaj zewnętrzną zawartość do polecanych", "OptionEnableExternalContentInSuggestionsHelp": "Umożliwia dodawanie zwiastunów i programów telewizyjnych do polecanej zawartości.", "OptionEnableForAllTuners": "Aktywuj dla wszystkich tunerów", diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json index f3d356269..06ad3fb9e 100644 --- a/src/strings/pt-br.json +++ b/src/strings/pt-br.json @@ -994,7 +994,6 @@ "OptionEnableAccessFromAllDevices": "Ativar o acesso de todos os dispositivos", "OptionEnableAccessToAllChannels": "Ativar o acesso a todos os canais", "OptionEnableAccessToAllLibraries": "Ativar o acesso a todas as bibliotecas", - "OptionEnableAutomaticServerUpdates": "Ativar as atualizações automáticas do servidor", "OptionEnableExternalContentInSuggestions": "Ativar conteúdo externo nas sugestões", "OptionEnableExternalContentInSuggestionsHelp": "Permitir que trailers da internet e programas de TV ao vivo sejam incluídos em conteúdos sugeridos.", "OptionEnableForAllTuners": "Ativar para todos os sintonizadores", diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index 19f00d9e0..d5822cd26 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -581,7 +581,6 @@ "OptionEnableAccessFromAllDevices": "Ativar acesso de todos os dispositivos", "OptionEnableAccessToAllChannels": "Permitir acesso a todos os canais", "OptionEnableAccessToAllLibraries": "Permitir acesso a todas as bibliotecas", - "OptionEnableAutomaticServerUpdates": "Ativar as atualizações automáticas do servidor", "OptionEnableM2tsMode": "Ativar modo M2ts", "OptionEnableM2tsModeHelp": "Ativar o modo m2ts durante a transcodificação para mpegts.", "OptionEnded": "Terminado", diff --git a/src/strings/pt.json b/src/strings/pt.json index abf208a76..200077568 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -1053,7 +1053,6 @@ "OptionEnableM2tsModeHelp": "Activar o modo m2ts ao codificar para mpegts.", "OptionEnableM2tsMode": "Activar modo M2ts", "OptionEnableExternalContentInSuggestionsHelp": "Permitir que trailers da Internet e programas de TV em Directo sejam incluídos no conteúdo sugerido.", - "OptionEnableAutomaticServerUpdates": "Activar actualizações automáticas do servidor", "OptionEnableAccessToAllLibraries": "Permitir acesso a todas as bibliotecas", "OptionEnableAccessFromAllDevices": "Activar acesso de todos os dispositivos", "OptionEmbedSubtitles": "Incorporar no contentor", diff --git a/src/strings/ro.json b/src/strings/ro.json index 45be05718..c21b57198 100644 --- a/src/strings/ro.json +++ b/src/strings/ro.json @@ -1367,7 +1367,6 @@ "OptionDisplayFolderViewHelp": "Afișați dosarele alături de celelalte biblioteci media. Acest lucru poate fi util dacă doriți să aveți o vizualizare direct în dosar.", "OptionDisplayFolderView": "Afișați o vizualizare de dosar pentru a afișa dosarele media simple", "OptionDateAddedImportTime": "Utilizați data scanării în bibliotecă", - "OptionEnableAutomaticServerUpdates": "Activați actualizările automate ale serverului", "OptionDateAddedFileTime": "Utilizați data creării fișierelor", "Yesterday": "Ieri", "Yes": "Da", diff --git a/src/strings/ru.json b/src/strings/ru.json index 4e612aa5b..b03a5a90c 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -1036,7 +1036,6 @@ "OptionEnableAccessFromAllDevices": "Включить доступ со всех устройств", "OptionEnableAccessToAllChannels": "Включить доступ ко всем каналам", "OptionEnableAccessToAllLibraries": "Включить доступ ко всем медиатекам", - "OptionEnableAutomaticServerUpdates": "Включить автоматические обновления сервера", "OptionEnableExternalContentInSuggestions": "Включать внешнее содержание в предложения", "OptionEnableExternalContentInSuggestionsHelp": "Разрешить охват интернет-трейлеров и эфирных передач в предлагаемом содержании.", "OptionEnableForAllTuners": "Включить для всех тюнерных устройств", diff --git a/src/strings/sk.json b/src/strings/sk.json index ec536dd17..be7a50471 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -632,7 +632,6 @@ "OptionEnableAccessFromAllDevices": "Povoliť prístup zo všetkých zariadení", "OptionEnableAccessToAllChannels": "Povoliť prístup ku všetkým kanálom", "OptionEnableAccessToAllLibraries": "Povoliť prístup ku všetkým knižniciam", - "OptionEnableAutomaticServerUpdates": "Povoliť automatické aktualizácie servera", "OptionEnableM2tsMode": "Povoliť M2ts mód", "OptionEnableM2tsModeHelp": "Povoliť režim M2TS pri kódovaní do MPEGTS.", "OptionEnded": "Ukončené", diff --git a/src/strings/sv.json b/src/strings/sv.json index cc273bec1..c7d193120 100644 --- a/src/strings/sv.json +++ b/src/strings/sv.json @@ -962,7 +962,6 @@ "OptionEnableAccessFromAllDevices": "Aktivera åtkomst från alla enheter", "OptionEnableAccessToAllChannels": "Aktivera åtkomst till alla kanaler", "OptionEnableAccessToAllLibraries": "Aktivera åtkomst till alla bibliotek", - "OptionEnableAutomaticServerUpdates": "Aktivera automatiska serveruppdateringar", "OptionEnableExternalContentInSuggestions": "Aktivera externt innehåll under förslag", "OptionEnableExternalContentInSuggestionsHelp": "Tillåt internet trailers och livetv-program att visas under förslag på innehåll.", "OptionEnableForAllTuners": "Aktivera för alla TV-mottagare", diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index 338378289..e7bb4d773 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -983,7 +983,6 @@ "OptionEnableAccessFromAllDevices": "允许所有设备访问", "OptionEnableAccessToAllChannels": "允许访问所有频道", "OptionEnableAccessToAllLibraries": "允许访问所有媒体库", - "OptionEnableAutomaticServerUpdates": "开启自动服务器更新", "OptionEnableExternalContentInSuggestions": "在建议中启用外部内容", "OptionEnableExternalContentInSuggestionsHelp": "允许建议的内容中包含互联网预告片和电视直播节目。", "OptionEnableForAllTuners": "给所有调谐器开启", diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 4397c06c5..d4d6141d1 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1312,7 +1312,6 @@ "OptionDownloadBannerImage": "橫幅", "OptionEnableAccessToAllChannels": "允許存取所有頻道", "OptionEnableAccessToAllLibraries": "允許存取所有媒體庫", - "OptionEnableAutomaticServerUpdates": "啟用自動更新", "OptionEnableForAllTuners": "开启所有调谐器", "OptionExtractChapterImage": "開啟章節圖片擷取", "OptionEnableM2tsModeHelp": "當編碼為 MPEGTS 時啟用 M2TS 模式。", From a06c56d3d072469c6ff672922608dde7b86e8035 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sun, 26 Jan 2020 01:49:27 -0500 Subject: [PATCH 60/68] Add title attributes to card title buttons --- src/components/cardbuilder/cardBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index 44c5b3b07..92cc6d38a 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -1018,7 +1018,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'focusMana return text; } - var html = ''; From 2ee9828d0dbe2acdb84476a1b970d34393e7e5a4 Mon Sep 17 00:00:00 2001 From: Alexander Brissman Date: Sat, 25 Jan 2020 18:18:12 +0000 Subject: [PATCH 61/68] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)=20Translation:=20Jellyfin/Jellyfin=20Web=20Tran?= =?UTF-8?q?slate-URL:=20https://translate.jellyfin.org/projects/jellyfin/j?= =?UTF-8?q?ellyfin-web/nb=5FNO/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/strings/nb.json | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/strings/nb.json b/src/strings/nb.json index 0ad9459ac..a4a943d7f 100644 --- a/src/strings/nb.json +++ b/src/strings/nb.json @@ -115,7 +115,7 @@ "ColorSpace": "Fargeutvalg", "ColorTransfer": "Overføring av farger", "Composer": "Komponist", - "ConfigureDateAdded": "Konfigurer hvordan lagt til-dato bestemmes på Jellyfin-serveren sitt dashbord under instillinger for Bibliotek", + "ConfigureDateAdded": "Konfigurer hvordan \"Dato lagt til\" bestemmes på Jellyfin-serveren sitt dashbord under instillinger for Bibliotek", "ConfirmDeleteImage": "Slett bilde?", "ConfirmDeleteItem": "Sletting av elementet vil slette det fra både filsystemet og biblioteket. Er du sikker på at du vil fortsette?", "ConfirmDeleteItems": "Sletting av disse elementene vil slette dem fra både filsystemet og mediebiblioteket. Er du sikker på at du vil fortsette?", @@ -436,7 +436,7 @@ "LabelCustomDeviceDisplayNameHelp": "Oppgi et egendefinert visningsnavn eller la det være tomt for å bruke navnet som enheten rapporterer.", "LabelCustomRating": "Egen anmeldelse:", "LabelDateAdded": "Dato lagt til:", - "LabelDateAddedBehavior": "Dato lagt til-atferd for nytt innhold:", + "LabelDateAddedBehavior": "Hvordan bestemme \"Dato lagt til\" for nytt innhold:", "LabelDateAddedBehaviorHelp": "Hvis en metadataverdi finnes, vil den alltid bli brukt fremfor noen av disse valgene.", "LabelDay": "Dag:", "LabelDeathDate": "Dødsdato:", @@ -501,7 +501,7 @@ "LabelImageFetchersHelp": "Aktiver og ranger dine foretrukne kilder for omslagsbilder i prioritert rekkefølge.", "LabelImageType": "Bildetype:", "LabelImportOnlyFavoriteChannels": "Begrens til kanaler som er merket som favoritt", - "LabelInNetworkSignInWithEasyPassword": "Tillat PIN-kode-innlogging på det lokale nettverket", + "LabelInNetworkSignInWithEasyPassword": "Tillat innlogging med PIN-kode på det lokale nettverket", "LabelInNetworkSignInWithEasyPasswordHelp": "Bruk den enkle PIN-koden for å logge inn på klienter som befinner seg i hjemmenettverket. Det vanlige passordet ditt vil kun være nødvendig ved pålogging fra eksternt nettverk. Hvis PIN-koden er tom, trenger du ikke passord i hjemmenettverket.", "LabelKeepUpTo": "Bevar opptil:", "LabelKidsCategories": "Barnekategorier:", @@ -713,7 +713,7 @@ "MessageCreateAccountAt": "Opprett en konto hos {0}", "MessageDeleteTaskTrigger": "Er du sikker på at du vil slette denne oppgaveutløseren?", "MessageDirectoryPickerBSDInstruction": "På BSD-systemer må du kanskje endre lagringsinnstillinger i FreeNAS Jail slik at Jellyfin har tilgang dit.", - "MessageDirectoryPickerInstruction": "Nettverksplasseringer kan skrives inn manuelt i tilfelle Nettverk-knappen ikke klarer å lokalisere enhetene dine. For eksempel {0} eller {1}.", + "MessageDirectoryPickerInstruction": "Nettverksbaner kan skrives inn manuelt i tilfelle søke-knappen ikke klarer å lokalisere enhetene dine. For eksempel {0} eller {1}.", "MessageDirectoryPickerLinuxInstruction": "På Linux-systemer med Arch Linux, CentOS, Debian, Fedora, openSUSE eller Ubuntu må du minimum gi tjenestebrukeren lesetilgang til lagringsplassene dine.", "MessageDownloadQueued": "Nedlasting lagt i kø.", "MessageEnablingOptionLongerScans": "Aktivering av dette alternativet kan føre til at skanning av biblioteket tar betydelig lenger tid.", @@ -1225,7 +1225,7 @@ "EnableNextVideoInfoOverlayHelp": "Vis informasjon om den neste videoen i spillelisten ved slutten av en video.", "ExtractChapterImagesHelp": "Uthenting av kapittelbilder vil gjøre det mulig for klienter å vise bilder i menyer for å velge kapitel. Denne prosessen kan være treg, ressurskrevende, og kan kreve flere gigabyte med lagringsplass. Prosessen kjører når videoer oppdages, samt som en daglig planlagt hendelse. Tidsplanen kan endres i innstillinger for planlagte hendelser. Det anbefales ikke at denne prosessen kjøres når det er mange aktive brukere innlogget.", "Extras": "Ekstramateriale", - "HeaderKodiMetadataHelp": "For å aktivere eller deaktivere NFO-metadata, gå til bibliotekoppsettet i Jellyfin og finn valgene for metadatalagring.", + "HeaderKodiMetadataHelp": "For å aktivere eller deaktivere NFO-metadata, gå til bibliotekoppsettet i Jellyfin og finn valgene for lagring av metadata.", "OptionArtist": "Artist", "HeaderPhotoAlbums": "Fotoalbum", "HeaderRestartingServer": "Serveren starter på nytt", @@ -1362,7 +1362,7 @@ "DashboardArchitecture": "Arkitektur: {0}", "LabelVideoBitrate": "Bithastighet på video:", "LabelVideoCodec": "Videokodek:", - "LabelWeb": "Web: ", + "LabelWeb": "Web:", "LabelXDlnaCap": "X-DLNA-begrensning:", "LabelXDlnaDoc": "X-DLNA-doc:", "LabelYear": "År:", @@ -1453,5 +1453,7 @@ "OptionRandom": "Tilfeldig", "HeaderFavoritePeople": "Favorittpersoner", "Raised": "Hevet", - "ButtonSplit": "Del opp" + "ButtonSplit": "Del opp", + "SelectAdminUsername": "Vennligst velg et brukernavn for administrator-kontoen.", + "HeaderNavigation": "Navigering" } From 3682d3c22247689af7ab7879649c7bc4c1779054 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sun, 26 Jan 2020 18:53:40 +0300 Subject: [PATCH 62/68] medialibrarycreator.js --- .../medialibrarycreator.js | 109 ++++++++++++------ 1 file changed, 71 insertions(+), 38 deletions(-) diff --git a/src/components/medialibrarycreator/medialibrarycreator.js b/src/components/medialibrarycreator/medialibrarycreator.js index 183e22551..aeae7469a 100644 --- a/src/components/medialibrarycreator/medialibrarycreator.js +++ b/src/components/medialibrarycreator/medialibrarycreator.js @@ -1,37 +1,44 @@ -define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionseditor/libraryoptionseditor", "emby-toggle", "emby-input", "emby-select", "paper-icon-button-light", "listViewStyle", "formDialogStyle", "emby-button", "flexStyles"], function(loading, dialogHelper, dom, $, libraryoptionseditor) { +define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionseditor/libraryoptionseditor", "emby-toggle", "emby-input", "emby-select", "paper-icon-button-light", "listViewStyle", "formDialogStyle", "emby-button", "flexStyles"], function (loading, dialogHelper, dom, $, libraryoptionseditor) { "use strict"; function onAddLibrary() { - if (isCreating) return false; + if (isCreating) { + return false; + } if (pathInfos.length == 0) { - require(["alert"], function(alert) { + require(["alert"], function (alert) { alert({ text: Globalize.translate("PleaseAddAtLeastOneFolder"), type: "error" - }) + }); }); + return false; } isCreating = true; loading.show(); - var dlg = dom.parentWithClass(this, "dlg-librarycreator"); var name = $("#txtValue", dlg).val(); var type = $("#selectCollectionType", dlg).val(); - if (type == "mixed") type = null; + + if (type == "mixed") { + type = null; + } + var libraryOptions = libraryoptionseditor.getLibraryOptions(dlg.querySelector(".libraryOptions")); libraryOptions.PathInfos = pathInfos; - ApiClient.addVirtualFolder(name, type, currentOptions.refresh, libraryOptions).then(function() { + ApiClient.addVirtualFolder(name, type, currentOptions.refresh, libraryOptions).then(function () { hasChanges = true; isCreating = false; loading.hide(); dialogHelper.close(dlg); - }, function() { - require(["toast"], function(toast) { + }, function () { + require(["toast"], function (toast) { toast(Globalize.translate("ErrorAddingMediaPathToVirtualFolder")); }); + isCreating = false; loading.hide(); }); @@ -39,16 +46,17 @@ define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionsed } function getCollectionTypeOptionsHtml(collectionTypeOptions) { - return collectionTypeOptions.map(function(i) { + return collectionTypeOptions.map(function (i) { return '"; }).join(""); } function initEditor(page, collectionTypeOptions) { - $("#selectCollectionType", page).html(getCollectionTypeOptionsHtml(collectionTypeOptions)).val("").on("change", function() { + $("#selectCollectionType", page).html(getCollectionTypeOptionsHtml(collectionTypeOptions)).val("").on("change", function () { var value = this.value; var dlg = $(this).parents(".dialog")[0]; libraryoptionseditor.setContentType(dlg.querySelector(".libraryOptions"), value == "mixed" ? "" : value); + if (value) { dlg.querySelector(".libraryOptions").classList.remove("hide"); } else { @@ -57,17 +65,17 @@ define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionsed if (value != "mixed") { var index = this.selectedIndex; + if (index != -1) { var name = this.options[index].innerHTML.replace("*", "").replace("&", "&"); $("#txtValue", dlg).val(name); - var folderOption = collectionTypeOptions.filter(function(i) { - return i.value == value + var folderOption = collectionTypeOptions.filter(function (i) { + return i.value == value; })[0]; - $(".collectionTypeFieldDescription", dlg).html(folderOption.message || "") + $(".collectionTypeFieldDescription", dlg).html(folderOption.message || ""); } } }); - page.querySelector(".btnAddFolder").addEventListener("click", onAddButtonClick); page.querySelector(".btnSubmit").addEventListener("click", onAddLibrary); page.querySelector(".folderList").addEventListener("click", onRemoveClick); @@ -81,40 +89,65 @@ define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionsed function onAddButtonClick() { var page = dom.parentWithClass(this, "dlg-librarycreator"); - require(["directorybrowser"], function(directoryBrowser) { - var picker = new directoryBrowser; + + require(["directorybrowser"], function (directoryBrowser) { + var picker = new directoryBrowser(); picker.show({ enableNetworkSharePath: true, - callback: function(path, networkSharePath) { - path && addMediaLocation(page, path, networkSharePath); + callback: function (path, networkSharePath) { + if (path) { + addMediaLocation(page, path, networkSharePath); + } + picker.close(); } - }) - }) + }); + }); } function getFolderHtml(pathInfo, index) { var html = ""; - return html += '
', html += '
', html += '
' + pathInfo.Path + "
", pathInfo.NetworkPath && (html += '
' + pathInfo.NetworkPath + "
"), html += "
", html += '', html += "
" + html += '
'; + html += '
'; + html += '
' + pathInfo.Path + "
"; + + if (pathInfo.NetworkPath) { + html += '
' + pathInfo.NetworkPath + "
"; + } + + html += "
"; + html += ''; + html += "
"; + return html; } function renderPaths(page) { var foldersHtml = pathInfos.map(getFolderHtml).join(""); var folderList = page.querySelector(".folderList"); folderList.innerHTML = foldersHtml; - foldersHtml ? folderList.classList.remove("hide") : folderList.classList.add("hide"); + + if (foldersHtml) { + folderList.classList.remove("hide"); + } else { + folderList.classList.add("hide"); + } } function addMediaLocation(page, path, networkSharePath) { var pathLower = path.toLowerCase(); - var pathFilter = pathInfos.filter(function(p) { + var pathFilter = pathInfos.filter(function (p) { return p.Path.toLowerCase() == pathLower; }); + if (!pathFilter.length) { var pathInfo = { Path: path }; - networkSharePath && (pathInfo.NetworkPath = networkSharePath); + + if (networkSharePath) { + pathInfo.NetworkPath = networkSharePath; + } + pathInfos.push(pathInfo); renderPaths(page); } @@ -125,7 +158,7 @@ define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionsed var index = parseInt(button.getAttribute("data-index")); var location = pathInfos[index].Path; var locationLower = location.toLowerCase(); - pathInfos = pathInfos.filter(function(p) { + pathInfos = pathInfos.filter(function (p) { return p.Path.toLowerCase() != locationLower; }); renderPaths(dom.parentWithClass(button, "dlg-librarycreator")); @@ -136,21 +169,22 @@ define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionsed } function initLibraryOptions(dlg) { - libraryoptionseditor.embed(dlg.querySelector(".libraryOptions")).then(function() { + libraryoptionseditor.embed(dlg.querySelector(".libraryOptions")).then(function () { $("#selectCollectionType", dlg).trigger("change"); onToggleAdvancedChange.call(dlg.querySelector(".chkAdvanced")); - }) + }); } function editor() { - this.show = function(options) { - return new Promise(function(resolve, reject) { + this.show = function (options) { + return new Promise(function (resolve, reject) { currentOptions = options; currentResolve = resolve; hasChanges = false; - var xhr = new XMLHttpRequest; + var xhr = new XMLHttpRequest(); xhr.open("GET", "components/medialibrarycreator/medialibrarycreator.template.html", true); - xhr.onload = function(e) { + + xhr.onload = function (e) { var template = this.response; var dlg = dialogHelper.createDialog({ size: "medium-tall", @@ -166,24 +200,23 @@ define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionsed initEditor(dlg, options.collectionTypeOptions); dlg.addEventListener("close", onDialogClosed); dialogHelper.open(dlg); - dlg.querySelector(".btnCancel").addEventListener("click", function() { - dialogHelper.close(dlg) + dlg.querySelector(".btnCancel").addEventListener("click", function () { + dialogHelper.close(dlg); }); pathInfos = []; renderPaths(dlg); initLibraryOptions(dlg); }; + xhr.send(); }); - } + }; } var pathInfos = []; var currentResolve; var currentOptions; - var hasChanges = false; var isCreating = false; - - return editor + return editor; }); From 807a45505aad953e456f2f375ef95aad8b0fa09c Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sun, 26 Jan 2020 19:02:37 +0300 Subject: [PATCH 63/68] medialibraryeditor.js --- .../medialibraryeditor/medialibraryeditor.js | 106 +++++++++++------- 1 file changed, 64 insertions(+), 42 deletions(-) diff --git a/src/components/medialibraryeditor/medialibraryeditor.js b/src/components/medialibraryeditor/medialibraryeditor.js index a1ee53f72..8336f9e17 100644 --- a/src/components/medialibraryeditor/medialibraryeditor.js +++ b/src/components/medialibraryeditor/medialibraryeditor.js @@ -1,22 +1,22 @@ -define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionseditor/libraryoptionseditor", "emby-button", "listViewStyle", "paper-icon-button-light", "formDialogStyle", "emby-toggle", "flexStyles"], function(jQuery, loading, dialogHelper, dom, libraryoptionseditor) { +define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionseditor/libraryoptionseditor", "emby-button", "listViewStyle", "paper-icon-button-light", "formDialogStyle", "emby-toggle", "flexStyles"], function (jQuery, loading, dialogHelper, dom, libraryoptionseditor) { "use strict"; function onEditLibrary() { - if (isCreating) return false; + if (isCreating) { + return false; + } isCreating = true; loading.show(); - var dlg = dom.parentWithClass(this, "dlg-libraryeditor"); var libraryOptions = libraryoptionseditor.getLibraryOptions(dlg.querySelector(".libraryOptions")); libraryOptions = Object.assign(currentOptions.library.LibraryOptions || {}, libraryOptions); - - ApiClient.updateVirtualFolderOptions(currentOptions.library.ItemId, libraryOptions).then(function() { + ApiClient.updateVirtualFolderOptions(currentOptions.library.ItemId, libraryOptions).then(function () { hasChanges = true; isCreating = false; loading.hide(); dialogHelper.close(dlg); - }, function() { + }, function () { isCreating = false; loading.hide(); }); @@ -26,11 +26,11 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed function addMediaLocation(page, path, networkSharePath) { var virtualFolder = currentOptions.library; var refreshAfterChange = currentOptions.refresh; - ApiClient.addMediaPath(virtualFolder.Name, path, networkSharePath, refreshAfterChange).then(function() { + ApiClient.addMediaPath(virtualFolder.Name, path, networkSharePath, refreshAfterChange).then(function () { hasChanges = true; refreshLibraryFromServer(page); - }, function() { - require(["toast"], function(toast) { + }, function () { + require(["toast"], function (toast) { toast(Globalize.translate("ErrorAddingMediaPathToVirtualFolder")); }); }); @@ -41,11 +41,11 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed ApiClient.updateMediaPath(virtualFolder.Name, { Path: path, NetworkPath: networkSharePath - }).then(function() { + }).then(function () { hasChanges = true; refreshLibraryFromServer(page); - }, function() { - require(["toast"], function(toast) { + }, function () { + require(["toast"], function (toast) { toast(Globalize.translate("ErrorAddingMediaPathToVirtualFolder")); }); }); @@ -54,19 +54,20 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed function onRemoveClick(btnRemovePath, location) { var button = btnRemovePath; var virtualFolder = currentOptions.library; - require(["confirm"], function(confirm) { + + require(["confirm"], function (confirm) { confirm({ title: Globalize.translate("HeaderRemoveMediaLocation"), text: Globalize.translate("MessageConfirmRemoveMediaLocation"), confirmText: Globalize.translate("ButtonDelete"), primary: "delete" - }).then(function() { + }).then(function () { var refreshAfterChange = currentOptions.refresh; - ApiClient.removeMediaPath(virtualFolder.Name, location, refreshAfterChange).then(function() { + ApiClient.removeMediaPath(virtualFolder.Name, location, refreshAfterChange).then(function () { hasChanges = true; refreshLibraryFromServer(dom.parentWithClass(button, "dlg-libraryeditor")); - }, function() { - require(["toast"], function(toast) { + }, function () { + require(["toast"], function (toast) { toast(Globalize.translate("DefaultErrorMessage")); }); }); @@ -76,13 +77,19 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed function onListItemClick(e) { var listItem = dom.parentWithClass(e.target, "listItem"); + if (listItem) { var index = parseInt(listItem.getAttribute("data-index")); var pathInfos = (currentOptions.library.LibraryOptions || {}).PathInfos || []; var pathInfo = null == index ? {} : pathInfos[index] || {}; var originalPath = pathInfo.Path || (null == index ? null : currentOptions.library.Locations[index]); var btnRemovePath = dom.parentWithClass(e.target, "btnRemovePath"); - if (btnRemovePath) return void onRemoveClick(btnRemovePath, originalPath); + + if (btnRemovePath) { + onRemoveClick(btnRemovePath, originalPath); + return; + } + showDirectoryBrowser(dom.parentWithClass(listItem, "dlg-libraryeditor"), originalPath, pathInfo.NetworkPath); } } @@ -94,9 +101,11 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed html += '

'; html += pathInfo.Path; html += "

"; + if (pathInfo.NetworkPath) { html += '
' + pathInfo.NetworkPath + "
"; } + html += "
"; html += ''; html += "
"; @@ -104,10 +113,11 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed } function refreshLibraryFromServer(page) { - ApiClient.getVirtualFolders().then(function(result) { - var library = result.filter(function(f) { - return f.Name === currentOptions.library.Name + ApiClient.getVirtualFolders().then(function (result) { + var library = result.filter(function (f) { + return f.Name === currentOptions.library.Name; })[0]; + if (library) { currentOptions.library = library; renderLibrary(page, currentOptions); @@ -117,16 +127,21 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed function renderLibrary(page, options) { var pathInfos = (options.library.LibraryOptions || {}).PathInfos || []; - pathInfos.length || (pathInfos = options.library.Locations.map(function(p) { - return { - Path: p - } - })); + + if (!pathInfos.length) { + pathInfos = options.library.Locations.map(function (p) { + return { + Path: p + }; + }); + } + if (options.library.CollectionType === 'boxsets') { page.querySelector(".folders").classList.add("hide"); } else { page.querySelector(".folders").classList.remove("hide"); } + page.querySelector(".folderList").innerHTML = pathInfos.map(getFolderHtml).join(""); } @@ -135,24 +150,31 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed } function showDirectoryBrowser(context, originalPath, networkPath) { - require(["directorybrowser"], function(directoryBrowser) { - var picker = new directoryBrowser; + require(["directorybrowser"], function (directoryBrowser) { + var picker = new directoryBrowser(); picker.show({ - enableNetworkSharePath: !0, + enableNetworkSharePath: true, pathReadOnly: null != originalPath, path: originalPath, networkSharePath: networkPath, - callback: function(path, networkSharePath) { - path && (originalPath ? updateMediaLocation(context, originalPath, networkSharePath) : addMediaLocation(context, path, networkSharePath)); + callback: function (path, networkSharePath) { + if (path) { + if (originalPath) { + updateMediaLocation(context, originalPath, networkSharePath); + } else { + addMediaLocation(context, path, networkSharePath); + } + } + picker.close(); } - }) - }) + }); + }); } function onToggleAdvancedChange() { var dlg = dom.parentWithClass(this, "dlg-libraryeditor"); - libraryoptionseditor.setAdvancedVisible(dlg.querySelector(".libraryOptions"), this.checked) + libraryoptionseditor.setAdvancedVisible(dlg.querySelector(".libraryOptions"), this.checked); } function initEditor(dlg, options) { @@ -161,7 +183,7 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed dlg.querySelector(".folderList").addEventListener("click", onListItemClick); dlg.querySelector(".chkAdvanced").addEventListener("change", onToggleAdvancedChange); dlg.querySelector(".btnSubmit").addEventListener("click", onEditLibrary); - libraryoptionseditor.embed(dlg.querySelector(".libraryOptions"), options.library.CollectionType, options.library.LibraryOptions).then(function() { + libraryoptionseditor.embed(dlg.querySelector(".libraryOptions"), options.library.CollectionType, options.library.LibraryOptions).then(function () { onToggleAdvancedChange.call(dlg.querySelector(".chkAdvanced")); }); } @@ -171,14 +193,15 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed } function editor() { - this.show = function(options) { + this.show = function (options) { var deferred = jQuery.Deferred(); currentOptions = options; currentDeferred = deferred; hasChanges = false; - var xhr = new XMLHttpRequest; + var xhr = new XMLHttpRequest(); xhr.open("GET", "components/medialibraryeditor/medialibraryeditor.template.html", true); - xhr.onload = function(e) { + + xhr.onload = function (e) { var template = this.response; var dlg = dialogHelper.createDialog({ size: "medium-tall", @@ -195,21 +218,20 @@ define(["jQuery", "loading", "dialogHelper", "dom", "components/libraryoptionsed initEditor(dlg, options); dlg.addEventListener("close", onDialogClosed); dialogHelper.open(dlg); - dlg.querySelector(".btnCancel").addEventListener("click", function() { + dlg.querySelector(".btnCancel").addEventListener("click", function () { dialogHelper.close(dlg); }); refreshLibraryFromServer(dlg); }; + xhr.send(); return deferred.promise(); - } + }; } var currentDeferred; var currentOptions; - var hasChanges = false; var isCreating = false; - return editor; }); From 9e1633d583efc51756f9d336856bcbd9960816c0 Mon Sep 17 00:00:00 2001 From: Fernando Date: Sun, 26 Jan 2020 13:45:18 +0000 Subject: [PATCH 64/68] Translated using Weblate (Spanish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/ --- src/strings/es.json | 81 +++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/src/strings/es.json b/src/strings/es.json index 886478e8d..86f32d3d5 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -95,7 +95,7 @@ "ButtonRestart": "Reiniciar", "ButtonResume": "Continuar", "ButtonRevoke": "Revocar", - "ButtonSave": "Grabar", + "ButtonSave": "Guardar", "ButtonScanAllLibraries": "Escanear todas las bibliotecas", "ButtonSearch": "Buscar", "ButtonSelectDirectory": "Seleccionar directorio", @@ -120,7 +120,7 @@ "CancelRecording": "Cancelar grabación", "CancelSeries": "Cancelar series", "Categories": "Categorías", - "ChannelAccessHelp": "Seleccione los canales para compartir con este usuario. Los administradores podrán editar todos los canales mediante el gestor de metadatos.", + "ChannelAccessHelp": "Seleccione los canales para compartir con este usuario. Los administradores podrán editar todos los canales mediante el editor de etiquetas.", "ChannelNameOnly": "Canal {0} solo", "ChannelNumber": "Número de canal", "Channels": "Canales", @@ -139,8 +139,8 @@ "DeathDateValue": "Murió: {0}", "Default": "Por defecto", "DefaultErrorMessage": "Ha habido un error procesando la solicitud. Por favor inténtalo más tarde.", - "DefaultMetadataLangaugeDescription": "Estos son tus ajustes y se pueden personalizar para cada librería.", - "DefaultSubtitlesHelp": "Los subtítulos se activan en función de los ajustes por defecto y etiquetas en los metadatos integrados. Los ajustes de idioma se tienen en cuenta cuando hay varias opciones disponibles.", + "DefaultMetadataLangaugeDescription": "Estos son tus ajustes y se pueden personalizar para cada biblioteca.", + "DefaultSubtitlesHelp": "Los subtítulos que se utilizarán dependerán de como estén etiquetadas las pistas de los archivos (si \"por defecto\" o \"forzado\"). Los ajustes de idioma se tienen en cuenta cuando hay varias opciones disponibles.", "Delete": "Borrar", "DeleteDeviceConfirmation": "¿Estás seguro de que quieres borrar este dispositivo? Volverá a aparecer la próxima vez que un usuario inicie sesión en él.", "DeleteImage": "Borrar imagen", @@ -304,7 +304,7 @@ "HeaderItems": "Elementos", "HeaderKeepRecording": "Mantener grabación", "HeaderKeepSeries": "Mantener series", - "HeaderKodiMetadataHelp": "Para habilitar o deshabilitar metadatos NFO, edite una biblioteca en la configuración de la biblioteca Jellyfin y localice la sección de metadatos.", + "HeaderKodiMetadataHelp": "Puedes activar o desactivar las etiquetas en formato NFO abriendo la configuración de una biblioteca y revisando los ajustes en la sección de etiquetas.", "HeaderLatestEpisodes": "Últimos episodios", "HeaderLatestMedia": "Últimos medios", "HeaderLatestMovies": "Últimas películas", @@ -322,7 +322,7 @@ "HeaderMedia": "Medios", "HeaderMediaFolders": "Carpetas de medios", "HeaderMediaInfo": "Información multimedia", - "HeaderMetadataSettings": "Ajustes de metadatos", + "HeaderMetadataSettings": "Ajustes de etiquetas", "HeaderMoreLikeThis": "Más como este", "HeaderMovies": "Películas", "HeaderMusicVideos": "Vídeos musicales", @@ -349,7 +349,7 @@ "HeaderPlaybackError": "Error de reproducción", "HeaderPleaseSignIn": "Por favor, inicie sesión", "HeaderPluginInstallation": "Instalación del complemento", - "HeaderPreferredMetadataLanguage": "Idioma preferido para los metadatos", + "HeaderPreferredMetadataLanguage": "Idioma preferido para las etiquetas", "HeaderProfile": "Perfil", "HeaderProfileInformation": "Información del perfil", "HeaderProfileServerSettingsHelp": "Estos valores controlan como el servidor Jellyfin se presenta al dispositivo.", @@ -369,8 +369,8 @@ "HeaderSeasons": "Temporadas", "HeaderSecondsValue": "{0} segundos", "HeaderSelectCertificatePath": "Elige la ruta del certificado", - "HeaderSelectMetadataPath": "Seleccione la ruta para Metadatos", - "HeaderSelectMetadataPathHelp": "Busque o escriba la ruta donde desea almacenar los metadatos. La carpeta debe tener permiso de escritura.", + "HeaderSelectMetadataPath": "Seleccione la ruta para las etiquetas", + "HeaderSelectMetadataPathHelp": "Busque o escriba la ruta donde almacenar las etiquetas. La carpeta debe tener permiso de escritura.", "HeaderSelectPath": "Elige ruta", "HeaderSelectServer": "Selecionar servidor", "HeaderSelectServerCachePath": "Seleccione la ruta para el caché del servidor", @@ -459,7 +459,7 @@ "LabelArtists": "Artistas:", "LabelArtistsHelp": "Separar múltiples artistas usando ;", "LabelAudioLanguagePreference": "Idioma de audio preferido:", - "LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar los metadatos automáticamente de internet:", + "LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar las etiquetas automáticamente desde Internet:", "LabelBindToLocalNetworkAddress": "Vincular a la dirección de red local:", "LabelBindToLocalNetworkAddressHelp": "Opcional. Anule la dirección IP local para enlazar el servidor HTTP. Si se deja vacío, el servidor se enlazará a todas las direcciones disponibles. Para cambiar este valor, debe reiniciar el servidor Jellyfin.", "LabelBirthDate": "Fecha de nacimiento:", @@ -489,7 +489,7 @@ "LabelCustomRating": "Valoración pesonalizada:", "LabelDateAdded": "Fecha de añadido:", "LabelDateAddedBehavior": "Comportamiento de la fecha añadida para contenido nuevo:", - "LabelDateAddedBehaviorHelp": "Si un valor de metadato está disponible su usará siempre antes que ninguna de esas opciones.", + "LabelDateAddedBehaviorHelp": "Si el elemento tiene etiquetas que contengan información sobre la fecha de creación, independientemente de lo seleccionado aquí, se utilizarán para ordenar el contenido.", "LabelDay": "Día:", "LabelDeathDate": "Fecha de muerte:", "LabelDefaultUser": "Usuario por defecto:", @@ -595,15 +595,15 @@ "LabelMaxStreamingBitrateHelp": "Especifica la tasa de bits máxima de la transmisión.", "LabelMessageText": "Mensaje de texto:", "LabelMessageTitle": "Título del mensaje:", - "LabelMetadata": "Metadatos:", + "LabelMetadata": "Etiquetas:", "LabelMetadataDownloadLanguage": "Idioma preferido de visualizado:", - "LabelMetadataDownloadersHelp": "Activa y ordena tus descargadores de metadatos por prioridad. Los que tengan menor prioridad se sólo se utilizarán para llenar la información faltante.", - "LabelMetadataPath": "Ruta de los metadatos:", - "LabelMetadataPathHelp": "Especifica una ruta para los pósteres y metadatos.", - "LabelMetadataReaders": "Lectores de metadatos:", - "LabelMetadataReadersHelp": "Ordena tus fuentes de metadatos locales por prioridad. Se leerá el primer archivo encontrado.", - "LabelMetadataSavers": "Almacenadores de metadatos:", - "LabelMetadataSaversHelp": "Elige el formato de archivo para guardar tus metadatos.", + "LabelMetadataDownloadersHelp": "Activa y ordena estos proveedores de etiquetas por prioridad. Los que tengan menor prioridad sólo se utilizarán para completar la información que falte.", + "LabelMetadataPath": "Ruta de las etiquetas:", + "LabelMetadataPathHelp": "Especifica una ruta para las imágenes y las etiquetas.", + "LabelMetadataReaders": "Lectores de etiquetas:", + "LabelMetadataReadersHelp": "Ordena los proveedores de etiquetas locales por prioridad. Se leerá el primer archivo encontrado.", + "LabelMetadataSavers": "Formato de etiquetas:", + "LabelMetadataSaversHelp": "Elige el formato de archivo para guardar las etiquetas.", "LabelMethod": "Método:", "LabelMinBackdropDownloadWidth": "Anchura mínima de descarga de imágenes de fondo:", "LabelMinResumeDuration": "Duración mínima de reanudación:", @@ -676,8 +676,8 @@ "LabelRemoteClientBitrateLimit": "Límite de la transmisión de tasa de bits por internet (Mbps):", "LabelRemoteClientBitrateLimitHelp": "Un límite opcional de tasa de bits para todos los dispositivos fuera de la red. Esto es útil para evitar que los dispositivos soliciten una tasa de bits más alta que la que su conexión a Internet puede manejar. Esto puede ocasionar una mayor carga de la CPU en su servidor para transcodificar vídeos sobre la marcha a una tasa de bits más baja.", "LabelRuntimeMinutes": "Tiempo de ejecución (minutos):", - "LabelSaveLocalMetadata": "Guardar imágenes y metadatos en las carpetas de medios", - "LabelSaveLocalMetadataHelp": "Guardar imágenes y metadatos directamente en las carpetas de medios, permitirá colocarlas en un lugar donde se pueden editar fácilmente.", + "LabelSaveLocalMetadata": "Guardar imágenes y etiquetas en las carpetas de medios", + "LabelSaveLocalMetadataHelp": "Guardar imágenes y etiquetas directamente en las carpetas en las que estén los elementos hará que se puedan editar más fácilmente.", "LabelScheduledTaskLastRan": "Última ejecución {0}, tardando {1}.", "LabelScreensaver": "Salvapantallas:", "LabelSeasonNumber": "Número de temporada:", @@ -729,7 +729,7 @@ "LabelTunerIpAddress": "IP del sintonizador:", "LabelTunerType": "Tipo de sintonizador:", "LabelType": "Tipo:", - "LabelTypeMetadataDownloaders": "{0} descargadores de metadatos:", + "LabelTypeMetadataDownloaders": "Proveedores de etiquetas para {0}:", "LabelTypeText": "Texto", "LabelUseNotificationServices": "Usar los siguientes servicios:", "LabelUser": "Usuario:", @@ -754,7 +754,7 @@ "LanNetworksHelp": "Lista de direcciones IP separadas por comas o entradas de dirección IP / máscara de red para redes que se considerarán en la red local al imponer restricciones de ancho de banda. Si se establece, todas las demás direcciones IP se considerarán en la red externa y estarán sujetas a las restricciones de ancho de banda externo. Si se deja en blanco, solo se considera que la subred del servidor está en la red local.", "Large": "Grande", "LatestFromLibrary": "Reciente en {0}", - "LibraryAccessHelp": "Seleccione las bibliotecas a compartir con este usuario. Los administradores podrán editar todas las carpetas usando el gestor de metadatos.", + "LibraryAccessHelp": "Seleccione las bibliotecas a compartir con este usuario. Los administradores podrán editar todas las carpetas usando el gestor de etiquetas.", "Like": "Me gusta", "Live": "Directo", "LiveBroadcasts": "Emisiones en vivo", @@ -824,7 +824,7 @@ "MessageNoTrailersFound": "No se han encontrado tráilers. Instala el canal de tráilers para mejorar su experiencia añadiendo una biblioteca de tráilers por internet.", "MessageNothingHere": "Nada aquí.", "MessagePasswordResetForUsers": "Se ha restablecido las contraseñas a los siguientes usuarios. Ahora pueden iniciar sesión con los códigos PIN que usaron para el restablecimiento.", - "MessagePleaseEnsureInternetMetadata": "Por favor, asegúrese que la descarga de metadatos de internet está habilitada.", + "MessagePleaseEnsureInternetMetadata": "Asegúrate de que la descarga de etiquetas desde internet está activada.", "MessagePleaseWait": "Por favor, espere.", "MessagePluginConfigurationRequiresLocalAccess": "Para configurar este complemento inicia sesión en tu servidor local directamente.", "MessagePluginInstallDisclaimer": "Los complementos creados por los miembros de la comunidad de Jellyfin son una buena forma de mejorar tu experiencia Jellyfin con características adicionales y otros beneficios. Antes de instalarlos considera los efectos que pueden tener en tu servidor Jellyfin, como escaneos de la biblioteca más largos, procesado en segundo plano adicional y una reducción de la estabilidad del sistema.", @@ -834,9 +834,9 @@ "MessageUnableToConnectToServer": "No podemos conectar con el servidor seleccionado ahora mismo. Por favor, asegúrate de que esta funcionando e inténtalo otra vez.", "MessageUnsetContentHelp": "El contenido se mostrará como carpetas planas. Para tener mejores resultados utiliza el gestor de metadatos para establecer los tipos de contenidos de las sub-carpetas.", "MessageYouHaveVersionInstalled": "Actualmente tienes la versión {0} instalada.", - "Metadata": "Metadatos", - "MetadataManager": "Administrador de metadatos", - "MetadataSettingChangeHelp": "El cambio de la configuración de metadatos afectará al nuevo contenido que se añada en el futuro. Para actualizar el contenido existente, abra la pantalla de detalles y haga clic en el botón Actualizar o realice actualizaciones masivas utilizando el administrador de metadatos.", + "Metadata": "Etiquetas", + "MetadataManager": "Administrador de etiquetas", + "MetadataSettingChangeHelp": "Este cambio afectará al nuevo contenido que se añada en el futuro. Para actualizar el contenido existente abra la pantalla de detalles y haga clic en el botón \"Actualizar\". También se pueden actualizar todas las etiquetas a la vez utilizando el administrador de etiquetas.", "MinutesAfter": "minutos después", "MinutesBefore": "minutos antes", "Mobile": "Móvil", @@ -981,8 +981,8 @@ "OptionResumable": "Se puede continuar", "OptionRuntime": "Tiempo", "OptionSaturday": "Sábado", - "OptionSaveMetadataAsHidden": "Guardar los metadatos e imágenes como archivos ocultos", - "OptionSaveMetadataAsHiddenHelp": "Cambiar esto se aplicará a los nuevos metadatos guardados en el futuro. Los archivos de metadatos existentes se actualizarán la próxima vez que sean guardados por el servidor Jellyfin.", + "OptionSaveMetadataAsHidden": "Guardar las etiquetas e imágenes como archivos ocultos", + "OptionSaveMetadataAsHiddenHelp": "La configuración se aplicará a las nuevas etiquetas que se creen. Las etiquetas existentes se actualizarán la próxima vez que sean guardadas por Jellyfin.", "OptionSpecialEpisode": "Especiales", "OptionSunday": "Domingo", "OptionThursday": "Jueves", @@ -1024,7 +1024,7 @@ "PleaseSelectTwoItems": "Seleccione al menos dos elementos.", "PluginInstalledMessage": "El complemento se ha instalado correctamente. El servidor Jellyfin deberá reiniciarse para que los cambios surjan efecto.", "PreferEmbeddedTitlesOverFileNames": "Preferir títulos incrustados sobre los nombres de archivo", - "PreferEmbeddedTitlesOverFileNamesHelp": "Esto determina el título por defecto cuando no hay ningún metadato de internet o local.", + "PreferEmbeddedTitlesOverFileNamesHelp": "Esto determina el título que se utilizará cuando un elemento no tenga etiquetas ni estas se hayan podido descargar de Internet.", "PreferredNotRequired": "Preferido, pero no requerido", "Premieres": "Estrenos", "Previous": "Anterior", @@ -1047,7 +1047,7 @@ "RecordingScheduled": "Grabación programada.", "Recordings": "Grabaciones", "Refresh": "Refrescar", - "RefreshMetadata": "Actualizar metadatos", + "RefreshMetadata": "Actualizar etiquetas", "RefreshQueued": "Actualización programada.", "ReleaseDate": "Fecha de lanzamiento", "RememberMe": "Recuérdame", @@ -1058,7 +1058,7 @@ "RepeatEpisodes": "Repetir episodios", "RepeatMode": "Modo de repetición", "RepeatOne": "Repetir uno", - "ReplaceAllMetadata": "Reemplazar todos los metadatos", + "ReplaceAllMetadata": "Reemplazar todas las etiquetas", "ReplaceExistingImages": "Reemplazar imágenes existentes", "RequiredForAllRemoteConnections": "Requerido para todas las conexiones remotas", "ResumeAt": "Continuar desde {0}", @@ -1074,8 +1074,8 @@ "Screenshot": "Captura de pantalla", "Screenshots": "Capturas de pantalla", "Search": "Buscar", - "SearchForCollectionInternetMetadata": "Buscar en internet ilustraciones y metadatos", - "SearchForMissingMetadata": "Buscar metadatos faltantes", + "SearchForCollectionInternetMetadata": "Buscar en internet imágenes y etiquetas", + "SearchForMissingMetadata": "Buscar etiquetas que falten", "SearchForSubtitles": "Búsqueda de subtítulos", "SearchResults": "Resultados de la búsqueda", "SendMessage": "Enviar mensaje", @@ -1096,7 +1096,7 @@ "Shows": "Series", "Shuffle": "Mezclar", "SimultaneousConnectionLimitHelp": "Número máximo de transmisiones simultáneas permitidas. Pon 0 para no tener límite.", - "SkipEpisodesAlreadyInMyLibrary": "No grabar episodios que ya están en mi librería", + "SkipEpisodesAlreadyInMyLibrary": "No grabar episodios que ya están en mi biblioteca", "SkipEpisodesAlreadyInMyLibraryHelp": "Los episodios serán comparados usando el número de temporada y de episodio, cuando estén disponibles.", "Small": "Pequeño", "Smart": "Inteligente", @@ -1134,7 +1134,7 @@ "TabLatest": "Novedades", "TabLibrary": "Biblioteca", "TabLiveTV": "Televisión en directo", - "TabMetadata": "Metadatos", + "TabMetadata": "Etiquetas", "TabMovies": "Películas", "TabMusic": "Música", "TabMusicVideos": "Videos musicales", @@ -1236,7 +1236,7 @@ "Banner": "Pancarta", "BurnSubtitlesHelp": "Determina si el servidor debería incrustar los subtítulos al convertir el vídeo dependiendo del formato de los subtítulos. Evitar incrustar los subtítulos mejorará el rendimiento del servidor. Selecciona Auto para incrustar subtítulos basados en imágenes (VOBSUB, PGS, SUB/IDX, etc.) y algunos subtítulos de tipo ASS/SSA.", "ButtonInfo": "Información", - "ChangingMetadataImageSettingsNewContent": "Los cambios a la configuración de descarga de metadatos o arte sólo se aplicará al nuevo contenido añadido a la biblioteca. Para aplicar los cambios a los títulos existentes, necesitarás actualizar los metadatos manualmente.", + "ChangingMetadataImageSettingsNewContent": "Los cambios a la configuración de descarga de etiquetas e imágenes sólo se aplicará al nuevo contenido que se añada a la biblioteca. Para aplicar los cambios a los elementos existentes necesitarás actualizar las etiquetas manualmente.", "ColorPrimaries": "Colores primarios", "ColorSpace": "Espacio de color", "ColorTransfer": "Transferencia de color", @@ -1257,7 +1257,7 @@ "DisplayMissingEpisodesWithinSeasons": "Mostrar episodios ausentes en las temporadas", "DisplayMissingEpisodesWithinSeasonsHelp": "Esto también debe ser habilitado para la biblioteca de TV en la configuración del servidor.", "DropShadow": "Sombra", - "EditMetadata": "Editar metadatos", + "EditMetadata": "Editar etiquetas", "EnableBackdrops": "Imágenes de fondo", "EnableBackdropsHelp": "Mostrar imágenes de fondo en algunas páginas mientras se explora la biblioteca.", "EnableColorCodedBackgrounds": "Fondos con código de colores", @@ -1401,7 +1401,7 @@ "PlayCount": "Reproducciones", "Premiere": "Estreno", "Raised": "Elevación", - "RefreshDialogHelp": "Los metadatos se actualizan basados en las configuraciones y los servicios de internet habilitados en el panel del servidor Jellyfin.", + "RefreshDialogHelp": "Las etiquetas se actualizan basándose en las configuraciones y los servicios de internet activados desde el panel de control de Jellyfin.", "RestartPleaseWaitMessage": "Por favor, espera mientras el servidor Jellyfin se reinicia. Esto puede tardar un minuto o dos.", "RunAtStartup": "Ejecutar al iniciar", "Series": "Series", @@ -1460,5 +1460,6 @@ "HeaderFavoritePeople": "Personas favoritas", "OptionRandom": "Aleatorio", "SelectAdminUsername": "Por favor seleccione un nombre de usuario para la cuenta de administrador.", - "ButtonSplit": "Dividir" + "ButtonSplit": "Dividir", + "HeaderNavigation": "Navegación" } From e2ac37996c688afc5c27c61e4199bb29cd99133f Mon Sep 17 00:00:00 2001 From: NunzioArdi Date: Mon, 27 Jan 2020 12:16:25 +0000 Subject: [PATCH 65/68] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index 77c270c3a..c4dfa8053 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1454,5 +1454,6 @@ "HeaderFavoritePeople": "Personnes préférées", "OptionRandom": "Aléatoire", "ButtonSplit": "Séparer", - "SelectAdminUsername": "Veuillez choisir un nom d'utilisateur pour le compte administrateur." + "SelectAdminUsername": "Veuillez choisir un nom d'utilisateur pour le compte administrateur.", + "HeaderNavigation": "Navigation" } From 2657d9aeda351706e941787e5c75cedf5bc33a5f Mon Sep 17 00:00:00 2001 From: SaddFox Date: Sun, 26 Jan 2020 23:30:29 +0000 Subject: [PATCH 66/68] Translated using Weblate (Slovenian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/ --- src/strings/sl-si.json | 51 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json index d0f5404c1..05db2ee3e 100644 --- a/src/strings/sl-si.json +++ b/src/strings/sl-si.json @@ -1069,5 +1069,54 @@ "Never": "Nikoli", "ServerUpdateNeeded": "Jellyfin strežnik je potrebno posodobiti. Za prenos najnovejše različice prosimo obiščite {0}", "LatestFromLibrary": "Najnovejši {0}", - "LabelScheduledTaskLastRan": "Nazadnje zagnano {0}. Čas trajanja {1}." + "LabelScheduledTaskLastRan": "Nazadnje zagnano {0}. Čas trajanja {1}.", + "OptionRandom": "Naključno", + "OptionProtocolHttp": "HTTP", + "OptionProfilePhoto": "Slika", + "OptionProfileAudio": "Zvok", + "OptionPremiereDate": "Datum premiere", + "OptionOnInterval": "V intervalu", + "OptionOnAppStartup": "Ob zagonu aplikacije", + "OptionNew": "Novo...", + "OptionMonday": "Ponedeljek", + "OptionMissingEpisode": "Manjkajoče epizode", + "OptionLoginAttemptsBeforeLockoutHelp": "Vrednost nič (0) pomeni 3 poskuse za običajne uporabnike in 5 za skrbnike. Nastavite na -1 za onemogočanje te funkcije.", + "OptionLoginAttemptsBeforeLockout": "Določa število spodletelih poskusov prijave pred zaklenitvijo uporabnika.", + "OptionIsSD": "SD", + "OptionIsHD": "HD", + "OptionImdbRating": "IMDb ocena", + "OptionHomeVideos": "Slike", + "OptionHideUser": "Skrij tega uporabnika z vstopne strani", + "OptionHasTrailer": "Napovednik", + "OptionFriday": "Petek", + "OptionEveryday": "Vsak dan", + "OptionEnableAutomaticServerUpdates": "Omogoči samodejno posodabljanje strežnika", + "OptionDvd": "DVD", + "OptionDownloadMenuImage": "Meni", + "OptionDownloadLogoImage": "Logotip", + "OptionDownloadImagesInAdvanceHelp": "Privzeto se večina slik prenese šele, ko jih zahtevajo aplikacije. Omogočite to možnost za prenos slik vnaprej, pri uvozu predstavnosti. To lahko občutno podaljša preiskovanje knjižnice.", + "OptionDownloadImagesInAdvance": "Prenesi slike vnaprej", + "OptionAllowSyncTranscoding": "Dovoli prenašanje in sinhronizacijo predstavnosti ki zahteva pretvarjanje", + "OptionAllowRemoteControlOthers": "Dovoli daljinsko upravljanje drugih uporabnikov", + "OptionAllowLinkSharingHelp": "Deljene so zgolj spletne strani z informacijami o predstavnosti. Predstavnostne datoteke niso nikoli javno deljene. Deljene strani so časovno omejene in potečejo po {0} dneh.", + "OptionAllowLinkSharing": "Dovoli deljenje na družbenih omrežjih", + "OptionAllowContentDownloading": "Dovoli prenašanje in sinhronizacijo predstavnosti", + "OptionAllUsers": "Vsi uporabniki", + "OptionAlbumArtist": "Izvajalec albuma", + "OptionAlbum": "Album", + "OptionAdminUsers": "Skrbniki", + "Option3D": "3D", + "NumLocationsValue": "{0} mape", + "NoPluginConfigurationMessage": "Ta dodatek nima nobenih nastavitev.", + "No": "Ne", + "News": "Novice", + "NewEpisodesOnly": "Samo nove epizode", + "NewEpisodes": "Nove epizode", + "NewCollectionNameExample": "Primer: Star Wars zbirka", + "NewCollection": "Nova zbirka", + "Name": "Ime", + "MySubtitles": "Moji podnapisi", + "Mute": "Utišaj", + "MoveLeft": "Premakni levo", + "MoveRight": "Premakni desno" } From df0644251871743205d6a8cf0689dbaacca1d6c5 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 27 Jan 2020 22:54:25 +0900 Subject: [PATCH 67/68] remove missing file from dependency list --- src/scripts/site.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scripts/site.js b/src/scripts/site.js index 7c3daf015..9d7757d34 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -878,7 +878,6 @@ var AppInfo = {}; define("toast", [componentsPath + "/toast/toast"], returnFirstDependency); define("scrollHelper", [componentsPath + "/scrollhelper"], returnFirstDependency); define("touchHelper", [componentsPath + "/touchhelper"], returnFirstDependency); - define("userSettingsBuilder", [componentsPath + "/usersettings/usersettingsbuilder", "layoutManager", "browser"], returnFirstDependency); define("imageUploader", [componentsPath + "/imageuploader/imageuploader"], returnFirstDependency); define("htmlMediaHelper", [componentsPath + "/htmlMediaHelper"], returnFirstDependency); define("viewContainer", [componentsPath + "/viewContainer"], returnFirstDependency); From 3aceb5c1b2397167ab9728de5268f4f1ed34d433 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 27 Jan 2020 22:54:52 +0900 Subject: [PATCH 68/68] small fix to input element border radius --- src/elements/emby-input/emby-input.css | 8 +++----- src/themes/appletv/theme.css | 4 ++-- src/themes/blueradiance/theme.css | 4 ++-- src/themes/dark/theme.css | 4 ++-- src/themes/emby/theme.css | 4 ++-- src/themes/light/theme.css | 4 ++-- src/themes/purple-haze/theme.css | 4 ++-- src/themes/wmc/theme.css | 4 ++-- 8 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/elements/emby-input/emby-input.css b/src/elements/emby-input/emby-input.css index 57a46ec7b..fae39d26b 100644 --- a/src/elements/emby-input/emby-input.css +++ b/src/elements/emby-input/emby-input.css @@ -2,14 +2,12 @@ display: block; margin: 0; margin-bottom: 0 !important; - /* Remove select styling */ - /* Font size must the 16px or larger to prevent iOS page zoom on focus */ - font-size: 110%; - /* General select styles: change as needed */ font-family: inherit; font-weight: inherit; padding: .4em .25em; - /* Prevent padding from causing width overflow */ + /* must the 16px or larger to prevent iOS page zoom on focus */ + font-size: 110%; + /* prevent padding from causing width overflow */ box-sizing: border-box; outline: none !important; width: 100%; diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css index acc7ef821..c705dcf51 100644 --- a/src/themes/appletv/theme.css +++ b/src/themes/appletv/theme.css @@ -244,8 +244,8 @@ html { .emby-textarea { color: inherit; background: rgba(255, 255, 255, .9); - border: .07em solid rgba(0, 0, 0, .158); - border-radius: .15em + border: 0.16em solid rgba(0, 0, 0, .158); + border-radius: 0.2em } .emby-input:focus, diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css index cd1999702..51f246d55 100644 --- a/src/themes/blueradiance/theme.css +++ b/src/themes/blueradiance/theme.css @@ -244,8 +244,8 @@ html { .emby-textarea { color: inherit; background: rgba(0, 0, 0, .5); - border: .07em solid transparent; - border-radius: .15em + border: 0.16em solid transparent; + border-radius: 0.2em } .emby-input:focus, diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css index 1bcf3af28..003dcc810 100644 --- a/src/themes/dark/theme.css +++ b/src/themes/dark/theme.css @@ -225,8 +225,8 @@ html { .emby-textarea { color: inherit; background: #292929; - border: .07em solid #292929; - border-radius: .15em + border: 0.16em solid #292929; + border-radius: 0.2em } .emby-input:focus, diff --git a/src/themes/emby/theme.css b/src/themes/emby/theme.css index 15c329ce7..584dbe663 100644 --- a/src/themes/emby/theme.css +++ b/src/themes/emby/theme.css @@ -225,8 +225,8 @@ html { .emby-textarea { color: inherit; background: #292929; - border: .07em solid #292929; - border-radius: .15em + border: 0.16em solid #292929; + border-radius: 0.2em } .emby-input:focus, diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css index 9f97054f3..932717c35 100644 --- a/src/themes/light/theme.css +++ b/src/themes/light/theme.css @@ -245,8 +245,8 @@ html { .emby-textarea { color: inherit; background: #fff; - border: .07em solid rgba(0, 0, 0, .158); - border-radius: .15em + border: 0.16em solid rgba(0, 0, 0, .158); + border-radius: 0.2em } .emby-input:focus, diff --git a/src/themes/purple-haze/theme.css b/src/themes/purple-haze/theme.css index fb871b59f..83bdb2b89 100644 --- a/src/themes/purple-haze/theme.css +++ b/src/themes/purple-haze/theme.css @@ -332,8 +332,8 @@ a[data-role=button] { .emby-textarea { color: inherit; background: rgba(0, 0, 0, .5); - border: .07em solid transparent; - border-radius: .15em + border: 0.16em solid transparent; + border-radius: 0.2em } .emby-input:focus, diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css index 1f417b170..c26b8bab3 100644 --- a/src/themes/wmc/theme.css +++ b/src/themes/wmc/theme.css @@ -225,8 +225,8 @@ html { .emby-textarea { color: inherit; background: rgba(255, 255, 255, .2); - border: .07em solid rgba(255, 255, 255, .135); - border-radius: .15em + border: 0.16em solid rgba(255, 255, 255, .135); + border-radius: 0.2em } .emby-input:focus,