quanyawei
2024-09-06 75c45150bcc5b1a3b45efe98ce6ec92b7b10aba3
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();
    }
}