-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_variant.create.mixin.scss
65 lines (61 loc) · 1.52 KB
/
_variant.create.mixin.scss
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Sass.
@use 'sass:list';
@use 'sass:map';
// Modules.
@use '../../meta';
// Functions.
@use '../../class/variant/variant.create.mixin' as class-variant-create;
@use '../../map/map.get.function' as map-get;
@use '../../selector/selector.class.function';
// Mixins.
@use '../mixins/color.color.mixin' as *;
// Status: TODO:
// The `color.variant-create()` mixin.
// @param `$variant`
// @param `$combine`
// @param `$hue`
// @param `$saturation`
// @param `$lightness`
// @param `$alpha`
// @param `$important`
// @param `$pseudo-class`
// @param `$dictionary`
// @param `$function`
// @param `$modifier`
@mixin create(
$variant,
$combine: false,
$hue: null,
$saturation: null,
$lightness: null,
$alpha: null,
$important: false,
$pseudo-class: (),
$dictionary: (),
$function: meta.get-function(class, false, selector),
$modifier: null,
) {
@warn "In previous version `$modifier` is equal to (class: (prop-attribute: color), property: (prop-attribute: color))";
@include class-variant-create.create(
$variant,
$combine,
$pseudo-class,
$dictionary,
$function,
$modifier,
) using($resolved) {
@each $property in if(type-of(map.get($resolved, property)) == map, (map.get($resolved, property),), map.get($resolved, property)) {
@include color(
(map.get($property, name): map.get($property, value)),
$hue,
$saturation,
$lightness,
$alpha,
null,
$important,
$dictionary: $dictionary,
);
}
@content($resolved);
}
}