dribbblish-dynamic-theme/src/styles/Colors.scss
2021-11-15 04:53:57 +01:00

58 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;
}
// Color Function
// $light-offset is 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}), calc($alpha + var(--is_light) * $light-offset));
}
}