diff options
Diffstat (limited to 'src/_functions.scss')
-rw-r--r-- | src/_functions.scss | 64 |
1 files changed, 6 insertions, 58 deletions
diff --git a/src/_functions.scss b/src/_functions.scss index 9c29285..0c04f1d 100644 --- a/src/_functions.scss +++ b/src/_functions.scss | |||
@@ -67,63 +67,11 @@ | |||
67 | @return list.nth(blend-convert.lin_sRGB_to_XYZ(blend-convert.lin_sRGB(blend-convert.sassToRgb($color))), 2) + .05; | 67 | @return list.nth(blend-convert.lin_sRGB_to_XYZ(blend-convert.lin_sRGB(blend-convert.sassToRgb($color))), 2) + .05; |
68 | } | 68 | } |
69 | 69 | ||
70 | @function palette-old($base-color, $contrasts, $chroma-range: 1, $reference-color: $base-color) { | ||
71 | $chroma-range: 1 - $chroma-range; | ||
72 | |||
73 | $palette: (); | ||
74 | |||
75 | @if list.nth(list.nth($contrasts, 1), 2) > list.nth(list.nth($contrasts, list.length($contrasts)), 2) { | ||
76 | $contrasts: iro.fn-list-reverse($contrasts); | ||
77 | } | ||
78 | |||
79 | $reference-lightness: blend.lightness($reference-color); | ||
80 | $i: 0; | ||
81 | |||
82 | @while $i <= 1 { | ||
83 | $l: $i * 200% - 100%; | ||
84 | $c: 0%; | ||
85 | |||
86 | @if $chroma-range != 0 { | ||
87 | $c: $i * 2 - 1; | ||
88 | $c: if( | ||
89 | $reference-lightness >= 50%, | ||
90 | math.clamp(0, $c, 1), | ||
91 | math.clamp(0, -1 * $c, 1) | ||
92 | ); | ||
93 | $c: $chroma-range * $c * -100%; | ||
94 | } | ||
95 | |||
96 | $palette: list.append($palette, blend.scale($base-color, $l: $l, $c: $c)); | ||
97 | |||
98 | $i: $i + config.$palette-precision; | ||
99 | } | ||
100 | |||
101 | $palette: multi-contrast($base-color, $palette, $contrasts, $reference-color); | ||
102 | |||
103 | @each $key, $color in $palette { | ||
104 | $palette: map.set($palette, #{$key}-text, blend.contrast($color)) | ||
105 | } | ||
106 | |||
107 | @return $palette; | ||
108 | } | ||
109 | |||
110 | @function palette($base-color, $contrasts, $chroma-range: 1, $reference-color: $base-color) { | 70 | @function palette($base-color, $contrasts, $chroma-range: 1, $reference-color: $base-color) { |
111 | $base-lch: blend-convert.Lab_to_LCH( | 71 | $base-lch: iro-colors.parse-oklch($base-color); |
112 | iro-colors.lin_sRGB_to_Oklab( | 72 | $ref-lch: iro-colors.parse-oklch($reference-color); |
113 | blend-convert.lin_sRGB( | 73 | $ref-l: list.nth($ref-lch, 1); |
114 | blend-convert.sassToRgb($base-color) | 74 | $ref-y: iro-colors.apca_sRGB_to_Y($reference-color); |
115 | ) | ||
116 | ) | ||
117 | ); | ||
118 | $ref-lch: blend-convert.Lab_to_LCH( | ||
119 | iro-colors.lin_sRGB_to_Oklab( | ||
120 | blend-convert.lin_sRGB( | ||
121 | blend-convert.sassToRgb($reference-color) | ||
122 | ) | ||
123 | ) | ||
124 | ); | ||
125 | $ref-l: list.nth($ref-lch, 1); | ||
126 | $ref-y: iro-colors.apca_sRGB_to_Y($reference-color); | ||
127 | 75 | ||
128 | $cmax: math.max(map.values($contrasts)...); | 76 | $cmax: math.max(map.values($contrasts)...); |
129 | $cmax: math.max($cmax, math.abs(math.min(map.values($contrasts)...))); | 77 | $cmax: math.max($cmax, math.abs(math.min(map.values($contrasts)...))); |
@@ -131,10 +79,10 @@ | |||
131 | $black-y: iro-colors.apca_sRGB_to_Y(#000); | 79 | $black-y: iro-colors.apca_sRGB_to_Y(#000); |
132 | $white-y: iro-colors.apca_sRGB_to_Y(#fff); | 80 | $white-y: iro-colors.apca_sRGB_to_Y(#fff); |
133 | 81 | ||
134 | $palette: (); | ||
135 | |||
136 | $chroma-easing: meta.get-function(config.$palette-chroma-easing, $module: easing); | 82 | $chroma-easing: meta.get-function(config.$palette-chroma-easing, $module: easing); |
137 | 83 | ||
84 | $palette: (); | ||
85 | |||
138 | @each $key, $contrast in $contrasts { | 86 | @each $key, $contrast in $contrasts { |
139 | //$i: math.div(list.length($palette), 2 * (list.length($contrasts) - 1)); | 87 | //$i: math.div(list.length($palette), 2 * (list.length($contrasts) - 1)); |
140 | $y: iro-colors.apcaReverse($contrast, $ref-y); | 88 | $y: iro-colors.apcaReverse($contrast, $ref-y); |