@less/test-data 4.9.1 → 5.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/UPSTREAM-FIXTURE-SYNC.md +54 -0
  2. package/package.json +4 -1
  3. package/styles.config.ts +15 -0
  4. package/tests-config/3rd-party/bootstrap4.css +182 -365
  5. package/tests-config/3rd-party/styles.config.cjs +1 -1
  6. package/tests-config/at-rules-compressed/at-rules-compressed.css +1 -1
  7. package/tests-config/at-rules-compressed-evaluation/at-rules-compressed-evaluation.css +1 -1
  8. package/tests-config/compression/compression.css +2 -2
  9. package/tests-config/compression/compression.less +0 -4
  10. package/tests-config/compression/styles.config.cjs +1 -1
  11. package/tests-config/debug/all/styles.config.cjs +1 -1
  12. package/tests-config/debug/comments/styles.config.cjs +1 -1
  13. package/tests-config/debug/mediaquery/styles.config.cjs +1 -1
  14. package/tests-config/filemanagerPlugin/styles.config.cjs +1 -1
  15. package/tests-config/functions-harness/functions-harness.css +8 -0
  16. package/tests-config/functions-harness/functions-harness.less +10 -0
  17. package/tests-config/js-type-errors/js-type-error-2.txt +4 -0
  18. package/tests-config/js-type-errors/js-type-error.txt +1 -1
  19. package/tests-config/namespacing/legacy/namespacing-7.css +15 -0
  20. package/tests-config/namespacing/namespacing-5.less +3 -3
  21. package/tests-config/namespacing/namespacing-7.css +16 -8
  22. package/tests-config/namespacing/styles.config.cjs +4 -1
  23. package/tests-config/sourcemaps/styles.config.cjs +1 -1
  24. package/tests-config/sourcemaps-variable-selector/styles.config.cjs +1 -1
  25. package/tests-config/static-urls/urls.css +2 -1
  26. package/tests-config/strict-imports/legacy/strict-imports.css +14 -0
  27. package/tests-config/strict-imports/strict-imports.css +4 -2
  28. package/tests-config/strict-imports/styles.config.cjs +6 -5
  29. package/tests-config/units/loose/loose.css +21 -0
  30. package/tests-config/units/loose/loose.less +21 -0
  31. package/tests-config/units/loose/styles.config.cjs +8 -0
  32. package/tests-config/units/no-strict/legacy/no-strict.css +24 -0
  33. package/tests-config/units/no-strict/no-strict.css +12 -12
  34. package/tests-config/url-args/legacy/urls.css +58 -0
  35. package/tests-config/url-args/urls.css +2 -1
  36. package/tests-error/eval/ampersand-merge-template-invalid.less +7 -0
  37. package/tests-error/eval/ampersand-merge-template-invalid.txt +1 -0
  38. package/tests-error/eval/at-rules-undefined-var.less +1 -1
  39. package/tests-error/eval/property-undefined.txt +1 -0
  40. package/tests-error/eval/recursive-property.txt +1 -0
  41. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.css +0 -38
  42. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.less +0 -70
  43. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.css +45 -0
  44. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.less +72 -0
  45. package/tests-unit/at-rules/at-rules.css +8 -6
  46. package/tests-unit/at-rules/legacy/at-rules.css +110 -0
  47. package/tests-unit/at-rules/styles.config.ts +5 -0
  48. package/tests-unit/at-rules-bubbling/at-rules-bubbling.css +121 -0
  49. package/tests-unit/at-rules-bubbling/legacy/at-rules-bubbling.css +122 -0
  50. package/tests-unit/at-rules-keyword-comments/at-rules-keyword-comments.css +2 -5
  51. package/tests-unit/at-rules-keyword-comments/legacy/at-rules-keyword-comments.css +12 -0
  52. package/tests-unit/at-rules-targeted/at-rules-targeted.css +5 -3
  53. package/tests-unit/at-rules-targeted/legacy/at-rules-targeted.css +55 -0
  54. package/tests-unit/calc/calc.css +8 -8
  55. package/tests-unit/calc/calc.less +1 -0
  56. package/tests-unit/calc/legacy/calc.css +32 -0
  57. package/tests-unit/color-functions/basic.css +1 -1
  58. package/tests-unit/color-functions/comprehensive.css +5 -5
  59. package/tests-unit/color-functions/comprehensive.less +1 -0
  60. package/tests-unit/color-functions/formats.css +0 -12
  61. package/tests-unit/color-functions/formats.less +0 -15
  62. package/tests-unit/color-functions/legacy/basic.css +21 -0
  63. package/tests-unit/color-functions/legacy/comprehensive.css +48 -0
  64. package/tests-unit/color-functions/legacy/modern-syntax.css +9 -0
  65. package/tests-unit/color-functions/legacy/operations.css +18 -0
  66. package/tests-unit/color-functions/legacy/rgba.css +20 -0
  67. package/tests-unit/color-functions/modern-syntax.css +4 -4
  68. package/tests-unit/color-functions/modern-syntax.less +1 -0
  69. package/tests-unit/color-functions/operations.css +1 -1
  70. package/tests-unit/color-functions/operations.less +1 -0
  71. package/tests-unit/color-functions/rgba.css +3 -3
  72. package/tests-unit/color-functions/rgba.less +3 -1
  73. package/tests-unit/comments/comments.css +5 -6
  74. package/tests-unit/comments/comments.less +2 -1
  75. package/tests-unit/comments/comments2.css +4 -6
  76. package/tests-unit/comments/comments2.less +3 -0
  77. package/tests-unit/comments/legacy/comments.css +86 -0
  78. package/tests-unit/comments/legacy/comments2.css +21 -0
  79. package/tests-unit/container/container.css +40 -83
  80. package/tests-unit/container/container.less +28 -82
  81. package/tests-unit/container/legacy/container.css +273 -0
  82. package/tests-unit/container/styles.config.ts +8 -0
  83. package/tests-unit/css-3/css-3.css +4 -4
  84. package/tests-unit/css-3/legacy/css-3.css +147 -0
  85. package/tests-unit/css-escapes/css-escapes.css +4 -4
  86. package/tests-unit/css-escapes/legacy/css-escapes.css +34 -0
  87. package/tests-unit/css-escapes/styles.config.ts +5 -0
  88. package/tests-unit/css-grid/css-grid.css +4 -1
  89. package/tests-unit/css-grid/legacy/css-grid.css +27 -0
  90. package/tests-unit/css-guards/css-guards.less +2 -1
  91. package/tests-unit/detached-rulesets/detached-rulesets.css +26 -18
  92. package/tests-unit/detached-rulesets/legacy/detached-rulesets.css +79 -0
  93. package/tests-unit/detached-rulesets/styles.config.cjs +8 -0
  94. package/tests-unit/directives-bubbling/directives-bubbling.css +16 -14
  95. package/tests-unit/extend/extend.css +22 -28
  96. package/tests-unit/extend/legacy/extend.css +79 -0
  97. package/tests-unit/extend/styles.config.ts +5 -0
  98. package/tests-unit/extend-chaining/extend-chaining.css +7 -10
  99. package/tests-unit/extend-chaining/legacy/extend-chaining.css +84 -0
  100. package/tests-unit/extend-clearfix/extend-clearfix.css +1 -3
  101. package/tests-unit/extend-clearfix/extend-clearfix.less +0 -1
  102. package/tests-unit/{extend → extend-clearfix/legacy}/extend-clearfix.css +3 -0
  103. package/tests-unit/extend-exact/extend-exact.css +25 -24
  104. package/tests-unit/extend-exact/legacy/extend-exact.css +40 -0
  105. package/tests-unit/extend-exact/styles.config.ts +5 -0
  106. package/tests-unit/extend-media/extend-media.css +9 -14
  107. package/tests-unit/extend-media/legacy/extend-media.css +27 -0
  108. package/tests-unit/extend-media/styles.config.ts +5 -0
  109. package/tests-unit/extend-nest/extend-nest.css +3 -22
  110. package/tests-unit/extend-nest/legacy/extend-nest.css +60 -0
  111. package/tests-unit/extend-selector/extend-selector.css +42 -67
  112. package/tests-unit/extend-selector/extend-selector.less +0 -15
  113. package/tests-unit/extend-selector/legacy/extend-selector.css +73 -0
  114. package/tests-unit/extend-selector/styles.config.ts +5 -0
  115. package/tests-unit/extract-and-length/extract-and-length.css +6 -5
  116. package/tests-unit/extract-and-length/extract-and-length.less +7 -2
  117. package/tests-unit/extract-and-length/legacy/extract-and-length.css +137 -0
  118. package/tests-unit/functions/functions.css +13 -24
  119. package/tests-unit/functions/functions.less +8 -21
  120. package/tests-unit/functions/legacy/functions.css +244 -0
  121. package/tests-unit/functions/legacy/functions.less +296 -0
  122. package/tests-unit/functions-each/functions-each.css +4 -2
  123. package/tests-unit/import/import/import-reference.less +1 -1
  124. package/tests-unit/import/import-reference-issues.css +6 -6
  125. package/tests-unit/import/import-reference.css +9 -5
  126. package/tests-unit/import/import.css +1 -1
  127. package/tests-unit/import/legacy/import-reference-issues.css +27 -0
  128. package/tests-unit/import/legacy/import-reference.css +101 -0
  129. package/tests-unit/import/styles.config.cjs +3 -4
  130. package/tests-unit/layer/layer.css +30 -28
  131. package/tests-unit/layer/legacy/layer.css +136 -0
  132. package/tests-unit/layer/styles.config.ts +5 -0
  133. package/tests-unit/math-css-vars/math-css-vars.css +1 -0
  134. package/tests-unit/math-css-vars/math-css-vars.less +1 -0
  135. package/tests-unit/media/legacy/media.css +274 -0
  136. package/tests-unit/media/media.css +49 -43
  137. package/tests-unit/media/media.less +0 -2
  138. package/tests-unit/media/styles.config.cjs +5 -0
  139. package/tests-unit/merge/merge.css +2 -2
  140. package/tests-unit/mixin-noparens/legacy/mixin-noparens.css +10 -0
  141. package/tests-unit/mixin-noparens/mixin-noparens.css +4 -2
  142. package/tests-unit/mixin-noparens/styles.config.ts +5 -0
  143. package/tests-unit/mixins/legacy/maps.css +9 -0
  144. package/tests-unit/mixins/legacy/mixins.css +147 -0
  145. package/tests-unit/mixins/maps.css +7 -5
  146. package/tests-unit/mixins/mixins.css +7 -5
  147. package/tests-unit/mixins/styles.config.ts +3 -0
  148. package/tests-unit/mixins-closure/legacy/mixins-closure.css +12 -0
  149. package/tests-unit/mixins-closure/mixins-closure.css +4 -2
  150. package/tests-unit/mixins-closure/styles.config.ts +5 -0
  151. package/tests-unit/mixins-guards/legacy/mixins-guards.css +214 -0
  152. package/tests-unit/mixins-guards/mixins-guards.css +21 -5
  153. package/tests-unit/mixins-guards/mixins-guards.less +0 -1
  154. package/tests-unit/mixins-guards/styles.config.ts +5 -0
  155. package/tests-unit/mixins-guards-default-func/legacy/mixins-guards-default-func.css +132 -0
  156. package/tests-unit/mixins-guards-default-func/mixins-guards-default-func.css +0 -2
  157. package/tests-unit/mixins-important/mixins-important.css +33 -19
  158. package/tests-unit/mixins-interpolated/legacy/mixins-interpolated.css +42 -0
  159. package/tests-unit/mixins-interpolated/mixins-interpolated.css +24 -14
  160. package/tests-unit/mixins-interpolated/styles.config.ts +5 -0
  161. package/tests-unit/mixins-nested/legacy/mixins-nested.css +17 -0
  162. package/tests-unit/mixins-nested/mixins-nested.css +16 -12
  163. package/tests-unit/mixins-nested/styles.config.ts +5 -0
  164. package/tests-unit/nesting/legacy/nesting.css +27 -0
  165. package/tests-unit/nesting/nesting-uncollapsed.css +26 -0
  166. package/tests-unit/nesting/nesting.css +1 -1
  167. package/tests-unit/nesting/styles.config.ts +6 -0
  168. package/tests-unit/operations/legacy/operations-advanced.css +36 -0
  169. package/tests-unit/operations/operations-advanced.css +1 -1
  170. package/tests-unit/operations/operations.css +4 -2
  171. package/tests-unit/parse-interpolation/legacy/parse-interpolation.css +39 -0
  172. package/tests-unit/parse-interpolation/parse-interpolation.css +72 -35
  173. package/tests-unit/parse-interpolation/parse-interpolation.less +73 -25
  174. package/tests-unit/parse-interpolation/styles.config.ts +5 -0
  175. package/tests-unit/parser-property-interp/parser-property-interp.css +1 -1
  176. package/tests-unit/parser-property-interp/parser-property-interp.less +2 -2
  177. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.css +1 -9
  178. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.less +11 -11
  179. package/tests-unit/plugin/styles.config.ts +11 -0
  180. package/tests-unit/property-accessors/legacy/property-accessors.css +60 -0
  181. package/tests-unit/property-accessors/property-accessors.css +15 -7
  182. package/tests-unit/property-name-interp/legacy/property-name-interp.css +24 -0
  183. package/tests-unit/property-name-interp/property-name-interp.css +1 -1
  184. package/tests-unit/property-name-interp/property-name-interp.less +4 -2
  185. package/tests-unit/property-targeted/legacy/property-targeted.css +7 -0
  186. package/tests-unit/property-targeted/property-targeted.css +1 -1
  187. package/tests-unit/rulesets/legacy/rulesets.css +31 -0
  188. package/tests-unit/rulesets/rulesets.css +30 -30
  189. package/tests-unit/rulesets/styles.config.ts +5 -0
  190. package/tests-unit/scope/legacy/scope.css +41 -0
  191. package/tests-unit/scope/scope.css +1 -1
  192. package/tests-unit/scope/styles.config.cjs +8 -0
  193. package/tests-unit/selectors/selectors.css +13 -41
  194. package/tests-unit/styles.config.cjs +1 -1
  195. package/tests-unit/styles.config.ts +8 -0
  196. package/tests-unit/variables/legacy/variable-advanced.css +58 -0
  197. package/tests-unit/variables/variable-advanced.css +15 -18
  198. package/tests-unit/variables/variable-advanced.less +5 -4
  199. package/tests-unit/variables/variables.css +1 -1
  200. package/tests-unit/variables-in-at-rules/variables-in-at-rules.less +3 -2
  201. package/tests-unit/whitespace/legacy/whitespace.css +45 -0
  202. package/tests-unit/whitespace/whitespace.css +3 -2
  203. package/tests-warnings/parentless-ampersand-nested.less +6 -0
  204. package/tests-warnings/parentless-ampersand-nested.txt +42 -0
  205. package/tests-warnings/parentless-ampersand.less +3 -0
  206. package/tests-warnings/parentless-ampersand.txt +21 -0
  207. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.css +0 -8
  208. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.less +0 -24
  209. package/tests-config/rootpath-escape-interpolation/styles.config.cjs +0 -8
  210. package/tests-config/sourcemaps/url-interpolation/styles.config.cjs +0 -9
  211. package/tests-config/sourcemaps/url-interpolation/url-interpolation.css +0 -13
  212. package/tests-config/sourcemaps/url-interpolation/url-interpolation.less +0 -24
  213. package/tests-error/eval/mixin-as-value.less +0 -6
  214. package/tests-error/eval/mixin-as-value.txt +0 -4
  215. package/tests-error/parse/property-interpolation-lookup.less +0 -8
  216. package/tests-error/parse/property-interpolation-lookup.txt +0 -4
  217. package/tests-unit/extend/extend-clearfix.less +0 -19
  218. package/tests-unit/lookup-interpolation/lookup-interpolation.css +0 -60
  219. package/tests-unit/lookup-interpolation/lookup-interpolation.less +0 -127
  220. package/tests-unit/media-nested-type/media-nested-type.css +0 -40
  221. package/tests-unit/media-nested-type/media-nested-type.less +0 -51
  222. /package/tests-unit/{directives-bubbling/directives-bubbling.less → at-rules-bubbling/at-rules-bubbling.less} +0 -0
  223. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.css +0 -0
  224. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.less +0 -0
  225. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.css +0 -0
  226. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.less +0 -0
  227. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/styles.config.cjs +0 -0
