1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | @function rem($multiplier) {
|
8 | $font-size: 10px;
|
9 | @return $multiplier * $font-size;
|
10 | }
|
11 |
|
12 |
|
13 | @function md-contrast($color-map, $hue, $contrast-color-map) {
|
14 | @return map-get(map-get($contrast-color-map, $color-map), $hue);
|
15 | }
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | @function md-palette($color-map, $primary, $lighter, $darker, $contrast-color-map) {
|
24 | $result: map_merge($color-map, (
|
25 | default: map-get($color-map, $primary),
|
26 | lighter: map-get($color-map, $lighter),
|
27 | darker: map-get($color-map, $darker),
|
28 |
|
29 | default-contrast: md-contrast($color-map, $primary, $contrast-color-map),
|
30 | lighter-contrast: md-contrast($color-map, $lighter, $contrast-color-map),
|
31 | darker-contrast: md-contrast($color-map, $darker, $contrast-color-map)
|
32 | ));
|
33 |
|
34 |
|
35 | @each $hue, $color in $color-map {
|
36 | $result: map_merge($result, (
|
37 | '#{$hue}-contrast': md-contrast($color-map, $hue, $contrast-color-map)
|
38 | ));
|
39 | }
|
40 |
|
41 | @return $result;
|
42 | }
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 | @function md-color($color-map, $hue-key: default, $opacity: 1) {
|
50 |
|
51 |
|
52 | @if type-of($hue-key) == number and $hue-key >= 0 and $hue-key <= 1 {
|
53 | @return md-color($color-map, default, $hue-key);
|
54 | }
|
55 |
|
56 | $color: map-get($color-map, $hue-key);
|
57 | $opacity: if(opacity($color) < 1, opacity($color), $opacity);
|
58 |
|
59 | @return rgba($color, $opacity);
|
60 | }
|
61 |
|
62 |
|