-
-
@@ -65,34 +65,36 @@ export default class TheSearchBar extends StatefulVue {
width: 100%;
position: relative;
display: flex;
+ input {
+ background: inherit;
+ }
}
-.searchTerm {
+.search-term {
width: 100%;
min-width: 60px;
- border: 1.5px solid $gray;
+ border: 1.5px solid $color-primary;
border-right: none;
height: 36px;
border-radius: 3px 0 0 3px;
padding-left:10px;
padding-right:10px;
outline: none;
- color: $gray;
- font-family: $normal-font;
- font-size:1em;
+ color: $color-primary;
+ font-family: $normal-font;
+ font-size:1em;
+ &:focus {
+ color: $color-primary-darker;
+ }
}
-.searchTerm:focus{
- color: $slate;
-}
-
-.iconWrapper {
+.icon-wrapper {
width: 40px;
height: 36px;
- border: 1px solid $gray;
- background: $gray;
+ border: 1px solid $color-primary;
+ background: $color-primary;
text-align: center;
- color: $white;
+ color: $color-on-primary;
border-radius: 0 5px 5px 0;
font-size: 20px;
padding:5px;
diff --git a/src/presentation/styles/colors.scss b/src/presentation/styles/colors.scss
index 2018c485..d2499ec3 100644
--- a/src/presentation/styles/colors.scss
+++ b/src/presentation/styles/colors.scss
@@ -1,8 +1,25 @@
-$white: #fff;
-$light-gray: #eceef1;
-$gray: darken($light-gray, 30%);
-$dark-gray: #616f86;
-$slate: darken($light-gray, 70%);
-$dark-slate: #2f3133;
-$accent: #1abc9c;
-$black: #000
\ No newline at end of file
+/*
+ Colors used throughout the application
+ Inspired by material color system: https://material.io/design/color/the-color-system.html, https://material.io/develop/web/theming/color
+ Colors are named using Vue Design System: https://github.com/viljamis/vue-design-system/wiki/Naming-of-Things#naming-colors
+*/
+
+// --- Primary | The color displayed most frequently across screens and components
+$color-primary : #949fb0;
+$color-primary-light : lighten($color-primary, 15%);
+$color-primary-dark : darken($color-primary, 18%);
+$color-primary-darker : darken($color-primary, 40%);
+$color-primary-darkest : darken($color-primary, 44%);
+$color-on-primary : lighten($color-primary, 30%); // Text/iconography color that is usable on top of primary color
+
+// --- Secondary | Accent color, should be applied sparingly to accent select parts of UI
+$color-secondary : #1abc9c;
+$color-secondary-light : lighten($color-secondary, 48%);
+$color-on-secondary : #fff; // Text/iconography color that is usable on top of secondary color
+
+// --- Surface | Affect surfaces of components, such as cards, sheets, and menus.
+$color-surface : #fff;
+$color-on-surface : #000; // Text/iconography color that is usable on surface
+
+// Background | Appears behind scrollable content.
+$color-background : lighten($color-primary, 30);
diff --git a/src/presentation/styles/tooltip.scss b/src/presentation/styles/tooltip.scss
index 3cb7c447..81f15d94 100644
--- a/src/presentation/styles/tooltip.scss
+++ b/src/presentation/styles/tooltip.scss
@@ -1,12 +1,12 @@
-// based on https://github.com/Akryum/v-tooltip/blob/83615e394c96ca491a4df04b892ae87e833beb97/demo-src/src/App.vue#L179-L303
+// Based on https://github.com/Akryum/v-tooltip/blob/83615e394c96ca491a4df04b892ae87e833beb97/demo-src/src/App.vue#L179-L303
@import "@/presentation/styles/colors.scss";
.tooltip {
display: block !important;
z-index: 10000;
.tooltip-inner {
- background: $black;
- color: $white;
+ background: $color-primary-darkest;
+ color: $color-on-primary;
border-radius: 16px;
padding: 5px 10px 4px;
}
@@ -16,7 +16,7 @@
border-style: solid;
position: absolute;
margin: 5px;
- border-color: $black;
+ border-color: $color-primary-darkest;
z-index: 1;
}
&[x-placement^="top"] {
diff --git a/src/presentation/styles/tree.scss b/src/presentation/styles/tree.scss
index 317a2c77..d30a45ea 100644
--- a/src/presentation/styles/tree.scss
+++ b/src/presentation/styles/tree.scss
@@ -1,41 +1,57 @@
// Overrides base styling for LiquorTree
@import "@/presentation/styles/colors.scss";
+$color-tree-bg : $color-primary-darker;
+$color-node-arrow : $color-on-primary;
+$color-node-fg : $color-on-primary;
+$color-node-hover-bg : $color-primary-dark;
+$color-node-keyboard-bg : $color-surface;
+$color-node-keyboard-fg : $color-on-surface;
+$color-node-checkbox-checked-bg : $color-secondary;
+$color-node-checkbox-checked-border : $color-secondary;
+$color-node-checkbox-checked-checked-tick : $color-on-secondary;
+$color-node-checkbox-unchecked-bg : $color-primary-darkest;
+$color-node-checkbox-unchecked-border : $color-on-primary;
+
.tree {
- background: $slate;
+ background: $color-tree-bg;
&-node {
white-space: normal !important;
> .tree-content {
> .tree-anchor > span {
- color: $white;
+ color: $color-node-fg;
text-transform: uppercase;
font-size: 1.5em;
}
&:hover {
- background: $dark-gray !important;
+ background: $color-node-hover-bg !important;
}
}
- &.selected { // When using keyboard navigation it higlights current item and its child items
- background: $gray;
+ &.selected { // When using keyboard navigation it highlights current item and its child items
+ background: $color-node-keyboard-bg;
.tree-text {
- color: $black !important;
+ color: $color-node-keyboard-fg !important; // $block
}
}
}
&-checkbox {
+ border-color: $color-node-checkbox-unchecked-border !important;
&.checked {
- background: $accent !important;
- border-color: $accent !important;
+ background: $color-node-checkbox-checked-bg !important;
+ border-color: $color-node-checkbox-checked-border !important;
+ &:after {
+ border-color: $color-node-checkbox-checked-checked-tick !important;
+ }
}
&.indeterminate {
- border-color: $gray !important;
+ border-color: $color-node-checkbox-unchecked-border !important;
}
- background: $dark-slate !important;
+ background: $color-node-checkbox-unchecked-bg !important;
}
&-arrow {
&.has-child {
&.rtl:after, &:after {
- border-color: $white !important;
+ border-color: $color-node-arrow !important;
}
}
}