|
| 1 | +@use "sass:color"; |
1 | 2 | @use "sass:map"; |
2 | 3 | @use "../../colors" as *; |
3 | 4 | @use "../../settings" as *; |
|
7 | 8 | // Default: Dark theme |
8 | 9 | @mixin theme { |
9 | 10 | color-scheme: dark; |
10 | | - #{$css-var-prefix}background-color: #{mix($slate-950, $slate-900)}; |
| 11 | + #{$css-var-prefix}background-color: #{color.mix($slate-950, $slate-900)}; |
11 | 12 |
|
12 | 13 | // Text color |
13 | 14 | #{$css-var-prefix}color: #{$zinc-200}; |
|
56 | 57 | #{$css-var-prefix}contrast-inverse: #{$black}; |
57 | 58 |
|
58 | 59 | // Box shadow |
59 | | - #{$css-var-prefix}box-shadow: functions.shadow(mix($black, $slate-950)); |
| 60 | + #{$css-var-prefix}box-shadow: functions.shadow(color.mix($black, $slate-950)); |
60 | 61 |
|
61 | 62 | // Typography |
62 | 63 | @if map.get($modules, "content/typography") { |
|
73 | 74 | #{$css-var-prefix}mark-color: #{$white}; |
74 | 75 |
|
75 | 76 | // Inserted (<ins>) & Deleted (<del>) |
76 | | - #{$css-var-prefix}ins-color: #{mix($jade-450, $zinc-200)}; |
77 | | - #{$css-var-prefix}del-color: #{mix($red-500, $zinc-200)}; |
| 77 | + #{$css-var-prefix}ins-color: #{color.mix($jade-450, $zinc-200)}; |
| 78 | + #{$css-var-prefix}del-color: #{color.mix($red-500, $zinc-200)}; |
78 | 79 |
|
79 | 80 | // Blockquote |
80 | 81 | #{$css-var-prefix}blockquote-border-color: var(#{$css-var-prefix}muted-border-color); |
|
97 | 98 |
|
98 | 99 | // Code |
99 | 100 | @if map.get($modules, "content/code") { |
100 | | - #{$css-var-prefix}code-background-color: #{mix($slate-900, $slate-850, 75%)}; |
| 101 | + #{$css-var-prefix}code-background-color: #{color.mix($slate-900, $slate-850, 75%)}; |
101 | 102 | #{$css-var-prefix}code-color: #{$zinc-400}; |
102 | 103 | #{$css-var-prefix}code-kbd-background-color: var(#{$css-var-prefix}color); |
103 | 104 | #{$css-var-prefix}code-kbd-color: var(#{$css-var-prefix}background-color); |
104 | 105 | } |
105 | 106 |
|
106 | 107 | // Form elements |
107 | 108 | @if map.get($modules, "forms/basics") { |
108 | | - #{$css-var-prefix}form-element-background-color: #{mix($slate-900, $slate-850)}; |
| 109 | + #{$css-var-prefix}form-element-background-color: #{color.mix($slate-900, $slate-850)}; |
109 | 110 | #{$css-var-prefix}form-element-selected-background-color: #{$slate-800}; |
110 | 111 | #{$css-var-prefix}form-element-border-color: #{$slate-800}; |
111 | 112 | #{$css-var-prefix}form-element-color: #{$zinc-100}; |
112 | 113 | #{$css-var-prefix}form-element-placeholder-color: #{$zinc-400}; |
113 | | - #{$css-var-prefix}form-element-active-background-color: #{mix($slate-900, $slate-850, 75%)}; |
| 114 | + #{$css-var-prefix}form-element-active-background-color: #{color.mix( |
| 115 | + $slate-900, |
| 116 | + $slate-850, |
| 117 | + 75% |
| 118 | + )}; |
114 | 119 | #{$css-var-prefix}form-element-active-border-color: var(#{$css-var-prefix}primary-border); |
115 | 120 | #{$css-var-prefix}form-element-focus-color: var(#{$css-var-prefix}primary-border); |
116 | 121 | #{$css-var-prefix}form-element-disabled-opacity: 0.5; |
117 | | - #{$css-var-prefix}form-element-invalid-border-color: #{mix($red-500, $slate-600)}; |
118 | | - #{$css-var-prefix}form-element-invalid-active-border-color: #{mix($red-500, $slate-600, 75%)}; |
| 122 | + #{$css-var-prefix}form-element-invalid-border-color: #{color.mix($red-500, $slate-600)}; |
| 123 | + #{$css-var-prefix}form-element-invalid-active-border-color: #{color.mix( |
| 124 | + $red-500, |
| 125 | + $slate-600, |
| 126 | + 75% |
| 127 | + )}; |
119 | 128 | #{$css-var-prefix}form-element-invalid-focus-color: var( |
120 | 129 | #{$css-var-prefix}form-element-invalid-active-border-color |
121 | 130 | ); |
122 | | - #{$css-var-prefix}form-element-valid-border-color: #{mix($jade-450, $slate-600)}; |
123 | | - #{$css-var-prefix}form-element-valid-active-border-color: #{mix($jade-450, $slate-600, 75%)}; |
| 131 | + #{$css-var-prefix}form-element-valid-border-color: #{color.mix($jade-450, $slate-600)}; |
| 132 | + #{$css-var-prefix}form-element-valid-active-border-color: #{color.mix( |
| 133 | + $jade-450, |
| 134 | + $slate-600, |
| 135 | + 75% |
| 136 | + )}; |
124 | 137 | #{$css-var-prefix}form-element-valid-focus-color: var( |
125 | 138 | #{$css-var-prefix}form-element-valid-active-border-color |
126 | 139 | ); |
|
156 | 169 | #{$css-var-prefix}card-background-color: #{$slate-900}; |
157 | 170 | #{$css-var-prefix}card-border-color: var(#{$css-var-prefix}card-background-color); |
158 | 171 | #{$css-var-prefix}card-box-shadow: var(#{$css-var-prefix}box-shadow); |
159 | | - #{$css-var-prefix}card-sectioning-background-color: #{mix($slate-900, $slate-850, 75%)}; |
| 172 | + #{$css-var-prefix}card-sectioning-background-color: #{color.mix($slate-900, $slate-850, 75%)}; |
160 | 173 | } |
161 | 174 |
|
162 | 175 | // Dropdown (details.dropdown) |
|
175 | 188 |
|
176 | 189 | // Modal (<dialog>) |
177 | 190 | @if map.get($modules, "components/modal") { |
178 | | - #{$css-var-prefix}modal-overlay-background-color: #{rgba(mix($black, $zinc-950), 0.75)}; |
| 191 | + #{$css-var-prefix}modal-overlay-background-color: #{rgba(color.mix($black, $zinc-950), 0.75)}; |
179 | 192 | } |
180 | 193 |
|
181 | 194 | // Progress |
|
192 | 205 |
|
193 | 206 | // Form validation icons |
194 | 207 | @if map.get($modules, "forms/basics") { |
195 | | - #{$css-var-prefix}icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{functions.display-rgb(mix($jade-450, $slate-600))}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); |
196 | | - #{$css-var-prefix}icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{functions.display-rgb(mix($red-500, $slate-600))}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); |
| 208 | + #{$css-var-prefix}icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{functions.display-rgb(color.mix($jade-450, $slate-600))}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); |
| 209 | + #{$css-var-prefix}icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{functions.display-rgb(color.mix($red-500, $slate-600))}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); |
197 | 210 | } |
198 | 211 |
|
199 | 212 | // Focus for buttons, radio and select |
|
0 commit comments