dribbblish-dynamic-theme/src/styles/Colors.scss
2021-11-18 02:44:15 +01:00

59 lines
1.5 KiB
SCSS

$colors: (
text: #ffffff,
subtext: #f0f0f0,
sidebar-text: #ffffff,
main: #000000,
sidebar: #1ed760,
player: #000000,
card: #000000,
shadow: #202020,
selected-row: #797979,
button: #1ed760,
button-active: #1ed760,
button-disabled: #535353,
tab-active: #166632,
notification: #1db954,
notification-error: #e22134,
misc: #bfbfbf
);
// Set Transitions
@each $key, $color in $colors {
@property --spice-#{$key} {
syntax: "<color>";
initial-value: $color;
inherits: true;
}
@property --spice-rgb-#{$key} {
syntax: "<number>, <number>, <number>";
initial-value: #{red($color)}, #{green($color)}, #{blue($color)};
inherits: true;
}
}
$props-to-transition: ("sidebar", "main", "text", "button");
:root {
$props: ();
@each $key in $props-to-transition {
$props: append($props, --spice-#{$key}, comma);
$props: append($props, --spice-rgb-#{$key}, comma);
}
transition: all var(--song-transition-speed) linear;
transition-property: $props;
}
// $key: the key of the color, e.g. "main"
// $alpha: tha alpha in rgba()
// $light-offset: added when in light mode
@function spiceColor($key, $alpha: 1, $light-offset: 0) {
@if $alpha == 1 {
@return var(--spice-#{$key});
} @else if $light-offset == 0 {
@return rgba(var(--spice-rgb-#{$key}), $alpha);
} @else {
@return rgba(var(--spice-rgb-#{$key}), lightOffset($alpha, $light-offset));
}
}