dc67ed9952
* Give QMenu cursor: pointer * Darken border colors in dark theme * Refactor cursor: pointer event filter * Add QMenu stylesheet * Remove min-width for QMenu item * Add QMenuBar styles with increased height for touchscreen users and more visible highlight color. * Fix type * Revert "Add QMenuBar styles" This reverts commit 6ae405a073b15389b7926ef8aa91c3b228a7889e. * Remove strong border from QMenu checkbox style * Keep highlight color consistent * Adjust highlight-bg * Increase horizontal padding and adjust checkbox margin * Introduce border-faint var and make default border brighter in dark mode * Fix 1px move on hover and make highlight color more subtle * Remove win10 styles because the properties are set in the other stylesheets anyway. * Fix bottom border of QMenuBar not showing underneath entries * Remove unused import * Make border-faint one shade darker in light theme
343 lines
9.6 KiB
SCSS
343 lines
9.6 KiB
SCSS
/* Copyright: Ankitects Pty Ltd and contributors
|
|
* License: GNU AGPL, version 3 or later, http://www.gnu.org/licenses/agpl.html */
|
|
|
|
@use "sass:map";
|
|
@use "sass:color";
|
|
@use "functions" as *;
|
|
@use "colors" as *;
|
|
|
|
@function palette($key, $shade) {
|
|
$color: map.get($colors, $key);
|
|
@return map.get($color, $shade);
|
|
}
|
|
|
|
$vars: (
|
|
props: (
|
|
border-radius: (
|
|
default: 5px,
|
|
),
|
|
),
|
|
colors: (
|
|
white: (
|
|
default: white,
|
|
),
|
|
black: (
|
|
default: black,
|
|
),
|
|
fg: (
|
|
default: (
|
|
light: palette(darkgray, 9),
|
|
dark: palette(lightgray, 0),
|
|
),
|
|
subtle: (
|
|
light: palette(darkgray, 6),
|
|
dark: palette(lightgray, 3),
|
|
),
|
|
disabled: (
|
|
light: palette(lightgray, 9),
|
|
dark: palette(darkgray, 0),
|
|
),
|
|
faint: (
|
|
light: palette(lightgray, 7),
|
|
dark: palette(darkgray, 2),
|
|
),
|
|
),
|
|
canvas: (
|
|
default: (
|
|
light: palette(lightgray, 3),
|
|
dark: palette(darkgray, 5),
|
|
),
|
|
elevated: (
|
|
light: white,
|
|
dark: palette(darkgray, 4),
|
|
),
|
|
inset: (
|
|
light: palette(lightgray, 4),
|
|
dark: palette(darkgray, 6),
|
|
),
|
|
overlay: (
|
|
light: palette(lightgray, 0),
|
|
dark: palette(darkgray, 5),
|
|
),
|
|
code: (
|
|
light: white,
|
|
dark: palette(darkgray, 6),
|
|
),
|
|
),
|
|
border: (
|
|
default: (
|
|
light: palette(lightgray, 6),
|
|
dark: palette(darkgray, 4),
|
|
),
|
|
strong: (
|
|
light: palette(lightgray, 9),
|
|
dark: palette(darkgray, 1),
|
|
),
|
|
subtle: (
|
|
light: palette(lightgray, 5),
|
|
dark: palette(darkgray, 7),
|
|
),
|
|
faint: (
|
|
light: palette(lightgray, 4),
|
|
dark: palette(darkgray, 6),
|
|
),
|
|
focus: (
|
|
light: palette(blue, 5),
|
|
dark: palette(blue, 5),
|
|
),
|
|
),
|
|
button: (
|
|
border: (
|
|
light: palette(lightgray, 6),
|
|
dark: palette(darkgray, 6),
|
|
),
|
|
focus: (
|
|
light: palette(cyan, 3),
|
|
dark: palette(cyan, 4),
|
|
),
|
|
pressed: (
|
|
shadow: (
|
|
light: palette(lightgray, 7),
|
|
dark: palette(darkgray, 7),
|
|
),
|
|
border: (
|
|
light: palette(lightgray, 9),
|
|
dark: palette(darkgray, 9),
|
|
),
|
|
),
|
|
disabled: (
|
|
light: color.scale(palette(lightgray, 5), $alpha: -50%),
|
|
dark: color.scale(palette(darkgray, 3), $alpha: -50%),
|
|
),
|
|
gradient: (
|
|
start: (
|
|
light: white,
|
|
dark: palette(darkgray, 3),
|
|
),
|
|
end: (
|
|
light: palette(lightgray, 1),
|
|
dark: palette(darkgray, 4),
|
|
),
|
|
),
|
|
hover: (
|
|
gradient: (
|
|
start: (
|
|
light: palette(lightgray, 1),
|
|
dark: palette(darkgray, 2),
|
|
),
|
|
end: (
|
|
light: palette(lightgray, 4),
|
|
dark: palette(darkgray, 3),
|
|
),
|
|
),
|
|
border: (
|
|
light: palette(lightgray, 8),
|
|
dark: palette(darkgray, 8),
|
|
),
|
|
),
|
|
primary: (
|
|
gradient: (
|
|
start: (
|
|
light: palette(blue, 4),
|
|
dark: color.scale(palette(blue, 6), $saturation: -10%),
|
|
),
|
|
end: (
|
|
light: palette(blue, 6),
|
|
dark: color.scale(palette(blue, 8), $saturation: -10%),
|
|
),
|
|
),
|
|
hover: (
|
|
gradient: (
|
|
start: (
|
|
light: palette(blue, 3),
|
|
dark: color.scale(palette(blue, 5), $saturation: -10%),
|
|
),
|
|
end: (
|
|
light: palette(blue, 5),
|
|
dark: color.scale(palette(blue, 7), $saturation: -10%),
|
|
),
|
|
),
|
|
),
|
|
disabled: (
|
|
light: palette(blue, 3),
|
|
dark: color.scale(palette(blue, 5), $saturation: -10%),
|
|
),
|
|
),
|
|
),
|
|
scrollbar: (
|
|
bg: (
|
|
default: (
|
|
light: palette(lightgray, 5),
|
|
dark: palette(darkgray, 4),
|
|
),
|
|
hover: (
|
|
light: palette(lightgray, 6),
|
|
dark: palette(darkgray, 3),
|
|
),
|
|
active: (
|
|
light: palette(lightgray, 7),
|
|
dark: palette(darkgray, 1),
|
|
),
|
|
),
|
|
),
|
|
shadow: (
|
|
default: (
|
|
light: palette(lightgray, 8),
|
|
dark: palette(darkgray, 7),
|
|
),
|
|
inset: (
|
|
light: palette(lightgray, 9),
|
|
dark: palette(darkgray, 7),
|
|
),
|
|
subtle: (
|
|
light: palette(lightgray, 5),
|
|
dark: palette(darkgray, 6),
|
|
),
|
|
focus: (
|
|
default: palette(indigo, 5),
|
|
),
|
|
),
|
|
accent: (
|
|
card: (
|
|
light: palette(blue, 4),
|
|
dark: palette(blue, 3),
|
|
),
|
|
note: (
|
|
light: palette(green, 5),
|
|
dark: palette(green, 4),
|
|
),
|
|
link: (
|
|
light: palette(blue, 7),
|
|
dark: palette(blue, 2),
|
|
),
|
|
danger: (
|
|
light: palette(red, 5),
|
|
dark: palette(red, 4),
|
|
),
|
|
),
|
|
flag: (
|
|
1: (
|
|
light: palette(red, 5),
|
|
dark: palette(red, 4),
|
|
),
|
|
2: (
|
|
light: palette(orange, 4),
|
|
dark: palette(orange, 3),
|
|
),
|
|
3: (
|
|
light: palette(green, 4),
|
|
dark: palette(green, 3),
|
|
),
|
|
4: (
|
|
light: palette(blue, 5),
|
|
dark: palette(blue, 4),
|
|
),
|
|
5: (
|
|
light: palette(fuchsia, 4),
|
|
dark: palette(fuchsia, 3),
|
|
),
|
|
6: (
|
|
light: palette(teal, 4),
|
|
dark: palette(teal, 3),
|
|
),
|
|
7: (
|
|
light: palette(purple, 5),
|
|
dark: palette(purple, 4),
|
|
),
|
|
),
|
|
state: (
|
|
new: (
|
|
light: palette(blue, 5),
|
|
dark: palette(blue, 3),
|
|
),
|
|
learn: (
|
|
light: palette(red, 6),
|
|
dark: palette(red, 4),
|
|
),
|
|
review: (
|
|
light: palette(green, 6),
|
|
dark: palette(green, 5),
|
|
),
|
|
buried: (
|
|
light: palette(amber, 5),
|
|
dark: palette(amber, 8),
|
|
),
|
|
suspended: (
|
|
light: palette(yellow, 4),
|
|
dark: palette(yellow, 1),
|
|
),
|
|
marked: (
|
|
light: palette(indigo, 2),
|
|
dark: palette(purple, 5),
|
|
),
|
|
),
|
|
highlight: (
|
|
bg: (
|
|
light: color.scale(palette(blue, 3), $alpha: -33%),
|
|
dark: color.scale(palette(blue, 4), $alpha: -33%),
|
|
),
|
|
fg: (
|
|
light: black,
|
|
dark: white,
|
|
),
|
|
),
|
|
selection: (
|
|
bg: (
|
|
light: color.scale(palette(lightgray, 5), $alpha: -50%),
|
|
dark: color.scale(palette(blue, 3), $alpha: -50%),
|
|
),
|
|
fg: (
|
|
light: black,
|
|
dark: white,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
@function color($keyword) {
|
|
@return var(--#{$keyword});
|
|
}
|
|
|
|
@function palette-of($keyword, $theme: default) {
|
|
$colors: map.get($vars, colors);
|
|
@return get-value-from-map($colors, $keyword, $theme);
|
|
}
|
|
|
|
@function prop($keyword) {
|
|
@return var(--#{$keyword});
|
|
}
|
|
|
|
/*! colors */
|
|
:root {
|
|
$colors: map.get($vars, colors);
|
|
@each $name, $val in create-vars-from-map($colors, light) {
|
|
#{$name}: #{$val};
|
|
}
|
|
color-scheme: light;
|
|
&.night-mode {
|
|
@each $name, $val in create-vars-from-map($colors, dark) {
|
|
#{$name}: #{$val};
|
|
}
|
|
color-scheme: dark;
|
|
}
|
|
}
|
|
|
|
/*! props */
|
|
:root {
|
|
$props: map.get($vars, props);
|
|
@each $name, $val in create-vars-from-map($props, default) {
|
|
#{$name}: #{$val};
|
|
}
|
|
@each $name, $val in create-vars-from-map($props, light) {
|
|
#{$name}: #{$val};
|
|
}
|
|
&.night-mode {
|
|
@each $name, $val in create-vars-from-map($props, default) {
|
|
#{$name}: #{$val};
|
|
}
|
|
@each $name, $val in create-vars-from-map($props, dark) {
|
|
#{$name}: #{$val};
|
|
}
|
|
}
|
|
}
|