@@ -0,0 +1,137 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ .multiunit {
5
+ length: 6;
6
+ extract: abc "abc" 1 1px 1% #123;
7
+ }
8
+ .incorrect-index {
9
+ v1: extract(a b c, 5);
10
+ v2: extract(a, b, c, -2);
11
+ }
12
+ .scalar {
13
+ var-value: variable;
14
+ var-length: 1;
15
+ ill-index: extract(variable, 2);
16
+ name-value: name;
17
+ string-value: "string";
18
+ number-value: 12345678;
19
+ color-value: blue;
20
+ rgba-value: rgba(80, 160, 240, 0.67);
21
+ --empty-value: extract(~'', 1);
22
+ empty-value: ;
23
+ name-length: 1;
24
+ string-length: 1;
25
+ number-length: 1;
26
+ color-length: 1;
27
+ rgba-length: 1;
28
+ empty-length: 1;
29
+ }
30
+ .mixin-arguments-1 {
31
+ length: 4;
32
+ extract: c | b | a;
33
+ }
34
+ .mixin-arguments-2 {
35
+ length: 4;
36
+ extract: c | b | a;
37
+ }
38
+ .mixin-arguments-3 {
39
+ length: 4;
40
+ extract: c | b | a;
41
+ }
42
+ .mixin-arguments-4 {
43
+ length: 0;
44
+ extract: extract(, 2) | extract(, 1);
45
+ }
46
+ .mixin-arguments-2 {
47
+ length: 4;
48
+ extract: c | b | a;
49
+ }
50
+ .mixin-arguments-3 {
51
+ length: 4;
52
+ extract: c | b | a;
53
+ }
54
+ .mixin-arguments-4 {
55
+ length: 3;
56
+ extract: c | b;
57
+ }
58
+ .mixin-arguments-2 {
59
+ length: 4;
60
+ extract: 3 | 2 | 1;
61
+ }
62
+ .mixin-arguments-3 {
63
+ length: 4;
64
+ extract: 3 | 2 | 1;
65
+ }
66
+ .mixin-arguments-4 {
67
+ length: 3;
68
+ extract: 3 | 2;
69
+ }
70
+ .md-space-comma {
71
+ length-1: 3;
72
+ extract-1: 1 2 3;
73
+ length-2: 3;
74
+ extract-2: 2;
75
+ }
76
+ .md-space-comma-as-args-2 {
77
+ length: 3;
78
+ extract: "x" "y" "z" | 1 2 3 | a b c;
79
+ }
80
+ .md-space-comma-as-args-3 {
81
+ length: 3;
82
+ extract: "x" "y" "z" | 1 2 3 | a b c;
83
+ }
84
+ .md-space-comma-as-args-4 {
85
+ length: 2;
86
+ extract: "x" "y" "z" | 1 2 3;
87
+ }
88
+ .md-cat-space-comma {
89
+ length-1: 3;
90
+ extract-1: 1 2 3;
91
+ length-2: 3;
92
+ extract-2: 2;
93
+ }
94
+ .md-cat-space-comma-as-args-2 {
95
+ length: 3;
96
+ extract: "x" "y" "z" | 1 2 3 | a b c;
97
+ }
98
+ .md-cat-space-comma-as-args-3 {
99
+ length: 3;
100
+ extract: "x" "y" "z" | 1 2 3 | a b c;
101
+ }
102
+ .md-cat-space-comma-as-args-4 {
103
+ length: 2;
104
+ extract: "x" "y" "z" | 1 2 3;
105
+ }
106
+ .md-cat-comma-space {
107
+ length-1: 3;
108
+ extract-1: 1, 2, 3;
109
+ length-2: 3;
110
+ extract-2: 2;
111
+ }
112
+ .md-cat-comma-space-as-args-1 {
113
+ length: 3;
114
+ extract: "x", "y", "z" | 1, 2, 3 | a, b, c;
115
+ }
116
+ .md-cat-comma-space-as-args-2 {
117
+ length: 3;
118
+ extract: "x", "y", "z" | 1, 2, 3 | a, b, c;
119
+ }
120
+ .md-cat-comma-space-as-args-3 {
121
+ length: 3;
122
+ extract: "x", "y", "z" | 1, 2, 3 | a, b, c;
123
+ }
124
+ .md-cat-comma-space-as-args-4 {
125
+ length: 0;
126
+ extract: extract(, 2) | extract(, 1);
127
+ }
128
+ .md-3D {
129
+ length-1: 2;
130
+ extract-1: a b c d, 1 2 3 4;
131
+ length-2: 2;
132
+ extract-2: 5 6 7 8;
133
+ length-3: 4;
134
+ extract-3: 7;
135
+ length-4: 1;
136
+ extract-4: 8;
137
+ }
@@ -1,15 +1,5 @@
1
- #functions {
2
- color: #660000;
3
- width: 16;
4
- height: undefined("self");
5
- border-width: 5;
6
- variable: 11;
7
- background: linear-gradient(#000, #fff);
8
- }
9
1
  #built-in {
