useTheme.scss
760 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$limeThemes: light, dark;
$theme: light;
@mixin use-theme($mode: null) {
@if $mode != null {
/* #ifndef APP-ANDROID || APP-IOS || APP-NVUE || APP-HARMONY */
@media (prefers-color-scheme: $mode) {
@content;
}
/* #endif */
/* #ifdef APP-ANDROID || APP-IOS || APP-NVUE || APP-HARMONY */
&.#{$mode} {
@content;
}
/* #endif */
} @else {
@each $mode in $limeThemes {
$theme: $mode !global;
/* #ifndef APP-ANDROID || APP-IOS || APP-NVUE || APP-HARMONY */
@media (prefers-color-scheme: $mode) {
@content;
}
/* #endif */
/* #ifdef APP-ANDROID || APP-IOS || APP-NVUE || APP-HARMONY */
&.#{$mode} {
@content;
}
/* #endif */
}
}
}
@function get-var($themes, $key) {
@return map-get($themes, $key)
}