From 55ec90a5c6ad6f652c73f6d73869300eb1aceb8c Mon Sep 17 00:00:00 2001 From: Volpeon Date: Sun, 13 Feb 2022 11:58:14 +0100 Subject: Restructuring --- src/_functions.scss | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) (limited to 'src/_functions.scss') diff --git a/src/_functions.scss b/src/_functions.scss index 73a1ec9..56fdf39 100644 --- a/src/_functions.scss +++ b/src/_functions.scss @@ -1,5 +1,7 @@ @use 'sass:math'; +@use 'sass:map'; @use 'iro-sass/src/index' as iro; +@use 'config'; @use '@oddbird/blend'; @use '@oddbird/blend/sass/convert' as blend-convert; @@ -53,16 +55,6 @@ @return $map; } -@mixin set-font($basis, $values: ()) { - $values: set-font($basis, $values); - - @each $prop, $value in $values { - @if $value != null { - #{$prop}: $value; - } - } -} - @function multi-contrast($base-color, $colors, $wanted-contrasts) { $dir: if(lightness($base-color) >= 50%, -1, 1); $base-lum: nth(blend-convert.lin_sRGB_to_XYZ(blend-convert.lin_sRGB(blend-convert.sassToRgb($base-color))), 2) + .05; @@ -104,3 +96,33 @@ @return $result; } + +@function accent-palette($base, $dir: 1) { + @return ( + --hi: blend.scale($base, $lightness: $dir * 15%, $chroma: $dir * 10%), + --main: $base, + --lo: blend.scale($base, $lightness: $dir * -15%, $chroma: $dir * -10%), + --lo2: blend.scale($base, $lightness: $dir * -25%, $chroma: $dir * -20%), + --semi: rgba($base, .4), + --selection: rgba($base, .99), + --fg: blend.contrast($base), + ); +} + +@function gray-palette($lightness) { + $grays: (); + + @for $i from 0 through 100 { + $grays: append($grays, blend.lch($i * 1% 0 0)); + } + + $colors: multi-contrast(blend.lch($lightness * 1% 0 0), $grays, config.$wanted-grays); + + $palette: (); + + @for $i from 1 through length($colors) { + $palette: map.set($palette, --gray#{$i}, hsl(color(--gray-h), color(--gray-s), lightness(nth($colors, $i)))); + } + + @return $palette; +} -- cgit v1.2.3-54-g00ecf