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
| // Color contrast
| .color-yiq(@color) {
|
| .yiq-mixin (@v) when (@v >= 150) {
| color: #111;
| }
| .yiq-mixin (@v) when (default()) {
| color: #fff;
| }
|
| @r: red(@color);
| @g: green(@color);
| @b: blue(@color);
|
| @yiq: ((@r * 299) + (@g * 587) + (@b * 114)) / 1000;
| .yiq-mixin(@yiq);
| }
|
| // Basic loop
| .for(@adList, @adCode) {
| & {
| .loop(@adI:1) when (@adI =< length(@adList)) {
| @adIndex: @adI - 1;
| @adItem: extract(@adList, @adI);
|
| @adCode();
|
| .loop(@adI + 1);
| }
| .loop();
| }
| }
|
| .for-each(@adList, @adCode) {
| & {
| .loop(@adI:1) when (@adI =< length(@adList)) {
| @adIndex: @adI - 1;
| @adItem: extract(@adList, @adI);
| @adKey: extract(@adItem, 1);
| @adValue: extract(@adItem, 2);
|
| @adCode();
|
| .loop(@adI + 1);
| }
| .loop();
| }
| }
|
|