mirror of
https://github.com/danbulant/dribbblish-dynamic-theme
synced 2026-05-25 21:11:58 +00:00
59 lines
1.5 KiB
SCSS
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));
|
|
}
|
|
}
|