From 162d18b51b1f326d7ed448745ac0a0beb423db64 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 11:45:05 +0100 Subject: [PATCH 01/20] Bootstrap RTL the correct way All our current css is doing bootstrap the wrong way for rtl support. The problem is NOT with our own scss as in general this is now correct with logical properties or dir=rtl The problem is with the actual bootstrap code. We are using it without addressing any RTL issues with that. With the exception of a very incomplete set of bootstrap overrides in https://github.com/joomla/joomla-cms/blob/7cf5e1228db337881d7678ad1c71915d5c885150/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss Bootstrap 5 is designed to be post-processed using rtlcss - This takes the generated template.css and converts it to template-rtl.css This PR is my draft where I am working through all the current scss and either removing any rtl specific code that can be automatically handled by rtlcss or by using rtlcss specific markup (just as bootstrap itself does) ## Benefits - it is DRY - we don't need to remember to check it works in rtl (we almost always do) - fixes numerous open issues - replaces numerous open pull requests - fixes several issues with input buttons not already on the tracker. --- .../administrator/atum/scss/blocks/_header.scss | 4 ---- .../administrator/atum/scss/blocks/_toolbar.scss | 9 +-------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_header.scss b/build/media_source/templates/administrator/atum/scss/blocks/_header.scss index 7b7b700ed457f..d1d2b08ee7165 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_header.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_header.scss @@ -58,10 +58,6 @@ object-fit: contain; object-position: left center; - [dir=rtl] & { - object-position: right center; - } - &.logo-collapsed { display: none; } diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_toolbar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_toolbar.scss index f176b259e05a2..7a7752ea546e4 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_toolbar.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_toolbar.scss @@ -123,14 +123,7 @@ .btn-group:not(:last-child) > .dropdown-toggle-split { order: 1; margin-inline-start: -$border-radius; - - [dir="ltr"] & { - border-radius: 0 $border-radius $border-radius 0; - } - - [dir="rtl"] & { - border-radius: $border-radius 0 0 $border-radius; - } + border-radius: 0 $border-radius $border-radius 0; } .dropdown-menu joomla-toolbar-button, From 656fb361e7269bd9f5e88de3e894516ad47adfe3 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 11:56:05 +0100 Subject: [PATCH 02/20] bye bye --- .../scss/vendor/bootstrap/_bootstrap-rtl.scss | 180 ------------------ 1 file changed, 180 deletions(-) delete mode 100644 build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss diff --git a/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss deleted file mode 100644 index 656fe887cac16..0000000000000 --- a/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss +++ /dev/null @@ -1,180 +0,0 @@ -// Bootstrap rtl overrides - -.float-start { - float: right !important; -} - -.float-end { - float: left !important; -} - -.modal-header { - .btn-close { - margin: -.5rem auto -.5rem -.5rem; - } -} - -.text-start { - text-align: right !important; -} - -.text-end { - text-align: left !important; -} - -.me-0 { - margin-right: auto !important; - margin-left: 0 !important; -} - -.me-1 { - margin-right: auto !important; - margin-left: .25rem !important; -} - -.me-2 { - margin-right: auto !important; - margin-left: .5rem !important; -} - -.me-3 { - margin-right: auto !important; - margin-left: 1rem !important; -} - -.me-4 { - margin-right: auto !important; - margin-left: 1.5rem !important; -} - -.me-5 { - margin-right: auto !important; - margin-left: 3rem !important; -} - -.me-auto { - margin-right: 0 !important; - margin-left: auto !important; -} - -.ms-0 { - margin-right: 0 !important; - margin-left: auto !important; -} - -.ms-1 { - margin-right: .25rem !important; - margin-left: auto !important; -} - -.ms-2 { - margin-right: .5rem !important; - margin-left: auto !important; -} - -.ms-3 { - margin-right: 1rem !important; - margin-left: auto !important; -} - -.ms-4 { - margin-right: 1.5rem !important; - margin-left: auto !important; -} - -.ms-5 { - margin-right: 3rem !important; - margin-left: auto !important; -} - -.ms-auto { - margin-right: auto !important; - margin-left: 0 !important; -} - -.pe-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} -.pe-1 { - padding-right: 0 !important; - padding-left: .25rem !important; -} -.pe-2 { - padding-right: 0 !important; - padding-left: .5rem !important; -} -.pe-3 { - padding-right: 0 !important; - padding-left: 1rem !important; -} -.pe-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; -} -.pe-5 { - padding-right: 0 !important; - padding-left: 3rem !important; -} - -.ps-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} -.ps-1 { - padding-right: .25rem !important; - padding-left: 0 !important; -} -.ps-2 { - padding-right: .5rem !important; - padding-left: 0 !important; -} -.ps-3 { - padding-right: 1rem !important; - padding-left: 0 !important; -} -.ps-4 { - padding-right: 1.5rem !important; - padding-left: 0 !important; -} -.ps-5 { - padding-right: 3rem !important; - padding-left: 0 !important; -} - - -.input-group { - &:not(.has-validation) { - > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), - > .dropdown-toggle:nth-last-child(n + 3) { - @include border-end-radius($border-radius); - } - } - - &.has-validation { - > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu), - > .dropdown-toggle:nth-last-child(n + 4) { - @include border-end-radius(0); - } - } - $validation-messages: ""; - @each $state in map-keys($form-validation-states) { - $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)"; - } - - > :not(:first-child):not(.dropdown-menu)#{$validation-messages} { - margin-left: -$input-border-width; - @include border-start-radius(0); - @include border-end-radius(0); - } - - > :last-child:not(.dropdown-menu)#{$validation-messages} { - margin-left: -$input-border-width; - @include border-start-radius($border-radius); - @include border-end-radius(0); - } -} - -.dropdown-menu { - text-align: right; // Bootstrap uses left instead of logical properties for this -} From 8160abceeec01c2246dd1da94cf9e99e5a4e59cc Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 12:19:39 +0100 Subject: [PATCH 03/20] bye bye --- .../administrator/atum/scss/template-rtl.scss | 47 ------------------- 1 file changed, 47 deletions(-) delete mode 100644 build/media_source/templates/administrator/atum/scss/template-rtl.scss diff --git a/build/media_source/templates/administrator/atum/scss/template-rtl.scss b/build/media_source/templates/administrator/atum/scss/template-rtl.scss deleted file mode 100644 index 78d2b9387f6d3..0000000000000 --- a/build/media_source/templates/administrator/atum/scss/template-rtl.scss +++ /dev/null @@ -1,47 +0,0 @@ -@import "template"; -@import "vendor/bootstrap/bootstrap-rtl"; - -// Global -dl, -ol, -ul { - padding-right: 0; -} - -// Redirect urls fields -#jform_new_url, -#jform_old_url, -#new_url { - text-align: left; -} - -// Database prefix -#jform_dbprefix { - text-align: right; - direction: ltr; -} - -.input-group > .form-control:not(:last-child), -.input-group > .form-select:not(:last-child) { - @include border-start-radius(0); - @include border-end-radius($border-radius); -} - -.btn-group > .btn:first-child:not(.dropdown-toggle) { - @include border-end-radius($border-radius); -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - @include border-start-radius(0); - margin-left: -1px; -} - -.btn-group > .btn:last-child:not(.dropdown-toggle) { - @include border-start-radius($border-radius); -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - @include border-end-radius(0); -} From 187e56a22f028dedea7582baabc6da8eea6f3b8a Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 13:04:20 +0100 Subject: [PATCH 04/20] issue with commentss being stripped --- .../administrator/atum/scss/blocks/_sidebar.scss | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss index ad0af74c350e2..b2f87e8b37cdd 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss @@ -143,14 +143,7 @@ width: 2rem; font-family: "Font Awesome 5 Free"; font-weight: 900; - - [dir="ltr"] & { - content: "\f054"; - } - - [dir="rtl"] & { - content: "\f053"; - } + content: "\f054"/*rtl:"\f053"*/; } } From 37346770e48763923ef5424cfa680d86fbf2a461 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 13:28:09 +0100 Subject: [PATCH 05/20] escape and comment - see Tip https://rtlcss.com/learn/usage-guide/value-directives/#replace --- .../templates/administrator/atum/scss/blocks/_sidebar.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss index b2f87e8b37cdd..0604f649d235a 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss @@ -11,7 +11,7 @@ position: sticky; top: 0; } - +/* swkwrws */ .item { position: relative; display: flex; @@ -143,7 +143,7 @@ width: 2rem; font-family: "Font Awesome 5 Free"; font-weight: 900; - content: "\f054"/*rtl:"\f053"*/; + content: "\f054" #{"/*!rtl:\"\f053\"*/"}; } } From 4024554c9efd70182e2dbfbb2df560cf54c214e5 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 13:33:07 +0100 Subject: [PATCH 06/20] burger --- .../templates/administrator/atum/scss/blocks/_sidebar.scss | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss index 0604f649d235a..381a96ee690bb 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss @@ -249,11 +249,6 @@ z-index: $zindex-mobile-toggle; padding: 10px 15px; - [dir="rtl"] & { - right: auto; - left: 0; - } - &:focus { box-shadow: none; } From b18ae1b4a2643b257a8e05cf4a9888937970160e Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 15:02:52 +0100 Subject: [PATCH 07/20] sidebar-nav fix --- .../atum/scss/blocks/_sidebar-nav.scss | 18 ++---------------- .../atum/scss/blocks/_sidebar.scss | 2 +- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar-nav.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar-nav.scss index e161f24c46b12..316e26683de0e 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar-nav.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar-nav.scss @@ -19,24 +19,10 @@ text-decoration: none; &::before { - margin-right: .5rem; + margin-inline-end: .5rem; font-family: "Font Awesome 5 Free"; font-weight: 900; - content: "\f054"; - - [dir="rtl"] & { - margin-right: 0; - content: none; - } - } - - &::after { - [dir="rtl"] & { - margin-inline-end: .5rem; - font-family: "Font Awesome 5 Free"; - font-weight: 900; - content: "\f053"; - } + content: "\f054" #{"/*!rtl:\"\f053\"*/"}; } } diff --git a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss index 381a96ee690bb..5a37488b07da1 100644 --- a/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss +++ b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss @@ -11,7 +11,7 @@ position: sticky; top: 0; } -/* swkwrws */ + .item { position: relative; display: flex; From 00412c24c74b89ce3eb79f5a034f12efbf13092f Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 15:07:08 +0100 Subject: [PATCH 08/20] npm --- package-lock.json | 151 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 1 + 2 files changed, 149 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4ad41624f6155..e5941f2706beb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,6 +35,7 @@ "punycode": "^2.1.1", "qrcode-generator": "^1.4.4", "roboto-fontface": "^0.10.0", + "rtlcss": "^3.5.0", "short-and-sweet": "^1.0.4", "skipto": "^4.1.6", "tinymce": "^5.10.2", @@ -7142,6 +7143,85 @@ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, + "node_modules/rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "dependencies": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + } + }, + "node_modules/rtlcss/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7591,7 +7671,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" }, @@ -8433,6 +8512,17 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -13590,6 +13680,57 @@ } } }, + "rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "requires": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + } + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -13928,8 +14069,7 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "style-search": { "version": "0.1.0", @@ -14562,6 +14702,11 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/package.json b/package.json index 947f3bb980da6..235eac0186461 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "punycode": "^2.1.1", "qrcode-generator": "^1.4.4", "roboto-fontface": "^0.10.0", + "rtlcss": "^3.5.0", "short-and-sweet": "^1.0.4", "skipto": "^4.1.6", "tinymce": "^5.10.2", From 0cceb26ba242fcf97205c4c77101ce0b7b488c9f Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 15:18:47 +0100 Subject: [PATCH 09/20] cassiopeia --- .../site/cassiopeia/scss/template-rtl.scss | 79 ------------------- 1 file changed, 79 deletions(-) delete mode 100644 build/media_source/templates/site/cassiopeia/scss/template-rtl.scss diff --git a/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss b/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss deleted file mode 100644 index 7fd29360825f9..0000000000000 --- a/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss +++ /dev/null @@ -1,79 +0,0 @@ -@import "template"; -@import "vendor/bootstrap/bootstrap-rtl"; - -body, -.dropdown-item { - text-align: right; -} - -.float-right { - float: left !important; -} - -.float-left { - float: right !important; -} - -.form-check { - padding-right: 1.25rem; - padding-left: 0; -} - -.form-check-input { - margin-right: -1.25rem; -} - -.list-unstyled { - padding-right: 0; -} - -.nav { - padding-right: 0; -} - -.container-header { - background-image: $cassiopeia-header-grad-rtl; - - .container-nav .container-search:only-child { - margin-right: auto; - margin-left: 0; - } - - .mod-menu { - > li { - margin-left: 1.55em; - } - } -} - -// SearchTools rounded corners -.awesomplete { - input { - @include border-start-radius(0); - } -} - -.input-group > .form-control:not(:last-child), -.input-group > .form-select:not(:last-child) { - @include border-start-radius(0); - @include border-end-radius($border-radius); -} - -.btn-group > .btn:first-child:not(.dropdown-toggle) { - @include border-end-radius($border-radius); -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - @include border-start-radius(0); - margin-left: -1px; -} - -.btn-group > .btn:last-child:not(.dropdown-toggle) { - @include border-start-radius($border-radius); -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - @include border-end-radius(0); -} From 645d5a7d569d0fa9bd9d6a9acb743e2ef70a2919 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 15:25:04 +0100 Subject: [PATCH 10/20] metismenu --- .../site/cassiopeia/scss/vendor/metismenu/_metismenu.scss | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/media_source/templates/site/cassiopeia/scss/vendor/metismenu/_metismenu.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/metismenu/_metismenu.scss index c6a745c943675..837bab84d22dd 100644 --- a/build/media_source/templates/site/cassiopeia/scss/vendor/metismenu/_metismenu.scss +++ b/build/media_source/templates/site/cassiopeia/scss/vendor/metismenu/_metismenu.scss @@ -77,11 +77,6 @@ &:not(.level-1) > ul, &:not(.level-2) > ul { margin-right: -1em; - - [dir="rtl"] & { - margin-right: 0; - margin-left: -1em; - } } &.divider:not(.parent) { From 7e49f0597988ddd83cb602409a36889e651479f5 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 15:27:55 +0100 Subject: [PATCH 11/20] frontend-edit --- .../templates/site/cassiopeia/scss/blocks/_frontend-edit.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_frontend-edit.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_frontend-edit.scss index 1400d34bdf6ad..722b42ebdeda4 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_frontend-edit.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_frontend-edit.scss @@ -12,7 +12,3 @@ border-radius: .25rem; } -[dir="rtl"] .btn.jmodedit { - right: auto; - left: 0; -} From fb4aef927fe15304da452d90c5c0003f74265336 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 15:32:03 +0100 Subject: [PATCH 12/20] header and toolbar --- .../templates/site/cassiopeia/scss/blocks/_header.scss | 5 ----- .../templates/site/cassiopeia/scss/blocks/_toolbar.scss | 9 +-------- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_header.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_header.scss index 2f2c5fa1757c4..a79cf655c3070 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_header.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_header.scss @@ -174,11 +174,6 @@ &.active > button.mm-toggler-link::before { right: 0; left: .5em; - - [dir="rtl"] & { - right: .5em; - left: 0; - } } } diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_toolbar.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_toolbar.scss index dd4430cfe32fa..cc993c9772146 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_toolbar.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_toolbar.scss @@ -124,14 +124,7 @@ .btn-group:not(:last-child) > .dropdown-toggle-split { order: 1; margin-inline-start: -$border-radius; - - [dir="ltr"] & { - border-radius: 0 $border-radius $border-radius 0; - } - - [dir="rtl"] & { - border-radius: $border-radius 0 0 $border-radius; - } + border-radius: 0 $border-radius $border-radius 0; } .dropdown-menu joomla-toolbar-button, From 7983864a72bf12e489191b8ea95e509e1242d871 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 7 Aug 2022 19:40:56 +0100 Subject: [PATCH 13/20] last batch --- .../scss/vendor/bootstrap/_custom-forms.scss | 8 +- .../site/cassiopeia/scss/blocks/_footer.scss | 6 +- .../site/cassiopeia/scss/blocks/_global.scss | 31 --- .../scss/vendor/bootstrap/_bootstrap-rtl.scss | 196 ------------------ .../scss/vendor/bootstrap/_custom-forms.scss | 8 +- 5 files changed, 3 insertions(+), 246 deletions(-) delete mode 100644 build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss diff --git a/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_custom-forms.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_custom-forms.scss index 85b6bb2bf252f..7509b4bc72724 100644 --- a/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_custom-forms.scss +++ b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_custom-forms.scss @@ -7,16 +7,10 @@ .form-select { max-width: $input-max-width; cursor: pointer; - background: $form-select-background; + background: $form-select-background #{"/* rtl:"}$form-select-background-rtl#{"*/"};; background-color: $form-select-bg; border: $input-border; - [dir=rtl] & { - padding: $form-select-padding-y $form-select-padding-x $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding); - background: $form-select-background-rtl; - background-color: $form-select-bg; - } - &[multiple] { padding: 0; background-color: var(--white-offset); diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss index afb614a9b91f1..4d425ff851257 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss @@ -4,7 +4,7 @@ margin-top: $cassiopeia-grid-gutter; color: $white; background-color: var(--cassiopeia-color-primary); - background-image: $cassiopeia-header-grad; + background-image: $cassiopeia-header-grad #{"/* rtl:"}$cassiopeia-header-grad-rtl #{"*/"}; .grid-child { align-items: center; @@ -16,10 +16,6 @@ color: currentColor; } - [dir=rtl] & { - background-image: $cassiopeia-header-grad-rtl; - } - .mod-menu { position: relative; } diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss index c1308773282b1..c3ba189b1a15d 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss @@ -94,13 +94,6 @@ a { } } -[dir="rtl"] .btn-group { - > input { - @include border-end-radius($border-radius); - @include border-start-radius(0); - } -} - .com-content-article { ol, ul { @@ -122,11 +115,6 @@ dd { word-wrap: break-word; } -[dir="rtl"] dd { - margin-right: 0; - margin-left: auto; -} - th dd { font-weight: var(--cassiopeia-font-weight-normal, $font-weight-normal); } @@ -182,12 +170,6 @@ th dd { } } - [dir="rtl"] dl.dl-horizontal { - dd { - padding: 0 $cassiopeia-grid-gutter 0 0; - } - } - .com-users-profile { dt { min-width: 180px; @@ -203,14 +185,6 @@ figure { &.float-end { margin-left: $cassiopeia-grid-gutter; } - [dir="rtl"] &.float-start { - margin-right: 0; - margin-left: $cassiopeia-grid-gutter; - } - [dir="rtl"] &.float-end { - margin-right: $cassiopeia-grid-gutter; - margin-left: 0; - } } figcaption { @@ -238,11 +212,6 @@ meter { li.next:only-child { margin-left: auto; } - - [dir="rtl"] &>li.next:only-child { - margin-right: auto; - margin-left: $cassiopeia-grid-gutter; - } } } diff --git a/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss deleted file mode 100644 index 3870ebc60d9f1..0000000000000 --- a/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss +++ /dev/null @@ -1,196 +0,0 @@ -// Bootstrap rtl overrides - -.float-start { - float: right !important; -} - -.float-end { - float: left !important; -} - -.modal-header { - .btn-close { - margin: -.5rem auto -.5rem -.5rem; - } -} - -.text-start { - text-align: right !important; -} - -.text-end { - text-align: left !important; -} - -.me-0 { - margin-right: auto !important; - margin-left: 0 !important; -} - -.me-1 { - margin-right: auto !important; - margin-left: .25rem !important; -} - -.me-2 { - margin-right: auto !important; - margin-left: .5rem !important; -} - -.me-3 { - margin-right: auto !important; - margin-left: 1rem !important; -} - -.me-4 { - margin-right: auto !important; - margin-left: 1.5rem !important; -} - -.me-5 { - margin-right: auto !important; - margin-left: 3rem !important; -} - -.me-auto { - margin-right: 0 !important; - margin-left: auto !important; -} - -.ms-0 { - margin-right: 0 !important; - margin-left: auto !important; -} - -.ms-1 { - margin-right: .25rem !important; - margin-left: auto !important; -} - -.ms-2 { - margin-right: .5rem !important; - margin-left: auto !important; -} - -.ms-3 { - margin-right: 1rem !important; - margin-left: auto !important; -} - -.ms-4 { - margin-right: 1.5rem !important; - margin-left: auto !important; -} - -.ms-5 { - margin-right: 3rem !important; - margin-left: auto !important; -} - -.ms-auto { - margin-right: auto !important; - margin-left: 0 !important; -} - -.pe-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} -.pe-1 { - padding-right: 0 !important; - padding-left: .25rem !important; -} -.pe-2 { - padding-right: 0 !important; - padding-left: .5rem !important; -} -.pe-3 { - padding-right: 0 !important; - padding-left: 1rem !important; -} -.pe-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; -} -.pe-5 { - padding-right: 0 !important; - padding-left: 3rem !important; -} - -.ps-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} -.ps-1 { - padding-right: .25rem !important; - padding-left: 0 !important; -} -.ps-2 { - padding-right: .5rem !important; - padding-left: 0 !important; -} -.ps-3 { - padding-right: 1rem !important; - padding-left: 0 !important; -} -.ps-4 { - padding-right: 1.5rem !important; - padding-left: 0 !important; -} -.ps-5 { - padding-right: 3rem !important; - padding-left: 0 !important; -} - - -.input-group { - &:not(.has-validation) { - > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), - > .dropdown-toggle:nth-last-child(n + 3) { - @include border-end-radius($border-radius); - } - } - - &.has-validation { - > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu), - > .dropdown-toggle:nth-last-child(n + 4) { - @include border-end-radius(0); - } - } - $validation-messages: ""; - @each $state in map-keys($form-validation-states) { - $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)"; - } - - > :not(:first-child):not(.dropdown-menu)#{$validation-messages} { - margin-left: -$input-border-width; - @include border-start-radius(0); - @include border-end-radius(0); - } - - > :last-child:not(.dropdown-menu)#{$validation-messages} { - margin-left: -$input-border-width; - @include border-start-radius($border-radius); - @include border-end-radius(0); - } -} - -.breadcrumb-item { - // The separator between breadcrumbs (by default, a forward-slash: "/") - + .breadcrumb-item { - padding-right: $breadcrumb-item-padding-x; - padding-left: 0 !important; - - &::before { - float: right; // Suppress inline spacings and underlining of the separator - padding-right: 0 !important; - padding-left: $breadcrumb-item-padding-x; - color: $breadcrumb-divider-color; - content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; - } - } - - &.active { - color: $breadcrumb-active-color; - } -} diff --git a/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss index a1aa0da7cba28..91cf590626255 100644 --- a/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss +++ b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss @@ -7,7 +7,7 @@ .form-select { max-width: $input-max-width; cursor: pointer; - background: $form-select-background; + background: $form-select-background #{"/* rtl:"}$form-select-background-rtl#{"*/"};; background-color: $form-select-bg; border: $input-border; // var needed @@ -18,12 +18,6 @@ box-shadow: $cassiopeia-input-focus-shadow; } - [dir=rtl] & { - padding: $form-select-padding-y $form-select-padding-x $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding); - background: $form-select-background-rtl; - background-color: $form-select-bg; - } - &[multiple] { padding: 0; background-color: $white; From 22d7c2950e2fede298a22e991d852bfb484413c0 Mon Sep 17 00:00:00 2001 From: Dimitris Grammatikogiannis Date: Mon, 8 Aug 2022 00:08:54 +0200 Subject: [PATCH 14/20] Add rtlcss in the mix (#291) Requires an entry point in the templates ending with `-rtl.scss`, eg `template-rtl.scss` --- .../stylesheets/handle-scss.es6.js | 48 ++++++++----------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/build/build-modules-js/stylesheets/handle-scss.es6.js b/build/build-modules-js/stylesheets/handle-scss.es6.js index a68e186cc735c..0352a2cb3bbf9 100644 --- a/build/build-modules-js/stylesheets/handle-scss.es6.js +++ b/build/build-modules-js/stylesheets/handle-scss.es6.js @@ -1,47 +1,37 @@ const Autoprefixer = require('autoprefixer'); const CssNano = require('cssnano'); +const rtlcss = require('rtlcss'); const { writeFile } = require('fs').promises; const { ensureDir } = require('fs-extra'); const { dirname, sep } = require('path'); const Postcss = require('postcss'); -const Sass = require('sass'); +const { compileAsync } = require('sass'); module.exports.handleScssFile = async (file) => { const cssFile = file.replace(`${sep}scss${sep}`, `${sep}css${sep}`) .replace(`${sep}build${sep}media_source${sep}`, `${sep}media${sep}`) .replace('.scss', '.css'); - let compiled; - try { - compiled = Sass.renderSync({ file }); - } catch (error) { - // eslint-disable-next-line no-console - console.error(error.formatted); - process.exit(1); - } - - // Auto prefixing - const cleaner = Postcss([Autoprefixer()]); - const res = await cleaner.process(compiled.css.toString(), { from: undefined }); - // Ensure the folder exists or create it await ensureDir(dirname(cssFile), {}); - await writeFile( - cssFile, - res.css, - { encoding: 'utf8', mode: 0o644 }, - ); - - const cssMin = await Postcss([CssNano]).process(res.css, { from: undefined }); - // Ensure the folder exists or create it await ensureDir(dirname(cssFile.replace('.css', '.min.css')), {}); - await writeFile( - cssFile.replace('.css', '.min.css'), - cssMin.css, - { encoding: 'utf8', mode: 0o644 }, - ); - // eslint-disable-next-line no-console - console.log(`✅ SCSS File compiled: ${cssFile}`); + const plugins = [Autoprefixer]; + if (cssFile.endsWith('-rtl.css')) plugins.push(rtlcss); + + return compileAsync(file) + .then((compiled) => Postcss(plugins).process(compiled.css.toString(), { from: undefined })) + .then((res) => { + writeFile(cssFile, res.css, { encoding: 'utf8', mode: 0o644 }); + return Postcss([CssNano]).process(res.css, { from: undefined }); + }) + .then((cssMin) => writeFile(cssFile.replace('.css', '.min.css'), cssMin.css, { encoding: 'utf8', mode: 0o644 })) + // eslint-disable-next-line no-console + .then(() => console.log(`SCSS File compiled: ${cssFile} ✅ `)) + .catch((error) => { + // eslint-disable-next-line no-console + console.error(error.formatted); + process.exit(1); + }); }; From 079e6bdd0a8fbca613d68181ed468aaff8e23322 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Mon, 8 Aug 2022 07:24:53 +0100 Subject: [PATCH 15/20] placeholder --- .../templates/administrator/atum/scss/template-rtl.scss | 2 ++ .../templates/site/cassiopeia/scss/template-rtl.scss | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 build/media_source/templates/administrator/atum/scss/template-rtl.scss create mode 100644 build/media_source/templates/site/cassiopeia/scss/template-rtl.scss diff --git a/build/media_source/templates/administrator/atum/scss/template-rtl.scss b/build/media_source/templates/administrator/atum/scss/template-rtl.scss new file mode 100644 index 0000000000000..3c6f9d6b785bc --- /dev/null +++ b/build/media_source/templates/administrator/atum/scss/template-rtl.scss @@ -0,0 +1,2 @@ +// This file is a placeholder for the rtl template +@import "template"; diff --git a/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss b/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss new file mode 100644 index 0000000000000..3c6f9d6b785bc --- /dev/null +++ b/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss @@ -0,0 +1,2 @@ +// This file is a placeholder for the rtl template +@import "template"; From 041656cf55399585ef731d3c52ed66a2f12c7d44 Mon Sep 17 00:00:00 2001 From: Dimitris Grammatikogiannis Date: Mon, 8 Aug 2022 11:03:46 +0200 Subject: [PATCH 16/20] LEss changes (#292) --- .../stylesheets/handle-scss.es6.js | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/build/build-modules-js/stylesheets/handle-scss.es6.js b/build/build-modules-js/stylesheets/handle-scss.es6.js index 0352a2cb3bbf9..cdf935d9a525e 100644 --- a/build/build-modules-js/stylesheets/handle-scss.es6.js +++ b/build/build-modules-js/stylesheets/handle-scss.es6.js @@ -5,33 +5,47 @@ const { writeFile } = require('fs').promises; const { ensureDir } = require('fs-extra'); const { dirname, sep } = require('path'); const Postcss = require('postcss'); -const { compileAsync } = require('sass'); +const Sass = require('sass'); module.exports.handleScssFile = async (file) => { const cssFile = file.replace(`${sep}scss${sep}`, `${sep}css${sep}`) .replace(`${sep}build${sep}media_source${sep}`, `${sep}media${sep}`) .replace('.scss', '.css'); + let compiled; + try { + compiled = Sass.renderSync({ file }); + } catch (error) { + // eslint-disable-next-line no-console + console.error(error.formatted); + process.exit(1); + } + + const plugins = [Autoprefixer]; + if (cssFile.endsWith('-rtl.css')) plugins.push(rtlcss); + + // Auto prefixing + const cleaner = Postcss([plugins); + const res = await cleaner.process(compiled.css.toString(), { from: undefined }); + // Ensure the folder exists or create it await ensureDir(dirname(cssFile), {}); + await writeFile( + cssFile, + res.css, + { encoding: 'utf8', mode: 0o644 }, + ); + + const cssMin = await Postcss([CssNano]).process(res.css, { from: undefined }); + // Ensure the folder exists or create it await ensureDir(dirname(cssFile.replace('.css', '.min.css')), {}); + await writeFile( + cssFile.replace('.css', '.min.css'), + cssMin.css, + { encoding: 'utf8', mode: 0o644 }, + ); - const plugins = [Autoprefixer]; - if (cssFile.endsWith('-rtl.css')) plugins.push(rtlcss); - - return compileAsync(file) - .then((compiled) => Postcss(plugins).process(compiled.css.toString(), { from: undefined })) - .then((res) => { - writeFile(cssFile, res.css, { encoding: 'utf8', mode: 0o644 }); - return Postcss([CssNano]).process(res.css, { from: undefined }); - }) - .then((cssMin) => writeFile(cssFile.replace('.css', '.min.css'), cssMin.css, { encoding: 'utf8', mode: 0o644 })) - // eslint-disable-next-line no-console - .then(() => console.log(`SCSS File compiled: ${cssFile} ✅ `)) - .catch((error) => { - // eslint-disable-next-line no-console - console.error(error.formatted); - process.exit(1); - }); + // eslint-disable-next-line no-console + console.log(`✅ SCSS File compiled: ${cssFile}`); }; From b6ed7c45e0e736fe33eedcfac599d4ab91fbc2a9 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Mon, 8 Aug 2022 10:11:02 +0100 Subject: [PATCH 17/20] syntax error --- build/build-modules-js/stylesheets/handle-scss.es6.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/build-modules-js/stylesheets/handle-scss.es6.js b/build/build-modules-js/stylesheets/handle-scss.es6.js index cdf935d9a525e..64b75b12e6643 100644 --- a/build/build-modules-js/stylesheets/handle-scss.es6.js +++ b/build/build-modules-js/stylesheets/handle-scss.es6.js @@ -23,9 +23,9 @@ module.exports.handleScssFile = async (file) => { const plugins = [Autoprefixer]; if (cssFile.endsWith('-rtl.css')) plugins.push(rtlcss); - + // Auto prefixing - const cleaner = Postcss([plugins); + const cleaner = Postcss(plugins); const res = await cleaner.process(compiled.css.toString(), { from: undefined }); // Ensure the folder exists or create it From ecbdf3e9ce3cd3ad22cafb3a0c1f91c523327bbd Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Wed, 10 Aug 2022 22:27:08 +0100 Subject: [PATCH 18/20] space --- .../templates/site/cassiopeia/scss/blocks/_footer.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss index 4d425ff851257..4aa0ad776c95d 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss @@ -4,7 +4,7 @@ margin-top: $cassiopeia-grid-gutter; color: $white; background-color: var(--cassiopeia-color-primary); - background-image: $cassiopeia-header-grad #{"/* rtl:"}$cassiopeia-header-grad-rtl #{"*/"}; + background-image: $cassiopeia-header-grad #{"/* rtl:"}$cassiopeia-header-grad-rtl #{"*/"}; .grid-child { align-items: center; From 40144698fb28651b39b9c312208062fd2644ff5f Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Fri, 9 Sep 2022 12:58:59 +0100 Subject: [PATCH 19/20] resolve conflict --- .../templates/site/cassiopeia/scss/blocks/_global.scss | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss index 091241f189e0b..5b4e719388436 100644 --- a/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss +++ b/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss @@ -212,11 +212,6 @@ meter { .next:only-child { margin-left: auto; } - - [dir="rtl"] &>.next:only-child { - margin-right: auto; - margin-left: $cassiopeia-grid-gutter; - } } } From 95ba902e072a87d0aeed8c3f1acf21ad1f8e657b Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sat, 17 Sep 2022 05:31:11 +0100 Subject: [PATCH 20/20] Update build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss Co-authored-by: Quy <368084+Quy@users.noreply.github.com> --- .../site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss index 91cf590626255..b190b0e30b37c 100644 --- a/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss +++ b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss @@ -7,7 +7,7 @@ .form-select { max-width: $input-max-width; cursor: pointer; - background: $form-select-background #{"/* rtl:"}$form-select-background-rtl#{"*/"};; + background: $form-select-background #{"/* rtl:"}$form-select-background-rtl#{"*/"}; background-color: $form-select-bg; border: $input-border; // var needed