From 0f2f19c65fbea41c316ceff74b75cbc3c8ad66f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Fri, 11 Aug 2017 15:11:47 +0200 Subject: [PATCH] Use separate element color in theming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This way we can use a grey color when the primary color is to bright Signed-off-by: Julius Härtl --- apps/theming/css/theming.scss | 12 ++++++------ apps/theming/lib/ThemingDefaults.php | 1 + core/css/inputs.scss | 19 ++++++++++--------- core/css/variables.scss | 1 + 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/apps/theming/css/theming.scss b/apps/theming/css/theming.scss index 0d4abb7fb6..b2f70c1350 100644 --- a/apps/theming/css/theming.scss +++ b/apps/theming/css/theming.scss @@ -61,8 +61,8 @@ } input.primary { - background-color: nc-lighten($color-primary, .9); - border: 1px solid $color-primary; + background-color: $color-primary-element; + border: 1px solid $color-primary-text; color: $color-primary-text; } @@ -94,16 +94,16 @@ input.primary { background-color: nc-darken($color-primary, 10%); } input[type='checkbox'].checkbox--white + label:before { - border-color: nc-darken($color-primary, 40%) !important; + border-color: nc-darken($color-primary-element, 40%) !important; } input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before, input[type='checkbox'].checkbox--white:focus + label:before { - border-color: nc-darken($color-primary, 30%) !important; + border-color: nc-darken($color-primary-element, 30%) !important; } input[type='checkbox'].checkbox--white:checked + label:before { - border-color: nc-darken($color-primary, 30%) !important; + border-color: nc-darken($color-primary-element, 30%) !important; background-image: url('../../../core/img/actions/checkbox-mark.svg'); - background-color: nc-darken($color-primary, 30%) !important; + background-color: nc-darken($color-primary-element, 30%) !important; } } @else { #submit { diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index dff24ee796..6b166d897b 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -238,6 +238,7 @@ class ThemingDefaults extends \OC_Defaults { } $variables['color-primary'] = $this->getColorPrimary(); $variables['color-primary-text'] = $colorPrimaryText; + $variables['color-primary-element'] = $this->util->elementColor($this->getColorPrimary()); } if ($this->config->getAppValue('theming', 'backgroundMime', null) === 'backgroundColor') { diff --git a/core/css/inputs.scss b/core/css/inputs.scss index 13a164e13f..42b9f63b7e 100644 --- a/core/css/inputs.scss +++ b/core/css/inputs.scss @@ -50,7 +50,7 @@ textarea, &:focus, &.active { /* active class used for multiselect */ - border-color: $color-primary; + border-color: $color-primary-element; outline: none; } &:active { @@ -66,21 +66,21 @@ textarea, } /* Primary action button, use sparingly */ &.primary { - border: 1px solid $color-primary; - background-color: rgba($color-primary, .7); + border: 1px solid $color-primary-text; + background-color: $color-primary-element; color: $color-primary-text; cursor: pointer; &:not(:disabled) { &:hover, &:focus { - background-color: rgba($color-primary, .85); + background-color: rgba($color-primary-element, .85); } &:active { - background-color: rgba($color-primary, .7); + background-color: rgba($color-primary-element, .7); } } &:disabled { - background-color: rgba($color-primary, .7); + background-color: rgba($color-primary-element, .7); color: nc-lighten($color-main-text, 73%); } } @@ -225,15 +225,15 @@ input { } &:not(:disabled):not(:checked) + label:hover:before, &:focus + label:before { - border-color: $color-primary; + border-color: $color-primary-element; } &:checked + label:before, &.checkbox:indeterminate + label:before { /* ^ :indeterminate have a strange behavior on radio, so we respecified the checkbox class again to be safe */ box-shadow: inset 0px 0px 0px 2px $color-main-background; - background-color: $color-primary; - border-color: $color-primary + background-color: $color-primary-element; + border-color: $color-primary-element; } &:disabled + label:before { border: 1px solid nc-lighten($color-main-text, 53%); @@ -494,6 +494,7 @@ input { .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: none; background: nc-darken($color-main-background, 3%); + color: $color-primary-element; } /* Animation */ diff --git a/core/css/variables.scss b/core/css/variables.scss index 47c8e1a27f..d12109c529 100644 --- a/core/css/variables.scss +++ b/core/css/variables.scss @@ -5,6 +5,7 @@ $color-primary-text: #ffffff; $color-error: #e9322d; $color-warning: #ffcc44; $color-success: #46ba61; +$color-primary-element: $color-primary; @function nc-darken($color, $value) { @return darken($color, $value);