less 2.3.0 → 2.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/less/js/.gitignore +7 -0
- data/lib/less/js/.npmignore +1 -0
- data/lib/less/js/CHANGELOG.md +118 -0
- data/lib/less/js/CONTRIBUTING.md +50 -0
- data/lib/less/js/Makefile +14 -2
- data/lib/less/js/bin/lessc +72 -21
- data/lib/less/js/dist/less-1.3.1.js +4011 -0
- data/lib/less/js/dist/less-1.3.1.min.js +9 -0
- data/lib/less/js/dist/less-1.3.2.js +4401 -0
- data/lib/less/js/dist/less-1.3.2.min.js +9 -0
- data/lib/less/js/dist/less-1.3.3.js +4413 -0
- data/lib/less/js/dist/less-1.3.3.min.js +9 -0
- data/lib/less/js/dist/less-rhino-1.3.1.js +3725 -0
- data/lib/less/js/dist/less-rhino-1.3.2.js +3990 -0
- data/lib/less/js/dist/less-rhino-1.3.3.js +4002 -0
- data/lib/less/js/lib/less/browser.js +192 -53
- data/lib/less/js/lib/less/colors.js +1 -0
- data/lib/less/js/lib/less/functions.js +159 -10
- data/lib/less/js/lib/less/index.js +124 -56
- data/lib/less/js/lib/less/lessc_helper.js +62 -0
- data/lib/less/js/lib/less/parser.js +352 -135
- data/lib/less/js/lib/less/rhino.js +84 -23
- data/lib/less/js/lib/less/tree.js +28 -0
- data/lib/less/js/lib/less/tree/anonymous.js +15 -1
- data/lib/less/js/lib/less/tree/assignment.js +3 -1
- data/lib/less/js/lib/less/tree/call.js +12 -6
- data/lib/less/js/lib/less/tree/color.js +10 -0
- data/lib/less/js/lib/less/tree/dimension.js +3 -1
- data/lib/less/js/lib/less/tree/directive.js +9 -5
- data/lib/less/js/lib/less/tree/element.js +8 -6
- data/lib/less/js/lib/less/tree/import.js +16 -13
- data/lib/less/js/lib/less/tree/media.js +16 -9
- data/lib/less/js/lib/less/tree/mixin.js +123 -46
- data/lib/less/js/lib/less/tree/operation.js +5 -0
- data/lib/less/js/lib/less/tree/quoted.js +15 -1
- data/lib/less/js/lib/less/tree/ratio.js +13 -0
- data/lib/less/js/lib/less/tree/rule.js +7 -0
- data/lib/less/js/lib/less/tree/ruleset.js +232 -34
- data/lib/less/js/lib/less/tree/selector.js +21 -11
- data/lib/less/js/lib/less/tree/unicode-descriptor.js +13 -0
- data/lib/less/js/lib/less/tree/url.js +16 -14
- data/lib/less/js/lib/less/tree/variable.js +13 -1
- data/lib/less/js/package.json +13 -3
- data/lib/less/js/test/browser-test-prepare.js +29 -0
- data/lib/less/js/test/browser/common.js +74 -0
- data/lib/less/js/test/browser/css/relative-urls/urls.css +36 -0
- data/lib/less/js/test/browser/css/rootpath-relative/urls.css +36 -0
- data/lib/less/js/test/browser/css/rootpath/urls.css +36 -0
- data/lib/less/js/test/browser/css/urls.css +36 -0
- data/lib/less/js/test/browser/jasmine-html.js +681 -0
- data/lib/less/js/test/browser/jasmine.css +82 -0
- data/lib/less/js/test/browser/jasmine.js +2600 -0
- data/lib/less/js/test/browser/less/imports/urls.less +4 -0
- data/lib/less/js/test/browser/less/imports/urls2.less +4 -0
- data/lib/less/js/test/browser/less/relative-urls/urls.less +33 -0
- data/lib/less/js/test/browser/less/rootpath-relative/urls.less +33 -0
- data/lib/less/js/test/browser/less/rootpath/urls.less +33 -0
- data/lib/less/js/test/browser/less/urls.less +33 -0
- data/lib/less/js/test/browser/phantom-runner.js +139 -0
- data/lib/less/js/test/browser/runner-browser.js +3 -0
- data/lib/less/js/test/browser/runner-main.js +15 -0
- data/lib/less/js/test/browser/runner-relative-urls.js +4 -0
- data/lib/less/js/test/browser/runner-rootpath-relative.js +5 -0
- data/lib/less/js/test/browser/runner-rootpath.js +4 -0
- data/lib/less/js/test/browser/template.htm +10 -0
- data/lib/less/js/test/css/charsets.css +1 -0
- data/lib/less/js/test/css/colors.css +22 -0
- data/lib/less/js/test/css/comments.css +7 -0
- data/lib/less/js/test/css/css-3.css +57 -2
- data/lib/less/js/test/css/css-escapes.css +4 -0
- data/lib/less/js/test/css/css.css +11 -11
- data/lib/less/js/test/css/debug/linenumbers-all.css +43 -0
- data/lib/less/js/test/css/debug/linenumbers-comments.css +35 -0
- data/lib/less/js/test/css/debug/linenumbers-mediaquery.css +35 -0
- data/lib/less/js/test/css/functions.css +59 -2
- data/lib/less/js/test/css/ie-filters.css +7 -3
- data/lib/less/js/test/css/import-once.css +3 -0
- data/lib/less/js/test/css/import.css +7 -9
- data/lib/less/js/test/css/javascript.css +3 -2
- data/lib/less/js/test/css/media.css +116 -0
- data/lib/less/js/test/css/mixins-args.css +23 -4
- data/lib/less/js/test/css/mixins-guards.css +13 -0
- data/lib/less/js/test/css/mixins-important.css +21 -0
- data/lib/less/js/test/css/mixins-named-args.css +27 -0
- data/lib/less/js/test/css/mixins.css +50 -0
- data/lib/less/js/test/css/scope.css +20 -0
- data/lib/less/js/test/css/selectors.css +64 -0
- data/lib/less/js/test/css/static-urls/urls.css +42 -0
- data/lib/less/js/test/css/strings.css +2 -2
- data/lib/less/js/test/css/urls.css +42 -0
- data/lib/less/js/test/css/variables.css +0 -1
- data/lib/less/js/test/css/whitespace.css +4 -0
- data/lib/less/js/test/less-test.js +145 -36
- data/lib/less/js/test/less/charsets.less +3 -0
- data/lib/less/js/test/less/colors.less +27 -0
- data/lib/less/js/test/less/comments.less +12 -0
- data/lib/less/js/test/less/css-3.less +54 -6
- data/lib/less/js/test/less/css-escapes.less +6 -1
- data/lib/less/js/test/less/css.less +14 -12
- data/lib/less/js/test/less/debug/import/test.less +25 -0
- data/lib/less/js/test/less/debug/linenumbers.less +23 -0
- data/lib/less/js/test/less/errors/bad-variable-declaration1.less +1 -0
- data/lib/less/js/test/less/errors/bad-variable-declaration1.txt +2 -0
- data/lib/less/js/test/less/errors/comment-in-selector.less +1 -0
- data/lib/less/js/test/less/errors/comment-in-selector.txt +2 -0
- data/lib/less/js/test/less/errors/import-missing.less +1 -0
- data/lib/less/js/test/less/errors/import-missing.txt +3 -0
- data/lib/less/js/test/less/errors/import-no-semi.less +1 -0
- data/lib/less/js/test/less/errors/import-no-semi.txt +2 -0
- data/lib/less/js/test/less/errors/import-subfolder1.less +1 -0
- data/lib/less/js/test/less/errors/import-subfolder1.txt +3 -0
- data/lib/less/js/test/less/errors/import-subfolder2.less +1 -0
- data/lib/less/js/test/less/errors/import-subfolder2.txt +2 -0
- data/lib/less/js/test/less/errors/imports/import-subfolder1.less +1 -0
- data/lib/less/js/test/less/errors/imports/import-subfolder2.less +1 -0
- data/lib/less/js/test/less/errors/imports/import-test.less +4 -0
- data/lib/less/js/test/less/errors/imports/subfolder/mixin-not-defined.less +1 -0
- data/lib/less/js/test/less/errors/imports/subfolder/parse-error-curly-bracket.less +1 -0
- data/lib/less/js/test/less/errors/javascript-error.less +3 -0
- data/lib/less/js/test/less/errors/javascript-error.txt +4 -0
- data/lib/less/js/test/less/errors/mixed-mixin-definition-args-1.less +6 -0
- data/lib/less/js/test/less/errors/mixed-mixin-definition-args-1.txt +4 -0
- data/lib/less/js/test/less/errors/mixed-mixin-definition-args-2.less +6 -0
- data/lib/less/js/test/less/errors/mixed-mixin-definition-args-2.txt +4 -0
- data/lib/less/js/test/less/errors/mixin-not-defined.less +11 -0
- data/lib/less/js/test/less/errors/mixin-not-defined.txt +3 -0
- data/lib/less/js/test/less/errors/mixin-not-matched.less +6 -0
- data/lib/less/js/test/less/errors/mixin-not-matched.txt +3 -0
- data/lib/less/js/test/less/errors/mixin-not-matched2.less +6 -0
- data/lib/less/js/test/less/errors/mixin-not-matched2.txt +3 -0
- data/lib/less/js/test/less/errors/parse-error-curly-bracket.less +1 -0
- data/lib/less/js/test/less/errors/parse-error-curly-bracket.txt +2 -0
- data/lib/less/js/test/less/errors/parse-error-missing-bracket.less +2 -0
- data/lib/less/js/test/less/errors/parse-error-missing-bracket.txt +2 -0
- data/lib/less/js/test/less/errors/parse-error-with-import.less +13 -0
- data/lib/less/js/test/less/errors/parse-error-with-import.txt +4 -0
- data/lib/less/js/test/less/errors/property-ie5-hack.less +3 -0
- data/lib/less/js/test/less/errors/property-ie5-hack.txt +4 -0
- data/lib/less/js/test/less/errors/recursive-variable.less +1 -0
- data/lib/less/js/test/less/errors/recursive-variable.txt +2 -0
- data/lib/less/js/test/less/functions.less +64 -2
- data/lib/less/js/test/less/ie-filters.less +7 -0
- data/lib/less/js/test/less/import-once.less +4 -0
- data/lib/less/js/test/less/import.less +2 -1
- data/lib/less/js/test/less/import/deeper/import-once-test-a.less +1 -0
- data/lib/less/js/test/less/import/import-and-relative-paths-test.less +6 -0
- data/lib/less/js/test/less/import/import-charset-test.less +1 -0
- data/lib/less/js/test/less/import/import-once-test-c.less +6 -0
- data/lib/less/js/test/less/import/import-test-a.less +1 -0
- data/lib/less/js/test/less/import/import-test-c.less +0 -1
- data/lib/less/js/test/less/import/imports/font.less +8 -0
- data/lib/less/js/test/less/import/imports/logo.less +5 -0
- data/lib/less/js/test/less/import/urls.less +1 -0
- data/lib/less/js/test/less/javascript.less +4 -2
- data/lib/less/js/test/less/media.less +120 -0
- data/lib/less/js/test/less/mixins-args.less +40 -10
- data/lib/less/js/test/less/mixins-guards.less +30 -0
- data/lib/less/js/test/less/mixins-important.less +4 -0
- data/lib/less/js/test/less/mixins-named-args.less +36 -0
- data/lib/less/js/test/less/mixins.less +47 -0
- data/lib/less/js/test/less/scope.less +48 -1
- data/lib/less/js/test/less/selectors.less +81 -0
- data/lib/less/js/test/less/static-urls/urls.less +33 -0
- data/lib/less/js/test/less/strings.less +1 -1
- data/lib/less/js/test/less/urls.less +33 -0
- data/lib/less/js/test/less/variables.less +0 -1
- data/lib/less/js/test/less/whitespace.less +7 -0
- data/lib/less/version.rb +1 -1
- metadata +101 -4
- data/lib/less/js/CHANGELOG +0 -41
- data/lib/less/js/lib/less/cssmin.js +0 -355
@@ -0,0 +1 @@
|
|
1
|
+
@bodyColor: darken(@bodyColor, 30%);
|
@@ -1,10 +1,12 @@
|
|
1
1
|
#functions {
|
2
2
|
@var: 10;
|
3
|
+
@colors: #000, #fff;
|
3
4
|
color: _color("evil red"); // #660000
|
4
5
|
width: increment(15);
|
5
6
|
height: undefined("self");
|
6
7
|
border-width: add(2, 3);
|
7
8
|
variable: increment(@var);
|
9
|
+
background: linear-gradient(@colors);
|
8
10
|
}
|
9
11
|
|
10
12
|
#built-in {
|
@@ -17,24 +19,72 @@
|
|
17
19
|
greyscale: greyscale(#203c31);
|
18
20
|
spin-p: spin(hsl(340, 50%, 50%), 40);
|
19
21
|
spin-n: spin(hsl(30, 50%, 50%), -40);
|
22
|
+
luma-white: luma(#fff);
|
23
|
+
luma-black: luma(#000);
|
24
|
+
luma-black-alpha: luma(rgba(0,0,0,0.5));
|
25
|
+
luma-red: luma(#ff0000);
|
26
|
+
luma-green: luma(#00ff00);
|
27
|
+
luma-blue: luma(#0000ff);
|
28
|
+
luma-yellow: luma(#ffff00);
|
29
|
+
luma-cyan: luma(#00ffff);
|
30
|
+
luma-white-alpha: luma(rgba(255,255,255,0.5));
|
31
|
+
contrast-filter: contrast(30%);
|
32
|
+
contrast-white: contrast(#fff);
|
33
|
+
contrast-black: contrast(#000);
|
34
|
+
contrast-red: contrast(#ff0000);
|
35
|
+
contrast-green: contrast(#00ff00);
|
36
|
+
contrast-blue: contrast(#0000ff);
|
37
|
+
contrast-yellow: contrast(#ffff00);
|
38
|
+
contrast-cyan: contrast(#00ffff);
|
39
|
+
contrast-light: contrast(#fff, #111111, #eeeeee);
|
40
|
+
contrast-dark: contrast(#000, #111111, #eeeeee);
|
41
|
+
contrast-light-thresh: contrast(#fff, #111111, #eeeeee, 0.5);
|
42
|
+
contrast-dark-thresh: contrast(#000, #111111, #eeeeee, 0.5);
|
43
|
+
contrast-high-thresh: contrast(#555, #111111, #eeeeee, 0.6);
|
44
|
+
contrast-low-thresh: contrast(#555, #111111, #eeeeee, 0.1);
|
20
45
|
format: %("rgb(%d, %d, %d)", @r, 128, 64);
|
21
46
|
format-string: %("hello %s", "world");
|
22
47
|
format-multiple: %("hello %s %d", "earth", 2);
|
23
48
|
format-url-encode: %('red is %A', #ff0000);
|
24
49
|
eformat: e(%("rgb(%d, %d, %d)", @r, 128, 64));
|
50
|
+
|
51
|
+
unitless: unit(12px);
|
52
|
+
unit: unit(13px + 1px, em);
|
25
53
|
|
26
54
|
hue: hue(hsl(98, 12%, 95%));
|
27
55
|
saturation: saturation(hsl(98, 12%, 95%));
|
28
56
|
lightness: lightness(hsl(98, 12%, 95%));
|
57
|
+
red: red(#f00);
|
58
|
+
green: green(#0f0);
|
59
|
+
blue: blue(#00f);
|
29
60
|
rounded: round(@r/3);
|
61
|
+
rounded-two: round(@r/3, 2);
|
30
62
|
roundedpx: round(10px / 3);
|
63
|
+
roundedpx-three: round(10px / 3, 3);
|
64
|
+
rounded-percentage: round(10.2%);
|
65
|
+
ceil: ceil(10.1px);
|
66
|
+
floor: floor(12.9px);
|
31
67
|
percentage: percentage(10px / 50);
|
32
68
|
color: color("#ff0011");
|
69
|
+
tint: tint(#777777, 13);
|
70
|
+
tint-full: tint(#777777, 100);
|
71
|
+
tint-percent: tint(#777777, 13%);
|
72
|
+
shade: shade(#777777, 13);
|
73
|
+
shade-full: shade(#777777, 100);
|
74
|
+
shade-percent: shade(#777777, 13%);
|
75
|
+
|
76
|
+
hsv: hsv(5, 50%, 30%);
|
77
|
+
hsva: hsva(3, 50%, 30%, 0.2);
|
78
|
+
|
79
|
+
mix: mix(#ff0000, #ffff00, 80);
|
80
|
+
mix-0: mix(#ff0000, #ffff00, 0);
|
81
|
+
mix-100: mix(#ff0000, #ffff00, 100);
|
82
|
+
mix-weightless: mix(#ff0000, #ffff00);
|
33
83
|
|
34
84
|
.is-a {
|
35
85
|
color: iscolor(#ddd);
|
36
|
-
|
37
|
-
|
86
|
+
color1: iscolor(red);
|
87
|
+
color2: iscolor(rgb(0, 0, 0));
|
38
88
|
keyword: iskeyword(hello);
|
39
89
|
number: isnumber(32);
|
40
90
|
string: isstring("hello");
|
@@ -47,3 +97,15 @@
|
|
47
97
|
#alpha {
|
48
98
|
alpha: darken(hsla(25, 50%, 50%, 0.6), 10%);
|
49
99
|
}
|
100
|
+
|
101
|
+
#blendmodes {
|
102
|
+
multiply: multiply(#f60000, #f60000);
|
103
|
+
screen: screen(#f60000, #0000f6);
|
104
|
+
overlay: overlay(#f60000, #0000f6);
|
105
|
+
softlight: softlight(#f60000, #ffffff);
|
106
|
+
hardlight: hardlight(#f60000, #0000f6);
|
107
|
+
difference: difference(#f60000, #0000f6);
|
108
|
+
exclusion: exclusion(#f60000, #0000f6);
|
109
|
+
average: average(#f60000, #0000f6);
|
110
|
+
negation: negation(#f60000, #313131);
|
111
|
+
}
|
@@ -5,4 +5,11 @@
|
|
5
5
|
filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 20);
|
6
6
|
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@fat);
|
7
7
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333", endColorstr=@cloudhead, GradientType=@fat);
|
8
|
+
}
|
9
|
+
.evalTest(@arg) {
|
10
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@arg);
|
11
|
+
}
|
12
|
+
.evalTest1 {
|
13
|
+
.evalTest(30);
|
14
|
+
.evalTest(5);
|
8
15
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
@import url("import/import-test-a.less");
|
2
1
|
@import url(http://fonts.googleapis.com/css?family=Open+Sans);
|
3
2
|
|
4
3
|
@import url(something.css) screen and (color) and (max-width: 600px);
|
@@ -9,3 +8,5 @@
|
|
9
8
|
height: @a + 10%;
|
10
9
|
}
|
11
10
|
@import "import/import-test-e" screen and (max-width: 600px);
|
11
|
+
|
12
|
+
@import url("import/import-test-a.less");
|
@@ -0,0 +1 @@
|
|
1
|
+
@import-once "../import-once-test-c";
|
@@ -0,0 +1 @@
|
|
1
|
+
@charset "ISO-8859-1";
|
@@ -0,0 +1 @@
|
|
1
|
+
// empty file showing that it loads from the relative path first
|
@@ -3,8 +3,10 @@
|
|
3
3
|
js: `1 + 1`;
|
4
4
|
js: `"hello world"`;
|
5
5
|
js: `[1, 2, 3]`;
|
6
|
-
title: `process.title`;
|
6
|
+
title: `typeof process.title`;
|
7
7
|
ternary: `(1 + 1 == 2 ? true : false)`;
|
8
|
+
multiline: `(function(){var x = 1 + 1;
|
9
|
+
return x})()`;
|
8
10
|
}
|
9
11
|
.scope {
|
10
12
|
@foo: 42;
|
@@ -23,5 +25,5 @@
|
|
23
25
|
@ary: 1, 2, 3;
|
24
26
|
@ary2: 1 2 3;
|
25
27
|
ary: `@{ary}.join(', ')`;
|
26
|
-
|
28
|
+
ary1: `@{ary2}.join(', ')`;
|
27
29
|
}
|
@@ -20,6 +20,10 @@
|
|
20
20
|
body { max-width: @base * 60; }
|
21
21
|
}
|
22
22
|
|
23
|
+
@media all and (device-aspect-ratio: 16/9) {
|
24
|
+
body { max-width: 800px; }
|
25
|
+
}
|
26
|
+
|
23
27
|
@media all and (orientation:portrait) {
|
24
28
|
aside { float: none; }
|
25
29
|
}
|
@@ -44,6 +48,33 @@ body {
|
|
44
48
|
}
|
45
49
|
}
|
46
50
|
|
51
|
+
@media screen {
|
52
|
+
.sidebar {
|
53
|
+
width: 300px;
|
54
|
+
@media (orientation: landscape) {
|
55
|
+
width: 500px;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
@media a {
|
61
|
+
.first {
|
62
|
+
@media b {
|
63
|
+
.second {
|
64
|
+
.third {
|
65
|
+
width: 300px;
|
66
|
+
@media c {
|
67
|
+
width: 500px;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
.fourth {
|
71
|
+
width: 3;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
47
78
|
body {
|
48
79
|
@media a, b and c {
|
49
80
|
width: 95%;
|
@@ -77,3 +108,92 @@ body {
|
|
77
108
|
@media @smartphone {
|
78
109
|
width: 480px;
|
79
110
|
}
|
111
|
+
|
112
|
+
@media print {
|
113
|
+
@page :left {
|
114
|
+
margin: 0.5cm;
|
115
|
+
}
|
116
|
+
@page :right {
|
117
|
+
margin: 0.5cm;
|
118
|
+
}
|
119
|
+
@page Test:first {
|
120
|
+
margin: 1cm;
|
121
|
+
}
|
122
|
+
@page :first {
|
123
|
+
size: 8.5in 11in;
|
124
|
+
@top-left {
|
125
|
+
margin: 1cm;
|
126
|
+
}
|
127
|
+
@top-left-corner {
|
128
|
+
margin: 1cm;
|
129
|
+
}
|
130
|
+
@top-center {
|
131
|
+
margin: 1cm;
|
132
|
+
}
|
133
|
+
@top-right {
|
134
|
+
margin: 1cm;
|
135
|
+
}
|
136
|
+
@top-right-corner {
|
137
|
+
margin: 1cm;
|
138
|
+
}
|
139
|
+
@bottom-left {
|
140
|
+
margin: 1cm;
|
141
|
+
}
|
142
|
+
@bottom-left-corner {
|
143
|
+
margin: 1cm;
|
144
|
+
}
|
145
|
+
@bottom-center {
|
146
|
+
margin: 1cm;
|
147
|
+
}
|
148
|
+
@bottom-right {
|
149
|
+
margin: 1cm;
|
150
|
+
}
|
151
|
+
@bottom-right-corner {
|
152
|
+
margin: 1cm;
|
153
|
+
}
|
154
|
+
@left-top {
|
155
|
+
margin: 1cm;
|
156
|
+
}
|
157
|
+
@left-middle {
|
158
|
+
margin: 1cm;
|
159
|
+
}
|
160
|
+
@left-bottom {
|
161
|
+
margin: 1cm;
|
162
|
+
}
|
163
|
+
@right-top {
|
164
|
+
margin: 1cm;
|
165
|
+
}
|
166
|
+
@right-middle {
|
167
|
+
content: "Page " counter(page);
|
168
|
+
}
|
169
|
+
@right-bottom {
|
170
|
+
margin: 1cm;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
174
|
+
|
175
|
+
@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx), (min-resolution: 128dpcm) {
|
176
|
+
.b {
|
177
|
+
background: red;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
.bg() {
|
182
|
+
background: red;
|
183
|
+
|
184
|
+
@media (max-width: 500px) {
|
185
|
+
background: green;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
body {
|
190
|
+
.bg();
|
191
|
+
}
|
192
|
+
|
193
|
+
@bpMedium: 1000px;
|
194
|
+
@media (max-width: @bpMedium) {
|
195
|
+
body {
|
196
|
+
.bg();
|
197
|
+
background: blue;
|
198
|
+
}
|
199
|
+
}
|
@@ -19,6 +19,9 @@
|
|
19
19
|
|
20
20
|
#hidden {
|
21
21
|
.hidden;
|
22
|
+
}
|
23
|
+
|
24
|
+
#hidden1 {
|
22
25
|
.hidden();
|
23
26
|
}
|
24
27
|
|
@@ -96,16 +99,6 @@ body {
|
|
96
99
|
}
|
97
100
|
#var-inside { .var-inside; }
|
98
101
|
|
99
|
-
// # mixins
|
100
|
-
|
101
|
-
#id-mixin () {
|
102
|
-
color: red;
|
103
|
-
}
|
104
|
-
.id-class {
|
105
|
-
#id-mixin();
|
106
|
-
#id-mixin;
|
107
|
-
}
|
108
|
-
|
109
102
|
.mixin-arguments (@width: 0px, ...) {
|
110
103
|
border: @arguments;
|
111
104
|
width: @width;
|
@@ -135,3 +128,40 @@ body {
|
|
135
128
|
.edge-case {
|
136
129
|
.mixin-arguments("{");
|
137
130
|
}
|
131
|
+
|
132
|
+
// semi-colon vs comma for delimiting
|
133
|
+
|
134
|
+
.mixin-takes-one(@a) {
|
135
|
+
one: @a;
|
136
|
+
}
|
137
|
+
|
138
|
+
.mixin-takes-two(@a; @b) {
|
139
|
+
one: @a;
|
140
|
+
two: @b;
|
141
|
+
}
|
142
|
+
|
143
|
+
.comma-vs-semi-colon {
|
144
|
+
.mixin-takes-two(@a : a; @b : b, c);
|
145
|
+
.mixin-takes-two(@a : d, e; @b : f);
|
146
|
+
.mixin-takes-one(@a: g);
|
147
|
+
.mixin-takes-one(@a : h;);
|
148
|
+
.mixin-takes-one(i);
|
149
|
+
.mixin-takes-one(j;);
|
150
|
+
.mixin-takes-two(k, l);
|
151
|
+
.mixin-takes-one(m, n;);
|
152
|
+
.mixin-takes-two(o, p; q);
|
153
|
+
.mixin-takes-two(r, s; t;);
|
154
|
+
}
|
155
|
+
|
156
|
+
.mixin-conflict(@a:defA, @b:defB, @c:defC) {
|
157
|
+
three: @a, @b, @c;
|
158
|
+
}
|
159
|
+
|
160
|
+
.mixin-conflict(@a:defA, @b:defB, @c:defC, @d:defD) {
|
161
|
+
four: @a, @b, @c, @d;
|
162
|
+
}
|
163
|
+
|
164
|
+
#named-conflict {
|
165
|
+
.mixin-conflict(11, 12, 13, @a:a);
|
166
|
+
.mixin-conflict(@a:a, 21, 22, 23);
|
167
|
+
}
|
@@ -92,3 +92,33 @@
|
|
92
92
|
.bool () when not (false) and (false), not (false) { content: not false and false, not false }
|
93
93
|
|
94
94
|
.bool1 { .bool }
|
95
|
+
|
96
|
+
.equality-unit-test(@num) when (@num = 1%) {
|
97
|
+
test: fail;
|
98
|
+
}
|
99
|
+
.equality-unit-test(@num) when (@num = 2) {
|
100
|
+
test: pass;
|
101
|
+
}
|
102
|
+
.equality-units {
|
103
|
+
.equality-unit-test(1px);
|
104
|
+
.equality-unit-test(2px);
|
105
|
+
}
|
106
|
+
|
107
|
+
.colorguard(@col) when (@col = red) { content: is @col; }
|
108
|
+
.colorguard(@col) when not (blue = @col) { content: is not blue its @col; }
|
109
|
+
.colorguard(@col) {}
|
110
|
+
.colorguardtest {
|
111
|
+
.colorguard(red);
|
112
|
+
.colorguard(blue);
|
113
|
+
.colorguard(purple);
|
114
|
+
}
|
115
|
+
|
116
|
+
.stringguard(@str) when (@str = "theme1") { content: is theme1; }
|
117
|
+
.stringguard(@str) when not ("theme2" = @str) { content: is not theme2; }
|
118
|
+
.stringguard(@str) when (~"theme1" = @str) { content: is theme1 no quotes; }
|
119
|
+
.stringguard(@str) {}
|
120
|
+
.stringguardtest {
|
121
|
+
.stringguard("theme1");
|
122
|
+
.stringguard("theme2");
|
123
|
+
.stringguard(theme1);
|
124
|
+
}
|