10
2
  escaped: -Some::weird(#thing, y);
11
- escaped-direct: a%20b%28c%29%3Dd%3Ae%23f%3Bg;
12
- escaped-svg-literal: url("data:image/svg+xml,%3Csvg%20fill%3D%22red%22%3E%3C/svg%3E");
13
3
  lighten: #ffcccc;
14
4
  lighten-relative: #ff6666;
15
5
  darken: #330000;
@@ -19,7 +9,7 @@
19
9
  desaturate: #29332f;
20
10
  desaturate-relative: #233930;
21
11
  greyscale: #2e2e2e;
22
- hsl-clamp: hsl(0, 0%, 100%);
12
+ hsl-clamp: hsl(380, 150%, 150%);
23
13
  spin-p: hsl(20, 50%, 50%);
24
14
  spin-n: hsl(350, 50%, 50%);
25
15
  luma-white: 100%;
@@ -30,12 +20,12 @@
30
20
  luma-blue: 7.22%;
31
21
  luma-yellow: 92.78%;
32
22
  luma-cyan: 78.74%;
33
- luma-differs-from-luminance: 23.89833349%;
23
+ luma-differs-from-luminance: 23.898333493%;
34
24
  luminance-white: 100%;
35
25
  luminance-black: 0%;
36
26
  luminance-black-alpha: 0%;
37
27
  luminance-red: 21.26%;
38
- luminance-differs-from-luma: 36.40541176%;
28
+ luminance-differs-from-luma: 36.405411765%;
39
29
  contrast-filter: contrast(30%);
40
30
  saturate-filter: saturate(5%);
41
31
  contrast-white: #000000;
@@ -95,12 +85,12 @@
95
85
  ceil: 11px;
96
86
  floor: 12px;
97
87
  sqrt: 5px;
98
- pi: 3.14159265;
88
+ pi: 3.1415926536;
99
89
  mod: 2m;
100
90
  abs: 4%;
101
- tan: 0.90040404;
102
- sin: 0.17364818;
103
- cos: 0.84385396;
91
+ tan: 0.9004040443;
92
+ sin: 0.17364817767;
93
+ cos: 0.8438539587;
104
94
  atan: 0.1rad;
105
95
  atan: 34deg;
106
96
  atan: 45deg;
@@ -111,14 +101,14 @@
111
101
  min: 5;
112
102
  min: 1pt;
113
103
  min: 3mm;
114
- min: min(1, 4ex, 2pt);
115
- min: min(calc(1 + 1), 1);
104
+ min: min(6em, 5, 4ex, 3, 2pt, 1);
105
+ min: min(calc(1em + 1vw), 1);
116
106
  min: min(var(--width), 802px);
117
107
  max: 3;
118
108
  max: 5em;
119
- max: max(5m, 3em);
109
+ max: max(1px, 2, 3em, 4, 5m, 6);
120
110
  max: min(var(--body-max-width), calc(100vw - 20px));
121
- max: max(1, calc(1 + 1));
111
+ max: max(1, calc(1em + 1vw));
122
112
  max-native: max(10vw, 100px);
123
113
  percentage: 20%;
124
114
  color-quoted-digit: #dda0dd;
@@ -228,13 +218,12 @@ html {
228
218
  c: false;
229
219
  d: true;
230
220
  e: false;
231
- f: true;
232
221
  }
233
222
  #if {
234
223
  a: 1;
235
224
  b: 2;
236
225
  c: 3;
237
- --e: ;
226
+ e: ;
238
227
  f: 6;
239
228
  g: 3;
240
229
  h: 5;
@@ -250,7 +239,7 @@ html {
250
239
  }
251
240
  .paren-escapes {
252
241
  list-1: 1, 2, 3;
253
- length-1: 3;
242
+ length-1: 1;
254
243
  item-1: 4;
255
244
  item-2: 5;
256
245
  item-3: 6;
@@ -1,20 +1,6 @@
1
- #functions {
2
- @var: 10;
3
- @colors: #000, #fff;
4
- color: _color("evil red"); // #660000
5
- width: increment(15);
6
- height: undefined("self");
7
- border-width: add(2, 3);
8
- variable: increment(@var);
9
- background: linear-gradient(@colors);
10
- }
11
-
12
1
  #built-in {
13
2
  @r: 32;
14
- @escaped-svg-literal: escape('<svg fill="red"></svg>');
15
3
  escaped: e("-Some::weird(#thing, y)");
16
- escaped-direct: escape('a b(c)=d:e#f;g');
17
- escaped-svg-literal: url("data:image/svg+xml,@{escaped-svg-literal}");
18
4
  lighten: lighten(#ff0000, 40%);
19
5
  lighten-relative: lighten(#ff0000, 40%, relative);
20
6
  darken: darken(#ff0000, 40%);
@@ -120,17 +106,17 @@
120
106
  min: min(1pt, 3pt);
121
107
  min: min(1cm, 3mm);
122
108
  min: min(6em, 5, 4ex, 3, 2pt, 1);
123
- min: min(calc(1 + 1), 1);
109
+ min: min(calc(1em + 1vw), 1);
124
110
  min: min(~'var(--width), 802px');
125
111
  max: max(1, 3);
126
112
  max: max(3em, 1em, 2em, 5em);
127
113
  max: max(1px, 2, 3em, 4, 5m, 6);
128
114
  max: min(var(--body-max-width), calc(100vw - 20px));
129
- max: max(1, calc(1 + 1));
115
+ max: max(1, calc(1em + 1vw));
130
116
  max-native: max(10vw, 100px);
131
117
  percentage: percentage((10px / 50));
132
118
  color-quoted-digit: color("#dda0dd");
133
- color-quoted-keyword: color("plum");
119
+ color-quoted-keyword: color("plum") + #000000;
134
120
  color-color: color(#dda0dd);
135
121
  color-keyword: color(plum);
136
122
  tint: tint(#777777, 13);
@@ -262,15 +248,14 @@ html {
262
248
  // not without parentheses (should behave the same as with parentheses)
263
249
  d: boolean(not false);
264
250
  e: boolean(not true);
265
- f: boolean((2 > 1) = (3 > 2));
266
251
  }
267
252
 
268
253
  #if {
269
254
  a: if(not(false), 1, 2);
270
255
  b: if(not(true), 1, 2);
271
- @1: if(not(false), {c: 3}, {d: 4}); @1();
256
+ @block1: if(not(false), {c: 3}, {d: 4}); @block1();
272
257
 
273
- --e: if(not(true), 5);
258
+ e: if(not(true), 5);
274
259
  @f: boolean(3 = 4);
275
260
  f: if(not(@f), 6);
276
261
  g: if(true, 3, 5);
@@ -313,5 +298,7 @@ html {
313
298
  list-2: @list-1;
314
299
  list-3: @list-2;
315
300
  }
316
- .mixin($list-1, ~(7; 8; 9));
301
+ // the following list was semi-colon-separated, but this was never an
302
+ // explicitly supported syntax / feature
303
+ .mixin($list-1, ~(7, 8, 9));
317
304
  }
@@ -0,0 +1,244 @@
1
+ #built-in {
2
+ escaped: -Some::weird(#thing, y);
3
+ lighten: #ffcccc;
4
+ lighten-relative: #ff6666;
5
+ darken: #330000;
6
+ darken-relative: #990000;
7
+ saturate: #203c31;
8
+ saturate-relative: #28342f;
9
+ desaturate: #29332f;
10
+ desaturate-relative: #233930;
11
+ greyscale: #2e2e2e;
12
+ hsl-clamp: hsl(0, 0%, 100%);
13
+ spin-p: hsl(20, 50%, 50%);
14
+ spin-n: hsl(350, 50%, 50%);
15
+ luma-white: 100%;
16
+ luma-black: 0%;
17
+ luma-black-alpha: 0%;
18
+ luma-red: 21.26%;
19
+ luma-green: 71.52%;
20
+ luma-blue: 7.22%;
21
+ luma-yellow: 92.78%;
22
+ luma-cyan: 78.74%;
23
+ luma-differs-from-luminance: 23.89833349%;
24
+ luminance-white: 100%;
25
+ luminance-black: 0%;
26
+ luminance-black-alpha: 0%;
27
+ luminance-red: 21.26%;
28
+ luminance-differs-from-luma: 36.40541176%;
29
+ contrast-filter: contrast(30%);
30
+ saturate-filter: saturate(5%);
31
+ contrast-white: #000000;
32
+ contrast-black: #ffffff;
33
+ contrast-red: #ffffff;
34
+ contrast-green: #000000;
35
+ contrast-blue: #ffffff;
36
+ contrast-yellow: #000000;
37
+ contrast-cyan: #000000;
38
+ contrast-light: #111111;
39
+ contrast-dark: #eeeeee;
40
+ contrast-wrongorder: #111111;
41
+ contrast-light-thresh: #111111;
42
+ contrast-dark-thresh: #eeeeee;
43
+ contrast-high-thresh: #eeeeee;
44
+ contrast-low-thresh: #111111;
45
+ contrast-light-thresh-per: #111111;
46
+ contrast-dark-thresh-per: #eeeeee;
47
+ contrast-high-thresh-per: #eeeeee;
48
+ contrast-low-thresh-per: #111111;
49
+ replace: "Hello, World!";
50
+ replace-captured: "This is a new string.";
51
+ replace-with-flags: "2 + 2 = 4";
52
+ replace-single-quoted: 'foo-2';
53
+ replace-escaped-string: bar-2;
54
+ replace-keyword: baz-2;
55
+ replace-with-color: "#135#1357";
56
+ replace-with-number: "2em07";
57
+ format: "rgb(32, 128, 64)";
58
+ format-string: "hello world";
59
+ format-multiple: "hello earth 2";
60
+ format-url-encode: "red is %23ff0000";
61
+ format-single-quoted: 'hello single world';
62
+ format-escaped-string: hello escaped world;
63
+ format-color-as-string: "#123";
64
+ format-number-as-string: "4px";
65
+ eformat: rgb(32, 128, 64);
66
+ unitless: 12;
67
+ unit: 14em;
68
+ unitpercentage: 100%;
69
+ get-unit: px;
70
+ get-unit-empty: ;
71
+ hue: 98;
72
+ saturation: 12%;
73
+ lightness: 95%;
74
+ hsvhue: 98;
75
+ hsvsaturation: 12%;
76
+ hsvvalue: 95%;
77
+ red: 255;
78
+ green: 255;
79
+ blue: 255;
80
+ rounded: 11;
81
+ rounded-two: 10.67;
82
+ roundedpx: 3px;
83
+ roundedpx-three: 3.333px;
84
+ rounded-percentage: 10%;
85
+ ceil: 11px;
86
+ floor: 12px;
87
+ sqrt: 5px;
88
+ pi: 3.14159265;
89
+ mod: 2m;
90
+ abs: 4%;
91
+ tan: 0.90040404;
92
+ sin: 0.17364818;
93
+ cos: 0.84385396;
94
+ atan: 0.1rad;
95
+ atan: 34deg;
96
+ atan: 45deg;
97
+ pow: 64px;
98
+ pow: 64;
99
+ pow: 27;
100
+ min: 0;
101
+ min: 5;
102
+ min: 1pt;
103
+ min: 3mm;
104
+ min: min(1, 4ex, 2pt);
105
+ min: min(calc(1em + 1vw), 1);
106
+ min: min(var(--width), 802px);
107
+ max: 3;
108
+ max: 5em;
109
+ max: max(5m, 3em);
110
+ max: min(var(--body-max-width), calc(100vw - 20px));
111
+ max: max(1, calc(1em + 1vw));
112
+ max-native: max(10vw, 100px);
113
+ percentage: 20%;
114
+ color-quoted-digit: #dda0dd;
115
+ color-quoted-keyword: #dda0dd;
116
+ color-color: #dda0dd;
117
+ color-keyword: #dda0dd;
118
+ tint: #898989;
119
+ tint-full: #ffffff;
120
+ tint-percent: #898989;
121
+ tint-negative: #656565;
122
+ shade: #686868;
123
+ shade-full: #000000;
124
+ shade-percent: #686868;
125
+ shade-negative: #868686;
126
+ fade-out: rgba(255, 0, 0, 0.95);
127
+ fade-in: rgba(255, 0, 0, 0.95);
128
+ fade-out-relative: rgba(255, 0, 0, 0.95);
129
+ fade-in-relative: rgba(255, 0, 0, 0.945);
130
+ fade-out2: rgba(255, 0, 0, 0);
131
+ fade-out2-relative: rgba(255, 0, 0, 0.25);
132
+ hsv: hsl(5, 33.33333333%, 22.5%);
133
+ hsva: rgba(77, 40, 38, 0.2);
134
+ mix: #ff3300;
135
+ mix-0: #ffff00;
136
+ mix-100: #ff0000;
137
+ mix-weightless: #ff8000;
138
+ mixt: rgba(255, 0, 0, 0.5);
139
+ }
140
+ #built-in .is-a {
141
+ rules-defined: true;
142
+ foo-defined: false;
143
+ ruleset: true;
144
+ color: true;
145
+ color1: true;
146
+ color2: true;
147
+ color3: true;
148
+ keyword: true;
149
+ number: true;
150
+ string: true;
151
+ pixel: true;
152
+ percent: true;
153
+ em: true;
154
+ ex: true;
155
+ rem: true;
156
+ vw: true;
157
+ vh: true;
158
+ vmin: true;
159
+ vmax: true;
160
+ ch: true;
161
+ cm: true;
162
+ mm: true;
163
+ pt: true;
164
+ q: true;
165
+ in: true;
166
+ cat: true;
167
+ no-unit-is-empty: true;
168
+ case-insensitive-1: true;
169
+ case-insensitive-2: true;
170
+ }
171
+ #alpha {
172
+ alpha: hsla(25, 50%, 40%, 0.6);
173
+ alpha2: 0.5;
174
+ alpha3: 0;
175
+ }
176
+ #blendmodes {
177
+ multiply: #ed0000;
178
+ screen: #f600f6;
179
+ overlay: #ed0000;
180
+ softlight: #fa0000;
181
+ hardlight: #0000ed;
182
+ difference: #f600f6;
183
+ exclusion: #f600f6;
184
+ average: #7b007b;
185
+ negation: #d73131;
186
+ }
187
+ #extract-and-length {
188
+ extract: 3 2 1 C B A;
189
+ length: 6;
190
+ }
191
+ #quoted-functions-in-mixin {
192
+ replace-double-quoted: 'foo-2';
193
+ replace-single-quoted: 'foo-4';
194
+ replace-escaped-string: bar-2;
195
+ replace-keyword: baz-2;
196
+ replace-anonymous: qux-2;
197
+ format-double-quoted: "hello world";
198
+ format-single-quoted: 'hello single world';
199
+ format-escaped-string: hello escaped world;
200
+ format-keyword: hello;
201
+ format-anonymous: hello anonymous world;
202
+ }
203
+ #list-details {
204
+ length: 2;
205
+ one: a 1;
206
+ two: b 2;
207
+ two-length: 2;
208
+ two-one: b;
209
+ two-two: 2;
210
+ }
211
+ /* comment1 */
212
+ html {
213
+ color: #8080ff;
214
+ }
215
+ #boolean {
216
+ a: true;
217
+ b: false;
218
+ c: false;
219
+ }
220
+ #if {
221
+ a: 1;
222
+ b: 2;
223
+ c: 3;
224
+ e: ;
225
+ f: 6;
226
+ g: 3;
227
+ h: 5;
228
+ i: 6;
229
+ j: 8;
230
+ k: 1;
231
+ l: black;
232
+ /* results in void */
233
+ color: green;
234
+ color: purple;
235
+ }
236
+ .paren-escapes {
237
+ list-1: 1, 2, 3;
238
+ length-1: 3;
239
+ item-1: 4;
240
+ item-2: 5;
241
+ item-3: 6;
242
+ list-2: 1, 2, 3;
243
+ list-3: 7, 8, 9;
244
+ }