From 1c63a97d660023e65ca49cf73faa0600ec78a3c9 Mon Sep 17 00:00:00 2001 From: catch <catch@35733.no-reply.drupal.org> Date: Fri, 24 Jun 2022 23:25:17 +0100 Subject: [PATCH] Revert "Issue #3238501 by kostyashupenko, Spokje, mherchel, nod_, longwave, lauriii, bnjmnm: Remove Internet Explorer 11 polyfills" This reverts commit 145d7286a7538c43a035ea8b2b0bc4a42695256c. --- core/.eslintignore | 3 + core/assets/vendor/css-escape/css.escape.js | 106 ++++++++++++++++++ .../es6-promise/es6-promise.auto.min.js | 1 + .../es6-promise/es6-promise.auto.min.map | 1 + .../vendor/picturefill/picturefill.min.js | 5 + core/core.libraries.yml | 82 ++++++++++++++ core/misc/cspell/dictionary.txt | 17 +-- core/misc/polyfills/array.find.es6.js | 60 ++++++++++ core/misc/polyfills/array.find.js | 40 +++++++ core/misc/polyfills/array.includes.es6.js | 53 +++++++++ core/misc/polyfills/array.includes.js | 48 ++++++++ core/misc/polyfills/customevent.es6.js | 30 +++++ core/misc/polyfills/customevent.js | 23 ++++ core/misc/polyfills/element.closest.es6.js | 23 ++++ core/misc/polyfills/element.closest.js | 19 ++++ core/misc/polyfills/element.matches.es6.js | 17 +++ core/misc/polyfills/element.matches.js | 10 ++ core/misc/polyfills/nodelist.foreach.es6.js | 15 +++ core/misc/polyfills/nodelist.foreach.js | 10 ++ core/misc/polyfills/object.assign.es6.js | 42 +++++++ core/misc/polyfills/object.assign.js | 36 ++++++ core/misc/polyfills/string.includes.es6.js | 26 +++++ core/misc/polyfills/string.includes.js | 22 ++++ core/modules/block/block.libraries.yml | 1 + .../media_library/media_library.libraries.yml | 1 + .../js/responsive_image.ajax.es6.js | 12 ++ .../js/responsive_image.ajax.js | 17 +++ .../responsive_image.libraries.yml | 4 + .../responsive_image/responsive_image.module | 6 +- .../src/Element/ResponsiveImage.php | 3 + core/modules/views_ui/views_ui.libraries.yml | 1 + core/package.json | 4 + core/postcss.config.js | 1 + core/scripts/css/compile.js | 2 + core/scripts/js/vendor-update.js | 20 ++++ core/themes/claro/claro.libraries.yml | 1 + core/themes/claro/css/base/variables.css | 24 ++-- .../claro/css/components/action-link.css | 4 +- .../autocomplete-loading.module.css | 2 +- core/themes/claro/css/components/button.css | 2 +- core/themes/claro/css/components/details.css | 8 +- core/themes/claro/css/components/dialog.css | 2 +- .../claro/css/components/dropbutton.css | 12 +- core/themes/claro/css/components/fieldset.css | 16 +-- core/themes/claro/css/components/file.css | 2 +- .../css/components/form--checkbox-radio.css | 6 +- .../css/components/form--password-confirm.css | 2 +- .../claro/css/components/form--text.css | 4 +- core/themes/claro/css/components/form.css | 16 +-- .../claro/css/components/image-preview.css | 4 +- core/themes/claro/css/components/pager.css | 8 +- core/themes/claro/css/components/progress.css | 8 +- core/themes/claro/css/components/shortcut.css | 12 +- .../components/system-admin--admin-list.css | 2 +- .../css/components/system-admin--modules.css | 6 +- .../css/components/system-admin--panel.css | 8 +- .../table--file-multiple-widget.css | 12 +- .../themes/claro/css/components/tabledrag.css | 26 ++--- core/themes/claro/css/components/tables.css | 2 +- core/themes/claro/css/components/tabs.css | 4 +- .../claro/css/components/vertical-tabs.css | 18 +-- core/themes/claro/css/components/views-ui.css | 10 +- core/themes/claro/css/layout/card-list.css | 6 +- .../themes/claro/css/layout/local-actions.css | 6 +- core/themes/claro/css/theme/media-library.css | 22 ++-- core/themes/olivero/css/base/variables.css | 46 ++++---- .../olivero/css/components/breadcrumb.css | 24 ++-- core/themes/olivero/css/components/button.css | 8 +- .../olivero/css/components/comments.css | 16 +-- .../css/components/content-moderation.css | 14 +-- .../themes/olivero/css/components/details.css | 8 +- .../olivero/css/components/embedded-media.css | 20 ++-- .../css/components/header-navigation.css | 8 +- .../css/components/header-search-narrow.css | 8 +- .../css/components/header-site-branding.css | 14 +-- .../olivero/css/components/messages.css | 2 +- .../navigation/nav-primary-button.css | 4 +- .../navigation/nav-primary-wide.css | 8 +- .../css/components/navigation/nav-primary.css | 8 +- .../olivero/css/components/node-teaser.css | 10 +- .../css/components/powered-by-block.css | 6 +- core/themes/olivero/css/components/tabs.css | 24 ++-- core/themes/olivero/css/components/tags.css | 28 ++--- .../olivero/css/components/text-content.css | 2 +- .../olivero/css/components/vertical-tabs.css | 6 +- .../olivero/css/components/wide-image.css | 16 +-- .../layout/layout-builder-fourcol-section.css | 24 ++-- .../layout-builder-threecol-section.css | 20 ++-- .../layout/layout-builder-twocol-section.css | 60 +++++----- .../css/layout/layout-content-narrow.css | 16 +-- .../olivero/css/layout/layout-footer.css | 2 +- .../olivero/css/layout/layout-views-grid.css | 6 +- .../css/layout/region-content-below.css | 4 +- core/themes/olivero/css/layout/social-bar.css | 6 +- core/themes/olivero/olivero.libraries.yml | 5 + core/yarn.lock | 26 ++++- 96 files changed, 1118 insertions(+), 347 deletions(-) create mode 100644 core/assets/vendor/css-escape/css.escape.js create mode 100644 core/assets/vendor/es6-promise/es6-promise.auto.min.js create mode 100644 core/assets/vendor/es6-promise/es6-promise.auto.min.map create mode 100644 core/assets/vendor/picturefill/picturefill.min.js create mode 100644 core/misc/polyfills/array.find.es6.js create mode 100644 core/misc/polyfills/array.find.js create mode 100644 core/misc/polyfills/array.includes.es6.js create mode 100644 core/misc/polyfills/array.includes.js create mode 100644 core/misc/polyfills/customevent.es6.js create mode 100644 core/misc/polyfills/customevent.js create mode 100644 core/misc/polyfills/element.closest.es6.js create mode 100644 core/misc/polyfills/element.closest.js create mode 100644 core/misc/polyfills/element.matches.es6.js create mode 100644 core/misc/polyfills/element.matches.js create mode 100644 core/misc/polyfills/nodelist.foreach.es6.js create mode 100644 core/misc/polyfills/nodelist.foreach.js create mode 100644 core/misc/polyfills/object.assign.es6.js create mode 100644 core/misc/polyfills/object.assign.js create mode 100644 core/misc/polyfills/string.includes.es6.js create mode 100644 core/misc/polyfills/string.includes.js create mode 100644 core/modules/responsive_image/js/responsive_image.ajax.es6.js create mode 100644 core/modules/responsive_image/js/responsive_image.ajax.js create mode 100644 core/modules/responsive_image/responsive_image.libraries.yml diff --git a/core/.eslintignore b/core/.eslintignore index 7f26db1ea68b..655ca871470f 100644 --- a/core/.eslintignore +++ b/core/.eslintignore @@ -6,6 +6,9 @@ node_modules/**/* !modules/ckeditor5/js/ckeditor5_plugins/**/*.js modules/locale/tests/locale_test.es6.js !tests/Drupal/Nightwatch/**/*.js +misc/polyfills/array.find.es6.js +misc/polyfills/element.closest.es6.js +misc/polyfills/object.assign.es6.js # Ignore deliberately malformed YAML files. modules/system/tests/fixtures/HtaccessTest/access_test.yml diff --git a/core/assets/vendor/css-escape/css.escape.js b/core/assets/vendor/css-escape/css.escape.js new file mode 100644 index 000000000000..397cf88d318d --- /dev/null +++ b/core/assets/vendor/css-escape/css.escape.js @@ -0,0 +1,106 @@ +/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */ +;(function(root, factory) { + // https://github.com/umdjs/umd/blob/master/returnExports.js + if (typeof exports == 'object') { + // For Node.js. + module.exports = factory(root); + } else if (typeof define == 'function' && define.amd) { + // For AMD. Register as an anonymous module. + define([], factory.bind(root, root)); + } else { + // For browser globals (not exposing the function separately). + factory(root); + } +}(typeof global != 'undefined' ? global : this, function(root) { + + if (root.CSS && root.CSS.escape) { + return root.CSS.escape; + } + + // https://drafts.csswg.org/cssom/#serialize-an-identifier + var cssEscape = function(value) { + if (arguments.length == 0) { + throw new TypeError('`CSS.escape` requires an argument.'); + } + var string = String(value); + var length = string.length; + var index = -1; + var codeUnit; + var result = ''; + var firstCodeUnit = string.charCodeAt(0); + while (++index < length) { + codeUnit = string.charCodeAt(index); + // Note: there’s no need to special-case astral symbols, surrogate + // pairs, or lone surrogates. + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER + // (U+FFFD). + if (codeUnit == 0x0000) { + result += '\uFFFD'; + continue; + } + + if ( + // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is + // U+007F, […] + (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F || + // If the character is the first character and is in the range [0-9] + // (U+0030 to U+0039), […] + (index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) || + // If the character is the second character and is in the range [0-9] + // (U+0030 to U+0039) and the first character is a `-` (U+002D), […] + ( + index == 1 && + codeUnit >= 0x0030 && codeUnit <= 0x0039 && + firstCodeUnit == 0x002D + ) + ) { + // https://drafts.csswg.org/cssom/#escape-a-character-as-code-point + result += '\\' + codeUnit.toString(16) + ' '; + continue; + } + + if ( + // If the character is the first character and is a `-` (U+002D), and + // there is no second character, […] + index == 0 && + length == 1 && + codeUnit == 0x002D + ) { + result += '\\' + string.charAt(index); + continue; + } + + // If the character is not handled by one of the above rules and is + // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or + // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to + // U+005A), or [a-z] (U+0061 to U+007A), […] + if ( + codeUnit >= 0x0080 || + codeUnit == 0x002D || + codeUnit == 0x005F || + codeUnit >= 0x0030 && codeUnit <= 0x0039 || + codeUnit >= 0x0041 && codeUnit <= 0x005A || + codeUnit >= 0x0061 && codeUnit <= 0x007A + ) { + // the character itself + result += string.charAt(index); + continue; + } + + // Otherwise, the escaped character. + // https://drafts.csswg.org/cssom/#escape-a-character + result += '\\' + string.charAt(index); + + } + return result; + }; + + if (!root.CSS) { + root.CSS = {}; + } + + root.CSS.escape = cssEscape; + return cssEscape; + +})); diff --git a/core/assets/vendor/es6-promise/es6-promise.auto.min.js b/core/assets/vendor/es6-promise/es6-promise.auto.min.js new file mode 100644 index 000000000000..5a44a3b086e8 --- /dev/null +++ b/core/assets/vendor/es6-promise/es6-promise.auto.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function e(t){return"function"==typeof t}function n(t){W=t}function r(t){z=t}function o(){return function(){return process.nextTick(a)}}function i(){return"undefined"!=typeof U?function(){U(a)}:c()}function s(){var t=0,e=new H(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){return t.port2.postMessage(0)}}function c(){var t=setTimeout;return function(){return t(a,1)}}function a(){for(var t=0;t<N;t+=2){var e=Q[t],n=Q[t+1];e(n),Q[t]=void 0,Q[t+1]=void 0}N=0}function f(){try{var t=Function("return this")().require("vertx");return U=t.runOnLoop||t.runOnContext,i()}catch(e){return c()}}function l(t,e){var n=this,r=new this.constructor(p);void 0===r[V]&&x(r);var o=n._state;if(o){var i=arguments[o-1];z(function(){return T(o,r,i,n._result)})}else j(n,r,t,e);return r}function h(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(p);return w(n,t),n}function p(){}function v(){return new TypeError("You cannot resolve a promise with itself")}function d(){return new TypeError("A promises callback cannot return that same promise.")}function _(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function y(t,e,n){z(function(t){var r=!1,o=_(n,e,function(n){r||(r=!0,e!==n?w(t,n):A(t,n))},function(e){r||(r=!0,S(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&o&&(r=!0,S(t,o))},t)}function m(t,e){e._state===Z?A(t,e._result):e._state===$?S(t,e._result):j(e,void 0,function(e){return w(t,e)},function(e){return S(t,e)})}function b(t,n,r){n.constructor===t.constructor&&r===l&&n.constructor.resolve===h?m(t,n):void 0===r?A(t,n):e(r)?y(t,n,r):A(t,n)}function w(e,n){if(e===n)S(e,v());else if(t(n)){var r=void 0;try{r=n.then}catch(o){return void S(e,o)}b(e,n,r)}else A(e,n)}function g(t){t._onerror&&t._onerror(t._result),E(t)}function A(t,e){t._state===X&&(t._result=e,t._state=Z,0!==t._subscribers.length&&z(E,t))}function S(t,e){t._state===X&&(t._state=$,t._result=e,z(g,t))}function j(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+Z]=n,o[i+$]=r,0===i&&t._state&&z(E,t)}function E(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,o=void 0,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?T(n,r,o,i):o(i);t._subscribers.length=0}}function T(t,n,r,o){var i=e(r),s=void 0,u=void 0,c=!0;if(i){try{s=r(o)}catch(a){c=!1,u=a}if(n===s)return void S(n,d())}else s=o;n._state!==X||(i&&c?w(n,s):c===!1?S(n,u):t===Z?A(n,s):t===$&&S(n,s))}function M(t,e){try{e(function(e){w(t,e)},function(e){S(t,e)})}catch(n){S(t,n)}}function P(){return tt++}function x(t){t[V]=tt++,t._state=void 0,t._result=void 0,t._subscribers=[]}function C(){return new Error("Array Methods must be provided an Array")}function O(t){return new et(this,t).promise}function k(t){var e=this;return new e(L(t)?function(n,r){for(var o=t.length,i=0;i<o;i++)e.resolve(t[i]).then(n,r)}:function(t,e){return e(new TypeError("You must pass an array to race."))})}function F(t){var e=this,n=new e(p);return S(n,t),n}function Y(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function q(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function D(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;if(n){var r=null;try{r=Object.prototype.toString.call(n.resolve())}catch(e){}if("[object Promise]"===r&&!n.cast)return}t.Promise=nt}var K=void 0;K=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var L=K,N=0,U=void 0,W=void 0,z=function(t,e){Q[N]=t,Q[N+1]=e,N+=2,2===N&&(W?W(a):R())},B="undefined"!=typeof window?window:void 0,G=B||{},H=G.MutationObserver||G.WebKitMutationObserver,I="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),J="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Q=new Array(1e3),R=void 0;R=I?o():H?s():J?u():void 0===B&&"function"==typeof require?f():c();var V=Math.random().toString(36).substring(2),X=void 0,Z=1,$=2,tt=0,et=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(p),this.promise[V]||x(this.promise),L(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?A(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&A(this.promise,this._result))):S(this.promise,C())}return t.prototype._enumerate=function(t){for(var e=0;this._state===X&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===h){var o=void 0,i=void 0,s=!1;try{o=t.then}catch(u){s=!0,i=u}if(o===l&&t._state!==X)this._settledAt(t._state,e,t._result);else if("function"!=typeof o)this._remaining--,this._result[e]=t;else if(n===nt){var c=new n(p);s?S(c,i):b(c,t,o),this._willSettleAt(c,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(r(t),e)},t.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===X&&(this._remaining--,t===$?S(r,n):this._result[e]=n),0===this._remaining&&A(r,this._result)},t.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){return n._settledAt(Z,e,t)},function(t){return n._settledAt($,e,t)})},t}(),nt=function(){function t(e){this[V]=P(),this._result=this._state=void 0,this._subscribers=[],p!==e&&("function"!=typeof e&&Y(),this instanceof t?M(this,e):q())}return t.prototype["catch"]=function(t){return this.then(null,t)},t.prototype["finally"]=function(t){var n=this,r=n.constructor;return e(t)?n.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})}):n.then(t,t)},t}();return nt.prototype.then=l,nt.all=O,nt.race=k,nt.resolve=h,nt.reject=F,nt._setScheduler=n,nt._setAsap=r,nt._asap=z,nt.polyfill=D,nt.Promise=nt,nt.polyfill(),nt}); \ No newline at end of file diff --git a/core/assets/vendor/es6-promise/es6-promise.auto.min.map b/core/assets/vendor/es6-promise/es6-promise.auto.min.map new file mode 100644 index 000000000000..1d2a119dad9c --- /dev/null +++ b/core/assets/vendor/es6-promise/es6-promise.auto.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["config/versionTemplate.txt","lib/es6-promise/utils.js","lib/es6-promise/asap.js","lib/es6-promise/then.js","lib/es6-promise/promise/resolve.js","lib/es6-promise/-internal.js","lib/es6-promise/enumerator.js","lib/es6-promise/promise/all.js","lib/es6-promise/promise/race.js","lib/es6-promise/promise/reject.js","lib/es6-promise/promise.js","lib/es6-promise/polyfill.js","lib/es6-promise.js","lib/es6-promise.auto.js"],"sourcesContent":["/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n","export function objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n return x !== null && typeof x === 'object';\n}\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nexport var isArray = _isArray;","var len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nexport var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nexport function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}","import { invokeCallback, subscribe, FULFILLED, REJECTED, noop, makePromise, PROMISE_ID } from './-internal';\n\nimport { asap } from './asap';\n\nexport default function then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}","import { noop, resolve as _resolve } from '../-internal';\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nexport default function resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}","import { objectOrFunction, isFunction } from './utils';\n\nimport { asap } from './asap';\n\nimport originalThen from './then';\nimport originalResolve from './promise/resolve';\n\nexport var PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then) {\n if (maybeThenable.constructor === promise.constructor && then === originalThen && maybeThenable.constructor.resolve === originalResolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then)) {\n handleForeignThenable(promise, maybeThenable, then);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then = void 0;\n try {\n then = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nexport { nextId, makePromise, noop, resolve, reject, fulfill, subscribe, publish, publishRejection, initializePromise, invokeCallback, FULFILLED, REJECTED, PENDING, handleMaybeThenable };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isArray, isMaybeThenable } from './utils';\nimport { noop, reject, fulfill, subscribe, FULFILLED, REJECTED, PENDING, handleMaybeThenable } from './-internal';\n\nimport then from './then';\nimport Promise from './promise';\nimport originalResolve from './promise/resolve';\nimport originalThen from './then';\nimport { makePromise, PROMISE_ID } from './-internal';\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve = c.resolve;\n\n\n if (resolve === originalResolve) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === originalThen && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve) {\n return resolve(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\nexport default Enumerator;\n;","import Enumerator from '../enumerator';\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nexport default function all(entries) {\n return new Enumerator(this, entries).promise;\n}","import { isArray } from \"../utils\";\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nexport default function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}","import { noop, reject as _reject } from '../-internal';\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isFunction } from './utils';\nimport { noop, nextId, PROMISE_ID, initializePromise } from './-internal';\nimport { asap, setAsap, setScheduler } from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\nimport then from './then';\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;","import Promise from './es6-promise';\nPromise.polyfill();\nexport default Promise;"],"names":["resolve","_resolve","then","originalThen","originalResolve","Promise","reject","_reject","Resolve","Reject"],"mappings":"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","file":"es6-promise.auto.min.js"} \ No newline at end of file diff --git a/core/assets/vendor/picturefill/picturefill.min.js b/core/assets/vendor/picturefill/picturefill.min.js new file mode 100644 index 000000000000..9df7198d3048 --- /dev/null +++ b/core/assets/vendor/picturefill/picturefill.min.js @@ -0,0 +1,5 @@ +/*! picturefill - v3.0.2 - 2016-02-12 + * https://scottjehl.github.io/picturefill/ + * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT + */ +!function(a){var b=navigator.userAgent;a.HTMLPictureElement&&/ecko/.test(b)&&b.match(/rv\:(\d+)/)&&RegExp.$1<45&&addEventListener("resize",function(){var b,c=document.createElement("source"),d=function(a){var b,d,e=a.parentNode;"PICTURE"===e.nodeName.toUpperCase()?(b=c.cloneNode(),e.insertBefore(b,e.firstElementChild),setTimeout(function(){e.removeChild(b)})):(!a._pfLastSize||a.offsetWidth>a._pfLastSize)&&(a._pfLastSize=a.offsetWidth,d=a.sizes,a.sizes+=",100vw",setTimeout(function(){a.sizes=d}))},e=function(){var a,b=document.querySelectorAll("picture > img, img[srcset][sizes]");for(a=0;a<b.length;a++)d(b[a])},f=function(){clearTimeout(b),b=setTimeout(e,99)},g=a.matchMedia&&matchMedia("(orientation: landscape)"),h=function(){f(),g&&g.addListener&&g.addListener(f)};return c.srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",/^[c|i]|d$/.test(document.readyState||"")?h():document.addEventListener("DOMContentLoaded",h),f}())}(window),function(a,b,c){"use strict";function d(a){return" "===a||" "===a||"\n"===a||"\f"===a||"\r"===a}function e(b,c){var d=new a.Image;return d.onerror=function(){A[b]=!1,ba()},d.onload=function(){A[b]=1===d.width,ba()},d.src=c,"pending"}function f(){M=!1,P=a.devicePixelRatio,N={},O={},s.DPR=P||1,Q.width=Math.max(a.innerWidth||0,z.clientWidth),Q.height=Math.max(a.innerHeight||0,z.clientHeight),Q.vw=Q.width/100,Q.vh=Q.height/100,r=[Q.height,Q.width,P].join("-"),Q.em=s.getEmValue(),Q.rem=Q.em}function g(a,b,c,d){var e,f,g,h;return"saveData"===B.algorithm?a>2.7?h=c+1:(f=b-c,e=Math.pow(a-.6,1.5),g=f*e,d&&(g+=.1*e),h=a+g):h=c>1?Math.sqrt(a*b):a,h>c}function h(a){var b,c=s.getSet(a),d=!1;"pending"!==c&&(d=r,c&&(b=s.setRes(c),s.applySetCandidate(b,a))),a[s.ns].evaled=d}function i(a,b){return a.res-b.res}function j(a,b,c){var d;return!c&&b&&(c=a[s.ns].sets,c=c&&c[c.length-1]),d=k(b,c),d&&(b=s.makeUrl(b),a[s.ns].curSrc=b,a[s.ns].curCan=d,d.res||aa(d,d.set.sizes)),d}function k(a,b){var c,d,e;if(a&&b)for(e=s.parseSet(b),a=s.makeUrl(a),c=0;c<e.length;c++)if(a===s.makeUrl(e[c].url)){d=e[c];break}return d}function l(a,b){var c,d,e,f,g=a.getElementsByTagName("source");for(c=0,d=g.length;d>c;c++)e=g[c],e[s.ns]=!0,f=e.getAttribute("srcset"),f&&b.push({srcset:f,media:e.getAttribute("media"),type:e.getAttribute("type"),sizes:e.getAttribute("sizes")})}function m(a,b){function c(b){var c,d=b.exec(a.substring(m));return d?(c=d[0],m+=c.length,c):void 0}function e(){var a,c,d,e,f,i,j,k,l,m=!1,o={};for(e=0;e<h.length;e++)f=h[e],i=f[f.length-1],j=f.substring(0,f.length-1),k=parseInt(j,10),l=parseFloat(j),X.test(j)&&"w"===i?((a||c)&&(m=!0),0===k?m=!0:a=k):Y.test(j)&&"x"===i?((a||c||d)&&(m=!0),0>l?m=!0:c=l):X.test(j)&&"h"===i?((d||c)&&(m=!0),0===k?m=!0:d=k):m=!0;m||(o.url=g,a&&(o.w=a),c&&(o.d=c),d&&(o.h=d),d||c||a||(o.d=1),1===o.d&&(b.has1x=!0),o.set=b,n.push(o))}function f(){for(c(T),i="",j="in descriptor";;){if(k=a.charAt(m),"in descriptor"===j)if(d(k))i&&(h.push(i),i="",j="after descriptor");else{if(","===k)return m+=1,i&&h.push(i),void e();if("("===k)i+=k,j="in parens";else{if(""===k)return i&&h.push(i),void e();i+=k}}else if("in parens"===j)if(")"===k)i+=k,j="in descriptor";else{if(""===k)return h.push(i),void e();i+=k}else if("after descriptor"===j)if(d(k));else{if(""===k)return void e();j="in descriptor",m-=1}m+=1}}for(var g,h,i,j,k,l=a.length,m=0,n=[];;){if(c(U),m>=l)return n;g=c(V),h=[],","===g.slice(-1)?(g=g.replace(W,""),e()):f()}}function n(a){function b(a){function b(){f&&(g.push(f),f="")}function c(){g[0]&&(h.push(g),g=[])}for(var e,f="",g=[],h=[],i=0,j=0,k=!1;;){if(e=a.charAt(j),""===e)return b(),c(),h;if(k){if("*"===e&&"/"===a[j+1]){k=!1,j+=2,b();continue}j+=1}else{if(d(e)){if(a.charAt(j-1)&&d(a.charAt(j-1))||!f){j+=1;continue}if(0===i){b(),j+=1;continue}e=" "}else if("("===e)i+=1;else if(")"===e)i-=1;else{if(","===e){b(),c(),j+=1;continue}if("/"===e&&"*"===a.charAt(j+1)){k=!0,j+=2;continue}}f+=e,j+=1}}}function c(a){return k.test(a)&&parseFloat(a)>=0?!0:l.test(a)?!0:"0"===a||"-0"===a||"+0"===a?!0:!1}var e,f,g,h,i,j,k=/^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,l=/^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;for(f=b(a),g=f.length,e=0;g>e;e++)if(h=f[e],i=h[h.length-1],c(i)){if(j=i,h.pop(),0===h.length)return j;if(h=h.join(" "),s.matchesMedia(h))return j}return"100vw"}b.createElement("picture");var o,p,q,r,s={},t=!1,u=function(){},v=b.createElement("img"),w=v.getAttribute,x=v.setAttribute,y=v.removeAttribute,z=b.documentElement,A={},B={algorithm:""},C="data-pfsrc",D=C+"set",E=navigator.userAgent,F=/rident/.test(E)||/ecko/.test(E)&&E.match(/rv\:(\d+)/)&&RegExp.$1>35,G="currentSrc",H=/\s+\+?\d+(e\d+)?w/,I=/(\([^)]+\))?\s*(.+)/,J=a.picturefillCFG,K="position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)",L="font-size:100%!important;",M=!0,N={},O={},P=a.devicePixelRatio,Q={px:1,"in":96},R=b.createElement("a"),S=!1,T=/^[ \t\n\r\u000c]+/,U=/^[, \t\n\r\u000c]+/,V=/^[^ \t\n\r\u000c]+/,W=/[,]+$/,X=/^\d+$/,Y=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,Z=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)},$=function(a){var b={};return function(c){return c in b||(b[c]=a(c)),b[c]}},_=function(){var a=/^([\d\.]+)(em|vw|px)$/,b=function(){for(var a=arguments,b=0,c=a[0];++b in a;)c=c.replace(a[b],a[++b]);return c},c=$(function(a){return"return "+b((a||"").toLowerCase(),/\band\b/g,"&&",/,/g,"||",/min-([a-z-\s]+):/g,"e.$1>=",/max-([a-z-\s]+):/g,"e.$1<=",/calc([^)]+)/g,"($1)",/(\d+[\.]*[\d]*)([a-z]+)/g,"($1 * e.$2)",/^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi,"")+";"});return function(b,d){var e;if(!(b in N))if(N[b]=!1,d&&(e=b.match(a)))N[b]=e[1]*Q[e[2]];else try{N[b]=new Function("e",c(b))(Q)}catch(f){}return N[b]}}(),aa=function(a,b){return a.w?(a.cWidth=s.calcListLength(b||"100vw"),a.res=a.w/a.cWidth):a.res=a.d,a},ba=function(a){if(t){var c,d,e,f=a||{};if(f.elements&&1===f.elements.nodeType&&("IMG"===f.elements.nodeName.toUpperCase()?f.elements=[f.elements]:(f.context=f.elements,f.elements=null)),c=f.elements||s.qsa(f.context||b,f.reevaluate||f.reselect?s.sel:s.selShort),e=c.length){for(s.setupRun(f),S=!0,d=0;e>d;d++)s.fillImg(c[d],f);s.teardownRun(f)}}};o=a.console&&console.warn?function(a){console.warn(a)}:u,G in v||(G="src"),A["image/jpeg"]=!0,A["image/gif"]=!0,A["image/png"]=!0,A["image/svg+xml"]=b.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1"),s.ns=("pf"+(new Date).getTime()).substr(0,9),s.supSrcset="srcset"in v,s.supSizes="sizes"in v,s.supPicture=!!a.HTMLPictureElement,s.supSrcset&&s.supPicture&&!s.supSizes&&!function(a){v.srcset="data:,a",a.src="data:,a",s.supSrcset=v.complete===a.complete,s.supPicture=s.supSrcset&&s.supPicture}(b.createElement("img")),s.supSrcset&&!s.supSizes?!function(){var a="data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",c="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",d=b.createElement("img"),e=function(){var a=d.width;2===a&&(s.supSizes=!0),q=s.supSrcset&&!s.supSizes,t=!0,setTimeout(ba)};d.onload=e,d.onerror=e,d.setAttribute("sizes","9px"),d.srcset=c+" 1w,"+a+" 9w",d.src=c}():t=!0,s.selShort="picture>img,img[srcset]",s.sel=s.selShort,s.cfg=B,s.DPR=P||1,s.u=Q,s.types=A,s.setSize=u,s.makeUrl=$(function(a){return R.href=a,R.href}),s.qsa=function(a,b){return"querySelector"in a?a.querySelectorAll(b):[]},s.matchesMedia=function(){return a.matchMedia&&(matchMedia("(min-width: 0.1em)")||{}).matches?s.matchesMedia=function(a){return!a||matchMedia(a).matches}:s.matchesMedia=s.mMQ,s.matchesMedia.apply(this,arguments)},s.mMQ=function(a){return a?_(a):!0},s.calcLength=function(a){var b=_(a,!0)||!1;return 0>b&&(b=!1),b},s.supportsType=function(a){return a?A[a]:!0},s.parseSize=$(function(a){var b=(a||"").match(I);return{media:b&&b[1],length:b&&b[2]}}),s.parseSet=function(a){return a.cands||(a.cands=m(a.srcset,a)),a.cands},s.getEmValue=function(){var a;if(!p&&(a=b.body)){var c=b.createElement("div"),d=z.style.cssText,e=a.style.cssText;c.style.cssText=K,z.style.cssText=L,a.style.cssText=L,a.appendChild(c),p=c.offsetWidth,a.removeChild(c),p=parseFloat(p,10),z.style.cssText=d,a.style.cssText=e}return p||16},s.calcListLength=function(a){if(!(a in O)||B.uT){var b=s.calcLength(n(a));O[a]=b?b:Q.width}return O[a]},s.setRes=function(a){var b;if(a){b=s.parseSet(a);for(var c=0,d=b.length;d>c;c++)aa(b[c],a.sizes)}return b},s.setRes.res=aa,s.applySetCandidate=function(a,b){if(a.length){var c,d,e,f,h,k,l,m,n,o=b[s.ns],p=s.DPR;if(k=o.curSrc||b[G],l=o.curCan||j(b,k,a[0].set),l&&l.set===a[0].set&&(n=F&&!b.complete&&l.res-.1>p,n||(l.cached=!0,l.res>=p&&(h=l))),!h)for(a.sort(i),f=a.length,h=a[f-1],d=0;f>d;d++)if(c=a[d],c.res>=p){e=d-1,h=a[e]&&(n||k!==s.makeUrl(c.url))&&g(a[e].res,c.res,p,a[e].cached)?a[e]:c;break}h&&(m=s.makeUrl(h.url),o.curSrc=m,o.curCan=h,m!==k&&s.setSrc(b,h),s.setSize(b))}},s.setSrc=function(a,b){var c;a.src=b.url,"image/svg+xml"===b.set.type&&(c=a.style.width,a.style.width=a.offsetWidth+1+"px",a.offsetWidth+1&&(a.style.width=c))},s.getSet=function(a){var b,c,d,e=!1,f=a[s.ns].sets;for(b=0;b<f.length&&!e;b++)if(c=f[b],c.srcset&&s.matchesMedia(c.media)&&(d=s.supportsType(c.type))){"pending"===d&&(c=d),e=c;break}return e},s.parseSets=function(a,b,d){var e,f,g,h,i=b&&"PICTURE"===b.nodeName.toUpperCase(),j=a[s.ns];(j.src===c||d.src)&&(j.src=w.call(a,"src"),j.src?x.call(a,C,j.src):y.call(a,C)),(j.srcset===c||d.srcset||!s.supSrcset||a.srcset)&&(e=w.call(a,"srcset"),j.srcset=e,h=!0),j.sets=[],i&&(j.pic=!0,l(b,j.sets)),j.srcset?(f={srcset:j.srcset,sizes:w.call(a,"sizes")},j.sets.push(f),g=(q||j.src)&&H.test(j.srcset||""),g||!j.src||k(j.src,f)||f.has1x||(f.srcset+=", "+j.src,f.cands.push({url:j.src,d:1,set:f}))):j.src&&j.sets.push({srcset:j.src,sizes:null}),j.curCan=null,j.curSrc=c,j.supported=!(i||f&&!s.supSrcset||g&&!s.supSizes),h&&s.supSrcset&&!j.supported&&(e?(x.call(a,D,e),a.srcset=""):y.call(a,D)),j.supported&&!j.srcset&&(!j.src&&a.src||a.src!==s.makeUrl(j.src))&&(null===j.src?a.removeAttribute("src"):a.src=j.src),j.parsed=!0},s.fillImg=function(a,b){var c,d=b.reselect||b.reevaluate;a[s.ns]||(a[s.ns]={}),c=a[s.ns],(d||c.evaled!==r)&&((!c.parsed||b.reevaluate)&&s.parseSets(a,a.parentNode,b),c.supported?c.evaled=r:h(a))},s.setupRun=function(){(!S||M||P!==a.devicePixelRatio)&&f()},s.supPicture?(ba=u,s.fillImg=u):!function(){var c,d=a.attachEvent?/d$|^c/:/d$|^c|^i/,e=function(){var a=b.readyState||"";f=setTimeout(e,"loading"===a?200:999),b.body&&(s.fillImgs(),c=c||d.test(a),c&&clearTimeout(f))},f=setTimeout(e,b.body?9:99),g=function(a,b){var c,d,e=function(){var f=new Date-d;b>f?c=setTimeout(e,b-f):(c=null,a())};return function(){d=new Date,c||(c=setTimeout(e,b))}},h=z.clientHeight,i=function(){M=Math.max(a.innerWidth||0,z.clientWidth)!==Q.width||z.clientHeight!==h,h=z.clientHeight,M&&s.fillImgs()};Z(a,"resize",g(i,99)),Z(b,"readystatechange",e)}(),s.picturefill=ba,s.fillImgs=ba,s.teardownRun=u,ba._=s,a.picturefillCFG={pf:s,push:function(a){var b=a.shift();"function"==typeof s[b]?s[b].apply(s,a):(B[b]=a[0],S&&s.fillImgs({reselect:!0}))}};for(;J&&J.length;)a.picturefillCFG.push(J.shift());a.picturefill=ba,"object"==typeof module&&"object"==typeof module.exports?module.exports=ba:"function"==typeof define&&define.amd&&define("picturefill",function(){return ba}),s.supPicture||(A["image/webp"]=e("image/webp","data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="))}(window,document); \ No newline at end of file diff --git a/core/core.libraries.yml b/core/core.libraries.yml index ef0fcd3d85f9..88f64c5e9554 100644 --- a/core/core.libraries.yml +++ b/core/core.libraries.yml @@ -311,6 +311,16 @@ ckeditor5.translations: # are not allowed. assets/vendor/ckeditor5/translation.js: {} +css.escape: + remote: https://github.com/mathiasbynens/CSS.escape + version: "1.5.1" + license: + name: MIT + url: https://raw.githubusercontent.com/mathiasbynens/CSS.escape/v1.5.1/LICENSE-MIT.txt + gpl-compatible: true + js: + assets/vendor/css-escape/css.escape.js: { weight: -20 } + drupal: version: VERSION js: @@ -362,6 +372,7 @@ drupal.ajax: - core/jquery - core/drupal - core/drupalSettings + - core/drupal.nodelist.foreach - core/drupal.progress - core/once - core/tabbable @@ -426,6 +437,17 @@ drupal.autocomplete: - core/tabbable.jquery.shim - core/drupal.jquery.position + +drupal.array.find: + version: VERSION + js: + misc/polyfills/array.find.js: { weight: -20 } + +drupal.array.includes: + version: VERSION + js: + misc/polyfills/array.includes.js: { weight: -20 } + drupal.batch: version: VERSION js: @@ -458,6 +480,11 @@ drupal.collapse: - core/drupal.form - core/once +drupal.customevent: + version: VERSION + js: + misc/polyfills/customevent.js: { weight: -20 } + drupal.debounce: version: VERSION js: @@ -554,6 +581,18 @@ drupal.dropbutton: - core/drupalSettings - core/once +drupal.element.closest: + version: VERSION + js: + misc/polyfills/element.closest.js: { weight: -20 } + dependencies: + - core/drupal.element.matches + +drupal.element.matches: + version: VERSION + js: + misc/polyfills/element.matches.js: { weight: -20 } + drupal.entity-form: version: VERSION js: @@ -590,6 +629,16 @@ drupal.message: - core/drupal - core/drupal.announce +drupal.nodelist.foreach: + version: VERSION + js: + misc/polyfills/nodelist.foreach.js: { weight: -20 } + +drupal.object.assign: + version: VERSION + js: + misc/polyfills/object.assign.js: { weight: -20 } + drupal.progress: version: VERSION js: @@ -609,6 +658,11 @@ drupal.states: - core/drupalSettings - core/once +drupal.string.includes: + version: VERSION + js: + misc/polyfills/string.includes.js: { weight: -20 } + drupal.tabbingmanager: version: VERSION js: @@ -664,6 +718,7 @@ drupal.timezone: js: misc/timezone.js: {} dependencies: + - core/drupal.nodelist.foreach - core/jquery - core/once - core/drupal @@ -691,6 +746,15 @@ drupal.vertical-tabs: - core/drupalSettings - core/drupal.form +es6-promise: + version: "4.2.8" + license: + name: MIT + url: https://raw.githubusercontent.com/stefanpenner/es6-promise/v4.2.8/LICENSE + gpl-compatible: true + js: + assets/vendor/es6-promise/es6-promise.auto.min.js: { weight: -20, minified: true } + jquery: remote: https://github.com/jquery/jquery version: "3.6.0" @@ -785,6 +849,18 @@ once: gpl-compatible: true js: assets/vendor/once/once.min.js: { weight: -19, minified: true } + dependencies: + - core/drupal.element.matches + +picturefill: + remote: https://github.com/scottjehl/picturefill + version: "3.0.3" + license: + name: MIT + url: https://raw.githubusercontent.com/scottjehl/picturefill/3.0.3/LICENSE + gpl-compatible: true + js: + assets/vendor/picturefill/picturefill.min.js: { weight: -10, minified: true } popperjs: version: "2.11.5" @@ -794,6 +870,10 @@ popperjs: gpl-compatible: true js: assets/vendor/popperjs/popper.min.js: { minified: true } + dependencies: + - core/drupal.array.find + - core/es6-promise + - core/drupal.object.assign sortable: remote: https://github.com/SortableJS/Sortable @@ -814,6 +894,8 @@ tabbable: gpl-compatible: true js: assets/vendor/tabbable/index.umd.min.js: { weight: -1, minified: true } + dependencies: + - core/css.escape tabbable.jquery.shim: version: VERSION diff --git a/core/misc/cspell/dictionary.txt b/core/misc/cspell/dictionary.txt index a604621068ce..73100397aeff 100644 --- a/core/misc/cspell/dictionary.txt +++ b/core/misc/cspell/dictionary.txt @@ -270,6 +270,7 @@ ctund cucurbitaceae curle curlopt +customevent customly customrequest cweagans @@ -291,7 +292,6 @@ dblog dbtng dburl ddev -dealerdirect deckard deconstructor deduplicated @@ -486,6 +486,7 @@ fixnull flickr flipfit floatingspace +fmod foaf foat focusring @@ -560,6 +561,7 @@ hasher hashmarks hateoas hbox +heartz heke heroless herpderp @@ -582,7 +584,6 @@ hostnames hreflang hreflangs hrefs -htdocs htkey htmlcorrector htmlto @@ -769,7 +770,7 @@ metapackage metapackages metatag metatags -meΦΩ +meφω mglaman miaus middlewares @@ -965,7 +966,6 @@ permissionless persistable phpass phpcbf -phpcodesniffer phpcs phpdocumentor phpfile @@ -976,6 +976,7 @@ phpunit phpunit's pianura pickable +picturefill pingback pioggia pjpeg @@ -1197,7 +1198,6 @@ skiptags skos skynet slatkin -slevomat sloopal smacss smalldatetime @@ -1414,6 +1414,8 @@ toplevel topop torder totalcount +totranslate +touchevent touchevents tparams trackback @@ -1646,8 +1648,7 @@ zwei zwjhek zxvf zzgroup -Èxample -Ãœber Ã¥wesome +èxample über -È„chÈ +È…chÈ diff --git a/core/misc/polyfills/array.find.es6.js b/core/misc/polyfills/array.find.es6.js new file mode 100644 index 000000000000..e24f3a3c6898 --- /dev/null +++ b/core/misc/polyfills/array.find.es6.js @@ -0,0 +1,60 @@ +/** + * @file + * Provides a polyfill for Array.find(). + * + * This is needed for Internet Explorer 11 and Opera Mini. + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find#Polyfill + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +if (!Array.prototype.find) { + Object.defineProperty(Array.prototype, 'find', { + value: function (predicate) { + // 1. Let O be ? ToObject(this value). + if (this == null) { + throw TypeError('"this" is null or not defined'); + } + + var o = Object(this); + + // 2. Let len be ? ToLength(? Get(O, "length")). + var len = o.length >>> 0; + + // 3. If IsCallable(predicate) is false, throw a TypeError + // exception. + if (typeof predicate !== 'function') { + throw TypeError('predicate must be a function'); + } + + // 4. If thisArg was supplied, let T be thisArg; else let T be + // undefined. + var thisArg = arguments[1]; + + // 5. Let k be 0. + var k = 0; + + // 6. Repeat, while k < len + while (k < len) { + // a. Let Pk be ! ToString(k). + // b. Let kValue be ? Get(O, Pk). + // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, + // k, O »)). + // d. If testResult is true, return kValue. + var kValue = o[k]; + if (predicate.call(thisArg, kValue, k, o)) { + return kValue; + } + // e. Increase k by 1. + k++; + } + + // 7. Return undefined. + return undefined; + }, + configurable: true, + writable: true, + }); +} diff --git a/core/misc/polyfills/array.find.js b/core/misc/polyfills/array.find.js new file mode 100644 index 000000000000..e2b9706c718f --- /dev/null +++ b/core/misc/polyfills/array.find.js @@ -0,0 +1,40 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (!Array.prototype.find) { + Object.defineProperty(Array.prototype, 'find', { + value: function (predicate) { + if (this == null) { + throw TypeError('"this" is null or not defined'); + } + + var o = Object(this); + var len = o.length >>> 0; + + if (typeof predicate !== 'function') { + throw TypeError('predicate must be a function'); + } + + var thisArg = arguments[1]; + var k = 0; + + while (k < len) { + var kValue = o[k]; + + if (predicate.call(thisArg, kValue, k, o)) { + return kValue; + } + + k++; + } + + return undefined; + }, + configurable: true, + writable: true + }); +} \ No newline at end of file diff --git a/core/misc/polyfills/array.includes.es6.js b/core/misc/polyfills/array.includes.es6.js new file mode 100644 index 000000000000..afb64f16fa88 --- /dev/null +++ b/core/misc/polyfills/array.includes.es6.js @@ -0,0 +1,53 @@ +/** + * @file + * Provides a polyfill for Array.includes(). + * + * This is needed for Internet Explorer 11 and Opera Mini. + * + * This has based on MDN Web Docs code samples. Code samples in the MDN Web Docs + * are licensed under CC0. + * + * @see https://web.archive.org/web/20161012020930/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +if (!Array.prototype.includes) { + // eslint-disable-next-line no-extend-native + Array.prototype.includes = function (searchElement) { + if (this == null) { + throw new TypeError( + 'Array.prototype.includes called on null or undefined', + ); + } + + const O = Object(this); + const len = parseInt(O.length, 10) || 0; + if (len === 0) { + return false; + } + // eslint-disable-next-line prefer-rest-params + const n = parseInt(arguments[1], 10) || 0; + let k; + if (n >= 0) { + k = n; + } else { + k = len + n; + if (k < 0) { + k = 0; + } + } + let currentElement; + while (k < len) { + currentElement = O[k]; + if ( + searchElement === currentElement || + // eslint-disable-next-line no-self-compare + (searchElement !== searchElement && currentElement !== currentElement) + ) { + // NaN !== NaN + return true; + } + k += 1; + } + return false; + }; +} diff --git a/core/misc/polyfills/array.includes.js b/core/misc/polyfills/array.includes.js new file mode 100644 index 000000000000..5943b58c8321 --- /dev/null +++ b/core/misc/polyfills/array.includes.js @@ -0,0 +1,48 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (!Array.prototype.includes) { + Array.prototype.includes = function (searchElement) { + if (this == null) { + throw new TypeError('Array.prototype.includes called on null or undefined'); + } + + const O = Object(this); + const len = parseInt(O.length, 10) || 0; + + if (len === 0) { + return false; + } + + const n = parseInt(arguments[1], 10) || 0; + let k; + + if (n >= 0) { + k = n; + } else { + k = len + n; + + if (k < 0) { + k = 0; + } + } + + let currentElement; + + while (k < len) { + currentElement = O[k]; + + if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) { + return true; + } + + k += 1; + } + + return false; + }; +} \ No newline at end of file diff --git a/core/misc/polyfills/customevent.es6.js b/core/misc/polyfills/customevent.es6.js new file mode 100644 index 000000000000..be85a56cb833 --- /dev/null +++ b/core/misc/polyfills/customevent.es6.js @@ -0,0 +1,30 @@ +/** + * @file + * Provides a polyfill for CustomEvent. + * + * This is needed for Internet Explorer 11. + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +// eslint-disable-next-line func-names +(function () { + if (typeof window.CustomEvent === 'function') return false; + + function CustomEvent(event, params) { + params = params || { bubbles: false, cancelable: false, detail: null }; + const evt = document.createEvent('CustomEvent'); + evt.initCustomEvent( + event, + params.bubbles, + params.cancelable, + params.detail, + ); + return evt; + } + + window.CustomEvent = CustomEvent; +})(); diff --git a/core/misc/polyfills/customevent.js b/core/misc/polyfills/customevent.js new file mode 100644 index 000000000000..0e2910a4f4e2 --- /dev/null +++ b/core/misc/polyfills/customevent.js @@ -0,0 +1,23 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +(function () { + if (typeof window.CustomEvent === 'function') return false; + + function CustomEvent(event, params) { + params = params || { + bubbles: false, + cancelable: false, + detail: null + }; + const evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + window.CustomEvent = CustomEvent; +})(); \ No newline at end of file diff --git a/core/misc/polyfills/element.closest.es6.js b/core/misc/polyfills/element.closest.es6.js new file mode 100644 index 000000000000..d183b83393c7 --- /dev/null +++ b/core/misc/polyfills/element.closest.es6.js @@ -0,0 +1,23 @@ +/** + * @file + * Provides a polyfill for Element.prototype.closest(). + * + * This is needed for Internet Explorer 11 and Opera Mini. + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#polyfill + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +if (!Element.prototype.closest) { + Element.prototype.closest = function (s) { + var el = this; + + do { + if (Element.prototype.matches.call(el, s)) return el; + el = el.parentElement || el.parentNode; + } while (el !== null && el.nodeType === 1); + return null; + }; +} diff --git a/core/misc/polyfills/element.closest.js b/core/misc/polyfills/element.closest.js new file mode 100644 index 000000000000..3b4c0335032b --- /dev/null +++ b/core/misc/polyfills/element.closest.js @@ -0,0 +1,19 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (!Element.prototype.closest) { + Element.prototype.closest = function (s) { + var el = this; + + do { + if (Element.prototype.matches.call(el, s)) return el; + el = el.parentElement || el.parentNode; + } while (el !== null && el.nodeType === 1); + + return null; + }; +} \ No newline at end of file diff --git a/core/misc/polyfills/element.matches.es6.js b/core/misc/polyfills/element.matches.es6.js new file mode 100644 index 000000000000..0b456325a737 --- /dev/null +++ b/core/misc/polyfills/element.matches.es6.js @@ -0,0 +1,17 @@ +/** + * @file + * Provides a polyfill for Element.prototype.matches(). + * + * This is needed for Internet Explorer 9+ + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +if (!Element.prototype.matches) { + Element.prototype.matches = + Element.prototype.msMatchesSelector || + Element.prototype.webkitMatchesSelector; +} diff --git a/core/misc/polyfills/element.matches.js b/core/misc/polyfills/element.matches.js new file mode 100644 index 000000000000..8fc544b4b647 --- /dev/null +++ b/core/misc/polyfills/element.matches.js @@ -0,0 +1,10 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (!Element.prototype.matches) { + Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; +} \ No newline at end of file diff --git a/core/misc/polyfills/nodelist.foreach.es6.js b/core/misc/polyfills/nodelist.foreach.es6.js new file mode 100644 index 000000000000..12ddc0d44f23 --- /dev/null +++ b/core/misc/polyfills/nodelist.foreach.es6.js @@ -0,0 +1,15 @@ +/** + * @file + * Provides a polyfill for NodeList.forEach(). + * + * This is needed for Internet Explorer 11 and Opera Mini. + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach#Polyfill + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +if (window.NodeList && !NodeList.prototype.forEach) { + NodeList.prototype.forEach = Array.prototype.forEach; +} diff --git a/core/misc/polyfills/nodelist.foreach.js b/core/misc/polyfills/nodelist.foreach.js new file mode 100644 index 000000000000..a0ecf7bbcdcc --- /dev/null +++ b/core/misc/polyfills/nodelist.foreach.js @@ -0,0 +1,10 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (window.NodeList && !NodeList.prototype.forEach) { + NodeList.prototype.forEach = Array.prototype.forEach; +} \ No newline at end of file diff --git a/core/misc/polyfills/object.assign.es6.js b/core/misc/polyfills/object.assign.es6.js new file mode 100644 index 000000000000..1dbb8bb5e9d1 --- /dev/null +++ b/core/misc/polyfills/object.assign.es6.js @@ -0,0 +1,42 @@ +/** + * @file + * Provides a polyfill for Object.assign(). + * + * This is needed for Internet Explorer 11 and Opera Mini. + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +if (typeof Object.assign !== 'function') { + // Must be writable: true, enumerable: false, configurable: true + Object.defineProperty(Object, 'assign', { + value: function assign(target, varArgs) { + // .length of function is 2 + 'use strict'; + if (target === null || target === undefined) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + var to = Object(target); + + for (var index = 1; index < arguments.length; index++) { + var nextSource = arguments[index]; + + if (nextSource !== null && nextSource !== undefined) { + for (var nextKey in nextSource) { + // Avoid bugs when hasOwnProperty is shadowed + if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + return to; + }, + writable: true, + configurable: true, + }); +} diff --git a/core/misc/polyfills/object.assign.js b/core/misc/polyfills/object.assign.js new file mode 100644 index 000000000000..265eb629a38c --- /dev/null +++ b/core/misc/polyfills/object.assign.js @@ -0,0 +1,36 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (typeof Object.assign !== 'function') { + Object.defineProperty(Object, 'assign', { + value: function assign(target, varArgs) { + 'use strict'; + + if (target === null || target === undefined) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + var to = Object(target); + + for (var index = 1; index < arguments.length; index++) { + var nextSource = arguments[index]; + + if (nextSource !== null && nextSource !== undefined) { + for (var nextKey in nextSource) { + if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + + return to; + }, + writable: true, + configurable: true + }); +} \ No newline at end of file diff --git a/core/misc/polyfills/string.includes.es6.js b/core/misc/polyfills/string.includes.es6.js new file mode 100644 index 000000000000..25eebd8d126c --- /dev/null +++ b/core/misc/polyfills/string.includes.es6.js @@ -0,0 +1,26 @@ +/** + * @file + * Provides a polyfill for String.includes(). + * + * This is needed for Internet Explorer 11 and Opera Mini. + * + * This has been copied from MDN Web Docs code samples. Code samples in the MDN + * Web Docs are licensed under CC0. + * + * @see https://web.archive.org/web/20210916035058/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes + * @see https://developer.mozilla.org/en-US/docs/MDN/About#Code_samples_and_snippets + */ +/* eslint-disable strict, lines-around-directive, no-extend-native */ +if (!String.prototype.includes) { + String.prototype.includes = function (search, start) { + 'use strict'; + + if (search instanceof RegExp) { + throw TypeError('first argument must not be a RegExp'); + } + if (start === undefined) { + start = 0; + } + return this.indexOf(search, start) !== -1; + }; +} diff --git a/core/misc/polyfills/string.includes.js b/core/misc/polyfills/string.includes.js new file mode 100644 index 000000000000..1a1ea7cd04cb --- /dev/null +++ b/core/misc/polyfills/string.includes.js @@ -0,0 +1,22 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +if (!String.prototype.includes) { + String.prototype.includes = function (search, start) { + 'use strict'; + + if (search instanceof RegExp) { + throw TypeError('first argument must not be a RegExp'); + } + + if (start === undefined) { + start = 0; + } + + return this.indexOf(search, start) !== -1; + }; +} \ No newline at end of file diff --git a/core/modules/block/block.libraries.yml b/core/modules/block/block.libraries.yml index ab7026fcd599..ad6f33b10567 100644 --- a/core/modules/block/block.libraries.yml +++ b/core/modules/block/block.libraries.yml @@ -20,4 +20,5 @@ drupal.block.admin: - core/drupal.announce - core/drupal.debounce - core/drupal.dialog.ajax + - core/drupal.string.includes - core/once diff --git a/core/modules/media_library/media_library.libraries.yml b/core/modules/media_library/media_library.libraries.yml index 83dbdc8f9c3d..6fd4144e6cb8 100644 --- a/core/modules/media_library/media_library.libraries.yml +++ b/core/modules/media_library/media_library.libraries.yml @@ -23,6 +23,7 @@ widget: - core/drupal.dialog.ajax - core/once - core/sortable + - core/drupal.nodelist.foreach ui: version: VERSION diff --git a/core/modules/responsive_image/js/responsive_image.ajax.es6.js b/core/modules/responsive_image/js/responsive_image.ajax.es6.js new file mode 100644 index 000000000000..2cf6a3808789 --- /dev/null +++ b/core/modules/responsive_image/js/responsive_image.ajax.es6.js @@ -0,0 +1,12 @@ +(function (Drupal) { + /** + * Call picturefill so newly added responsive images are processed. + */ + Drupal.behaviors.responsiveImageAJAX = { + attach() { + if (window.picturefill) { + window.picturefill(); + } + }, + }; +})(Drupal); diff --git a/core/modules/responsive_image/js/responsive_image.ajax.js b/core/modules/responsive_image/js/responsive_image.ajax.js new file mode 100644 index 000000000000..35ffd8455730 --- /dev/null +++ b/core/modules/responsive_image/js/responsive_image.ajax.js @@ -0,0 +1,17 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +(function (Drupal) { + Drupal.behaviors.responsiveImageAJAX = { + attach() { + if (window.picturefill) { + window.picturefill(); + } + } + + }; +})(Drupal); \ No newline at end of file diff --git a/core/modules/responsive_image/responsive_image.libraries.yml b/core/modules/responsive_image/responsive_image.libraries.yml new file mode 100644 index 000000000000..d7f0e2ea4363 --- /dev/null +++ b/core/modules/responsive_image/responsive_image.libraries.yml @@ -0,0 +1,4 @@ +ajax: + version: VERSION + js: + js/responsive_image.ajax.js: {} diff --git a/core/modules/responsive_image/responsive_image.module b/core/modules/responsive_image/responsive_image.module index eab182dc6219..7899c7e5b8e0 100644 --- a/core/modules/responsive_image/responsive_image.module +++ b/core/modules/responsive_image/responsive_image.module @@ -29,7 +29,7 @@ function responsive_image_help($route_name, RouteMatchInterface $route_match) { $output .= '<dd>' . t('By creating responsive image styles you define which options the browser has in selecting which image file to display. In most cases this means providing different image sizes based on the viewport size. On the <a href=":responsive_image_style">Responsive image styles</a> page, click <em>Add responsive image style</em> to create a new style. First choose a label, a fallback image style and a breakpoint group and click Save.', [':responsive_image_style' => Url::fromRoute('entity.responsive_image_style.collection')->toString()]) . '</dd>'; $output .= '<dl>'; $output .= '<dt>' . t('Fallback image style') . '</dt>'; - $output .= '<dd>' . t('The fallback image style is typically the smallest size image you expect to appear in this space. The fallback image should only appear on a site if an error occurs.') . '</dd>'; + $output .= '<dd>' . t('The fallback image style is typically the smallest size image you expect to appear in this space. Because the responsive images module uses the Picturefill library so that responsive images can work in older browsers, the fallback image should only appear on a site if an error occurs.') . '</dd>'; $output .= '<dt>' . t('Breakpoint groups: viewport sizing vs art direction') . '</dt>'; $output .= '<dd>' . t('The breakpoint group typically only needs a single breakpoint with an empty media query in order to do <em>viewport sizing.</em> Multiple breakpoints are used for changing the crop or aspect ratio of images at different viewport sizes, which is often referred to as <em>art direction.</em> Once you select a breakpoint group, you can choose which breakpoints to use for the responsive image style. By default, the option <em>do not use this breakpoint</em> is selected for each breakpoint. See the <a href=":breakpoint_help">help page of the Breakpoint module</a> for more information.', [':breakpoint_help' => Url::fromRoute('help.page', ['name' => 'breakpoint'])->toString()]) . '</dd>'; $output .= '<dt>' . t('Breakpoint settings: sizes vs image styles') . '</dt>'; @@ -191,7 +191,9 @@ function template_preprocess_responsive_image(&$variables) { else { $variables['output_image_tag'] = FALSE; // Prepare the fallback image. We use the src attribute, which might cause - // double downloads in browsers that don't support the picture tag. + // double downloads in browsers that don't support the picture tag (might, + // because when picturefill kicks in, it cancels the download and triggers + // the download for the correct image). $variables['img_element'] = [ '#theme' => 'image', '#uri' => _responsive_image_image_style_url($responsive_image_style->getFallbackImageStyle(), $variables['uri']), diff --git a/core/modules/responsive_image/src/Element/ResponsiveImage.php b/core/modules/responsive_image/src/Element/ResponsiveImage.php index a8f1029d8e19..2c6f677a0cb9 100644 --- a/core/modules/responsive_image/src/Element/ResponsiveImage.php +++ b/core/modules/responsive_image/src/Element/ResponsiveImage.php @@ -17,6 +17,9 @@ class ResponsiveImage extends RenderElement { public function getInfo() { return [ '#theme' => 'responsive_image', + '#attached' => [ + 'library' => ['core/picturefill'], + ], ]; } diff --git a/core/modules/views_ui/views_ui.libraries.yml b/core/modules/views_ui/views_ui.libraries.yml index 9649e568c434..be90bc91c94a 100644 --- a/core/modules/views_ui/views_ui.libraries.yml +++ b/core/modules/views_ui/views_ui.libraries.yml @@ -24,6 +24,7 @@ views_ui.listing: dependencies: - core/jquery - core/drupal + - core/drupal.string.includes - core/once - views_ui/admin.styling diff --git a/core/package.json b/core/package.json index 7d0187d5aa86..53deb6b475ee 100644 --- a/core/package.json +++ b/core/package.json @@ -70,7 +70,9 @@ "ckeditor5": "34.1.x", "cross-env": "^7.0.2", "cspell": "^5.0.0", + "css.escape": "1.5.x", "dotenv-safe": "^8.2.0", + "es6-promise": "4.2.x", "eslint": "^8.9.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^8.4.0", @@ -90,7 +92,9 @@ "mkdirp": "^1.0.4", "nightwatch": "^2.1.3", "normalize.css": "8.0.x", + "picturefill": "3.0.x", "postcss": "^7.0.18", + "postcss-calc": "^7.0.1", "postcss-header": "^2.0.0", "postcss-import": "^12.0.1", "postcss-preset-env": "^6.7.0", diff --git a/core/postcss.config.js b/core/postcss.config.js index c105eb2abdaf..1c61d3b312b8 100644 --- a/core/postcss.config.js +++ b/core/postcss.config.js @@ -9,6 +9,7 @@ module.exports = ctx => ({ './themes/claro/css/src/base/variables.css' ] }), + require("postcss-calc"), require('autoprefixer')({ cascade: false }), diff --git a/core/scripts/css/compile.js b/core/scripts/css/compile.js index e50d3701daa3..810e3ea38b8a 100644 --- a/core/scripts/css/compile.js +++ b/core/scripts/css/compile.js @@ -2,6 +2,7 @@ const chalk = require('chalk'); const log = require('./log'); const fs = require('fs'); const postcss = require('postcss'); +const postcssCalc = require("postcss-calc"); const postcssImport = require('postcss-import'); const postcssHeader = require('postcss-header'); const postcssUrl = require('postcss-url'); @@ -47,6 +48,7 @@ module.exports = (filePath, callback) => { 'prefers-color-scheme-query': false, } }), + postcssCalc, postcssPixelsToRem({ propList: [ '*', diff --git a/core/scripts/js/vendor-update.js b/core/scripts/js/vendor-update.js index cc37343638ee..2dfbdb2cc712 100644 --- a/core/scripts/js/vendor-update.js +++ b/core/scripts/js/vendor-update.js @@ -79,6 +79,22 @@ const assetsFolder = `${coreFolder}/assets/vendor`; library: 'internal.backbone', files: ['backbone.js', 'backbone-min.js', 'backbone-min.map'], }, + { + pack: 'css.escape', + folder: 'css-escape', + library: 'css.escape', + files: ['css.escape.js'], + }, + { + pack: 'es6-promise', + files: [ + { from: 'dist/es6-promise.auto.min.js', to: 'es6-promise.auto.min.js' }, + { + from: 'dist/es6-promise.auto.min.map', + to: 'es6-promise.auto.min.map', + }, + ], + }, { pack: 'farbtastic', library: 'jquery.farbtastic', @@ -126,6 +142,10 @@ const assetsFolder = `${coreFolder}/assets/vendor`; { from: 'dist/once.min.js.map', to: 'once.min.js.map' }, ], }, + { + pack: 'picturefill', + files: [{ from: 'dist/picturefill.min.js', to: 'picturefill.min.js' }], + }, { pack: '@popperjs/core', folder: 'popperjs', diff --git a/core/themes/claro/claro.libraries.yml b/core/themes/claro/claro.libraries.yml index dbeb894762ad..0f57051b9879 100644 --- a/core/themes/claro/claro.libraries.yml +++ b/core/themes/claro/claro.libraries.yml @@ -242,6 +242,7 @@ form.password-confirm: js: js/user.theme.js: {} dependencies: + - core/drupal.object.assign - core/drupal - claro/global-styling diff --git a/core/themes/claro/css/base/variables.css b/core/themes/claro/css/base/variables.css index 74128d431cf5..876695fb55b3 100644 --- a/core/themes/claro/css/base/variables.css +++ b/core/themes/claro/css/base/variables.css @@ -88,7 +88,7 @@ --font-family-serif: "Times New Roman", times, serif; --line-height: 1.5; --line-height-heading: 1.3; - --line-height-form-label: calc(18rem / 16); /* 18px */ + --line-height-form-label: 1.125rem; /* 18px */ --font-size-base: 1rem; /* 1rem = 16px if font root is 100% ands browser defaults are used. */ --font-size-h1: 2.027rem; /* ~32px */ --font-size-h2: 1.802rem; /* ~29px */ @@ -148,7 +148,7 @@ --input-padding-horizontal: calc(var(--space-m) - var(--input-border-size)); --input-font-size: var(--font-size-base); --input-line-height: var(--space-l); - --input-padding-vertical--small: calc(var(--space-xs) - (var(--input-border-size) * 2)); + --input-padding-vertical--small: calc(var(--space-xs) - var(--input-border-size)*2); --input-padding-horizontal--small: calc(var(--space-m) - var(--input-border-size)); --input-font-size--small: var(--font-size-xs); --input-line-height--small: 1.3125rem; @@ -212,12 +212,12 @@ --jui-dialog-title-color: var(--color-white); --jui-dialog-title-bg-color: var(--color-text); --jui-dialog-title-font-size: var(--font-size-h4); - --jui-dialog-close-button-size: calc(var(--space-m) * 2); + --jui-dialog-close-button-size: calc(var(--space-m)*2); --jui-dialog-close-button-border-radius: 50%; - --jui-dialog-close-button-reserved-space: calc(var(--space-m) * 4); - --jui-dialog-off-canvas-close-button-reserved-space: calc(var(--space-m) * 3); + --jui-dialog-close-button-reserved-space: calc(var(--space-m)*4); + --jui-dialog-off-canvas-close-button-reserved-space: calc(var(--space-m)*3); --jui-dialog-border-radius: 0.25rem; - --jui-dialog-box-shadow: 0 0 var(--space-m) calc(var(--space-m) / -4) var(--color-text); + --jui-dialog-box-shadow: 0 0 var(--space-m) calc(var(--space-m)/-4) var(--color-text); --jui-dialog--focus-outline: 2px dotted transparent; --jui-dialog--focus-box-shadow: 0 0 0 0.1875rem var(--color-focus); --jui-dialog-z-index: 1260; @@ -226,7 +226,7 @@ * Progress bar. */ --progress-bar-border-size: 1px; - --progress-bar-small-size: calc(var(--space-xs) - (2 * var(--progress-bar-border-size))); + --progress-bar-small-size: calc(var(--space-xs) - var(--progress-bar-border-size)*2); --progress-bar-small-size-radius: var(--space-xs); --progress-bar-spacing-size: var(--space-xs); --progress-bar-transition: width 0.5s ease-out; @@ -238,7 +238,7 @@ /** * Tabledrag icon size. */ - --tabledrag-handle-icon-size: calc(17rem / 16); /* 17px */ + --tabledrag-handle-icon-size: 1.0625rem; /* 17px */ /** * Ajax progress. */ @@ -257,10 +257,10 @@ --vertical-tabs-border-size: 1px; --vertical-tabs-border: var(--vertical-tabs-border-size) solid var(--vertical-tabs-border-color); --vertical-tabs-menu-item-shadow-extraspace: 0.5rem; - --vertical-tabs-menu-item--top-margin: calc(var(--vertical-tabs-menu-item-shadow-extraspace) * -2); - --vertical-tabs-menu-item--right-margin: calc(var(--vertical-tabs-border-size) * -1); - --vertical-tabs-menu-item--bottom-margin: calc(var(--vertical-tabs-menu-item-shadow-extraspace) * -1); - --vertical-tabs-menu-item--left-margin: calc(var(--vertical-tabs-menu-item-shadow-extraspace) * -1); + --vertical-tabs-menu-item--top-margin: calc(var(--vertical-tabs-menu-item-shadow-extraspace)*-2); + --vertical-tabs-menu-item--right-margin: calc(var(--vertical-tabs-border-size)*-1); + --vertical-tabs-menu-item--bottom-margin: calc(var(--vertical-tabs-menu-item-shadow-extraspace)*-1); + --vertical-tabs-menu-item--left-margin: calc(var(--vertical-tabs-menu-item-shadow-extraspace)*-1); --vertical-tabs-menu-separator-color: var(--color-gray-200); --vertical-tabs-menu-separator-size: 1px; --vertical-tabs-menu-width: 20em; diff --git a/core/themes/claro/css/components/action-link.css b/core/themes/claro/css/components/action-link.css index f66bbc3d0d8a..251d73706862 100644 --- a/core/themes/claro/css/components/action-link.css +++ b/core/themes/claro/css/components/action-link.css @@ -50,7 +50,7 @@ .action-link { display: inline-block; - padding: calc(var(--space-m) - ((var(--space-l) - var(--space-m)) / 2)) var(--space-m); + padding: calc(var(--space-m) - var(--space-l)/2 + var(--space-m)/2) var(--space-m); cursor: pointer; text-decoration: none; color: var(--color-gray-800); @@ -65,7 +65,7 @@ /* Small variant. */ .no-touchevents .action-link--small { - padding: calc(var(--space-s) - ((var(--space-l) - var(--space-s)) / 2)) var(--space-s); + padding: calc(var(--space-s) - var(--space-l)/2 + var(--space-s)/2) var(--space-s); font-size: var(--font-size-s); } diff --git a/core/themes/claro/css/components/autocomplete-loading.module.css b/core/themes/claro/css/components/autocomplete-loading.module.css index a77c1d0e481a..51eec25e1e32 100644 --- a/core/themes/claro/css/components/autocomplete-loading.module.css +++ b/core/themes/claro/css/components/autocomplete-loading.module.css @@ -90,7 +90,7 @@ _:-ms-fullscreen, color: var(--color-link); font-size: var(--font-size-xxs); /* ~11px */ font-weight: bold; - line-height: calc(18rem / 16); /* 18px */ + line-height: 1.125rem; /* 18px */ } [dir="rtl"] .claro-autocomplete__message { diff --git a/core/themes/claro/css/components/button.css b/core/themes/claro/css/components/button.css index 656266af8afa..27eafc2a8618 100644 --- a/core/themes/claro/css/components/button.css +++ b/core/themes/claro/css/components/button.css @@ -87,7 +87,7 @@ .no-touchevents .button--extrasmall { margin: var(--space-xs) var(--space-xs) var(--space-xs) 0; /* LTR */ - padding: calc(calc(var(--space-xs) / 2) - 1px) calc(var(--space-s) - 1px); /* 1 */ + padding: calc(var(--space-xs)/2 - 1px) calc(var(--space-s) - 1px); /* 1 */ font-size: var(--font-size-xs); } diff --git a/core/themes/claro/css/components/details.css b/core/themes/claro/css/components/details.css index 6bcc296bf5e5..3eba25241022 100644 --- a/core/themes/claro/css/components/details.css +++ b/core/themes/claro/css/components/details.css @@ -37,7 +37,7 @@ :root { --size-summary-border-radius: calc(var(--details-border-size-radius) - var(--details-border-size)); - --summary-accordion-padding-vertical: calc(var(--space-l) + ((var(--space-m) - var(--space-l)) / 2)); + --summary-accordion-padding-vertical: calc(var(--space-l) + var(--space-m)/2 - var(--space-l)/2); --summary-accordion-line-height: var(--space-l); } @@ -148,7 +148,7 @@ display: inline-block; width: var(--space-m); height: var(--space-m); - margin-top: calc(var(--space-m) / -2); + margin-top: calc(var(--space-m)/-2); content: ""; transition: transform var(--details-transform-transition-duration) ease-in 0s; transform: rotate(90deg); /* LTR */ @@ -298,7 +298,7 @@ .claro-details[open] > .claro-details__summary::before, [dir="rtl"] .claro-details[open] > .claro-details__summary::before { - margin-top: calc(0.125rem / -2); + margin-top: -0.0625rem; margin-right: 0.125rem; transform: rotate(-45deg); /* for LTR and RTL */ background: none; @@ -451,7 +451,7 @@ margin-bottom: var(--space-m); color: var(--input-fg-color--description); font-size: var(--font-size-xs); /* ~13px */ - line-height: calc(17rem / 16); /* 17px */ + line-height: 1.0625rem; /* 17px */ } .claro-details__description.is-disabled { diff --git a/core/themes/claro/css/components/dialog.css b/core/themes/claro/css/components/dialog.css index 932f38d4c522..4f37e16bd869 100644 --- a/core/themes/claro/css/components/dialog.css +++ b/core/themes/claro/css/components/dialog.css @@ -41,7 +41,7 @@ border-top-left-radius: var(--jui-dialog-border-radius); border-top-right-radius: var(--jui-dialog-border-radius); background: var(--jui-dialog-title-bg-color); - line-height: calc(var(--space-m) * 2); + line-height: calc(var(--space-m)*2); } [dir="rtl"] .ui-dialog .ui-dialog-titlebar { diff --git a/core/themes/claro/css/components/dropbutton.css b/core/themes/claro/css/components/dropbutton.css index 1bbf5429c906..c5a8e23888ee 100644 --- a/core/themes/claro/css/components/dropbutton.css +++ b/core/themes/claro/css/components/dropbutton.css @@ -30,12 +30,12 @@ --dropbutton-small-spacing-size: 0.625rem; --dropbutton-small-font-size: var(--font-size-xs); --dropbutton-small-line-height: 0.75rem; - --dropbutton-small-toggle-size: calc((2 * var(--dropbutton-small-spacing-size)) + var(--dropbutton-small-line-height)); + --dropbutton-small-toggle-size: calc(var(--dropbutton-small-spacing-size)*2 + var(--dropbutton-small-line-height)); /* Variant variables: extra small. */ --dropbutton-extrasmall-spacing-size: 0.375rem; --dropbutton-extrasmall-font-size: var(--font-size-xs); --dropbutton-extrasmall-line-height: 0.75rem; - --dropbutton-extrasmall-toggle-size: calc((2 * var(--dropbutton-extrasmall-spacing-size)) + var(--dropbutton-extrasmall-line-height)); + --dropbutton-extrasmall-toggle-size: calc(var(--dropbutton-extrasmall-spacing-size)*2 + var(--dropbutton-extrasmall-line-height)); } .dropbutton-wrapper { @@ -212,7 +212,7 @@ .dropbutton__toggle::before { width: 0.5625rem; height: 0.5625rem; - margin-top: calc(0.5625rem / (2 * -1.41429)); + margin-top: -0.19886rem; transform: translate(50%, -50%) rotate(135deg); /* LTR */ border: 0.125rem solid; border-width: 0.125rem 0.125rem 0 0; @@ -220,7 +220,7 @@ } .dropbutton-wrapper.open .dropbutton__toggle::before { - margin-top: calc(0.5625rem / (2 * 1.41429)); + margin-top: 0.19886rem; transform: translate(50%, -50%) rotate(315deg); } [dir="rtl"] .dropbutton-wrapper.open .dropbutton__toggle::before { @@ -233,11 +233,11 @@ .no-touchevents .dropbutton--extrasmall .dropbutton__toggle::before { width: 0.4375rem; height: 0.4375rem; - margin-top: calc(0.4375rem / (2 * -1.41429)); + margin-top: -0.15467rem; } .dropbutton-wrapper.open .dropbutton__toggle::before { - margin-top: calc(0.4375rem / (2 * 1.41429)); + margin-top: 0.15467rem; } } diff --git a/core/themes/claro/css/components/fieldset.css b/core/themes/claro/css/components/fieldset.css index ff193c926501..03f103661608 100644 --- a/core/themes/claro/css/components/fieldset.css +++ b/core/themes/claro/css/components/fieldset.css @@ -63,10 +63,10 @@ _:-ms-fullscreen, float: none; width: auto; margin-top: 0; /* IE11 and Edge do not collapse this margin. Ideally this would be 4px */ - margin-bottom: calc(var(--space-xs) / 2); /* 4px */ + margin-bottom: calc(var(--space-xs)/2); /* 4px */ color: inherit; font-size: var(--font-size-s); /* 14px */ - line-height: calc(18rem / 16); /* 18px */ + line-height: 1.125rem; /* 18px */ } /* This is used only on install configure form. */ @@ -103,11 +103,11 @@ _:-ms-fullscreen, } .fieldset__description { - margin-top: calc(6rem / 16); /* 6px */ - margin-bottom: calc(6rem / 16); /* 6px */ + margin-top: 0.375rem; /* 6px */ + margin-bottom: 0.375rem; /* 6px */ color: var(--input-fg-color--description); font-size: var(--font-size-xs); /* ~13px */ - line-height: calc(17rem / 16); /* 17px */ + line-height: 1.0625rem; /* 17px */ } .fieldset__description.is-disabled { @@ -117,12 +117,12 @@ _:-ms-fullscreen, /* Error message (Inline form errors). */ .fieldset__error-message { - margin-top: calc(6rem / 16); /* 6px */ - margin-bottom: calc(6rem / 16); /* 6px */ + margin-top: 0.375rem; /* 6px */ + margin-bottom: 0.375rem; /* 6px */ color: var(--input--error-color); font-size: var(--font-size-xs); /* ~13px */ font-weight: normal; - line-height: calc(17rem / 16); /* 17px */ + line-height: 1.0625rem; /* 17px */ } .fieldset__wrapper { diff --git a/core/themes/claro/css/components/file.css b/core/themes/claro/css/components/file.css index e42fbead7637..94923d6bd33d 100644 --- a/core/themes/claro/css/components/file.css +++ b/core/themes/claro/css/components/file.css @@ -16,7 +16,7 @@ background-position: left 0.0625rem; background-size: var(--space-m) var(--space-m); font-size: var(--font-size-s); - line-height: calc(18rem / 16); + line-height: 1.125rem; } [dir="rtl"] .file { diff --git a/core/themes/claro/css/components/form--checkbox-radio.css b/core/themes/claro/css/components/form--checkbox-radio.css index 4ae3f1017653..24820f7d3818 100644 --- a/core/themes/claro/css/components/form--checkbox-radio.css +++ b/core/themes/claro/css/components/form--checkbox-radio.css @@ -30,15 +30,15 @@ .form-type--boolean .form-boolean { position: relative; - top: calc(var(--space-l) / 2); + top: calc(var(--space-l)/2); float: left; /* LTR */ - margin-left: calc(var(--input--label-spacing) * -1); /* LTR */ + margin-left: calc(var(--input--label-spacing)*-1); /* LTR */ transform: translateY(-50%); } [dir="rtl"] .form-type--boolean .form-boolean { float: right; - margin-right: calc(var(--input--label-spacing) * -1); + margin-right: calc(var(--input--label-spacing)*-1); margin-left: 0; } diff --git a/core/themes/claro/css/components/form--password-confirm.css b/core/themes/claro/css/components/form--password-confirm.css index bb62ecb9eea1..eaf289d4c9ed 100644 --- a/core/themes/claro/css/components/form--password-confirm.css +++ b/core/themes/claro/css/components/form--password-confirm.css @@ -93,7 +93,7 @@ .password-strength__bar { min-width: var(--progress-bar-small-size); height: var(--progress-bar-small-size); - margin: calc(var(--progress-bar-border-size) * -1); + margin: calc(var(--progress-bar-border-size)*-1); transition: var(--progress-bar-transition); border: var(--progress-bar-border-size) solid transparent; border-radius: var(--progress-bar-small-size-radius); diff --git a/core/themes/claro/css/components/form--text.css b/core/themes/claro/css/components/form--text.css index 561880ef4524..5656dd600788 100644 --- a/core/themes/claro/css/components/form--text.css +++ b/core/themes/claro/css/components/form--text.css @@ -13,7 +13,7 @@ .form-element { box-sizing: border-box; max-width: 100%; - min-height: calc(((var(--input-padding-vertical) + var(--input-border-size)) * 2) + var(--input-line-height)); /* iOS. */ + min-height: calc(var(--input-padding-vertical)*2 + var(--input-border-size)*2 + var(--input-line-height)); /* iOS. */ padding: var(--input-padding-vertical) var(--input-padding-horizontal); color: var(--input-fg-color); border: var(--input-border-size) solid var(--input-border-color); @@ -27,7 +27,7 @@ .no-touchevents .form-element--extrasmall, .no-touchevents .form-element[name$="][_weight]"] { - min-height: calc(((var(--input--extrasmall-padding-vertical) + var(--input-border-size)) * 2) + var(--input--extrasmall-line-height)); /* iOS. */ + min-height: calc(var(--input--extrasmall-padding-vertical)*2 + var(--input-border-size)*2 + var(--input--extrasmall-line-height)); /* iOS. */ padding: var(--input--extrasmall-padding-vertical) var(--input--extrasmall-padding-horizontal); font-size: var(--input--extrasmall-font-size); line-height: var(--input--extrasmall-line-height); diff --git a/core/themes/claro/css/components/form.css b/core/themes/claro/css/components/form.css index cb818001cf76..b0bb8b9f9b5e 100644 --- a/core/themes/claro/css/components/form.css +++ b/core/themes/claro/css/components/form.css @@ -48,8 +48,8 @@ tr .form-item, .form-item__label { display: table; - margin-top: calc(var(--space-xs) / 2); /* 4px */ - margin-bottom: calc(var(--space-xs) / 2); /* 4px */ + margin-top: calc(var(--space-xs)/2); /* 4px */ + margin-bottom: calc(var(--space-xs)/2); /* 4px */ font-size: var(--font-size-s); /* ~14px */ font-weight: bold; line-height: var(--line-height-form-label); @@ -102,11 +102,11 @@ tr .form-item, */ .form-item__description { - margin-top: calc(6rem / 16); /* 6px */ - margin-bottom: calc(6rem / 16); /* 6px */ + margin-top: 0.375rem; /* 6px */ + margin-bottom: 0.375rem; /* 6px */ color: var(--input-fg-color--description); font-size: var(--font-size-xs); /* ~13px */ - line-height: calc(17rem / 16); /* 17px */ + line-height: 1.0625rem; /* 17px */ } /* Description states. */ @@ -120,12 +120,12 @@ tr .form-item, */ .form-item__error-message { - margin-top: calc(6rem / 16); /* 6px */ - margin-bottom: calc(6rem / 16); /* 6px */ + margin-top: 0.375rem; /* 6px */ + margin-bottom: 0.375rem; /* 6px */ color: var(--input--error-color); font-size: var(--font-size-xs); /* ~13px */ font-weight: normal; - line-height: calc(17rem / 16); /* 17px */ + line-height: 1.0625rem; /* 17px */ } .form-item__prefix.is-disabled, diff --git a/core/themes/claro/css/components/image-preview.css b/core/themes/claro/css/components/image-preview.css index fac026cc5a38..b5c4f7dd2574 100644 --- a/core/themes/claro/css/components/image-preview.css +++ b/core/themes/claro/css/components/image-preview.css @@ -12,7 +12,7 @@ :root { --color-pattern: var(--color-gray-200); - --size-pattern-square: calc(7rem / 16); + --size-pattern-square: 0.4375rem; } /** @@ -41,7 +41,7 @@ var(--size-pattern-square) var(--size-pattern-square), var(--size-pattern-square) var(--size-pattern-square), 0 0; - background-size: calc(var(--size-pattern-square) * 2) calc(var(--size-pattern-square) * 2); + background-size: calc(var(--size-pattern-square)*2) calc(var(--size-pattern-square)*2); } @media screen and (-ms-high-contrast: active) { diff --git a/core/themes/claro/css/components/pager.css b/core/themes/claro/css/components/pager.css index e04b83fa8ad0..2db59a28ee16 100644 --- a/core/themes/claro/css/components/pager.css +++ b/core/themes/claro/css/components/pager.css @@ -47,8 +47,8 @@ .pager__item { display: inline-block; - margin-right: calc(var(--space-xs) / 2); - margin-left: calc(var(--space-xs) / 2); + margin-right: calc(var(--space-xs)/2); + margin-left: calc(var(--space-xs)/2); vertical-align: top; } @@ -161,8 +161,8 @@ } .pager__item--mini { - margin-right: calc(var(--space-m) / 2); - margin-left: calc(var(--space-m) / 2); + margin-right: calc(var(--space-m)/2); + margin-left: calc(var(--space-m)/2); } .pager__link--mini { diff --git a/core/themes/claro/css/components/progress.css b/core/themes/claro/css/components/progress.css index 9dcbe24b63db..5340247aebd2 100644 --- a/core/themes/claro/css/components/progress.css +++ b/core/themes/claro/css/components/progress.css @@ -17,7 +17,7 @@ --progress-bar-border-color: var(--color-absolutezero); --progress-bar-label-font-size: var(--font-size-base); --progress-bar-small-label-font-size: var(--font-size-label); - --progress-bar-default-size: calc(var(--space-m) - (2 * var(--progress-bar-border-size))); + --progress-bar-default-size: calc(var(--space-m) - var(--progress-bar-border-size)*2); --progress-bar-default-size-radius: var(--space-m); } @@ -53,8 +53,8 @@ width: var(--progress-bar-default-size); min-width: var(--progress-bar-default-size); height: var(--progress-bar-default-size); - margin-top: calc(var(--progress-bar-border-size) * -1); - margin-left: calc(var(--progress-bar-border-size) * -1); /* LTR */ + margin-top: calc(var(--progress-bar-border-size)*-1); + margin-left: calc(var(--progress-bar-border-size)*-1); /* LTR */ transition: var(--progress-bar-transition); border: var(--progress-bar-border-size) var(--progress-bar-border-color) solid; border-radius: var(--progress-bar-default-size-radius); @@ -62,7 +62,7 @@ } [dir="rtl"] .progress__bar { - margin-right: calc(var(--progress-bar-border-size) * -1); + margin-right: calc(var(--progress-bar-border-size)*-1); margin-left: 0; } diff --git a/core/themes/claro/css/components/shortcut.css b/core/themes/claro/css/components/shortcut.css index ccebf30f93ce..8883d980a1dc 100644 --- a/core/themes/claro/css/components/shortcut.css +++ b/core/themes/claro/css/components/shortcut.css @@ -16,7 +16,7 @@ */ --shortcut-bg-color: var(--color-gray-800); --shortcut-border-radius-size: var(--base-border-radius); - --shortcut-padding-size: calc(0.5 * var(--space-xs)) var(--space-m); + --shortcut-padding-size: calc(var(--space-xs)*0.5) var(--space-m); --shortcut-icon-size: var(--space-l); } @@ -38,7 +38,7 @@ margin-left: var(--space-s); /* LTR */ padding: var(--shortcut-padding-size); transition: var(--transition); - transform: translateY(calc(-1 * var(--space-xs))); + transform: translateY(calc(var(--space-xs)*-1)); vertical-align: top; opacity: 0; color: var(--color-white); @@ -65,7 +65,7 @@ width: var(--shortcut-icon-size); height: var(--shortcut-icon-size); vertical-align: -0.0625rem; - background: transparent url("data:image/svg+xml,%3csvg height='24' width='96' xmlns='http://www.w3.org/2000/svg'%3e%3cg stroke='%238e929c'%3e%3cpath d='m94.46 9.667h-7.937l-2.523-8.007-2.523 8.007h-7.937l6.768 4.926-3.076 8.007 6.768-4.927 6.768 4.927-3.076-8.007zm-24 0h-7.937l-2.523-8.007-2.523 8.007h-7.937l6.768 4.926-3.076 8.007 6.768-4.927 6.768 4.927-3.076-8.007z' fill='%23ffd23f'/%3e%3cg fill='none'%3e%3cpath d='m38.42 9.327.11.35h7.934l-6.521 4.742-.31.225.138.358 2.922 7.599-6.397-4.653-.294-.214-.294.214-6.397 4.653 2.923-7.599.137-.358-.31-.225-6.521-4.742h7.934l.11-.35 2.418-7.665zm-24.002 0 .11.35h7.934l-6.521 4.742-.31.225.138.358 2.922 7.599-6.397-4.653-.294-.214-.294.214-6.397 4.653 2.923-7.599.137-.358-.31-.225-6.521-4.742h7.934l.11-.35 2.418-7.665z'/%3e%3cpath d='m42.5 1v7m-3.5-3.5h7m42 2.5 6-6m0 6-6-6' stroke-linecap='square' stroke-miterlimit='3'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") left top / calc(var(--shortcut-icon-size) * 4) var(--shortcut-icon-size) no-repeat; + background: transparent url("data:image/svg+xml,%3csvg height='24' width='96' xmlns='http://www.w3.org/2000/svg'%3e%3cg stroke='%238e929c'%3e%3cpath d='m94.46 9.667h-7.937l-2.523-8.007-2.523 8.007h-7.937l6.768 4.926-3.076 8.007 6.768-4.927 6.768 4.927-3.076-8.007zm-24 0h-7.937l-2.523-8.007-2.523 8.007h-7.937l6.768 4.926-3.076 8.007 6.768-4.927 6.768 4.927-3.076-8.007z' fill='%23ffd23f'/%3e%3cg fill='none'%3e%3cpath d='m38.42 9.327.11.35h7.934l-6.521 4.742-.31.225.138.358 2.922 7.599-6.397-4.653-.294-.214-.294.214-6.397 4.653 2.923-7.599.137-.358-.31-.225-6.521-4.742h7.934l.11-.35 2.418-7.665zm-24.002 0 .11.35h7.934l-6.521 4.742-.31.225.138.358 2.922 7.599-6.397-4.653-.294-.214-.294.214-6.397 4.653 2.923-7.599.137-.358-.31-.225-6.521-4.742h7.934l.11-.35 2.418-7.665z'/%3e%3cpath d='m42.5 1v7m-3.5-3.5h7m42 2.5 6-6m0 6-6-6' stroke-linecap='square' stroke-miterlimit='3'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") left top / calc(var(--shortcut-icon-size)*4) var(--shortcut-icon-size) no-repeat; } [dir="rtl"] .shortcut-action__icon { @@ -74,14 +74,14 @@ .shortcut-action--add:hover .shortcut-action__icon, .shortcut-action--add:focus .shortcut-action__icon { - background-position: calc(-1 * var(--shortcut-icon-size)) top; + background-position: calc(var(--shortcut-icon-size)*-1) top; } .shortcut-action--remove .shortcut-action__icon { - background-position: calc(-2 * var(--shortcut-icon-size)) top; + background-position: calc(var(--shortcut-icon-size)*-2) top; } .shortcut-action--remove:focus .shortcut-action__icon, .shortcut-action--remove:hover .shortcut-action__icon { - background-position: calc(-3 * var(--shortcut-icon-size)) top; + background-position: calc(var(--shortcut-icon-size)*-3) top; } diff --git a/core/themes/claro/css/components/system-admin--admin-list.css b/core/themes/claro/css/components/system-admin--admin-list.css index d356792b0d84..524f1b691ef6 100644 --- a/core/themes/claro/css/components/system-admin--admin-list.css +++ b/core/themes/claro/css/components/system-admin--admin-list.css @@ -38,7 +38,7 @@ } .admin-item:not(:last-child) { - border-bottom: calc(1em / 16) solid var(--color-gray-200); + border-bottom: 0.0625em solid var(--color-gray-200); } .admin-item__title { diff --git a/core/themes/claro/css/components/system-admin--modules.css b/core/themes/claro/css/components/system-admin--modules.css index 1f8805afe788..73df3d81f5b3 100644 --- a/core/themes/claro/css/components/system-admin--modules.css +++ b/core/themes/claro/css/components/system-admin--modules.css @@ -12,7 +12,7 @@ :root { --module-table-cell-padding-vertical: var(--space-m); - --module-table-cell-padding-horizontal: calc(var(--space-m) - (var(--input-border-size) * 2)); + --module-table-cell-padding-horizontal: calc(var(--space-m) - var(--input-border-size)*2); } .modules-table-filter { @@ -147,7 +147,7 @@ td.module-list__description { .module-details__links { position: relative; /* Negative margin matches the value of action link's top padding. */ - margin-top: calc((var(--space-s) - ((var(--space-l) - var(--space-s)) / 2)) * -1); + margin-top: calc(var(--space-s)*-1 - var(--space-l)/2*-1 + var(--space-s)/2*-1); margin-bottom: var(--space-m); } @@ -169,7 +169,7 @@ td.module-list__description { position: relative; top: -1px; display: inline-block; - width: calc(var(--space-m) * 2); + width: calc(var(--space-m)*2); height: 1.25rem; content: ""; cursor: pointer; diff --git a/core/themes/claro/css/components/system-admin--panel.css b/core/themes/claro/css/components/system-admin--panel.css index 653553115c68..dffa67a7f5b1 100644 --- a/core/themes/claro/css/components/system-admin--panel.css +++ b/core/themes/claro/css/components/system-admin--panel.css @@ -14,15 +14,15 @@ margin-top: 1em; margin-bottom: 3em; padding: 0; - border-bottom: calc(1em / 16) solid var(--color-gray-200); + border-bottom: 0.0625em solid var(--color-gray-200); } .panel__title { margin: 0; - padding: calc(12em / 18) calc(24em / 18); + padding: 0.66667em 1.33333em; background: var(--color-gray-050); - font-size: calc(18em / 16); - line-height: calc(24em / 18); + font-size: 1.125em; + line-height: 1.33333em; } .panel__content, diff --git a/core/themes/claro/css/components/table--file-multiple-widget.css b/core/themes/claro/css/components/table--file-multiple-widget.css index 93824c8419b9..abf6c4637a62 100644 --- a/core/themes/claro/css/components/table--file-multiple-widget.css +++ b/core/themes/claro/css/components/table--file-multiple-widget.css @@ -38,7 +38,7 @@ .table-file-multiple-widget .tabledrag-changed { float: left; /* LTR */ - line-height: calc(var(--tabledrag-handle-icon-size) + calc(var(--space-xs) * 2)); + line-height: calc(var(--tabledrag-handle-icon-size) + var(--space-xs)*2); } [dir="rtl"] .table-file-multiple-widget .tabledrag-changed { @@ -46,7 +46,7 @@ } .table-file-multiple-widget td { - height: calc(var(--space-m) * 3); + height: calc(var(--space-m)*3); } .table-file-multiple-widget td > :first-child { @@ -62,7 +62,7 @@ } .table-file-multiple-widget th { - height: calc(var(--space-m) * 2); + height: calc(var(--space-m)*2); color: var(--color-gray-800); background: var(--color-gray-050); font-size: var(--font-size-s); @@ -79,7 +79,7 @@ } .table-file-multiple-widget .checkbox .form-type--boolean { - line-height: calc(var(--space-m) * 3); + line-height: calc(var(--space-m)*3); } .no-touchevents .table-file-multiple-widget .checkbox .form-type--boolean { @@ -110,8 +110,8 @@ @media screen and (max-width: 37.5em) { .claro-details__wrapper .file-widget-multiple__table-wrapper { - margin-right: calc(var(--space-m) * -1); - margin-left: calc(var(--space-m) * -1); + margin-right: calc(var(--space-m)*-1); + margin-left: calc(var(--space-m)*-1); } .claro-details__wrapper .file-widget-multiple__table-wrapper > :not(table) { diff --git a/core/themes/claro/css/components/tabledrag.css b/core/themes/claro/css/components/tabledrag.css index 3ba613ae02b7..52609d767a6e 100644 --- a/core/themes/claro/css/components/tabledrag.css +++ b/core/themes/claro/css/components/tabledrag.css @@ -58,11 +58,11 @@ body.drag { .draggable .tabledrag-changed { position: relative; - left: calc(var(--space-xs) * -1); /* LTR */ + left: calc(var(--space-xs)*-1); /* LTR */ } [dir="rtl"] .draggable .tabledrag-changed { - right: calc(var(--space-xs) * -1); /* LTR */ + right: calc(var(--space-xs)*-1); /* LTR */ left: auto; } @@ -124,7 +124,7 @@ body.drag { display: inline-block; width: var(--tabledrag-handle-icon-size); height: var(--tabledrag-handle-icon-size); - margin-left: calc(var(--space-m) * -1); /* LTR */ + margin-left: calc(var(--space-m)*-1); /* LTR */ padding: var(--space-xs) var(--space-m); content: ""; transition: transform 0.1s ease-in-out 0s; @@ -132,7 +132,7 @@ body.drag { } [dir="rtl"] .tabledrag-handle::after { - margin-right: calc(var(--space-m) * -1); + margin-right: calc(var(--space-m)*-1); margin-left: 0; } @@ -174,9 +174,9 @@ body.drag { .tabledrag-handle:focus::before { display: block; - width: calc(var(--space-m) + (var(--space-xs) * 2)); /* Same as height. */ - height: calc(var(--space-m) + (var(--space-xs) * 2)); /* Hande svg height + its vertical padding */ - margin: 0 calc(var(--space-xs) * -1) calc((var(--space-m) + (var(--space-xs) * 2)) * -1); /* Bottom: handle height as negative value. */ + width: calc(var(--space-m) + var(--space-xs)*2); /* Same as height. */ + height: calc(var(--space-m) + var(--space-xs)*2); /* Hande svg height + its vertical padding */ + margin: 0 calc(var(--space-xs)*-1) calc(var(--space-m)*-1 + var(--space-xs)*2*-1); /* Bottom: handle height as negative value. */ content: ""; border-radius: var(--base-border-radius); outline: var(--outline-size) dotted transparent; @@ -317,16 +317,16 @@ body.drag { .indentation { position: relative; - left: calc(var(--space-xs) * -0.5); /* LTR */ + left: calc(var(--space-xs)*-0.5); /* LTR */ float: left; /* LTR */ - width: calc(25rem / 16); /* 25px */ - height: calc(25rem / 16); /* 25px */ + width: 1.5625rem; /* 25px */ + height: 1.5625rem; /* 25px */ background: none !important; line-height: 0; } [dir="rtl"] .indentation { - right: calc(var(--space-xs) * -0.5); + right: calc(var(--space-xs)*-0.5); left: auto; float: right; } @@ -340,8 +340,8 @@ body.drag { */ .tree { - width: calc(25rem / 16); /* 25px */ - height: calc(25rem / 16); /* 25px */ + width: 1.5625rem; /* 25px */ + height: 1.5625rem; /* 25px */ } .tree__item { diff --git a/core/themes/claro/css/components/tables.css b/core/themes/claro/css/components/tables.css index 744114f78638..de912499c2bf 100644 --- a/core/themes/claro/css/components/tables.css +++ b/core/themes/claro/css/components/tables.css @@ -302,7 +302,7 @@ td.priority-medium { .tabledrag-toggle-weight-wrapper { margin-top: var(--space-l); - line-height: calc(28rem / 16); + line-height: 1.75rem; } .tabledrag-toggle-weight-wrapper + table, diff --git a/core/themes/claro/css/components/tabs.css b/core/themes/claro/css/components/tabs.css index 0eb2c5f7a2ae..9a77fd2a37f1 100644 --- a/core/themes/claro/css/components/tabs.css +++ b/core/themes/claro/css/components/tabs.css @@ -161,7 +161,7 @@ } .tabs__tab.is-active:focus::before { - top: calc(var(--tabs--focus-height) * -1); + top: calc(var(--tabs--focus-height)*-1); height: calc(var(--tabs-link-height) + 2px); } @@ -219,7 +219,7 @@ .is-horizontal .tabs--secondary { overflow: hidden; - margin: calc(calc(var(--tabs--focus-height) + 0.1875rem) * -1) calc(calc(var(--tabs--focus-height) + 0.1875rem) * -1) 0; + margin: calc(var(--tabs--focus-height)*-1 + -0.1875rem) calc(var(--tabs--focus-height)*-1 + -0.1875rem) 0; padding: calc(var(--tabs--focus-height) + 0.1875rem) calc(var(--tabs--focus-height) + 0.1875rem) 0; border-radius: 0; } diff --git a/core/themes/claro/css/components/vertical-tabs.css b/core/themes/claro/css/components/vertical-tabs.css index 6c86da87ea25..b262da08d216 100644 --- a/core/themes/claro/css/components/vertical-tabs.css +++ b/core/themes/claro/css/components/vertical-tabs.css @@ -77,7 +77,7 @@ z-index: 1; /* The line should be kept above the vertical tabs menu link to keep it visible even if the link is hovered and gets the 'hover' background color. */ display: block; width: 100%; - margin-top: calc(var(--vertical-tabs-menu-separator-size) * -1); + margin-top: calc(var(--vertical-tabs-menu-separator-size)*-1); border-top: var(--vertical-tabs-menu-separator-size) solid var(--vertical-tabs-menu-separator-color); } @@ -129,7 +129,7 @@ .vertical-tabs__menu-link { position: relative; display: block; - margin-top: calc(var(--vertical-tabs-border-size) * -1); + margin-top: calc(var(--vertical-tabs-border-size)*-1); padding: var(--space-s) var(--space-s) var(--space-s) calc(var(--space-l) - var(--vertical-tabs-menu-link--active-border-size)); /* LTR */ text-decoration: none; word-wrap: break-word; @@ -172,17 +172,17 @@ .vertical-tabs__menu-link::before { position: absolute; z-index: 0; /* This should be on a lower level than the menu-item separator lines. */ - top: calc(var(--vertical-tabs-border-size) * -1); + top: calc(var(--vertical-tabs-border-size)*-1); right: 0; /* LTR */ - bottom: calc(var(--vertical-tabs-border-size) * -1); - left: calc(var(--vertical-tabs-menu-link--active-border-size) * -1); /* LTR */ + bottom: calc(var(--vertical-tabs-border-size)*-1); + left: calc(var(--vertical-tabs-menu-link--active-border-size)*-1); /* LTR */ content: ""; pointer-events: none; background-clip: padding-box; } [dir="rtl"] .vertical-tabs__menu-link::before { - right: calc(var(--vertical-tabs-menu-link--active-border-size) * -1); + right: calc(var(--vertical-tabs-menu-link--active-border-size)*-1); left: 0; } @@ -196,7 +196,7 @@ right: 0; bottom: 0; left: 0; - margin: calc(var(--vertical-tabs-border-size) * -1) calc(var(--vertical-tabs-menu-link--active-border-size) * -1); + margin: calc(var(--vertical-tabs-border-size)*-1) calc(var(--vertical-tabs-menu-link--active-border-size)*-1); content: ""; pointer-events: none; border: var(--vertical-tabs-menu-link-focus-border-size) solid var(--color-focus); @@ -316,7 +316,7 @@ .vertical-tabs__item { /* Render on top of the border of vertical-tabs__items. */ - margin: calc(var(--vertical-tabs-border-size) * -1) calc(var(--vertical-tabs-border-size) * -1) 0; + margin: calc(var(--vertical-tabs-border-size)*-1) calc(var(--vertical-tabs-border-size)*-1) 0; border-radius: 0; } @@ -326,7 +326,7 @@ } .vertical-tabs__item.last { - margin-bottom: calc(var(--vertical-tabs-border-size) * -1); + margin-bottom: calc(var(--vertical-tabs-border-size)*-1); border-bottom-right-radius: var(--details-accordion-border-size-radius); border-bottom-left-radius: var(--details-accordion-border-size-radius); } diff --git a/core/themes/claro/css/components/views-ui.css b/core/themes/claro/css/components/views-ui.css index de3925d6a9c4..5e1dc6f97c94 100644 --- a/core/themes/claro/css/components/views-ui.css +++ b/core/themes/claro/css/components/views-ui.css @@ -99,14 +99,14 @@ details.fieldset-no-legend { } .views-ui-dialog .form-element { - min-height: calc(((var(--input-padding-vertical--small) + var(--input-border-size)) * 2) + var(--input-line-height--small)); /* iOS. */ + min-height: calc(var(--input-padding-vertical--small)*2 + var(--input-border-size)*2 + var(--input-line-height--small)); /* iOS. */ padding: var(--input-padding-vertical--small) var(--input-padding-horizontal--small); font-size: var(--input-font-size--small); line-height: var(--input-line-height--small); } .views-ui-dialog .form-element--type-select { - padding-right: calc((var(--space-m) * 2) + var(--input-border-size) * 2); + padding-right: calc(var(--space-m)*2 + var(--input-border-size)*2); background-position: 100% 56%; } @@ -184,7 +184,7 @@ details.fieldset-no-legend { } .views-display-top__extra-actions-wrapper { - margin: calc(var(--space-xs) / 2) var(--space-xs) var(--space-xs); + margin: calc(var(--space-xs)/2) var(--space-xs) var(--space-xs); } /* @end */ @@ -320,7 +320,7 @@ details.fieldset-no-legend { .views-tabs .add a::before { display: inline-block; width: 1em; - height: calc(1em - (var(--input-border-size) * 2)); + height: calc(1em - var(--input-border-size)*2); content: ""; /* Copy of icon from .action-link--icon-plus */ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' stroke-width='2' stroke='%23545560'%3E%3Cpath d='m3 8h10'/%3E%3Cpath d='m8 3v10'/%3E%3C/svg%3E"); @@ -686,6 +686,6 @@ details.fieldset-no-legend { } [dir="rtl"] .views-display-top__extra-actions-wrapper { margin-right: auto; - margin-left: calc(var(--space-xs) / 2); + margin-left: calc(var(--space-xs)/2); } } diff --git a/core/themes/claro/css/layout/card-list.css b/core/themes/claro/css/layout/card-list.css index 50ed09626669..a2e62741bd27 100644 --- a/core/themes/claro/css/layout/card-list.css +++ b/core/themes/claro/css/layout/card-list.css @@ -13,9 +13,9 @@ :root { --card-list-spacing: var(--space-m); /* Using 100% as base causes issues in IE11. */ - --cards-two-cols-width: calc(((99.9% + var(--card-list-spacing)) / 2) - var(--card-list-spacing)); - --cards-three-cols-width: calc(((99.9% + var(--card-list-spacing)) / 3) - var(--card-list-spacing)); - --cards-four-cols-width: calc(((99.9% + var(--card-list-spacing)) / 4) - var(--card-list-spacing)); + --cards-two-cols-width: calc(49.95% + var(--card-list-spacing)/2 - var(--card-list-spacing)); + --cards-three-cols-width: calc(33.3% + var(--card-list-spacing)/3 - var(--card-list-spacing)); + --cards-four-cols-width: calc(24.975% + var(--card-list-spacing)/4 - var(--card-list-spacing)); } .card-list { diff --git a/core/themes/claro/css/layout/local-actions.css b/core/themes/claro/css/layout/local-actions.css index f637bc563889..b1970d6a873e 100644 --- a/core/themes/claro/css/layout/local-actions.css +++ b/core/themes/claro/css/layout/local-actions.css @@ -28,7 +28,7 @@ .local-actions__item { display: inline-block; - margin: 0 calc(var(--space-xs) / 2); + margin: 0 calc(var(--space-xs)/2); } .local-actions__item:first-child { @@ -37,7 +37,7 @@ [dir="rtl"] .local-actions__item:first-child { margin-right: 0; - margin-left: calc(var(--space-xs) / 2); + margin-left: calc(var(--space-xs)/2); } .local-actions__item:last-child { @@ -45,7 +45,7 @@ } [dir="rtl"] .local-actions__item:last-child { - margin-right: calc(var(--space-xs) / 2); + margin-right: calc(var(--space-xs)/2); margin-left: 0; } diff --git a/core/themes/claro/css/theme/media-library.css b/core/themes/claro/css/theme/media-library.css index cbcf6b6b47c7..af3d30211261 100644 --- a/core/themes/claro/css/theme/media-library.css +++ b/core/themes/claro/css/theme/media-library.css @@ -61,7 +61,7 @@ z-index: var(--vertical-tabs-menu--z-index); /* The line should be kept above the vertical tabs menu link to keep it visible even if the link is hovered and gets the 'hover' background color. */ display: block; width: 100%; - margin-top: calc(var(--vertical-tabs-menu-separator-size) * -1); + margin-top: calc(var(--vertical-tabs-menu-separator-size)*-1); content: ""; border-top: var(--vertical-tabs-menu-separator-size) solid var(--vertical-tabs-menu-separator-color); } @@ -69,7 +69,7 @@ .media-library-menu__link { position: relative; display: block; - margin-top: calc(var(--vertical-tabs-border-size) * -1); + margin-top: calc(var(--vertical-tabs-border-size)*-1); padding: var(--space-s) var(--space-s) var(--space-s) calc(var(--space-l) - var(--vertical-tabs-menu-link--active-border-size)); /* LTR */ text-decoration: none; word-wrap: break-word; @@ -116,17 +116,17 @@ .media-library-menu__link::before { position: absolute; z-index: calc(var(--vertical-tabs-menu--z-index) - 1); /* This should be on a lower level than the menu-item separator lines. */ - top: calc(var(--vertical-tabs-border-size) * -1); + top: calc(var(--vertical-tabs-border-size)*-1); right: 0; /* LTR */ - bottom: calc(var(--vertical-tabs-border-size) * -1); - left: calc(var(--vertical-tabs-menu-link--active-border-size) * -1); /* LTR */ + bottom: calc(var(--vertical-tabs-border-size)*-1); + left: calc(var(--vertical-tabs-menu-link--active-border-size)*-1); /* LTR */ content: ""; pointer-events: none; background-clip: padding-box; } [dir="rtl"] .media-library-menu__link::before { - right: calc(var(--vertical-tabs-menu-link--active-border-size) * -1); + right: calc(var(--vertical-tabs-menu-link--active-border-size)*-1); left: 0; } @@ -136,7 +136,7 @@ right: 0; bottom: 0; left: 0; - margin: calc(var(--vertical-tabs-border-size) * -1) calc(var(--vertical-tabs-menu-link--active-border-size) * -1); + margin: calc(var(--vertical-tabs-border-size)*-1) calc(var(--vertical-tabs-menu-link--active-border-size)*-1); content: ""; pointer-events: none; border: var(--vertical-tabs-menu-link-focus-border-size) solid var(--color-focus); @@ -217,7 +217,7 @@ .media-library-add-form__added-media .media-library-add-form__remove-button.button--extrasmall { margin: var(--space-xs) 0; /* LTR */ /* Left padding is double the background size of the button icon. */ - padding: calc(calc(var(--space-xs) / 2) - 1px) calc(var(--space-s) - 1px) calc(calc(var(--space-xs) / 2) - 1px) calc(var(--space-s) * 2); + padding: calc(var(--space-xs)/2 - 1px) calc(var(--space-s) - 1px) calc(var(--space-xs)/2 - 1px) calc(var(--space-s)*2); } /* This is needed to override the default extrasmall button left margin. */ @@ -259,10 +259,10 @@ @media all and (-ms-high-contrast: active), (-ms-high-contrast: none) { .ui-dialog > .ui-dialog-content { - padding-right: calc(var(--space-s) - calc(var(--focus-border-size) + var(--focus-border-offset-size) + 2px)); + padding-right: calc(var(--space-s) - var(--focus-border-size) - var(--focus-border-offset-size) - 2px); } [dir="rtl"] .ui-dialog > .ui-dialog-content { - padding-left: calc(var(--space-s) - calc(var(--focus-border-size) + var(--focus-border-offset-size) + 2px)); + padding-left: calc(var(--space-s) - var(--focus-border-size) - var(--focus-border-offset-size) - 2px); } } @@ -702,7 +702,7 @@ .media-library-item__name { display: block; overflow: hidden; - margin: calc(var(--space-xs) / 2) var(--space-xs); + margin: calc(var(--space-xs)/2) var(--space-xs); white-space: nowrap; text-overflow: ellipsis; font-size: 0.875rem; diff --git a/core/themes/olivero/css/base/variables.css b/core/themes/olivero/css/base/variables.css index 5bff906d94b6..7f6506009f15 100644 --- a/core/themes/olivero/css/base/variables.css +++ b/core/themes/olivero/css/base/variables.css @@ -71,7 +71,7 @@ --grid-gap: var(--sp); --grid-gap-count: calc(var(--grid-col-count) - 1); /* Count of grid-gaps. */ --grid-full-width: calc(100vw - var(--sp2) - var(--scrollbar-width)); /* Width of the entire grid. */ - --grid-col-width: calc((var(--grid-full-width) - (var(--grid-gap-count) * var(--grid-gap))) / var(--grid-col-count)); /* Width of a grid column. */ + --grid-col-width: calc((var(--grid-full-width) - var(--grid-gap-count)*var(--grid-gap))/var(--grid-col-count)); /* Width of a grid column. */ } @media (min-width: 43.75rem) { @@ -106,23 +106,23 @@ :root { /* Layout helpers */ - --sp0-25: calc(0.25 * var(--sp)); - --sp0-5: calc(0.5 * var(--sp)); - --sp0-75: calc(0.75 * var(--sp)); - --sp1: calc(1 * var(--sp)); - --sp1-5: calc(1.5 * var(--sp)); - --sp2: calc(2 * var(--sp)); - --sp2-5: calc(2.5 * var(--sp)); - --sp3: calc(3 * var(--sp)); - --sp4: calc(4 * var(--sp)); - --sp5: calc(5 * var(--sp)); - --sp6: calc(6 * var(--sp)); - --sp7: calc(7 * var(--sp)); - --sp8: calc(8 * var(--sp)); - --sp9: calc(9 * var(--sp)); - --sp10: calc(10 * var(--sp)); - --sp11: calc(11 * var(--sp)); - --sp12: calc(12 * var(--sp)); + --sp0-25: calc(var(--sp)*0.25); + --sp0-5: calc(var(--sp)*0.5); + --sp0-75: calc(var(--sp)*0.75); + --sp1: calc(var(--sp)*1); + --sp1-5: calc(var(--sp)*1.5); + --sp2: calc(var(--sp)*2); + --sp2-5: calc(var(--sp)*2.5); + --sp3: calc(var(--sp)*3); + --sp4: calc(var(--sp)*4); + --sp5: calc(var(--sp)*5); + --sp6: calc(var(--sp)*6); + --sp7: calc(var(--sp)*7); + --sp8: calc(var(--sp)*8); + --sp9: calc(var(--sp)*9); + --sp10: calc(var(--sp)*10); + --sp11: calc(var(--sp)*11); + --sp12: calc(var(--sp)*12); /** * Gray colors. @@ -150,10 +150,10 @@ --color--primary-hue: 202; --color--primary-saturation: 79%; --color--primary-lightness: 50; - --color--primary-30: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) - (0.36 * var(--color--primary-lightness))))); - --color--primary-40: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) - (0.24 * var(--color--primary-lightness))))); /* Blue dark */ - --color--primary-50: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * var(--color--primary-lightness))); /* Blue medium */ - --color--primary-60: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) + (0.24 * (100 - var(--color--primary-lightness)))))); /* Blue bright */ + --color--primary-30: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1%*(var(--color--primary-lightness) - var(--color--primary-lightness)*0.36))); + --color--primary-40: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1%*(var(--color--primary-lightness) - var(--color--primary-lightness)*0.24))); /* Blue dark */ + --color--primary-50: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1%*var(--color--primary-lightness))); /* Blue medium */ + --color--primary-60: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1%*(var(--color--primary-lightness) + 24 - var(--color--primary-lightness)*0.24))); /* Blue bright */ /** * Named Colors. @@ -165,7 +165,7 @@ --color--green: #3fa21c; /* Green */ /* Header */ - --header-height-wide-when-fixed: calc(6 * var(--sp)); + --header-height-wide-when-fixed: calc(var(--sp)*6); /* Width of slide out navigation */ --mobile-nav-width: 31.25rem; diff --git a/core/themes/olivero/css/components/breadcrumb.css b/core/themes/olivero/css/components/breadcrumb.css index 400ed1b653cb..4261d7f52498 100644 --- a/core/themes/olivero/css/components/breadcrumb.css +++ b/core/themes/olivero/css/components/breadcrumb.css @@ -33,11 +33,11 @@ } [dir="ltr"] .breadcrumb:after { - right: calc(var(--sp1) * -1) + right: calc(var(--sp1)*-1) } [dir="rtl"] .breadcrumb:after { - left: calc(var(--sp1) * -1) + left: calc(var(--sp1)*-1) } .breadcrumb:after { @@ -68,19 +68,19 @@ } [dir="ltr"] .breadcrumb__content { - margin-left: calc(var(--sp0-5) * -1) + margin-left: calc(var(--sp0-5)*-1) } [dir="rtl"] .breadcrumb__content { - margin-right: calc(var(--sp0-5) * -1) + margin-right: calc(var(--sp0-5)*-1) } [dir="ltr"] .breadcrumb__content { - margin-right: calc(var(--sp1) * -1) + margin-right: calc(var(--sp1)*-1) } [dir="rtl"] .breadcrumb__content { - margin-left: calc(var(--sp1) * -1) + margin-left: calc(var(--sp1)*-1) } [dir="ltr"] .breadcrumb__content { @@ -93,8 +93,8 @@ .breadcrumb__content { overflow: auto; - margin-top: calc(var(--sp0-5) * -1); - margin-bottom: calc(var(--sp0-5) * -1); + margin-top: calc(var(--sp0-5)*-1); + margin-bottom: calc(var(--sp0-5)*-1); padding-top: var(--sp0-5); padding-bottom: var(--sp0-5); -webkit-overflow-scrolling: touch @@ -112,19 +112,19 @@ } [dir="ltr"] .breadcrumb__list { - margin-left: calc(var(--sp1) * -1) + margin-left: calc(var(--sp1)*-1) } [dir="rtl"] .breadcrumb__list { - margin-right: calc(var(--sp1) * -1) + margin-right: calc(var(--sp1)*-1) } [dir="ltr"] .breadcrumb__list { - margin-right: calc(var(--sp1) * -1) + margin-right: calc(var(--sp1)*-1) } [dir="rtl"] .breadcrumb__list { - margin-left: calc(var(--sp1) * -1) + margin-left: calc(var(--sp1)*-1) } [dir="ltr"] .breadcrumb__list { diff --git a/core/themes/olivero/css/components/button.css b/core/themes/olivero/css/components/button.css index 7122cc4d85bc..0ee98940c439 100644 --- a/core/themes/olivero/css/components/button.css +++ b/core/themes/olivero/css/components/button.css @@ -44,8 +44,8 @@ height: var(--sp3); margin-top: var(--sp1); margin-bottom: var(--sp1); - padding-top: calc((var(--sp3) - var(--line-height-s)) / 2); - padding-bottom: calc((var(--sp3) - var(--line-height-s)) / 2); + padding-top: calc(var(--sp3)/2 - var(--line-height-s)/2); + padding-bottom: calc(var(--sp3)/2 - var(--line-height-s)/2); padding-left: var(--sp1-5); padding-right: var(--sp1-5); cursor: pointer; @@ -137,8 +137,8 @@ .button--small { height: var(--sp2-5); - padding-top: calc((var(--sp2-5) - var(--line-height-s)) / 2); - padding-bottom: calc((var(--sp2-5) - var(--line-height-s)) / 2); + padding-top: calc(var(--sp2-5)/2 - var(--line-height-s)/2); + padding-bottom: calc(var(--sp2-5)/2 - var(--line-height-s)/2); padding-left: var(--sp); padding-right: var(--sp); font-size: var(--font-size-base); diff --git a/core/themes/olivero/css/components/comments.css b/core/themes/olivero/css/components/comments.css index 66a8e418bdb6..a7dbf0b3c98d 100644 --- a/core/themes/olivero/css/components/comments.css +++ b/core/themes/olivero/css/components/comments.css @@ -241,12 +241,12 @@ [dir="ltr"] .add-comment__picture,[dir="ltr"] .comment__picture { - left: calc(-1 * var(--sp5)); + left: calc(var(--sp5)*-1); } [dir="rtl"] .add-comment__picture,[dir="rtl"] .comment__picture { - right: calc(-1 * var(--sp5)); + right: calc(var(--sp5)*-1); } .add-comment__picture, @@ -259,11 +259,11 @@ @media (min-width: 43.75rem) { [dir="ltr"] .indented .comment__picture { - left: calc(-1 * var(--sp4)); + left: calc(var(--sp4)*-1); } [dir="rtl"] .indented .comment__picture { - right: calc(-1 * var(--sp4)); + right: calc(var(--sp4)*-1); } .indented .comment__picture { @@ -312,11 +312,11 @@ } [dir="ltr"] .indented > .comment:not(:last-of-type):not(.has-children):before { - left: calc(-1 * var(--comment-indentation) - var(--sp)); + left: calc(var(--comment-indentation)*-1 - var(--sp)); } [dir="rtl"] .indented > .comment:not(:last-of-type):not(.has-children):before { - right: calc(-1 * var(--comment-indentation) - var(--sp)); + right: calc(var(--comment-indentation)*-1 - var(--sp)); } [dir="ltr"] .indented > .comment:not(:last-of-type):not(.has-children):before { @@ -338,11 +338,11 @@ @media (min-width: 43.75rem) { [dir="ltr"] .indented > .comment:not(:last-of-type):not(.has-children):before { - left: calc(-1 * var(--comment-indentation--md) + var(--sp)); + left: calc(var(--comment-indentation--md)*-1 + var(--sp)); } [dir="rtl"] .indented > .comment:not(:last-of-type):not(.has-children):before { - right: calc(-1 * var(--comment-indentation--md) + var(--sp)); + right: calc(var(--comment-indentation--md)*-1 + var(--sp)); } } diff --git a/core/themes/olivero/css/components/content-moderation.css b/core/themes/olivero/css/components/content-moderation.css index b2df805ea725..e633431a363f 100644 --- a/core/themes/olivero/css/components/content-moderation.css +++ b/core/themes/olivero/css/components/content-moderation.css @@ -110,15 +110,15 @@ @media (min-width: 43.75rem) { [dir="ltr"] .layout--content-narrow .entity-moderation-form,[dir="ltr"] .layout--pass--content-narrow > * .entity-moderation-form,[dir="ltr"] .layout--content-medium .entity-moderation-form,[dir="ltr"] .layout--pass--content-medium > * .entity-moderation-form { - margin-left: calc(-2 * (var(--grid-col-width) + var(--grid-gap))) + margin-left: calc(var(--grid-col-width)*-2 + var(--grid-gap)*-2) } [dir="rtl"] .layout--content-narrow .entity-moderation-form,[dir="rtl"] .layout--pass--content-narrow > * .entity-moderation-form,[dir="rtl"] .layout--content-medium .entity-moderation-form,[dir="rtl"] .layout--pass--content-medium > * .entity-moderation-form { - margin-right: calc(-2 * (var(--grid-col-width) + var(--grid-gap))) + margin-right: calc(var(--grid-col-width)*-2 + var(--grid-gap)*-2) } .layout--content-narrow .entity-moderation-form, .layout--pass--content-narrow > * .entity-moderation-form, .layout--content-medium .entity-moderation-form, .layout--pass--content-medium > * .entity-moderation-form { - width: calc(var(--grid-col-count) * var(--grid-col-width) + var(--grid-gap-count) * var(--grid-gap)); + width: calc(var(--grid-col-count)*var(--grid-col-width) + var(--grid-gap-count)*var(--grid-gap)); margin-top: var(--sp2); margin-bottom: var(--sp4) } @@ -127,15 +127,15 @@ @media (min-width: 62.5rem) { [dir="ltr"] .layout--content-narrow .entity-moderation-form,[dir="ltr"] .layout--pass--content-narrow > * .entity-moderation-form,[dir="ltr"] .layout--content-medium .entity-moderation-form,[dir="ltr"] .layout--pass--content-medium > * .entity-moderation-form { - margin-left: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + margin-left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .layout--content-narrow .entity-moderation-form,[dir="rtl"] .layout--pass--content-narrow > * .entity-moderation-form,[dir="rtl"] .layout--content-medium .entity-moderation-form,[dir="rtl"] .layout--pass--content-medium > * .entity-moderation-form { - margin-right: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + margin-right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } .layout--content-narrow .entity-moderation-form, .layout--pass--content-narrow > * .entity-moderation-form, .layout--content-medium .entity-moderation-form, .layout--pass--content-medium > * .entity-moderation-form { - width: calc(12 * var(--grid-col-width) + 11 * var(--grid-gap)) + width: calc(var(--grid-col-width)*12 + var(--grid-gap)*11) } } @@ -150,6 +150,6 @@ } .layout--content-narrow .entity-moderation-form, .layout--pass--content-narrow > * .entity-moderation-form, .layout--content-medium .entity-moderation-form, .layout--pass--content-medium > * .entity-moderation-form { - width: calc(10 * var(--grid-col-width) + 11 * var(--grid-gap)) + width: calc(var(--grid-col-width)*10 + var(--grid-gap)*11) } } diff --git a/core/themes/olivero/css/components/details.css b/core/themes/olivero/css/components/details.css index e899d4e27377..857ef6ef7781 100644 --- a/core/themes/olivero/css/components/details.css +++ b/core/themes/olivero/css/components/details.css @@ -108,10 +108,10 @@ .olivero-details__summary:after, .collapse-processed > .olivero-details__summary .details-title:after { position: absolute; - top: calc(var(--details-border-width) * -1); - right: calc(var(--details-border-width) * -1); - bottom: calc(var(--details-border-width) * -1); - left: calc(var(--details-border-width) * -1); + top: calc(var(--details-border-width)*-1); + right: calc(var(--details-border-width)*-1); + bottom: calc(var(--details-border-width)*-1); + left: calc(var(--details-border-width)*-1); content: ""; pointer-events: none; opacity: 0; diff --git a/core/themes/olivero/css/components/embedded-media.css b/core/themes/olivero/css/components/embedded-media.css index cf7c5648cbd4..d08bc3d75a76 100644 --- a/core/themes/olivero/css/components/embedded-media.css +++ b/core/themes/olivero/css/components/embedded-media.css @@ -145,12 +145,12 @@ figcaption { [dir="ltr"] .layout--content-narrow .align-right,[dir="ltr"] .layout--pass--content-narrow > * .align-right { - margin-right: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1); } [dir="rtl"] .layout--content-narrow .align-right,[dir="rtl"] .layout--pass--content-narrow > * .align-right { - margin-left: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1); } } @@ -158,12 +158,12 @@ figcaption { [dir="ltr"] .layout--content-narrow .align-right,[dir="ltr"] .layout--pass--content-narrow > * .align-right { - margin-right: calc(-2 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-right: calc(var(--grid-col-width)*-2 + var(--grid-gap)*-2); } [dir="rtl"] .layout--content-narrow .align-right,[dir="rtl"] .layout--pass--content-narrow > * .align-right { - margin-left: calc(-2 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-left: calc(var(--grid-col-width)*-2 + var(--grid-gap)*-2); } } @@ -171,12 +171,12 @@ figcaption { [dir="ltr"] .layout--content-narrow .align-right,[dir="ltr"] .layout--pass--content-narrow > * .align-right { - margin-right: calc(-3 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-right: calc(var(--grid-col-width)*-3 + var(--grid-gap)*-3); } [dir="rtl"] .layout--content-narrow .align-right,[dir="rtl"] .layout--pass--content-narrow > * .align-right { - margin-left: calc(-3 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-left: calc(var(--grid-col-width)*-3 + var(--grid-gap)*-3); } } @@ -184,12 +184,12 @@ figcaption { [dir="ltr"] .layout--content-narrow .align-right,[dir="ltr"] .layout--pass--content-narrow > * .align-right { - margin-right: calc(-3 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-right: calc(var(--grid-col-width)*-3 + var(--grid-gap)*-3); } [dir="rtl"] .layout--content-narrow .align-right,[dir="rtl"] .layout--pass--content-narrow > * .align-right { - margin-left: calc(-3 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-left: calc(var(--grid-col-width)*-3 + var(--grid-gap)*-3); } } @@ -255,12 +255,12 @@ figcaption { [dir="ltr"] .layout--content-narrow .align-left,[dir="ltr"] .layout--pass--content-narrow > * .align-left { - margin-left: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1); } [dir="rtl"] .layout--content-narrow .align-left,[dir="rtl"] .layout--pass--content-narrow > * .align-left { - margin-right: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); + margin-right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1); } } diff --git a/core/themes/olivero/css/components/header-navigation.css b/core/themes/olivero/css/components/header-navigation.css index 42c18c406b6e..a8cfdd83bb50 100644 --- a/core/themes/olivero/css/components/header-navigation.css +++ b/core/themes/olivero/css/components/header-navigation.css @@ -246,7 +246,7 @@ body.is-always-mobile-nav.toolbar-horizontal.toolbar-fixed.toolbar-tray-open .he body.is-always-mobile-nav .header-nav { overflow: auto; - max-width: calc((7 * (var(--grid-col-width) + var(--grid-gap)))); + max-width: calc(var(--grid-col-width)*7 + var(--grid-gap)*7); transition: transform 0.2s, visibility 0.2s; border-top-width: var(--sp11) } @@ -255,15 +255,15 @@ body.is-always-mobile-nav .header-nav { @media (min-width: 90rem) { [dir="ltr"] body.is-always-mobile-nav .header-nav { - padding-right: calc(100vw - (var(--max-width) + var(--content-left) - var(--sp))) + padding-right: calc(100vw - var(--max-width) - var(--content-left) + var(--sp)) } [dir="rtl"] body.is-always-mobile-nav .header-nav { - padding-left: calc(100vw - (var(--max-width) + var(--content-left) - var(--sp))) + padding-left: calc(100vw - var(--max-width) - var(--content-left) + var(--sp)) } body.is-always-mobile-nav .header-nav { - max-width: calc(100vw - (var(--max-width) + var(--content-left)) + ((7 * (var(--grid-col-width) + var(--grid-gap))))) + max-width: calc(100vw - var(--max-width) - var(--content-left) + var(--grid-col-width)*7 + var(--grid-gap)*7) } } diff --git a/core/themes/olivero/css/components/header-search-narrow.css b/core/themes/olivero/css/components/header-search-narrow.css index 37e66901067f..ecd8a7b8f58d 100644 --- a/core/themes/olivero/css/components/header-search-narrow.css +++ b/core/themes/olivero/css/components/header-search-narrow.css @@ -24,8 +24,8 @@ /* Width of the entire grid maxes out. */ .block-search-narrow { - margin-left: calc(-1 * var(--sp)); - margin-right: calc(-1 * var(--sp)); + margin-left: calc(var(--sp)*-1); + margin-right: calc(var(--sp)*-1); margin-bottom: var(--sp2); background: var(--color--black) } @@ -61,7 +61,7 @@ .block-search-narrow input[type="search"] { width: calc(100% + var(--sp2)); - height: calc(3 * var(--sp)); + height: calc(var(--sp)*3); padding-top: 0; padding-bottom: 0; transition: background-size 0.4s; @@ -120,7 +120,7 @@ } .block-search-narrow input[type="search"] { - height: calc(4 * var(--sp)) + height: calc(var(--sp)*4) } } diff --git a/core/themes/olivero/css/components/header-site-branding.css b/core/themes/olivero/css/components/header-site-branding.css index 53e0971aeb24..29094e934c0e 100644 --- a/core/themes/olivero/css/components/header-site-branding.css +++ b/core/themes/olivero/css/components/header-site-branding.css @@ -24,12 +24,12 @@ /* Width of the entire grid maxes out. */ [dir="ltr"] .site-branding { - margin-left: calc(-1 * var(--container-padding)); + margin-left: calc(var(--container-padding)*-1); margin-right: var(--sp) } [dir="rtl"] .site-branding { - margin-right: calc(-1 * var(--container-padding)); + margin-right: calc(var(--container-padding)*-1); margin-left: var(--sp) } @@ -53,7 +53,7 @@ display: flex; flex-shrink: 1; align-items: flex-end; - min-width: calc((2 * var(--grid-col-width)) + (2 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 2 column widths. */ + min-width: calc(var(--grid-col-width)*2 + var(--grid-gap)*2 + var(--container-padding)); /* Span minimum of 2 column widths. */ min-height: var(--sp3); /* Negative margin to break out of .container element. */ padding-top: 0; padding-bottom: var(--sp0-5); @@ -70,7 +70,7 @@ @media (min-width: 43.75rem) { .site-branding { - min-width: calc((4 * var(--grid-col-width)) + (4 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 4 column widths. */ + min-width: calc(var(--grid-col-width)*4 + var(--grid-gap)*4 + var(--container-padding)); /* Span minimum of 4 column widths. */ min-height: var(--sp6); padding-bottom: var(--sp) } @@ -79,18 +79,18 @@ @media (min-width: 62.5rem) { .site-branding { - min-width: calc((2 * var(--grid-col-width)) + (2 * var(--grid-gap)) + var(--container-padding)) /* Span minimum of 2 column widths. */ + min-width: calc(var(--grid-col-width)*2 + var(--grid-gap)*2 + var(--container-padding)) /* Span minimum of 2 column widths. */ } } @media (min-width: 75rem) { [dir="ltr"] .site-branding { - margin-left: calc(-1 * var(--container-padding)) + margin-left: calc(var(--container-padding)*-1) } [dir="rtl"] .site-branding { - margin-right: calc(-1 * var(--container-padding)) + margin-right: calc(var(--container-padding)*-1) } .site-branding { diff --git a/core/themes/olivero/css/components/messages.css b/core/themes/olivero/css/components/messages.css index 402ed0318cab..4ae935945b2a 100644 --- a/core/themes/olivero/css/components/messages.css +++ b/core/themes/olivero/css/components/messages.css @@ -68,7 +68,7 @@ } .messages { - min-height: calc(var(--messages-icon-size) + 2 * var(--sp1)); + min-height: calc(var(--messages-icon-size) + var(--sp1)*2); padding-top: var(--sp1); padding-bottom: var(--sp1); color: var(--color--white); diff --git a/core/themes/olivero/css/components/navigation/nav-primary-button.css b/core/themes/olivero/css/components/navigation/nav-primary-button.css index 8f541d1a33f9..3001a4daf846 100644 --- a/core/themes/olivero/css/components/navigation/nav-primary-button.css +++ b/core/themes/olivero/css/components/navigation/nav-primary-button.css @@ -109,10 +109,10 @@ @media (min-width: 75rem) { [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle { - margin-right: calc(-1 * var(--sp2)) + margin-right: calc(var(--sp2)*-1) } [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle { - margin-left: calc(-1 * var(--sp2)) + margin-left: calc(var(--sp2)*-1) } body:not(.is-always-mobile-nav) .primary-nav__button-toggle { flex-shrink: 0; diff --git a/core/themes/olivero/css/components/navigation/nav-primary-wide.css b/core/themes/olivero/css/components/navigation/nav-primary-wide.css index 0a7893585f81..a2fe41788487 100644 --- a/core/themes/olivero/css/components/navigation/nav-primary-wide.css +++ b/core/themes/olivero/css/components/navigation/nav-primary-wide.css @@ -207,7 +207,7 @@ body:not(.is-always-mobile-nav) .primary-nav__menu--level-2 { position: absolute; z-index: 105; /* Appear above search container. */ - top: calc(100% - (0.5 * var(--sp))); + top: calc(100% - var(--sp)*0.5); left: 50%; visibility: hidden; overflow: auto; @@ -218,8 +218,8 @@ */ max-height: calc(100vh - var(--site-header-height-wide) - var(--sp)); margin-top: 0; - padding-top: calc(3 * var(--sp)); - padding-bottom: calc(3 * var(--sp)); + padding-top: calc(var(--sp)*3); + padding-bottom: calc(var(--sp)*3); transition: none; transform: translate(-50%, -1.25rem); opacity: 0; @@ -246,7 +246,7 @@ body:not(.is-always-mobile-nav) .primary-nav__menu-link--level-2:focus:before { top: 0; - left: calc(var(--sp0-5) * -1); + left: calc(var(--sp0-5)*-1); height: 100%; transform: none; } diff --git a/core/themes/olivero/css/components/navigation/nav-primary.css b/core/themes/olivero/css/components/navigation/nav-primary.css index e3a1e8e4ad18..ebe39d6482b1 100644 --- a/core/themes/olivero/css/components/navigation/nav-primary.css +++ b/core/themes/olivero/css/components/navigation/nav-primary.css @@ -268,11 +268,11 @@ */ [dir="ltr"] .primary-nav__menu--level-2 { - margin-left: calc(-1 * var(--sp)); + margin-left: calc(var(--sp)*-1); } [dir="rtl"] .primary-nav__menu--level-2 { - margin-right: calc(-1 * var(--sp)); + margin-right: calc(var(--sp)*-1); } [dir="ltr"] .primary-nav__menu--level-2 { @@ -312,11 +312,11 @@ @media (min-width: 43.75rem) { [dir="ltr"] .primary-nav__menu--level-2 { - margin-left: calc(-1 * var(--sp3)); + margin-left: calc(var(--sp3)*-1); } [dir="rtl"] .primary-nav__menu--level-2 { - margin-right: calc(-1 * var(--sp3)); + margin-right: calc(var(--sp3)*-1); } [dir="ltr"] .primary-nav__menu--level-2 { diff --git a/core/themes/olivero/css/components/node-teaser.css b/core/themes/olivero/css/components/node-teaser.css index 2aff68a8016e..f7a27e08fef8 100644 --- a/core/themes/olivero/css/components/node-teaser.css +++ b/core/themes/olivero/css/components/node-teaser.css @@ -78,7 +78,7 @@ } .node--view-mode-teaser .primary-image + .node__title { - flex-basis: calc(100% - calc(4.5 * var(--sp))) + flex-basis: calc(100% - var(--sp)*4.5) } @media (min-width: 62.5rem) { @@ -93,8 +93,8 @@ } .node--view-mode-teaser .primary-image img { - width: calc(3.5 * var(--sp)); - height: calc(3.5 * var(--sp)); + width: calc(var(--sp)*3.5); + height: calc(var(--sp)*3.5); object-fit: cover; border-radius: 50% } @@ -110,11 +110,11 @@ @media (min-width: 62.5rem) { [dir="ltr"] .node--view-mode-teaser .primary-image { - left: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))) + left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .node--view-mode-teaser .primary-image { - right: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))) + right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } .node--view-mode-teaser .primary-image { diff --git a/core/themes/olivero/css/components/powered-by-block.css b/core/themes/olivero/css/components/powered-by-block.css index 0c5af952ddc8..a312435f18ee 100644 --- a/core/themes/olivero/css/components/powered-by-block.css +++ b/core/themes/olivero/css/components/powered-by-block.css @@ -39,16 +39,16 @@ } [dir="ltr"] .block-system-powered-by-block .drupal-logo { - margin-left: calc(var(--sp) / 4) + margin-left: calc(var(--sp)/4) } [dir="rtl"] .block-system-powered-by-block .drupal-logo { - margin-right: calc(var(--sp) / 4) + margin-right: calc(var(--sp)/4) } .block-system-powered-by-block .drupal-logo { display: inline-block; - margin-top: calc(-1 * var(--sp) / 4); + margin-top: calc(var(--sp)*-1/4); } .block-system-powered-by-block svg { diff --git a/core/themes/olivero/css/components/tabs.css b/core/themes/olivero/css/components/tabs.css index 89a5635e896a..c983740e922f 100644 --- a/core/themes/olivero/css/components/tabs.css +++ b/core/themes/olivero/css/components/tabs.css @@ -62,7 +62,7 @@ .tabs__tab { display: none; margin: 0; - margin-bottom: calc(-1 * var(--tabs-border-width)) + margin-bottom: calc(var(--tabs-border-width)*-1) } .tabs__tab.is-active { @@ -72,11 +72,11 @@ @media (min-width: 43.75rem) { [dir="ltr"] .tabs__tab { - margin-left: calc(-1 * var(--tabs-border-width)) + margin-left: calc(var(--tabs-border-width)*-1) } [dir="rtl"] .tabs__tab { - margin-right: calc(-1 * var(--tabs-border-width)) + margin-right: calc(var(--tabs-border-width)*-1) } .tabs__tab { @@ -160,11 +160,11 @@ html:not(.js) .tabs__tab { } [dir="ltr"] .tabs__link.is-active:after { - left: calc(-1 * var(--tabs-border-width)) + left: calc(var(--tabs-border-width)*-1) } [dir="rtl"] .tabs__link.is-active:after { - right: calc(-1 * var(--tabs-border-width)) + right: calc(var(--tabs-border-width)*-1) } [dir="ltr"] .tabs__link.is-active:after { @@ -177,8 +177,8 @@ html:not(.js) .tabs__tab { .tabs__link.is-active:after { position: absolute; - top: calc(-1 * var(--tabs-border-width)); - height: calc(100% + var(--tabs-border-width) * 2); + top: calc(var(--tabs-border-width)*-1); + height: calc(100% + var(--tabs-border-width)*2); content: "" } @@ -194,8 +194,8 @@ html:not(.js) .tabs__tab { .tabs__link.is-active:after { top: auto; - bottom: calc(-1 * var(--tabs-border-width)); - width: calc(100% + 2 * var(--tabs-border-width)); + bottom: calc(var(--tabs-border-width)*-1); + width: calc(100% + var(--tabs-border-width)*2); height: 0; border-top: var(--tabs-active-border-size) solid var(--tabs-highlight-color) } @@ -217,12 +217,12 @@ html:not(.js) .tabs__tab { /* Button that opens and closes primary tabs at narrow viewports. */ [dir="ltr"] .tabs__trigger { - margin-left: calc(-1 * var(--tabs-border-width)); + margin-left: calc(var(--tabs-border-width)*-1); margin-right: 0 } [dir="rtl"] .tabs__trigger { - margin-right: calc(-1 * var(--tabs-border-width)); + margin-right: calc(var(--tabs-border-width)*-1); margin-left: 0 } @@ -269,7 +269,7 @@ html:not(.js) .tabs__trigger { display: block; width: var(--sp); height: 0.625rem; - margin-top: calc(-2 * var(--tabs-border-width)) + margin-top: calc(var(--tabs-border-width)*-2) } [dir="ltr"] .tabs__trigger-icon > span { diff --git a/core/themes/olivero/css/components/tags.css b/core/themes/olivero/css/components/tags.css index 445e5994ea68..d8e25a7901e5 100644 --- a/core/themes/olivero/css/components/tags.css +++ b/core/themes/olivero/css/components/tags.css @@ -29,11 +29,11 @@ } [dir="ltr"] .field--tags__label { - margin-right: calc(var(--sp1-5) - (var(--sp0-5) / 2)); + margin-right: calc(var(--sp1-5) - var(--sp0-5)/2); } [dir="rtl"] .field--tags__label { - margin-left: calc(var(--sp1-5) - (var(--sp0-5) / 2)); + margin-left: calc(var(--sp1-5) - var(--sp0-5)/2); } .field--tags__label { @@ -78,19 +78,19 @@ } [dir="ltr"] .field--tags__items { - margin-left: calc((var(--sp0-5) / 2) * -1); + margin-left: calc(var(--sp0-5)/2*-1); } [dir="rtl"] .field--tags__items { - margin-right: calc((var(--sp0-5) / 2) * -1); + margin-right: calc(var(--sp0-5)/2*-1); } [dir="ltr"] .field--tags__items { - margin-right: calc((var(--sp0-5) / 2) * -1); + margin-right: calc(var(--sp0-5)/2*-1); } [dir="rtl"] .field--tags__items { - margin-left: calc((var(--sp0-5) / 2) * -1); + margin-left: calc(var(--sp0-5)/2*-1); } [dir="ltr"] .field--tags__items { @@ -112,33 +112,33 @@ .field--tags__items { display: flex; flex-wrap: wrap; - margin-top: calc((var(--sp0-5) / 2) * -1); - margin-bottom: calc((var(--sp0-5) / 2) * -1); + margin-top: calc(var(--sp0-5)/2*-1); + margin-bottom: calc(var(--sp0-5)/2*-1); padding-top: 0; padding-bottom: 0; list-style: none; } [dir="ltr"] .field--tags__item { - margin-left: calc(var(--sp0-5) / 2); + margin-left: calc(var(--sp0-5)/2); } [dir="rtl"] .field--tags__item { - margin-right: calc(var(--sp0-5) / 2); + margin-right: calc(var(--sp0-5)/2); } [dir="ltr"] .field--tags__item { - margin-right: calc(var(--sp0-5) / 2); + margin-right: calc(var(--sp0-5)/2); } [dir="rtl"] .field--tags__item { - margin-left: calc(var(--sp0-5) / 2); + margin-left: calc(var(--sp0-5)/2); } .field--tags__item { display: flex; - margin-top: calc(var(--sp0-5) / 2); - margin-bottom: calc(var(--sp0-5) / 2); + margin-top: calc(var(--sp0-5)/2); + margin-bottom: calc(var(--sp0-5)/2); } .field--tags__item:nth-last-child(n+2):after { diff --git a/core/themes/olivero/css/components/text-content.css b/core/themes/olivero/css/components/text-content.css index c187b924fb65..dcf573a36d55 100644 --- a/core/themes/olivero/css/components/text-content.css +++ b/core/themes/olivero/css/components/text-content.css @@ -202,7 +202,7 @@ .text-content blockquote, .cke_editable blockquote { font-size: 2.5rem; - line-height: calc(3.5 * var(--sp)) + line-height: calc(var(--sp)*3.5) } } diff --git a/core/themes/olivero/css/components/vertical-tabs.css b/core/themes/olivero/css/components/vertical-tabs.css index 53ba0d794cf2..f813dc501751 100644 --- a/core/themes/olivero/css/components/vertical-tabs.css +++ b/core/themes/olivero/css/components/vertical-tabs.css @@ -70,7 +70,7 @@ } .vertical-tabs__panes { - margin-top: calc(var(--vertical-tabs-menu-border-width) * -1) + margin-top: calc(var(--vertical-tabs-menu-border-width)*-1) } @media (min-width: 62.5rem) { @@ -140,11 +140,11 @@ @media (min-width: 62.5rem) { [dir="ltr"] .vertical-tabs__menu-item.is-selected { - margin-right: calc(var(--vertical-tabs-menu-border-width) * -1); + margin-right: calc(var(--vertical-tabs-menu-border-width)*-1); } [dir="rtl"] .vertical-tabs__menu-item.is-selected { - margin-left: calc(var(--vertical-tabs-menu-border-width) * -1); + margin-left: calc(var(--vertical-tabs-menu-border-width)*-1); } [dir="ltr"] .vertical-tabs__menu-item.is-selected { diff --git a/core/themes/olivero/css/components/wide-image.css b/core/themes/olivero/css/components/wide-image.css index ff67e2dd24f9..1652d64bf8fd 100644 --- a/core/themes/olivero/css/components/wide-image.css +++ b/core/themes/olivero/css/components/wide-image.css @@ -47,15 +47,15 @@ @media (min-width: 43.75rem) { [dir="ltr"] .wide-image { - margin-left: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))) + margin-left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .wide-image { - margin-right: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))) + margin-right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } .wide-image { - width: calc(var(--grid-col-count) * var(--grid-col-width) + var(--grid-gap-count) * var(--grid-gap)); + width: calc(var(--grid-col-count)*var(--grid-col-width) + var(--grid-gap-count)*var(--grid-gap)); margin-top: var(--sp2); margin-bottom: var(--sp4) } @@ -64,15 +64,15 @@ @media (min-width: 62.5rem) { [dir="ltr"] .wide-image { - margin-left: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + margin-left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .wide-image { - margin-right: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + margin-right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } .wide-image { - width: calc(12 * var(--grid-col-width) + 11 * var(--grid-gap)) + width: calc(var(--grid-col-width)*12 + var(--grid-gap)*11) } } @@ -81,14 +81,14 @@ @media (min-width: 62.5rem) { .sidebar-grid .wide-image { - width: calc(9 * var(--grid-col-width) + 8 * var(--grid-gap)) + width: calc(var(--grid-col-width)*9 + var(--grid-gap)*8) } } @media (min-width: 81.25rem) { .sidebar-grid .wide-image { - width: calc(10 * var(--grid-col-width) + 9 * var(--grid-gap)) + width: calc(var(--grid-col-width)*10 + var(--grid-gap)*9) } } diff --git a/core/themes/olivero/css/layout/layout-builder-fourcol-section.css b/core/themes/olivero/css/layout/layout-builder-fourcol-section.css index 57399aadbb6a..9ddc38d98b5f 100644 --- a/core/themes/olivero/css/layout/layout-builder-fourcol-section.css +++ b/core/themes/olivero/css/layout/layout-builder-fourcol-section.css @@ -36,7 +36,7 @@ @media (min-width: 43.75rem) { .layout--fourcol-section > .layout__region { - flex-basis: calc(50% - (var(--grid-gap) * 0.5)); + flex-basis: calc(50% - var(--grid-gap)*0.5); flex-grow: 0; flex-shrink: 0; margin-bottom: 0 @@ -56,22 +56,22 @@ [dir="ltr"] .layout--fourcol-section > .layout__region--first,[dir="ltr"] .layout--fourcol-section > .layout__region--third { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--fourcol-section > .layout__region--first,[dir="rtl"] .layout--fourcol-section > .layout__region--third { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } [dir="ltr"] .layout--fourcol-section > .layout__region--second,[dir="ltr"] .layout--fourcol-section > .layout__region--fourth { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--fourcol-section > .layout__region--second,[dir="rtl"] .layout--fourcol-section > .layout__region--fourth { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } } @@ -82,7 +82,7 @@ @media (min-width: 62.5rem) { .layout--fourcol-section > .layout__region { - flex-basis: calc(25% - (var(--grid-gap) * 0.75)); + flex-basis: calc(25% - var(--grid-gap)*0.75); } .layout--fourcol-section > .layout__region--first, @@ -91,24 +91,24 @@ } [dir="ltr"] .layout--fourcol-section > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--fourcol-section > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } .layout--fourcol-section > .layout__region--second, .layout--fourcol-section > .layout__region--third { - margin-left: calc(var(--grid-gap) * 0.5); - margin-right: calc(var(--grid-gap) * 0.5); + margin-left: calc(var(--grid-gap)*0.5); + margin-right: calc(var(--grid-gap)*0.5); } [dir="ltr"] .layout--fourcol-section > .layout__region--fourth { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--fourcol-section > .layout__region--fourth { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } } diff --git a/core/themes/olivero/css/layout/layout-builder-threecol-section.css b/core/themes/olivero/css/layout/layout-builder-threecol-section.css index d864f9ea17a1..9caf4ff712f4 100644 --- a/core/themes/olivero/css/layout/layout-builder-threecol-section.css +++ b/core/themes/olivero/css/layout/layout-builder-threecol-section.css @@ -44,27 +44,27 @@ @media (min-width: 62.5rem) { [dir="ltr"] .layout--threecol-section > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--threecol-section > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } .layout--threecol-section > .layout__region--second { - margin-left: calc(var(--grid-gap) * 0.5); - margin-right: calc(var(--grid-gap) * 0.5); + margin-left: calc(var(--grid-gap)*0.5); + margin-right: calc(var(--grid-gap)*0.5); } [dir="ltr"] .layout--threecol-section > .layout__region--third { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--threecol-section > .layout__region--third { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } .layout--threecol-section--25-50-25 > .layout__region--first, .layout--threecol-section--25-50-25 > .layout__region--third { - flex-basis: calc(25% - (var(--grid-gap) * 0.5)); + flex-basis: calc(25% - var(--grid-gap)*0.5); } .layout--threecol-section--25-50-25 > .layout__region--second { @@ -72,7 +72,7 @@ } .layout--threecol-section--25-25-50 > .layout__region--first, .layout--threecol-section--25-25-50 > .layout__region--second { - flex-basis: calc(25% - (var(--grid-gap) * 0.5)); + flex-basis: calc(25% - var(--grid-gap)*0.5); } .layout--threecol-section--25-25-50 > .layout__region--third { @@ -84,11 +84,11 @@ .layout--threecol-section--50-25-25 > .layout__region--second, .layout--threecol-section--50-25-25 > .layout__region--third { - flex-basis: calc(25% - (var(--grid-gap) * 0.5)); + flex-basis: calc(25% - var(--grid-gap)*0.5); } .layout--threecol-section--33-34-33 > .layout__region--first, .layout--threecol-section--33-34-33 > .layout__region--second, .layout--threecol-section--33-34-33 > .layout__region--third { - flex-basis: calc(33.33% - (var(--grid-gap) * 0.667)); + flex-basis: calc(33.33% - var(--grid-gap)*0.667); } } diff --git a/core/themes/olivero/css/layout/layout-builder-twocol-section.css b/core/themes/olivero/css/layout/layout-builder-twocol-section.css index 3c030079b503..1f3d68644dc7 100644 --- a/core/themes/olivero/css/layout/layout-builder-twocol-section.css +++ b/core/themes/olivero/css/layout/layout-builder-twocol-section.css @@ -44,108 +44,108 @@ @media (min-width: 43.75rem) { [dir="ltr"] .layout--twocol-section--50-50 > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--twocol-section--50-50 > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } .layout--twocol-section--50-50 > .layout__region--first { - flex-basis: calc(50% - (var(--grid-gap) * 0.5)); + flex-basis: calc(50% - var(--grid-gap)*0.5); } [dir="ltr"] .layout--twocol-section--50-50 > .layout__region--second { - margin-left: calc(var(--grid-gap) * 0.5) + margin-left: calc(var(--grid-gap)*0.5) } [dir="rtl"] .layout--twocol-section--50-50 > .layout__region--second { - margin-right: calc(var(--grid-gap) * 0.5) + margin-right: calc(var(--grid-gap)*0.5) } .layout--twocol-section--50-50 > .layout__region--second { - flex-basis: calc(50% - (var(--grid-gap) * 0.5)); + flex-basis: calc(50% - var(--grid-gap)*0.5); } [dir="ltr"] .layout--twocol-section--33-67 > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.3333) + margin-right: calc(var(--grid-gap)*0.3333) } [dir="rtl"] .layout--twocol-section--33-67 > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.3333) + margin-left: calc(var(--grid-gap)*0.3333) } .layout--twocol-section--33-67 > .layout__region--first { - flex-basis: calc(33.33% - (var(--grid-gap) * 0.3333)); + flex-basis: calc(33.33% - var(--grid-gap)*0.3333); } [dir="ltr"] .layout--twocol-section--33-67 > .layout__region--second { - margin-left: calc(var(--grid-gap) * 0.6666) + margin-left: calc(var(--grid-gap)*0.6666) } [dir="rtl"] .layout--twocol-section--33-67 > .layout__region--second { - margin-right: calc(var(--grid-gap) * 0.6666) + margin-right: calc(var(--grid-gap)*0.6666) } .layout--twocol-section--33-67 > .layout__region--second { - flex-basis: calc(66.66% - (var(--grid-gap) * 0.6666)); + flex-basis: calc(66.66% - var(--grid-gap)*0.6666); } [dir="ltr"] .layout--twocol-section--67-33 > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.6666) + margin-right: calc(var(--grid-gap)*0.6666) } [dir="rtl"] .layout--twocol-section--67-33 > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.6666) + margin-left: calc(var(--grid-gap)*0.6666) } .layout--twocol-section--67-33 > .layout__region--first { - flex-basis: calc(66.66% - (var(--grid-gap) * 0.6666)); + flex-basis: calc(66.66% - var(--grid-gap)*0.6666); } [dir="ltr"] .layout--twocol-section--67-33 > .layout__region--second { - margin-left: calc(var(--grid-gap) * 0.3333) + margin-left: calc(var(--grid-gap)*0.3333) } [dir="rtl"] .layout--twocol-section--67-33 > .layout__region--second { - margin-right: calc(var(--grid-gap) * 0.3333) + margin-right: calc(var(--grid-gap)*0.3333) } .layout--twocol-section--67-33 > .layout__region--second { - flex-basis: calc(33.33% - (var(--grid-gap) * 0.3333)); + flex-basis: calc(33.33% - var(--grid-gap)*0.3333); } [dir="ltr"] .layout--twocol-section--25-75 > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.25) + margin-right: calc(var(--grid-gap)*0.25) } [dir="rtl"] .layout--twocol-section--25-75 > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.25) + margin-left: calc(var(--grid-gap)*0.25) } .layout--twocol-section--25-75 > .layout__region--first { - flex-basis: calc(25% - (var(--grid-gap) * 0.25)); + flex-basis: calc(25% - var(--grid-gap)*0.25); } [dir="ltr"] .layout--twocol-section--25-75 > .layout__region--second { - margin-left: calc(var(--grid-gap) * 0.75) + margin-left: calc(var(--grid-gap)*0.75) } [dir="rtl"] .layout--twocol-section--25-75 > .layout__region--second { - margin-right: calc(var(--grid-gap) * 0.75) + margin-right: calc(var(--grid-gap)*0.75) } .layout--twocol-section--25-75 > .layout__region--second { - flex-basis: calc(75% - (var(--grid-gap) * 0.75)); + flex-basis: calc(75% - var(--grid-gap)*0.75); } [dir="ltr"] .layout--twocol-section--75-25 > .layout__region--first { - margin-right: calc(var(--grid-gap) * 0.75) + margin-right: calc(var(--grid-gap)*0.75) } [dir="rtl"] .layout--twocol-section--75-25 > .layout__region--first { - margin-left: calc(var(--grid-gap) * 0.75) + margin-left: calc(var(--grid-gap)*0.75) } .layout--twocol-section--75-25 > .layout__region--first { - flex-basis: calc(75% - (var(--grid-gap) * 0.75)); + flex-basis: calc(75% - var(--grid-gap)*0.75); } [dir="ltr"] .layout--twocol-section--75-25 > .layout__region--second { - margin-left: calc(var(--grid-gap) * 0.25) + margin-left: calc(var(--grid-gap)*0.25) } [dir="rtl"] .layout--twocol-section--75-25 > .layout__region--second { - margin-right: calc(var(--grid-gap) * 0.25) + margin-right: calc(var(--grid-gap)*0.25) } .layout--twocol-section--75-25 > .layout__region--second { - flex-basis: calc(25% - (var(--grid-gap) * 0.25)); + flex-basis: calc(25% - var(--grid-gap)*0.25); } } diff --git a/core/themes/olivero/css/layout/layout-content-narrow.css b/core/themes/olivero/css/layout/layout-content-narrow.css index 96cee2dedce6..2ea0719b72aa 100644 --- a/core/themes/olivero/css/layout/layout-content-narrow.css +++ b/core/themes/olivero/css/layout/layout-content-narrow.css @@ -90,22 +90,22 @@ @media (min-width: 43.75rem) { [dir="ltr"] .layout--content-narrow.text-content blockquote:before,[dir="ltr"] .layout--content-narrow .text-content blockquote:before,[dir="ltr"] .layout--pass--content-narrow > *.text-content blockquote:before,[dir="ltr"] .layout--pass--content-narrow > * .text-content blockquote:before { - left: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .layout--content-narrow.text-content blockquote:before,[dir="rtl"] .layout--content-narrow .text-content blockquote:before,[dir="rtl"] .layout--pass--content-narrow > *.text-content blockquote:before,[dir="rtl"] .layout--pass--content-narrow > * .text-content blockquote:before { - right: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } } @media (min-width: 43.75rem) { [dir="ltr"] .layout--content-narrow.text-content blockquote:after,[dir="ltr"] .layout--content-narrow .text-content blockquote:after,[dir="ltr"] .layout--pass--content-narrow > *.text-content blockquote:after,[dir="ltr"] .layout--pass--content-narrow > * .text-content blockquote:after { - left: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .layout--content-narrow.text-content blockquote:after,[dir="rtl"] .layout--content-narrow .text-content blockquote:after,[dir="rtl"] .layout--pass--content-narrow > *.text-content blockquote:after,[dir="rtl"] .layout--pass--content-narrow > * .text-content blockquote:after { - right: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="ltr"] .layout--content-narrow.text-content blockquote:after,[dir="ltr"] .layout--content-narrow .text-content blockquote:after,[dir="ltr"] .layout--pass--content-narrow > *.text-content blockquote:after,[dir="ltr"] .layout--pass--content-narrow > * .text-content blockquote:after { @@ -133,7 +133,7 @@ } .layout--content-narrow.text-content blockquote, .layout--content-narrow .text-content blockquote, .layout--pass--content-narrow > *.text-content blockquote, .layout--pass--content-narrow > * .text-content blockquote { - width: calc(10 * var(--grid-col-width) + 9 * var(--grid-gap)); + width: calc(var(--grid-col-width)*10 + var(--grid-gap)*9); margin-top: var(--sp3); margin-bottom: var(--sp3) } @@ -150,15 +150,15 @@ @media (min-width: 62.5rem) { [dir="ltr"] .layout--content-narrow.text-content pre,[dir="ltr"] .layout--content-narrow .text-content pre,[dir="ltr"] .layout--pass--content-narrow > *.text-content pre,[dir="ltr"] .layout--pass--content-narrow > * .text-content pre { - margin-left: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + margin-left: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } [dir="rtl"] .layout--content-narrow.text-content pre,[dir="rtl"] .layout--content-narrow .text-content pre,[dir="rtl"] .layout--pass--content-narrow > *.text-content pre,[dir="rtl"] .layout--pass--content-narrow > * .text-content pre { - margin-right: calc(-1 * (var(--grid-col-width) + var(--grid-gap))) + margin-right: calc(var(--grid-col-width)*-1 + var(--grid-gap)*-1) } .layout--content-narrow.text-content pre, .layout--content-narrow .text-content pre, .layout--pass--content-narrow > *.text-content pre, .layout--pass--content-narrow > * .text-content pre { - width: calc(12 * var(--grid-col-width) + 11 * var(--grid-gap)) + width: calc(var(--grid-col-width)*12 + var(--grid-gap)*11) } } diff --git a/core/themes/olivero/css/layout/layout-footer.css b/core/themes/olivero/css/layout/layout-footer.css index 8aa5c822327b..45bae863ed1b 100644 --- a/core/themes/olivero/css/layout/layout-footer.css +++ b/core/themes/olivero/css/layout/layout-footer.css @@ -42,7 +42,7 @@ .site-footer__inner { padding-top: var(--sp4); - padding-bottom: calc(13 * var(--sp)) + padding-bottom: calc(var(--sp)*13) } } diff --git a/core/themes/olivero/css/layout/layout-views-grid.css b/core/themes/olivero/css/layout/layout-views-grid.css index 376665d74898..dedd5828dbbf 100644 --- a/core/themes/olivero/css/layout/layout-views-grid.css +++ b/core/themes/olivero/css/layout/layout-views-grid.css @@ -38,8 +38,8 @@ * Calculated values. */ --views-grid--gap-count: calc(var(--views-grid--column-count) - 1); - --views-grid--total-gap-width: calc(var(--views-grid--gap-count) * var(--views-grid--layout-gap)); - --views-grid-item--max-width: calc((100% - var(--views-grid--total-gap-width)) / var(--views-grid--column-count)); + --views-grid--total-gap-width: calc(var(--views-grid--gap-count)*var(--views-grid--layout-gap)); + --views-grid-item--max-width: calc((100% - var(--views-grid--total-gap-width))/var(--views-grid--column-count)); display: grid; grid-template-columns: repeat(auto-fill, minmax(max(var(--views-grid-item--min-width), var(--views-grid-item--max-width)), 1fr)); @@ -47,7 +47,7 @@ } .views-view-grid--vertical { - margin-bottom: calc(-1 * var(--views-grid--layout-gap)); /* Offset the bottom row's padding. */ + margin-bottom: calc(var(--views-grid--layout-gap)*-1); /* Offset the bottom row's padding. */ column-width: var(--views-grid-item--min-width); column-count: var(--views-grid--column-count); grid-column-gap: var(--views-grid--layout-gap) diff --git a/core/themes/olivero/css/layout/region-content-below.css b/core/themes/olivero/css/layout/region-content-below.css index fb5e28118b46..096f8c577479 100644 --- a/core/themes/olivero/css/layout/region-content-below.css +++ b/core/themes/olivero/css/layout/region-content-below.css @@ -39,7 +39,7 @@ } .region--content-below > * { - flex-basis: calc(50% - (var(--grid-gap) / 2)); + flex-basis: calc(50% - var(--grid-gap)/2); flex-grow: 1; flex-shrink: 0 } @@ -57,7 +57,7 @@ @media (min-width: 43.75rem) { .region--content-below > * { - flex-basis: calc(33.33% - (var(--grid-gap) * 0.667)) + flex-basis: calc(33.33% - var(--grid-gap)*0.667) } [dir="ltr"] .region--content-below > *:nth-child(2n),[dir="ltr"] diff --git a/core/themes/olivero/css/layout/social-bar.css b/core/themes/olivero/css/layout/social-bar.css index a73a1dc6a1ea..a8b47c11d0c6 100644 --- a/core/themes/olivero/css/layout/social-bar.css +++ b/core/themes/olivero/css/layout/social-bar.css @@ -76,8 +76,8 @@ .social-bar__inner { position: relative; width: var(--content-left); - padding-top: calc(5 * var(--sp)); - padding-bottom: calc(5 * var(--sp)) + padding-top: calc(var(--sp)*5); + padding-bottom: calc(var(--sp)*5) } [dir="ltr"] .social-bar__inner.is-fixed { @@ -91,7 +91,7 @@ .social-bar__inner.is-fixed { position: fixed; top: var(--sp6); - height: calc(100vh - 6 * var(--sp)); + height: calc(100vh - var(--sp)*6); } } diff --git a/core/themes/olivero/olivero.libraries.yml b/core/themes/olivero/olivero.libraries.yml index 68a1fc056e2b..cc81e03f4d2b 100644 --- a/core/themes/olivero/olivero.libraries.yml +++ b/core/themes/olivero/olivero.libraries.yml @@ -56,6 +56,9 @@ global-styling: js/navigation-utils.js: {} dependencies: + - core/drupal.element.closest + - core/drupal.element.matches + - core/drupal.nodelist.foreach - core/drupal - core/once - core/tabbable @@ -217,6 +220,8 @@ messages: version: VERSION js: js/messages.js: {} + dependencies: + - core/drupal.array.includes navigation-primary: version: VERSION diff --git a/core/yarn.lock b/core/yarn.lock index 0e433e506b32..e302d12ce306 100644 --- a/core/yarn.lock +++ b/core/yarn.lock @@ -2714,6 +2714,11 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== +css.escape@1.5.x: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= + cssdb@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" @@ -3125,6 +3130,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-promise@4.2.x: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5211,6 +5221,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picturefill@3.0.x: + version "3.0.3" + resolved "https://registry.yarnpkg.com/picturefill/-/picturefill-3.0.3.tgz#a5c38eeb02d74def38e1790ff61e166166b4f224" + integrity sha512-JDdx+3i4fs2pkqwWZJgGEM2vFWsq+01YsQFT9CKPGuv2Q0xSdrQZoxi9XwyNARTgxiOdgoAwWQRluLRe/JQX2g== + pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5253,6 +5268,15 @@ postcss-attribute-case-insensitive@^4.0.1: postcss "^7.0.2" postcss-selector-parser "^6.0.2" +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + postcss-calc@^8.2.3: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" @@ -5834,7 +5858,7 @@ postcss-value-parser@^3.2.3: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -- GitLab