diff --git a/less/admin.less b/less/admin.less index 49a3ab12f..ce99fc997 100644 --- a/less/admin.less +++ b/less/admin.less @@ -1,14 +1,14 @@ -@import "common/common"; +@import 'common/common'; -@import "admin/AdminHeader"; -@import "admin/AdminNav"; -@import "admin/DashboardPage"; -@import "admin/BasicsPage"; -@import "admin/PermissionsPage"; -@import "admin/EditGroupModal"; -@import "admin/ExtensionPage"; -@import "admin/ExtensionWidget"; -@import "admin/AppearancePage"; -@import "admin/MailPage"; -@import "admin/NoJs"; -@import "admin/UsersListPage"; +@import 'admin/AdminHeader'; +@import 'admin/AdminNav'; +@import 'admin/DashboardPage'; +@import 'admin/BasicsPage'; +@import 'admin/PermissionsPage'; +@import 'admin/EditGroupModal'; +@import 'admin/ExtensionPage'; +@import 'admin/ExtensionWidget'; +@import 'admin/AppearancePage'; +@import 'admin/MailPage'; +@import 'admin/NoJs'; +@import 'admin/UsersListPage'; diff --git a/less/admin/AdminNav.less b/less/admin/AdminNav.less index 5206047e7..8a418d9ab 100644 --- a/less/admin/AdminNav.less +++ b/less/admin/AdminNav.less @@ -25,7 +25,7 @@ margin: 10px; .SearchBar { - width: 100% + width: 100%; } } } @@ -43,8 +43,8 @@ @media @tablet { .AdminNav { .item-search, - li[class^="item-category"], - li[class^="item-extension"], + li[class^='item-category'], + li[class^='item-extension'], .AdminLinkButton-description { display: none !important; } @@ -68,12 +68,11 @@ } } - @media @desktop-up { .App-nav { position: absolute; top: var(--header-height); - height: ~"calc(100vh - var(--header-height))"; + height: ~'calc(100vh - var(--header-height))'; width: var(--admin-pane-width); box-shadow: 0 6px 6px var(--shadow-color); background: var(--body-bg); @@ -168,7 +167,6 @@ padding: 0; } } - } .AdminLinkButton-description { @@ -195,7 +193,7 @@ .ExtensionNavButton { .Button-label { display: inline-block; - max-width: ~"calc(100% - 18px)"; + max-width: ~'calc(100% - 18px)'; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; diff --git a/less/admin/DashboardPage.less b/less/admin/DashboardPage.less index 081966f5d..242e6a51b 100644 --- a/less/admin/DashboardPage.less +++ b/less/admin/DashboardPage.less @@ -20,17 +20,17 @@ .StatusWidget { color: var(--muted-color); - >ul { + > ul { margin: 0; padding: 0; list-style-type: none; - >li { + > li { display: inline-block; margin-right: 30px; vertical-align: middle; - &[class^="item-version-"] { + &[class^='item-version-'] { max-width: 100px; white-space: nowrap; overflow: hidden; diff --git a/less/admin/ExtensionPage.less b/less/admin/ExtensionPage.less index 074fd0e2b..9ae7d483f 100644 --- a/less/admin/ExtensionPage.less +++ b/less/admin/ExtensionPage.less @@ -59,7 +59,6 @@ color: var(--muted-color); margin-left: 13px; - > a { color: var(--muted-color); } @@ -85,13 +84,16 @@ position: relative; } - .item-website, .item-source, .item-documentation { + .item-website, + .item-source, + .item-documentation { display: none; } } } - &-settings, &-permissions { + &-settings, + &-permissions { .ExtensionPage-subHeader { margin: 5px 0px; } @@ -151,11 +153,11 @@ } .ReadmeModal { - .Placeholder { - margin-bottom: 40px; - } + .Placeholder { + margin-bottom: 40px; + } - img { - max-width: 100%; - } - } + img { + max-width: 100%; + } +} diff --git a/less/admin/ExtensionWidget.less b/less/admin/ExtensionWidget.less index 79d8d0a8a..47c2f10fb 100644 --- a/less/admin/ExtensionWidget.less +++ b/less/admin/ExtensionWidget.less @@ -58,7 +58,7 @@ } .ExtensionListItem { - transition: .15s ease-in-out; + transition: 0.15s ease-in-out; &:hover { transform: scale(1.05); @@ -84,7 +84,7 @@ color: var(--control-color); border-radius: 6px; display: inline-flex; - font-size: calc(~"var(--size) / 2"); + font-size: calc(~'var(--size) / 2'); text-align: center; align-items: center; justify-content: center; diff --git a/less/admin/MailPage.less b/less/admin/MailPage.less index 3cf2bc6e6..61ac5f5f4 100644 --- a/less/admin/MailPage.less +++ b/less/admin/MailPage.less @@ -8,7 +8,8 @@ } } - button, .Alert { + button, + .Alert { margin-bottom: 20px; } @@ -20,7 +21,6 @@ } .MailPage-MailSettings-input { - label { display: block; margin-bottom: 7px; diff --git a/less/admin/PermissionsPage.less b/less/admin/PermissionsPage.less index f318f8d58..3cadc0fc4 100644 --- a/less/admin/PermissionsPage.less +++ b/less/admin/PermissionsPage.less @@ -32,7 +32,6 @@ } } - .PermissionsPage-permissions { margin: 20px 0 30px; overflow-x: auto; @@ -42,7 +41,8 @@ .PermissionGrid { white-space: nowrap; - td, th { + td, + th { padding: 5px; text-align: left; } @@ -134,14 +134,16 @@ .PermissionGrid-section { background: var(--body-bg); - td, th { + td, + th { padding-top: 10px; } } .PermissionGrid-child { background: var(--body-bg); - td, th { + td, + th { position: relative; } th { diff --git a/less/admin/UsersListPage.less b/less/admin/UsersListPage.less index b76b653f0..f007469b1 100644 --- a/less/admin/UsersListPage.less +++ b/less/admin/UsersListPage.less @@ -16,7 +16,7 @@ // Table refreshing overlay &--loadingPage { &::after { - content: ""; + content: ''; display: block; position: absolute; top: 0; @@ -53,7 +53,7 @@ display: flex; align-items: center; - &[data-column-name="editUser"] { + &[data-column-name='editUser'] { padding: 0; position: relative; } @@ -100,7 +100,7 @@ display: flex; flex-grow: 1; - &[data-email-shown="false"] { + &[data-email-shown='false'] { .UserList-emailAddress { user-select: none; filter: blur(4px); diff --git a/less/common/Alert.less b/less/common/Alert.less index 8af4ad80a..d652690f8 100644 --- a/less/common/Alert.less +++ b/less/common/Alert.less @@ -23,7 +23,8 @@ .Alert--success { .Alert--color(var(--alert-success-color), var(--alert-success-bg)); - a, a:hover { + a, + a:hover { text-decoration: underline; } } @@ -41,7 +42,8 @@ display: inline-block; margin: 0 5px; - > a, > .Button { + > a, + > .Button { text-transform: uppercase; font-size: 12px; font-weight: bold; diff --git a/less/common/App.less b/less/common/App.less index 291c3b794..f4e9b494d 100644 --- a/less/common/App.less +++ b/less/common/App.less @@ -27,13 +27,16 @@ box-shadow: 0 2px 6px var(--shadow-color); } } - .App-primaryControl, .App-titleControl, .App-backControl { + .App-primaryControl, + .App-titleControl, + .App-backControl { position: absolute !important; - z-index: calc(~"var(--zindex-header) + 1"); + z-index: calc(~'var(--zindex-header) + 1'); top: 0 !important; margin: 0; - .App.affix &, .Composer & { + .App.affix &, + .Composer & { position: fixed !important; } @@ -59,15 +62,18 @@ right: 0; &.Dropdown { - .Button, .Button-caret { + .Button, + .Button-caret { display: none !important; } - .Dropdown-toggle, .Button-icon { + .Dropdown-toggle, + .Button-icon { display: block !important; } } } - .App-primaryControl, .App-backControl { + .App-primaryControl, + .App-backControl { margin: 0 !important; > .Button { @@ -90,7 +96,8 @@ text-align: center; color: var(--header-color) !important; - &, > .Button { + &, + > .Button { font-size: 16px; } > .Button { @@ -137,13 +144,13 @@ top: 0; bottom: 0; box-shadow: 0 2px 6px var(--shadow-color); - transform: translateX(calc(~"-6px - var(--drawer-width)")); + transform: translateX(calc(~'-6px - var(--drawer-width)')); transition: transform 0.2s; z-index: var(--zindex-modal); .drawerOpen & { -webkit-transform: none !important; - transform: none !important; + transform: none !important; } } .drawer-backdrop { @@ -200,12 +207,15 @@ > li { padding: 0 10px 0; } - .FormControl, .ButtonGroup, .Button { + .FormControl, + .ButtonGroup, + .Button { width: 100%; text-align: left; } .Dropdown-menu { - .ButtonGroup, .Button { + .ButtonGroup, + .Button { width: auto; } } @@ -254,7 +264,8 @@ margin-right: 25px; } .Header-controls { - &, > li { + &, + > li { display: inline-block; vertical-align: middle; } diff --git a/less/common/Avatar.less b/less/common/Avatar.less index 520c641f2..416afdc1b 100644 --- a/less/common/Avatar.less +++ b/less/common/Avatar.less @@ -11,7 +11,7 @@ width: var(--size); height: var(--size); border-radius: 100%; - font-size: calc(~"var(--size) / 2"); + font-size: calc(~'var(--size) / 2'); img { display: inline-block; diff --git a/less/common/Badge.less b/less/common/Badge.less index 3df260b79..e89d77882 100644 --- a/less/common/Badge.less +++ b/less/common/Badge.less @@ -2,7 +2,7 @@ .Badge--size(22px); width: var(--size); height: var(--size); - border-radius: calc(~"var(--size) / 2"); + border-radius: calc(~'var(--size) / 2'); background: var(--badge-bg); color: var(--badge-color); display: inline-flex; @@ -15,8 +15,9 @@ display: none; } - &, .Badge-icon { - font-size: calc(~"0.56 * var(--size)"); + &, + .Badge-icon { + font-size: calc(~'0.56 * var(--size)'); } } @@ -29,7 +30,8 @@ padding: 0; list-style: none; - &, > li { + &, + > li { display: inline-block; } } diff --git a/less/common/Button.less b/less/common/Button.less index 32169af6d..d1283c9a0 100644 --- a/less/common/Button.less +++ b/less/common/Button.less @@ -27,7 +27,8 @@ border-top-right-radius: 0; border-bottom-right-radius: 0; } - &:last-child:not(:first-child), &.Dropdown-toggle:not(:first-child) { + &:last-child:not(:first-child), + &.Dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } @@ -64,7 +65,7 @@ &:active, &.active, .open > &.Dropdown-toggle { - .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); + .box-shadow(inset 0 3px 5px rgba(0, 0, 0, 0.125)); } &.disabled, @@ -192,7 +193,8 @@ text-align: center; padding: 8px 0; - .Button-label, .Button-caret { + .Button-label, + .Button-caret { display: none; } .Button-icon { diff --git a/less/common/Checkbox.less b/less/common/Checkbox.less index 79949e7fb..70dd0375e 100644 --- a/less/common/Checkbox.less +++ b/less/common/Checkbox.less @@ -4,7 +4,7 @@ margin: 0; position: relative; - input[type="checkbox"] { + input[type='checkbox'] { position: absolute; z-index: 1; @@ -20,7 +20,7 @@ cursor: pointer; - .add-keyboard-focus-ring-nearby("+ .Checkbox-display"); + .add-keyboard-focus-ring-nearby('+ .Checkbox-display'); } } .Checkbox--switch { @@ -29,7 +29,7 @@ padding-left: var(--left-pad); margin: 5px 0; - input[type="checkbox"] { + input[type='checkbox'] { top: -4px; width: 50px; height: 28px; @@ -37,7 +37,7 @@ .Checkbox-display { float: left; - margin-left: calc(~"0px - var(--left-pad)"); + margin-left: calc(~'0px - var(--left-pad)'); margin-top: -4px; } } @@ -88,7 +88,7 @@ } } &:before { - content: " "; + content: ' '; background: var(--body-bg); border-radius: 11px; box-shadow: 0 2px 4px var(--shadow-color); @@ -101,7 +101,7 @@ color: var(--switch-on-color); } .off & { - color:var(--switch-off-color); + color: var(--switch-off-color); } .disabled & { color: var(--muted-more-color) !important; diff --git a/less/common/ColorInput.less b/less/common/ColorInput.less index ec93ee6ef..e1a4fe08c 100644 --- a/less/common/ColorInput.less +++ b/less/common/ColorInput.less @@ -1,7 +1,8 @@ .ColorInput { position: relative; - &-preview, &-icon { + &-preview, + &-icon { position: absolute; right: 8px; bottom: 8px; diff --git a/less/common/Dropdown.less b/less/common/Dropdown.less index bba41342b..4e91785bd 100644 --- a/less/common/Dropdown.less +++ b/less/common/Dropdown.less @@ -24,7 +24,9 @@ } > li { - > a, > button, > span { + > a, + > button, + > span { padding: 8px 15px; display: block; width: 100%; @@ -59,13 +61,15 @@ background: none !important; } } - > a, > button { + > a, + > button { &:hover { background: var(--control-bg); } } &.active { - > a, > button { + > a, + > button { background: var(--control-bg); } } @@ -100,17 +104,15 @@ height: 1px; } - .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; - z-index: calc(~"var(--zindex-dropdown) - 10"); + z-index: calc(~'var(--zindex-dropdown) - 10'); } - .Dropdown--split { .Dropdown-toggle .Button-icon { display: none; @@ -131,7 +133,8 @@ @media @tablet-up { .Dropdown-menu li:first-child { - &, + li.Dropdown-separator { + &, + + li.Dropdown-separator { display: none; } } @@ -156,7 +159,6 @@ } } - @media @phone { .Dropdown.open { z-index: var(--zindex-modal); @@ -182,7 +184,8 @@ transition: transform 0.3s, visibility 0s 0.3s; > li { - > a, > button { + > a, + > button { background: var(--body-bg); font-size: 16px; padding: 15px 20px; @@ -200,8 +203,10 @@ } } > .active { - > a, > button { - &, &:hover { + > a, + > button { + &, + &:hover { background: var(--primary-color) !important; color: #fff !important; } @@ -209,7 +214,7 @@ } .open& { -webkit-transform: none; - transform: none; + transform: none; visibility: visible; transition-delay: 0s; } diff --git a/less/common/Form.less b/less/common/Form.less index 85bca9817..67ad6a4b1 100644 --- a/less/common/Form.less +++ b/less/common/Form.less @@ -9,9 +9,9 @@ .Form--centered { text-align: center; - .FormControl[type=text], - .FormControl[type=email], - .FormControl[type=password], + .FormControl[type='text'], + .FormControl[type='email'], + .FormControl[type='password'], .Button { margin: 0 auto; text-align: center; diff --git a/less/common/FormControl.less b/less/common/FormControl.less index 07d374e4a..c15696713 100644 --- a/less/common/FormControl.less +++ b/less/common/FormControl.less @@ -1,5 +1,5 @@ .FormControl { - --transition: border-color .15s, background .15s; + --transition: border-color 0.15s, background 0.15s; display: block; width: 100%; height: 36px; diff --git a/less/common/Modal.less b/less/common/Modal.less index 892057850..751a1ba1a 100644 --- a/less/common/Modal.less +++ b/less/common/Modal.less @@ -144,10 +144,10 @@ &.in { -webkit-transform: none !important; - transform: none !important; + transform: none !important; } &:before { - content: " "; + content: ' '; .header-background(); position: absolute; } @@ -156,7 +156,7 @@ max-width: 100%; margin: 0; -webkit-transform: none !important; - transform: none !important; + transform: none !important; } .Modal-content { border-radius: 0; @@ -183,7 +183,6 @@ z-index: 1; } .Modal-content { - border: 0; border-radius: var(--border-radius); box-shadow: 0 7px 15px var(--shadow-color); diff --git a/less/common/Navigation.less b/less/common/Navigation.less index 8b9d20c75..e2468b142 100644 --- a/less/common/Navigation.less +++ b/less/common/Navigation.less @@ -28,7 +28,8 @@ .Navigation-pin { display: block; } - .hasPane.panePinned, .hasPane.paneShowing { + .hasPane.panePinned, + .hasPane.paneShowing { .Navigation-back { border-radius: var(--border-radius) 0 0 var(--border-radius) !important; } diff --git a/less/common/Search.less b/less/common/Search.less index f0236e6fe..1c212048e 100644 --- a/less/common/Search.less +++ b/less/common/Search.less @@ -14,8 +14,8 @@ } // ...so we display the ring around the icon inside the button, with an offset - .add-keyboard-focus-ring-nearby("> *"); - .add-keyboard-focus-ring-nearby-offset("> *", 4px); + .add-keyboard-focus-ring-nearby('> *'); + .add-keyboard-focus-ring-nearby-offset('> *', 4px); } } @media @tablet-up { diff --git a/less/common/Table.less b/less/common/Table.less index 9499c6750..5a00e4317 100644 --- a/less/common/Table.less +++ b/less/common/Table.less @@ -8,16 +8,21 @@ text-align: start; } - td, th { + td, + th { border-bottom: 1px solid var(--body-bg); color: var(--control-color); } - td, th, .Checkbox, &-controls-item { + td, + th, + .Checkbox, + &-controls-item { padding: 10px 15px; } - & &-checkbox, & &-controls { + & &-checkbox, + & &-controls { padding: 0; } @@ -55,7 +60,8 @@ cursor: pointer; } - &.highlighted .Checkbox, .Checkbox:hover { + &.highlighted .Checkbox, + .Checkbox:hover { &:not(.disabled) { background: var(--control-bg-shaded); } diff --git a/less/common/TextEditor.less b/less/common/TextEditor.less index 91ed6e099..99811fb3b 100644 --- a/less/common/TextEditor.less +++ b/less/common/TextEditor.less @@ -7,7 +7,9 @@ font-size: 14px; line-height: 1.7; - &, &:focus, &[disabled] { + &, + &:focus, + &[disabled] { background: none; border: 0; } diff --git a/less/common/Tooltip.less b/less/common/Tooltip.less index 1a5eaa71f..d325ead6b 100644 --- a/less/common/Tooltip.less +++ b/less/common/Tooltip.less @@ -14,11 +14,25 @@ opacity: 0; transition: opacity 0.15s linear; - &.in { opacity: 1; } - &.top { margin-top: -3px; padding: var(--tooltip-arrow-width) 0; } - &.right { margin-left: 3px; padding: 0 var(--tooltip-arrow-width); } - &.bottom { margin-top: 3px; padding: var(--tooltip-arrow-width) 0; } - &.left { margin-left: -3px; padding: 0 var(--tooltip-arrow-width); } + &.in { + opacity: 1; + } + &.top { + margin-top: -3px; + padding: var(--tooltip-arrow-width) 0; + } + &.right { + margin-left: 3px; + padding: 0 var(--tooltip-arrow-width); + } + &.bottom { + margin-top: 3px; + padding: var(--tooltip-arrow-width) 0; + } + &.left { + margin-left: -3px; + padding: 0 var(--tooltip-arrow-width); + } } // Wrapper for the tooltip content @@ -46,28 +60,28 @@ &.top .tooltip-arrow { bottom: 0; left: 50%; - margin-left: calc(~"0px - var(--tooltip-arrow-width)"); + margin-left: calc(~'0px - var(--tooltip-arrow-width)'); border-width: var(--tooltip-arrow-width) var(--tooltip-arrow-width) 0; border-top-color: var(--tooltip-bg); } &.right .tooltip-arrow { top: 50%; left: 0; - margin-top: calc(~"0px - var(--tooltip-arrow-width)"); + margin-top: calc(~'0px - var(--tooltip-arrow-width)'); border-width: var(--tooltip-arrow-width) var(--tooltip-arrow-width) var(--tooltip-arrow-width) 0; border-right-color: var(--tooltip-bg); } &.left .tooltip-arrow { top: 50%; right: 0; - margin-top: calc(~"0px - var(--tooltip-arrow-width)"); + margin-top: calc(~'0px - var(--tooltip-arrow-width)'); border-width: var(--tooltip-arrow-width) 0 var(--tooltip-arrow-width) var(--tooltip-arrow-width); border-left-color: var(--tooltip-bg); } &.bottom .tooltip-arrow { top: 0; left: 50%; - margin-left: calc(~"0px - var(--tooltip-arrow-width)"); + margin-left: calc(~'0px - var(--tooltip-arrow-width)'); border-width: 0 var(--tooltip-arrow-width) var(--tooltip-arrow-width); border-bottom-color: var(--tooltip-bg); } diff --git a/less/common/common.less b/less/common/common.less index 53a93d1e3..03edc17aa 100644 --- a/less/common/common.less +++ b/less/common/common.less @@ -1,34 +1,34 @@ -@import "fontawesome"; -@import "brands"; -@import "regular"; -@import "solid"; -@fa-font-path: "./fonts"; +@import 'fontawesome'; +@import 'brands'; +@import 'regular'; +@import 'solid'; +@fa-font-path: './fonts'; -@import "normalize"; -@import "print"; -@import "root"; -@import "scaffolding"; -@import "sideNav"; +@import 'normalize'; +@import 'print'; +@import 'root'; +@import 'scaffolding'; +@import 'sideNav'; -@import "App"; -@import "Alert"; -@import "AlertManager"; -@import "Avatar"; -@import "Badge"; -@import "Button"; -@import "Checkbox"; -@import "ColorInput"; -@import "Dropdown"; -@import "EditUserModal"; -@import "Form"; -@import "FormControl"; -@import "LoadingIndicator"; -@import "Modal"; -@import "Navigation"; -@import "Placeholder"; -@import "Search"; -@import "Select"; -@import "Table"; -@import "TextEditor"; -@import "Tooltip"; -@import "ValidationError"; +@import 'App'; +@import 'Alert'; +@import 'AlertManager'; +@import 'Avatar'; +@import 'Badge'; +@import 'Button'; +@import 'Checkbox'; +@import 'ColorInput'; +@import 'Dropdown'; +@import 'EditUserModal'; +@import 'Form'; +@import 'FormControl'; +@import 'LoadingIndicator'; +@import 'Modal'; +@import 'Navigation'; +@import 'Placeholder'; +@import 'Search'; +@import 'Select'; +@import 'Table'; +@import 'TextEditor'; +@import 'Tooltip'; +@import 'ValidationError'; diff --git a/less/common/mixins.less b/less/common/mixins.less index 7a778a82e..0881d8dee 100644 --- a/less/common/mixins.less +++ b/less/common/mixins.less @@ -1,7 +1,7 @@ -@import "mixins/accessibility.less"; -@import "mixins/border-radius.less"; -@import "mixins/button-color.less"; -@import "mixins/clearfix.less"; -@import "mixins/light-contents.less"; -@import "mixins/header-background.less"; -@import "mixins/vendor-prefixes.less"; +@import 'mixins/accessibility.less'; +@import 'mixins/border-radius.less'; +@import 'mixins/button-color.less'; +@import 'mixins/clearfix.less'; +@import 'mixins/light-contents.less'; +@import 'mixins/header-background.less'; +@import 'mixins/vendor-prefixes.less'; diff --git a/less/common/mixins/accessibility.less b/less/common/mixins/accessibility.less index c678f780b..052fd2cd3 100644 --- a/less/common/mixins/accessibility.less +++ b/less/common/mixins/accessibility.less @@ -50,7 +50,7 @@ *? button :focus-within { } */ .add-keyboard-focus-ring(@customFocusSelector) { - @realFocusSelector: ~"@{customFocusSelector}"; + @realFocusSelector: ~'@{customFocusSelector}'; &@{realFocusSelector} { #private.__focus-ring-styles(); @@ -69,7 +69,7 @@ *? button:focus-within + .myOtherElement { } */ .add-keyboard-focus-ring-nearby(@nearbySelector) { - @realNearbySelector: ~"@{nearbySelector}"; + @realNearbySelector: ~'@{nearbySelector}'; // We need to declare these separately, otherwise // browsers will ignore `:focus-visible` as they @@ -124,7 +124,7 @@ outline-offset: @offset; } - @realFocusSelector: ~"@{customFocusSelector}"; + @realFocusSelector: ~'@{customFocusSelector}'; &@{realFocusSelector} { .offset(); @@ -143,7 +143,7 @@ *? button:focus-within + .myOtherElement { } */ .add-keyboard-focus-ring-nearby-offset(@nearbySelector, @offset) { - @realNearbySelector: ~"@{nearbySelector}"; + @realNearbySelector: ~'@{nearbySelector}'; .offset() { outline-offset: @offset; diff --git a/less/common/mixins/border-radius.less b/less/common/mixins/border-radius.less index ca05dbf45..0e2f00959 100644 --- a/less/common/mixins/border-radius.less +++ b/less/common/mixins/border-radius.less @@ -2,17 +2,17 @@ .border-top-radius(@radius) { border-top-right-radius: @radius; - border-top-left-radius: @radius; + border-top-left-radius: @radius; } .border-right-radius(@radius) { border-bottom-right-radius: @radius; - border-top-right-radius: @radius; + border-top-right-radius: @radius; } .border-bottom-radius(@radius) { border-bottom-right-radius: @radius; - border-bottom-left-radius: @radius; + border-bottom-left-radius: @radius; } .border-left-radius(@radius) { border-bottom-left-radius: @radius; - border-top-left-radius: @radius; + border-top-left-radius: @radius; } diff --git a/less/common/mixins/button-color.less b/less/common/mixins/button-color.less index dd89227e9..9c4c708d3 100644 --- a/less/common/mixins/button-color.less +++ b/less/common/mixins/button-color.less @@ -14,7 +14,7 @@ * } */ .Button--color-vars(@color; @background; @name: 'button') { - @componentName: ~"@{name}"; + @componentName: ~'@{name}'; --@{componentName}-color: @color; --@{componentName}-bg: @background; @@ -24,11 +24,11 @@ } .Button--color-auto(@name: 'button') { - --button-color: var(~"--@{name}-color"); - --button-bg: var(~"--@{name}-bg"); - --button-bg-hover: var(~"--@{name}-bg-hover"); - --button-bg-active: var(~"--@{name}-bg-active"); - --button-bg-disabled: var(~"--@{name}-bg-disabled"); + --button-color: var(~'--@{name}-color'); + --button-bg: var(~'--@{name}-bg'); + --button-bg-hover: var(~'--@{name}-bg-hover'); + --button-bg-active: var(~'--@{name}-bg-active'); + --button-bg-disabled: var(~'--@{name}-bg-disabled'); } /** diff --git a/less/common/mixins/clearfix.less b/less/common/mixins/clearfix.less index 3f7a3820c..33793ea98 100644 --- a/less/common/mixins/clearfix.less +++ b/less/common/mixins/clearfix.less @@ -13,7 +13,7 @@ .clearfix() { &:before, &:after { - content: " "; // 1 + content: ' '; // 1 display: table; // 2 } &:after { diff --git a/less/common/mixins/light-contents.less b/less/common/mixins/light-contents.less index 8a726b812..5e0d848e6 100644 --- a/less/common/mixins/light-contents.less +++ b/less/common/mixins/light-contents.less @@ -1,26 +1,29 @@ // This is a mixin which styles components (buttons, inputs, etc.) for use on // dark backgrounds. .light-contents(@color: #fff; @control-bg: fade(#000, 10%); @control-color: #fff; @name: 'light-content') { - &, a { - color: var(~"--@{name}-color", @color); + &, + a { + color: var(~'--@{name}-color', @color); } - .Button--link, .Search-input { - color: var(~"--@{name}-control-color", @control-color); + .Button--link, + .Search-input { + color: var(~'--@{name}-control-color', @control-color); } .FormControl { - background: var(~"--@{name}-control-bg", @control-bg); + background: var(~'--@{name}-control-bg', @control-bg); border: 0; - color: var(~"--@{name}-control-color", @control-color); - .placeholder(var(~"--@{name}-control-color", @control-color)); + color: var(~'--@{name}-control-color', @control-color); + .placeholder(var(~'--@{name}-control-color', @control-color)); &:focus { color: @color; - background: var(~"--@{name}-control-bg-shaded", fadein(darken(@control-bg, 5%), 10%)); + background: var(~'--@{name}-control-bg-shaded', fadein(darken(@control-bg, 5%), 10%)); } } - .Button, .Button:hover { - color: var(~"--@{name}-control-color", @control-color); - background: var(~"--@{name}-control-bg", @control-bg); + .Button, + .Button:hover { + color: var(~'--@{name}-control-color', @control-color); + background: var(~'--@{name}-control-bg', @control-bg); } .Button--flat { background: transparent; @@ -30,13 +33,13 @@ .Button:focus, .Button.focus, .open > .Dropdown-toggle.Button { - background: var(~"--@{name}-control-bg-fadedin", fadein(@control-bg, 5%)); - color: var(~"--@{name}-control-color", @control-color); + background: var(~'--@{name}-control-bg-fadedin', fadein(@control-bg, 5%)); + color: var(~'--@{name}-control-color', @control-color); } } .light-contents-vars(@color: #fff; @control-bg: fade(#000, 10%); @control-color: #fff; @name: 'light-content') { - @componentName: ~"@{name}"; + @componentName: ~'@{name}'; --@{componentName}-color: @color; --@{componentName}-control-color: @control-color; diff --git a/less/common/normalize.less b/less/common/normalize.less index 83116139e..7929d3f01 100644 --- a/less/common/normalize.less +++ b/less/common/normalize.less @@ -169,9 +169,9 @@ select { */ button, -[type="button"], -[type="reset"], -[type="submit"] { +[type='button'], +[type='reset'], +[type='submit'] { -webkit-appearance: button; } @@ -180,9 +180,9 @@ button, */ button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } @@ -192,9 +192,9 @@ button::-moz-focus-inner, */ button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { +[type='button']:-moz-focusring, +[type='reset']:-moz-focusring, +[type='submit']:-moz-focusring { outline: 1px dotted ButtonText; } @@ -232,8 +232,8 @@ progress { * Correct the cursor style of increment and decrement buttons in Chrome. */ -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { height: auto; } @@ -242,7 +242,7 @@ progress { * 2. Correct the outline style in Safari. */ -[type="search"] { +[type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } @@ -251,7 +251,7 @@ progress { * Remove the inner padding in Chrome and Safari on macOS. */ -[type="search"]::-webkit-search-decoration { +[type='search']::-webkit-search-decoration { -webkit-appearance: none; } diff --git a/less/common/print.less b/less/common/print.less index e098fe71d..d8c08b462 100644 --- a/less/common/print.less +++ b/less/common/print.less @@ -6,63 +6,63 @@ // ========================================================================== @media print { - *, - *:before, - *:after { - background: transparent !important; - color: #000 !important; // Black prints faster: h5bp.com/s - box-shadow: none !important; - text-shadow: none !important; - } + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; // Black prints faster: h5bp.com/s + box-shadow: none !important; + text-shadow: none !important; + } - a, - a:visited { - text-decoration: underline; - } + a, + a:visited { + text-decoration: underline; + } - a[href]:after { - content: " (" attr(href) ")"; - } + a[href]:after { + content: ' (' attr(href) ')'; + } - abbr[title]:after { - content: " (" attr(title) ")"; - } + abbr[title]:after { + content: ' (' attr(title) ')'; + } - // Don't show links that are fragment identifiers, - // or use the `javascript:` pseudo protocol - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + a[href^='#']:after, + a[href^='javascript:']:after { + content: ''; + } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } - thead { - display: table-header-group; // h5bp.com/t - } + thead { + display: table-header-group; // h5bp.com/t + } - tr, - img { - page-break-inside: avoid; - } + tr, + img { + page-break-inside: avoid; + } - img { - max-width: 100% !important; - } + img { + max-width: 100% !important; + } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } - h2, - h3 { - page-break-after: avoid; - } + h2, + h3 { + page-break-after: avoid; + } } diff --git a/less/common/root.less b/less/common/root.less index 1b0e6988a..6f512aa69 100644 --- a/less/common/root.less +++ b/less/common/root.less @@ -1,76 +1,75 @@ :root { - // --------------------------------- // COLORS - --primary-color: @primary-color; - --secondary-color: @secondary-color; + --primary-color: @primary-color; + --secondary-color: @secondary-color; - --body-bg: @body-bg; - --body-bg-shaded: darken(@body-bg, 3%); - --body-bg-light: lighten(@body-bg, 5%); - --body-bg-faded: fade(@body-bg, 93%); - --text-color: @text-color; - --link-color: @link-color; - --heading-color: @heading-color; + --body-bg: @body-bg; + --body-bg-shaded: darken(@body-bg, 3%); + --body-bg-light: lighten(@body-bg, 5%); + --body-bg-faded: fade(@body-bg, 93%); + --text-color: @text-color; + --link-color: @link-color; + --heading-color: @heading-color; - --muted-color: @muted-color; - --muted-color-light: lighten(@muted-color, 10%); - --muted-color-dark: darken(@muted-color, 50%); - --muted-more-color: @muted-more-color; + --muted-color: @muted-color; + --muted-color-light: lighten(@muted-color, 10%); + --muted-color-dark: darken(@muted-color, 50%); + --muted-more-color: @muted-more-color; - --shadow-color: @shadow-color; + --shadow-color: @shadow-color; - --control-bg: @control-bg; - --control-bg-light: lighten(@control-bg, 3%); - --control-bg-shaded: darken(@control-bg, 4%); - --control-color: @control-color; - --control-danger-bg: @control-danger-bg; - --control-danger-color: @control-danger-color; + --control-bg: @control-bg; + --control-bg-light: lighten(@control-bg, 3%); + --control-bg-shaded: darken(@control-bg, 4%); + --control-color: @control-color; + --control-danger-bg: @control-danger-bg; + --control-danger-color: @control-danger-color; - --error-color: @error-color; + --error-color: @error-color; // --------------------------------- // COMPONENTS - --header-bg: @header-bg; - --header-color: @header-color; - --header-control-bg: @header-control-bg; - --header-control-color: @header-control-color; + --header-bg: @header-bg; + --header-color: @header-color; + --header-control-bg: @header-control-bg; + --header-control-color: @header-control-color; - --overlay-bg: @overlay-bg; - --code-bg: @code-bg; - --code-color: @code-color; + --overlay-bg: @overlay-bg; + --code-bg: @code-bg; + --code-color: @code-color; - --alert-bg: @alert-bg; - --alert-color: @alert-color; - --alert-error-bg: @alert-error-bg; - --alert-error-color: @alert-error-color; - --alert-success-bg: @alert-success-bg; - --alert-success-color: @alert-success-color; + --alert-bg: @alert-bg; + --alert-color: @alert-color; + --alert-error-bg: @alert-error-bg; + --alert-error-color: @alert-error-color; + --alert-success-bg: @alert-success-bg; + --alert-success-color: @alert-success-color; - --switch-on-color: #58a400; - --switch-off-color: #d0021b; + --switch-on-color: #58a400; + --switch-off-color: #d0021b; - --enabled-color: #2ECC40; - --disabled-color: #FF4136; + --enabled-color: #2ecc40; + --disabled-color: #ff4136; - --validation-error-color: @validation-error-color; + --validation-error-color: @validation-error-color; - --avatar-bg: var(--control-bg); - --badge-bg: var(--muted-color); - --badge-color: #fff; - --badge-hidden-bg: #888; - --usercard-bg: var(--control-bg); - --hero-bg: @hero-bg; - --hero-color: @hero-color; + --avatar-bg: var(--control-bg); + --badge-bg: var(--muted-color); + --badge-color: #fff; + --badge-hidden-bg: #888; + --usercard-bg: var(--control-bg); + --hero-bg: @hero-bg; + --hero-color: @hero-color; - --tooltip-bg: @tooltip-bg; - --tooltip-color: @tooltip-color; + --tooltip-bg: @tooltip-bg; + --tooltip-color: @tooltip-color; - --online-user-circle-color: @online-user-circle-color; + --online-user-circle-color: @online-user-circle-color; - --discussion-title-color: mix(@heading-color, @body-bg, 55%); + --discussion-title-color: mix(@heading-color, @body-bg, 55%); --discussion-list-item-bg-hover: mix(@control-bg, @body-bg, 50%); .Button--color-vars(@control-color, @control-bg, 'button'); @@ -85,35 +84,43 @@ // --------------------------------- // LAYOUT - --border-radius: @border-radius; + --border-radius: @border-radius; - --drawer-width: @drawer-width; - --pane-width: @pane-width; - --header-height: @header-height; - --header-height-phone: @header-height-phone; + --drawer-width: @drawer-width; + --pane-width: @pane-width; + --header-height: @header-height; + --header-height-phone: @header-height-phone; - --zindex-header: @zindex-header; - --zindex-pane: @zindex-pane; - --zindex-composer: @zindex-composer; - --zindex-dropdown: @zindex-dropdown; - --zindex-modal-background: @zindex-modal-background; - --zindex-modal: @zindex-modal; - --zindex-alerts: @zindex-alerts; - --zindex-tooltip: @zindex-tooltip; + --zindex-header: @zindex-header; + --zindex-pane: @zindex-pane; + --zindex-composer: @zindex-composer; + --zindex-dropdown: @zindex-dropdown; + --zindex-modal-background: @zindex-modal-background; + --zindex-modal: @zindex-modal; + --zindex-alerts: @zindex-alerts; + --zindex-tooltip: @zindex-tooltip; // Store the current responsive screen mode in a CSS variable, to make it // available to the JS code. - --flarum-screen: none; + --flarum-screen: none; - --screen-phone-max: @screen-phone-max; - --screen-tablet: @screen-tablet; - --screen-tablet-max: @screen-tablet-max; - --screen-desktop: @screen-desktop; + --screen-phone-max: @screen-phone-max; + --screen-tablet: @screen-tablet; + --screen-tablet-max: @screen-tablet-max; + --screen-desktop: @screen-desktop; --screen-desktop-max: @screen-desktop-max; - --screen-desktop-hd: @screen-desktop-hd; + --screen-desktop-hd: @screen-desktop-hd; - @media @phone { --flarum-screen: phone; } - @media @tablet { --flarum-screen: tablet; } - @media @desktop { --flarum-screen: desktop; } - @media @desktop-hd { --flarum-screen: desktop-hd; } + @media @phone { + --flarum-screen: phone; + } + @media @tablet { + --flarum-screen: tablet; + } + @media @desktop { + --flarum-screen: desktop; + } + @media @desktop-hd { + --flarum-screen: desktop-hd; + } } diff --git a/less/common/scaffolding.less b/less/common/scaffolding.less index 48280dae6..0f6fee793 100644 --- a/less/common/scaffolding.less +++ b/less/common/scaffolding.less @@ -9,13 +9,18 @@ body { background: var(--body-bg); color: var(--text-color); - font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Ubuntu, Cantarell, Oxygen, Roboto, Helvetica, Arial, sans-serif; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Ubuntu, Cantarell, Oxygen, Roboto, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.5; overflow-y: scroll; } -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { line-height: 1.3; } @@ -73,7 +78,7 @@ p { } mark { - background: #FFE300; + background: #ffe300; padding: 1px; border-radius: var(--border-radius); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); @@ -94,7 +99,7 @@ legend { margin-bottom: 10px; color: var(--text-color); } -input[type="search"] { +input[type='search'] { -webkit-appearance: none; } @@ -104,8 +109,8 @@ input[type="search"] { margin-bottom: 5px; cursor: pointer; - input[type=checkbox], - input[type=radio] { + input[type='checkbox'], + input[type='radio'] { margin-left: -20px; margin-top: 2px; float: left; @@ -114,7 +119,7 @@ input[type="search"] { .fade { opacity: 0; - transition: opacity .15s linear; + transition: opacity 0.15s linear; &.in { opacity: 1; } diff --git a/less/common/sideNav.less b/less/common/sideNav.less index e5c169663..ae2d5f6c9 100644 --- a/less/common/sideNav.less +++ b/less/common/sideNav.less @@ -60,7 +60,8 @@ flex-shrink: 0; margin-right: 50px; - &, > ul { + &, + > ul { width: 190px; } > ul { @@ -83,7 +84,7 @@ -webkit-overflow-scrolling: touch; &:after { - content: " "; + content: ' '; position: absolute; left: 0; right: 0; @@ -91,7 +92,8 @@ border-bottom: 1px solid var(--control-bg); } - > ul > li, .Dropdown-menu > li { + > ul > li, + .Dropdown-menu > li { display: inline-block; margin: 0 20px 0 0; vertical-align: top; diff --git a/less/common/variables.less b/less/common/variables.less index b82f33347..9ed39629d 100644 --- a/less/common/variables.less +++ b/less/common/variables.less @@ -1,120 +1,120 @@ // --------------------------------- // CONFIG -@config-primary-color: #536F90; -@config-secondary-color: #536F90; -@config-dark-mode: false; -@config-colored-header: false; +@config-primary-color: #536f90; +@config-secondary-color: #536f90; +@config-dark-mode: false; +@config-colored-header: false; // --------------------------------- // COLORS -@primary-hue: hue(@primary-color); -@primary-sat: saturation(@primary-color); +@primary-hue: hue(@primary-color); +@primary-sat: saturation(@primary-color); -@secondary-hue: hue(@secondary-color); -@secondary-sat: saturation(@secondary-color); +@secondary-hue: hue(@secondary-color); +@secondary-sat: saturation(@secondary-color); // Derive the primary/secondary colors from the config variables. In dark mode, // we make the user-set colors a bit darker, otherwise they will stand out too // much. .define-colors(@config-dark-mode); .define-colors(false) { - @primary-color: @config-primary-color; - @secondary-color: @config-secondary-color; + @primary-color: @config-primary-color; + @secondary-color: @config-secondary-color; - @body-bg: #fff; - @text-color: #111; - @link-color: saturate(@primary-color, 10%); - @heading-color: @text-color; - @muted-color: hsl(@secondary-hue, min(20%, @secondary-sat), 50%); - @muted-more-color: #aaa; - @shadow-color: rgba(0, 0, 0, 0.35); + @body-bg: #fff; + @text-color: #111; + @link-color: saturate(@primary-color, 10%); + @heading-color: @text-color; + @muted-color: hsl(@secondary-hue, min(20%, @secondary-sat), 50%); + @muted-more-color: #aaa; + @shadow-color: rgba(0, 0, 0, 0.35); - @control-bg: hsl(@secondary-hue, min(50%, @secondary-sat), 93%); - @control-color: @muted-color; - @control-danger-bg: #fdd; - @control-danger-color: #d66; + @control-bg: hsl(@secondary-hue, min(50%, @secondary-sat), 93%); + @control-color: @muted-color; + @control-danger-bg: #fdd; + @control-danger-color: #d66; - @overlay-bg: fade(@secondary-color, 90%); + @overlay-bg: fade(@secondary-color, 90%); - @code-bg: darken(@body-bg, 3%); - @code-color: lighten(@text-color, 30%); + @code-bg: darken(@body-bg, 3%); + @code-color: lighten(@text-color, 30%); } .define-colors(true) { - @primary-color: @config-primary-color; - @secondary-color: @config-secondary-color; + @primary-color: @config-primary-color; + @secondary-color: @config-secondary-color; - @body-bg: hsl(@secondary-hue, min(20%, @secondary-sat), 10%); - @text-color: #ddd; - @link-color: saturate(@primary-color, 10%); - @heading-color: @text-color; - @muted-color: hsl(@secondary-hue, min(15%, @secondary-sat), 50%); - @muted-more-color: hsl(@secondary-hue, min(10%, @secondary-sat), 40%); - @shadow-color: rgba(0, 0, 0, 0.5); + @body-bg: hsl(@secondary-hue, min(20%, @secondary-sat), 10%); + @text-color: #ddd; + @link-color: saturate(@primary-color, 10%); + @heading-color: @text-color; + @muted-color: hsl(@secondary-hue, min(15%, @secondary-sat), 50%); + @muted-more-color: hsl(@secondary-hue, min(10%, @secondary-sat), 40%); + @shadow-color: rgba(0, 0, 0, 0.5); - @control-bg: hsl(@secondary-hue, min(20%, @secondary-sat), 13%); - @control-color: @muted-color; - @control-danger-bg: #411; - @control-danger-color: #a88; + @control-bg: hsl(@secondary-hue, min(20%, @secondary-sat), 13%); + @control-color: @muted-color; + @control-danger-bg: #411; + @control-danger-color: #a88; - @overlay-bg: fade(darken(@body-bg, 5%), 90%); + @overlay-bg: fade(darken(@body-bg, 5%), 90%); - @code-bg: darken(@body-bg, 3%); - @code-color: #fff; + @code-bg: darken(@body-bg, 3%); + @code-color: #fff; } -@hero-bg: @control-bg; -@hero-color: @control-color; -@hero-muted-color: @control-color; +@hero-bg: @control-bg; +@hero-color: @control-color; +@hero-muted-color: @control-color; -@error-color: #d83e3e; +@error-color: #d83e3e; -@alert-bg: #fff2ae; -@alert-color: #ad6c00; +@alert-bg: #fff2ae; +@alert-color: #ad6c00; -@alert-error-bg: @error-color; -@alert-error-color: #fff; +@alert-error-bg: @error-color; +@alert-error-color: #fff; -@alert-success-bg: #B4F1AF; -@alert-success-color: #33722D; +@alert-success-bg: #b4f1af; +@alert-success-color: #33722d; -@validation-error-color: @error-color; +@validation-error-color: @error-color; .define-header(@config-colored-header); .define-header(false) { - @header-bg: @body-bg; - @header-color: @primary-color; - @header-control-bg: @control-bg; - @header-control-color: @control-color; + @header-bg: @body-bg; + @header-color: @primary-color; + @header-control-bg: @control-bg; + @header-control-color: @control-color; } .define-header(true) { - @header-bg: @primary-color; - @header-color: @body-bg; - @header-control-bg: mix(#000, @header-bg, 10%); - @header-control-color: mix(@body-bg, @header-bg, 60%); + @header-bg: @primary-color; + @header-color: @body-bg; + @header-control-bg: mix(#000, @header-bg, 10%); + @header-control-color: mix(@body-bg, @header-bg, 60%); } // --------------------------------- // LAYOUT -@drawer-width: 270px; -@pane-width: 400px; -@header-height: 52px; -@header-height-phone: 46px; +@drawer-width: 270px; +@pane-width: 400px; +@header-height: 52px; +@header-height-phone: 46px; -@border-radius: 4px; +@border-radius: 4px; -@zindex-header: 1000; -@zindex-pane: 1010; -@zindex-composer: 1020; -@zindex-dropdown: 1030; -@zindex-modal-background: 1040; -@zindex-modal: 1050; -@zindex-alerts: 1060; -@zindex-tooltip: 1070; +@zindex-header: 1000; +@zindex-pane: 1010; +@zindex-composer: 1020; +@zindex-dropdown: 1030; +@zindex-modal-background: 1040; +@zindex-modal: 1050; +@zindex-alerts: 1060; +@zindex-tooltip: 1070; -@expand-side-nav: @tablet-up; +@expand-side-nav: @tablet-up; // --------------------------------- // BREAKPOINTS @@ -123,28 +123,28 @@ // with specific viewport sizes. This can result in the browser actually being 'between' media queries, which // breaks our UI. See: https://github.com/flarum/core/issues/2915 -@screen-phone-max: (@screen-tablet - 0.02); +@screen-phone-max: (@screen-tablet - 0.02); -@screen-tablet: 768px; -@screen-tablet-max: (@screen-desktop - 0.02); +@screen-tablet: 768px; +@screen-tablet-max: (@screen-desktop - 0.02); -@screen-desktop: 992px; -@screen-desktop-max: (@screen-desktop-hd - 0.02); +@screen-desktop: 992px; +@screen-desktop-max: (@screen-desktop-hd - 0.02); -@screen-desktop-hd: 1100px; +@screen-desktop-hd: 1100px; -@phone: ~"(max-width: @{screen-phone-max})"; -@tablet: ~"(min-width: @{screen-tablet}) and (max-width: @{screen-tablet-max})"; -@desktop: ~"(min-width: @{screen-desktop}) and (max-width: @{screen-desktop-max})"; -@desktop-hd: ~"(min-width: @{screen-desktop-hd})"; +@phone: ~'(max-width: @{screen-phone-max})'; +@tablet: ~'(min-width: @{screen-tablet}) and (max-width: @{screen-tablet-max})'; +@desktop: ~'(min-width: @{screen-desktop}) and (max-width: @{screen-desktop-max})'; +@desktop-hd: ~'(min-width: @{screen-desktop-hd})'; -@tablet-up: ~"(min-width: @{screen-tablet})"; -@desktop-up: ~"(min-width: @{screen-desktop})"; +@tablet-up: ~'(min-width: @{screen-tablet})'; +@desktop-up: ~'(min-width: @{screen-desktop})'; // --------------------------------- // COMPONENTS -@tooltip-bg: rgba(0, 0, 0, 0.9); -@tooltip-color: #fff; +@tooltip-bg: rgba(0, 0, 0, 0.9); +@tooltip-color: #fff; -@online-user-circle-color: #7FBA00; +@online-user-circle-color: #7fba00; diff --git a/less/forum.less b/less/forum.less index 16c1c1604..4f2c09e0c 100644 --- a/less/forum.less +++ b/less/forum.less @@ -1,24 +1,24 @@ -@import "common/common"; +@import 'common/common'; -@import "forum/ActivityPage"; -@import "forum/AvatarEditor"; -@import "forum/Composer"; -@import "forum/DiscussionHero"; -@import "forum/DiscussionList"; -@import "forum/DiscussionListItem"; -@import "forum/DiscussionPage"; -@import "forum/Hero"; -@import "forum/IndexPage"; -@import "forum/LogInButton"; -@import "forum/LogInModal"; -@import "forum/NotificationGrid"; -@import "forum/NotificationList"; -@import "forum/NotificationsDropdown"; -@import "forum/Post"; -@import "forum/PostStream"; -@import "forum/Scrubber"; -@import "forum/SettingsPage"; -@import "forum/SignUpModal"; -@import "forum/Slidable"; -@import "forum/UserCard"; -@import "forum/UserPage"; +@import 'forum/ActivityPage'; +@import 'forum/AvatarEditor'; +@import 'forum/Composer'; +@import 'forum/DiscussionHero'; +@import 'forum/DiscussionList'; +@import 'forum/DiscussionListItem'; +@import 'forum/DiscussionPage'; +@import 'forum/Hero'; +@import 'forum/IndexPage'; +@import 'forum/LogInButton'; +@import 'forum/LogInModal'; +@import 'forum/NotificationGrid'; +@import 'forum/NotificationList'; +@import 'forum/NotificationsDropdown'; +@import 'forum/Post'; +@import 'forum/PostStream'; +@import 'forum/Scrubber'; +@import 'forum/SettingsPage'; +@import 'forum/SignUpModal'; +@import 'forum/Slidable'; +@import 'forum/UserCard'; +@import 'forum/UserPage'; diff --git a/less/forum/ActivityPage.less b/less/forum/ActivityPage.less index 53ced69ea..e062ba2fd 100644 --- a/less/forum/ActivityPage.less +++ b/less/forum/ActivityPage.less @@ -26,7 +26,8 @@ position: relative; z-index: 1; - &, a { + &, + a { color: var(--muted-color); } a { diff --git a/less/forum/Composer.less b/less/forum/Composer.less index 6ce20d3b5..59b1d5606 100644 --- a/less/forum/Composer.less +++ b/less/forum/Composer.less @@ -41,18 +41,23 @@ line-height: 1.5em; color: var(--secondary-color); - &, input, a { + &, + input, + a { font-size: 14px; font-weight: normal; } - input, a { + input, + a { color: inherit; } input { font-size: 16px; width: 500px; - &, &[disabled], &:focus { + &, + &[disabled], + &:focus { background: none; border: 0; padding: 0 20px 0 0; @@ -127,7 +132,7 @@ } &:before { - content: " "; + content: ' '; .header-background(); position: absolute; opacity: 0; @@ -139,7 +144,7 @@ & .Composer-controls { position: static; - z-index: calc(~"var(--zindex-header) + 1"); + z-index: calc(~'var(--zindex-header) + 1'); li:not(.App-backControl) { display: none; @@ -159,7 +164,7 @@ right: 0; bottom: 0; left: 0; - z-index: calc(~"var(--zindex-composer) - 1"); + z-index: calc(~'var(--zindex-composer) - 1'); background-color: var(--overlay-bg); opacity: 0.9; } @@ -185,10 +190,10 @@ } .normal &:first-child { - margin: calc(~"0px - var(--header-height-phone)") 50px 0; + margin: calc(~'0px - var(--header-height-phone)') 50px 0; text-align: center; position: relative; - z-index: calc(~"var(--zindex-header) + 1"); + z-index: calc(~'var(--zindex-header) + 1'); border: 0; white-space: nowrap; overflow: hidden; @@ -230,7 +235,8 @@ height: 300px; transition: background 0.2s, box-shadow 0.2s; - &.active, &.fullScreen { + &.active, + &.fullScreen { background: var(--body-bg); } &.active:not(.fullScreen) { @@ -279,7 +285,8 @@ margin-bottom: -17px; position: relative; - .minimized &, .fullScreen & { + .minimized &, + .fullScreen & { display: none; } } @@ -287,14 +294,16 @@ float: left; .Avatar--size(64px); - .minimized &, .fullScreen & { + .minimized &, + .fullScreen & { display: none; } } .ComposerBody-content { margin-left: 85px; - .minimized &, .fullScreen & { + .minimized &, + .fullScreen & { margin-left: 0; } } diff --git a/less/forum/DiscussionListItem.less b/less/forum/DiscussionListItem.less index 6f805ce0e..cebe39647 100644 --- a/less/forum/DiscussionListItem.less +++ b/less/forum/DiscussionListItem.less @@ -176,8 +176,6 @@ } } - - @media @tablet-up { .DiscussionListItem { position: relative; diff --git a/less/forum/DiscussionPage.less b/less/forum/DiscussionPage.less index a3f53c9e1..2e95f1ec6 100644 --- a/less/forum/DiscussionPage.less +++ b/less/forum/DiscussionPage.less @@ -15,7 +15,8 @@ margin: 15px; display: inline-block; - &.item-controls, &.item-scrubber { + &.item-controls, + &.item-scrubber { margin: 0; display: block; } @@ -26,7 +27,8 @@ .DiscussionPage-nav { float: right; - &, > ul { + &, + > ul { width: 150px; } > ul { @@ -38,7 +40,8 @@ margin-bottom: 10px; } } - .ButtonGroup, .Button { + .ButtonGroup, + .Button { width: 100%; } .ButtonGroup:not(.itemCount1) { @@ -69,12 +72,12 @@ @media @tablet-up { .DiscussionPage-list { - left: calc(~"-6px - var(--pane-width)"); + left: calc(~'-6px - var(--pane-width)'); position: absolute; z-index: var(--zindex-pane); overflow: auto; top: var(--header-height); - height: ~"calc(100vh - var(--header-height))"; + height: ~'calc(100vh - var(--header-height))'; width: var(--pane-width); background: var(--body-bg); padding-bottom: 40px; @@ -132,7 +135,8 @@ } } // When the pane is pinned, move the other page content inwards - .App-content, .App-footer { + .App-content, + .App-footer { .hasPane.panePinned & { margin-left: var(--pane-width); diff --git a/less/forum/IndexPage.less b/less/forum/IndexPage.less index 01f2939b9..10549a61b 100644 --- a/less/forum/IndexPage.less +++ b/less/forum/IndexPage.less @@ -17,7 +17,8 @@ .IndexPage-toolbar { margin-bottom: 15px; } -.IndexPage-toolbar-view, .IndexPage-toolbar-action { +.IndexPage-toolbar-view, +.IndexPage-toolbar-action { display: inline-block; margin: 0; list-style: none; diff --git a/less/forum/NotificationList.less b/less/forum/NotificationList.less index 081de1b41..839feb60d 100644 --- a/less/forum/NotificationList.less +++ b/less/forum/NotificationList.less @@ -85,7 +85,7 @@ padding-right: var(--overlap); .Badge { - margin-right: calc(~"0px - var(--overlap)"); + margin-right: calc(~'0px - var(--overlap)'); position: relative; .Badge--size(21px); } @@ -107,8 +107,8 @@ grid-template-columns: auto auto 1fr auto; grid-template-areas: - "avatar icon title button" - "x x excerpt excerpt"; + 'avatar icon title button' + 'x x excerpt excerpt'; align-items: baseline; row-gap: 1px; diff --git a/less/forum/Post.less b/less/forum/Post.less index 6fe81e884..49e15c8e7 100644 --- a/less/forum/Post.less +++ b/less/forum/Post.less @@ -20,7 +20,8 @@ margin-bottom: 15px; color: var(--muted-color); - &, a { + &, + a { color: var(--muted-color); } > ul { @@ -43,7 +44,8 @@ h3 { display: inline; } - h3, h3 a { + h3, + h3 a { color: var(--heading-color); font-weight: bold; font-size: 14px; @@ -95,14 +97,19 @@ overflow: auto; overflow-wrap: break-word; - p, ul, ol, blockquote { + p, + ul, + ol, + blockquote { margin-bottom: 1em; } a { border-bottom: 1px solid var(--control-bg); font-weight: 600; - &:hover, &:focus, &:active { + &:hover, + &:focus, + &:active { text-decoration: none; border-color: var(--link-color); } @@ -120,13 +127,13 @@ } // Inline code code { - font-family: source-code-pro, Monaco, Consolas, "Courier New", monospace; + font-family: source-code-pro, Monaco, Consolas, 'Courier New', monospace; padding: 5px; background: var(--code-bg); color: var(--code-color); line-height: 1.3; font-size: 90%; - border-radius: 4px + border-radius: 4px; } // Code blocks pre { @@ -149,10 +156,15 @@ overflow-x: auto; // Backwards compatibility for browsers that don't support `max()` max-height: 50vh; - max-height: ~"max(50vh, 250px)"; + max-height: ~'max(50vh, 250px)'; } } - h1, h2, h3, h4, h5, h6 { + h1, + h2, + h3, + h4, + h5, + h6 { margin-top: 1em; margin-bottom: 16px; font-weight: bold; @@ -169,17 +181,20 @@ h4 { font-size: 125%; } - h5, h6 { + h5, + h6 { font-size: 100%; } h6 { color: var(--muted-more-color); } - img, iframe { + img, + iframe { max-width: 100%; } } -.Post-body, .Post-preview { +.Post-body, +.Post-preview { > *:first-child { margin-top: 0 !important; } @@ -190,18 +205,27 @@ } .Post--hidden { - .Post-header, .Post-header a, .PostUser h3, .PostUser h3 a { + .Post-header, + .Post-header a, + .PostUser h3, + .PostUser h3 a { color: var(--muted-more-color); } &:not(.revealContent) { .Post-header { margin-bottom: 0; } - .Post-body, .Post-footer, h3 .Avatar, .PostUser-badges { + .Post-body, + .Post-footer, + h3 .Avatar, + .PostUser-badges { display: none; } } - .Post-body, .Post-footer, h3 .Avatar, .PostUser-badges { + .Post-body, + .Post-footer, + h3 .Avatar, + .PostUser-badges { opacity: 0.5; } .Post-header .Button--more { @@ -227,7 +251,8 @@ color: var(--text-color); font-weight: bold; } -.PostMeta-time, .PostMeta-ip { +.PostMeta-time, +.PostMeta-ip { margin-left: 5px; } .PostMeta-permalink { @@ -248,7 +273,8 @@ float: left; } .EventPost { - &, a { + &, + a { color: var(--muted-color); } a { @@ -259,13 +285,15 @@ font-size: 14px; } -.Post-footer, .Post-actions { +.Post-footer, +.Post-actions { > ul { list-style-type: none; padding: 0; margin: 0; } - &, a { + &, + a { color: var(--muted-color); } a { @@ -303,7 +331,8 @@ transition: opacity 0.2s; - .EventPost &, .Post--hidden:not(.revealContent) & { + .EventPost &, + .Post--hidden:not(.revealContent) & { margin-top: -27px; margin-bottom: -15px; } @@ -322,7 +351,9 @@ vertical-align: top; } } - .Post:hover &, .Post:focus-within &, &.open { + .Post:hover &, + .Post:focus-within &, + &.open { opacity: 1; } } @@ -389,7 +420,8 @@ .Post { padding-left: 20px + @avatar-column-width; } - .CommentPost:not(.Post--hidden), .ReplyPlaceholder { + .CommentPost:not(.Post--hidden), + .ReplyPlaceholder { min-height: 64px + 40px; // avatar height + padding } .PostUser-avatar { diff --git a/less/forum/PostStream.less b/less/forum/PostStream.less index 59ffecdec..b7c47c51c 100644 --- a/less/forum/PostStream.less +++ b/less/forum/PostStream.less @@ -18,9 +18,15 @@ } @keyframes blink { - 0% {opacity: 0.5} - 50% {opacity: 1} - 100% {opacity: 0.5} + 0% { + opacity: 0.5; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0.5; + } } .LoadingPost { animation: blink 1s linear infinite; @@ -58,9 +64,15 @@ } @keyframes pulsate { - 0% {transform: scale(1)} - 50% {transform: scale(1.02)} - 100% {transform: scale(1)} + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.02); + } + 100% { + transform: scale(1); + } } .pulsate { animation: pulsate 1s ease-in-out infinite; @@ -70,8 +82,12 @@ } @keyframes fadeIn { - 0% {opacity: 0} - 100% {opacity: 1} + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } } .fadeIn { animation: fadeIn 0.4s ease-in-out; diff --git a/less/forum/Scrubber.less b/less/forum/Scrubber.less index d322832a4..25e938d59 100644 --- a/less/forum/Scrubber.less +++ b/less/forum/Scrubber.less @@ -7,7 +7,8 @@ font-size: 14px; margin-right: 2px; } - &:hover, &:focus { + &:hover, + &:focus { text-decoration: none; color: var(--link-color); } @@ -21,7 +22,8 @@ cursor: pointer; .user-select(none); } -.Scrubber-before, .Scrubber-after { +.Scrubber-before, +.Scrubber-after { border-left: 1px solid var(--control-bg); } .Scrubber-unread { diff --git a/less/forum/SettingsPage.less b/less/forum/SettingsPage.less index 4598375e7..aa689fba5 100644 --- a/less/forum/SettingsPage.less +++ b/less/forum/SettingsPage.less @@ -26,4 +26,3 @@ margin-right: 5px; } } - diff --git a/less/forum/UserCard.less b/less/forum/UserCard.less index 6319cfa55..67fb474c2 100644 --- a/less/forum/UserCard.less +++ b/less/forum/UserCard.less @@ -15,7 +15,8 @@ width: 500px; box-shadow: 0 2px 6px var(--shadow-color); - &, .darkenBackground { + &, + .darkenBackground { border-radius: var(--border-radius); } .container { @@ -76,9 +77,10 @@ margin: 0 0 0 15px; padding: 0; - &, > li { + &, + > li { display: inline-block; - margin-right: 5px + margin-right: 5px; } } .UserCard-info {