2022-11-04 00:45:08 +00:00
|
|
|
@use 'sass:color';
|
|
|
|
|
|
|
|
@mixin gradientY ($colors) {
|
|
|
|
background: linear-gradient(to bottom, $colors);
|
|
|
|
}
|
|
|
|
|
|
|
|
@function shade ($color, $opacity) {
|
|
|
|
@return transparentize($color, $opacity);
|
|
|
|
}
|
|
|
|
|
|
|
|
@function gradient ($color, $value: +50%) {
|
|
|
|
$top: scale-color($color, $lightness: $value);
|
|
|
|
$bottom: $color;
|
|
|
|
|
|
|
|
@return #{$top}, #{$bottom};
|
|
|
|
}
|
|
|
|
|
|
|
|
@function colorsGradient ($colors) {
|
|
|
|
$line: "";
|
|
|
|
@for $i from 1 through length($colors) {
|
|
|
|
@if ($i > 1) {
|
|
|
|
$line: $line + ',';
|
|
|
|
}
|
|
|
|
|
|
|
|
$line: $line + #{nth($colors, $i)}
|
|
|
|
}
|
|
|
|
|
|
|
|
@return $line;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@function hovered ($color, $value: +10%) {
|
|
|
|
@return scale-color($color, $lightness: $value);
|
|
|
|
}
|
|
|
|
|
|
|
|
@mixin theme {
|
|
|
|
// base
|
|
|
|
--sk-background : #{$ui-background};
|
|
|
|
--sk-background-75 : #{shade($ui-background, 0.25)};
|
|
|
|
--sk-background-50 : #{shade($ui-background, 0.5)};
|
|
|
|
--sk-text : #{$ui-text};
|
|
|
|
--sk-gray-text : #{$ui-gray-text};
|
|
|
|
--sk-foreground : #{$ui-foreground};
|
|
|
|
--sk-foreground-hovered : #{hovered($ui-foreground)};
|
|
|
|
--sk-left-menu : #{$ui-left-menu};
|
|
|
|
--sk-right-content : #{$ui-right-content};
|
|
|
|
--sk-item-active : #{$ui-item-active};
|
|
|
|
--sk-item-hovered : #{hovered($ui-item-active, $modifier-item-hover)};
|
|
|
|
--sk-shadow : #{shade($ui-shadow, 0)};
|
|
|
|
--sk-shadow-hovered : #{shade($ui-shadow, 0)};
|
2022-11-04 20:41:10 +00:00
|
|
|
--sk-switch-background : #{$ui-switch-backround};
|
2022-11-04 00:45:08 +00:00
|
|
|
|
|
|
|
// primary color
|
|
|
|
--sk-primary-accent : #{$ui-primary-accent};
|
|
|
|
--sk-primary-accent-hovered : #{hovered($ui-primary-accent)};
|
|
|
|
@for $i from 9 through 1 {
|
|
|
|
--sk-primary-accent-#{10 * $i}: #{shade($ui-primary-accent, 1 - 0.1 * $i)};
|
|
|
|
}
|
|
|
|
--sk-primary-accent-5: #{shade($ui-primary-accent, 0.95)};
|
|
|
|
--sk-primary-accent-gradient: #{gradient(shade($ui-primary-accent, 0), $modifier-gradient-lightness)};
|
|
|
|
|
|
|
|
// secondary color
|
|
|
|
--sk-secondary-accent : #{$ui-secondary-accent};
|
|
|
|
--sk-secondary-accent-hovered : #{hovered($ui-secondary-accent)};
|
|
|
|
@for $i from 9 through 1 {
|
|
|
|
--sk-secondary-accent-#{10 * $i}: #{shade($ui-secondary-accent, 1 - 0.1 * $i)};
|
|
|
|
}
|
|
|
|
--sk-secondary-accent-5: #{shade($ui-secondary-accent, 0.95)};
|
|
|
|
--sk-secondary-accent-text : #{$ui-secondary-accent-text};
|
|
|
|
|
|
|
|
// border
|
|
|
|
--sk-border : #{$ui-border};
|
|
|
|
--sk-border-hovered : #{hovered($ui-border)};
|
|
|
|
|
|
|
|
// negative
|
|
|
|
--sk-negative : #{$ui-negative};
|
|
|
|
@for $i from 9 through 1 {
|
|
|
|
--sk-negative-#{10 * $i}: #{shade($ui-negative, 1 - 0.1 * $i)};
|
|
|
|
}
|
|
|
|
--sk-negative-5: #{shade($ui-negative, 0.95)};
|
|
|
|
--sk-negative-hovered : #{hovered($ui-negative)};
|
|
|
|
|
|
|
|
// positive
|
|
|
|
--sk-positive : #{$ui-positive};
|
|
|
|
@for $i from 9 through 1 {
|
|
|
|
--sk-positive-#{10 * $i}: #{shade($ui-positive, 1 - 0.1 * $i)};
|
|
|
|
}
|
|
|
|
--sk-positive-5: #{shade($ui-positive, 0.95)};
|
|
|
|
--sk-positive-hovered : #{hovered($ui-positive)};
|
|
|
|
|
|
|
|
// warning
|
|
|
|
--sk-warning : #{$ui-warning};
|
|
|
|
@for $i from 9 through 1 {
|
|
|
|
--sk-warning-#{10 * $i}: #{shade($ui-warning, 1 - 0.1 * $i)};
|
|
|
|
}
|
|
|
|
--sk-warning-5: #{shade($ui-warning, 0.95)};
|
|
|
|
--sk-warning-hovered : #{hovered($ui-warning)};
|
|
|
|
|
|
|
|
// palette colors & gradients
|
|
|
|
@for $i from 1 through length($ui-palette) {
|
|
|
|
--sk-palette-#{$i - 1}-5: #{shade(nth($ui-palette, $i), 0.95)};
|
|
|
|
--sk-palette-#{$i - 1}: #{nth($ui-palette, $i)};
|
|
|
|
--sk-palette-gradient-#{$i - 1}: #{gradient(nth($ui-palette, $i), $modifier-gradient-lightness)};
|
|
|
|
|
|
|
|
@for $j from 9 through 1 {
|
|
|
|
--sk-palette-#{$i - 1}-#{10 * $j}: #{shade(nth($ui-palette, $i), 1 - 0.1 * $j)};
|
|
|
|
--sk-palette-gradient-#{$i - 1}-#{10 * $j}: #{gradient(shade(nth($ui-palette, $i), 1 - 0.1 * $j), $modifier-gradient-lightness)};
|
|
|
|
}
|
|
|
|
|
|
|
|
--sk-palette-#{$i - 1}-5: #{shade(nth($ui-palette, $i), 0.95)};
|
|
|
|
--sk-palette-gradient-#{$i - 1}-5: #{gradient(shade(nth($ui-palette, $i), 0.95), $modifier-gradient-lightness)};
|
|
|
|
}
|
|
|
|
|
|
|
|
--sk-overlay: #{$ui-overlay};
|
|
|
|
--sk-overlay-50: #{shade($ui-overlay, 0.2)};
|
|
|
|
--sk-dark-overlay: #{$ui-dark-overlay};
|
|
|
|
|
|
|
|
// black & shades
|
|
|
|
--sk-black: #{$ui-black};
|
|
|
|
@for $i from 9 through 1 {
|
|
|
|
--sk-black-#{10 * $i}: #{shade($ui-black, 1 - 0.1 * $i)};
|
|
|
|
}
|
|
|
|
|
|
|
|
--sk-typo-base: 14px;
|
|
|
|
--sk-typo-special: 13px;
|
|
|
|
--sk-typo-title: 24px;
|
|
|
|
--sk-typo-subtitle: 12px;
|
2022-11-04 20:41:10 +00:00
|
|
|
--sk-typo-h1: 36px;
|
|
|
|
--sk-typo-h2: 32px;
|
|
|
|
--sk-typo-h3: 26px;
|
2022-11-04 00:45:08 +00:00
|
|
|
--sk-typo-h4: 20px;
|
|
|
|
--sk-typo-h5: 17px;
|
|
|
|
--sk-typo-h6: 15px;
|
|
|
|
|
|
|
|
// gaps
|
|
|
|
--sk-gap-xs: 0.125rem;
|
|
|
|
--sk-gap-s: 0.25rem;
|
|
|
|
--sk-gap-m: 0.5rem;
|
|
|
|
--sk-gap-l: 0.75rem;
|
|
|
|
--sk-gap-xl: 1rem;
|
2022-11-04 20:41:10 +00:00
|
|
|
--sk-gap-xxl: 1.5rem;
|
|
|
|
--sk-gap-xxxl: 2.2rem;
|
2022-11-04 00:45:08 +00:00
|
|
|
|
|
|
|
// border-radius
|
|
|
|
--sk-br-s: 0.25rem;
|
|
|
|
--sk-br-m: 0.5rem;
|
2022-11-04 20:41:10 +00:00
|
|
|
--sk-br-l: 0.75rem;
|
|
|
|
}
|