Skip to content

Commit d423b7c

Browse files
refactor(variant.nest()): update variant nest to use nest from color.
1 parent d880d60 commit d423b7c

File tree

1 file changed

+11
-36
lines changed

1 file changed

+11
-36
lines changed

variant/_variant.nest.function.scss

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66

77
// Functions.
88
@use '../color/functions/color.name.function' as *;
9-
@use '../color/functions/color.retrieve.function' as *;
9+
@use '../color/functions/name';
1010

1111
// Status: DONE
1212
// The `variant.nest()` nest indicated by '+' variant of `list` or `map` type.
13-
// @arbitrary `$values...`
13+
// @arbitrary `$variants...`
1414
// @returns The returned value is nested `list` or `map`.
15-
@function nest($values...) {
15+
@function nest($variants...) {
1616
$result: ();
17-
@each $value in $values {
18-
@each $name, $resolved-value in $value {
17+
@each $variant in $variants {
18+
@each $name, $resolved-value in $variant {
1919
$-resolved-value: $resolved-value;
2020
@each $name in if(list.separator($name) == comma, $name, ($name,)) {
2121
$nested: indicator.index($name, '+');
@@ -25,40 +25,12 @@
2525
@each $key, $v in $resolved-value {
2626
$resolved-value: map.key-replace($resolved-value, $key, list.nth(selector.nest($name, $key), 1));
2727
}
28-
29-
$result: map.deep-merge($result, ($name: $resolved-value));
3028
} @else {
31-
$retrieved: ();
32-
$i: 1;
33-
@each $-name in $resolved-value {
34-
$retrieved: list.append($retrieved, retrieve($-name), comma);
35-
$resolved-value: list.set-nth($resolved-value, $i, map.get(retrieve($-name), name));
36-
$i: $i + 1;
37-
}
38-
39-
$resolved-value: selector.nest($name, $resolved-value);
40-
@if list.length($retrieved) > 0 {
41-
$i: 1;
42-
@each $value in $resolved-value {
43-
@if list.length(map.keys(list.nth($retrieved, $i))) > 1 {
44-
$resolved-value: list.set-nth($resolved-value, $i, name(
45-
$value,
46-
$hue: map.get(list.nth($retrieved, $i), hue),
47-
$saturation: map.get(list.nth($retrieved, $i), saturation),
48-
$lightness: map.get(list.nth($retrieved, $i), lightness),
49-
$alpha: map.get(list.nth($retrieved, $i), alpha),
50-
));
51-
}
52-
53-
$i: $i + 1;
54-
}
55-
}
56-
57-
$result: map.deep-merge($result, ($name: $resolved-value));
29+
$resolved-value: name.nest($name, $resolved-value);
5830
}
59-
} @else {
60-
$result: map.deep-merge($result, ($name: $-resolved-value));
6131
}
32+
33+
$result: map.deep-merge($result, ($name: if($nested, $resolved-value, $-resolved-value)));
6234
}
6335
}
6436
}
@@ -69,4 +41,7 @@
6941
// @debug nest((control: (disabled, error, info, success, warning)));
7042
// @debug nest((+control: (disabled, error, info, success, warning)));
7143
// @debug nest((+primary: (color: #aaa, dark: #bbb, light: #ccc)));
44+
45+
// nest color variant
46+
// @debug nest(((+secondary, primary): (color, dark, light)));
7247
// @debug nest(((+secondary, primary): (color, (ultra dark, -30%), (mega light, 60%))));

0 commit comments

Comments
 (0)