@less/test-data 4.9.0 → 5.0.0-alpha.1

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 (204) 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/styles.config.cjs +1 -1
  5. package/tests-config/compression/styles.config.cjs +1 -1
  6. package/tests-config/debug/all/styles.config.cjs +1 -1
  7. package/tests-config/debug/comments/styles.config.cjs +1 -1
  8. package/tests-config/debug/mediaquery/styles.config.cjs +1 -1
  9. package/tests-config/filemanagerPlugin/styles.config.cjs +1 -1
  10. package/tests-config/functions-harness/functions-harness.css +8 -0
  11. package/tests-config/functions-harness/functions-harness.less +10 -0
  12. package/tests-config/js-type-errors/js-type-error-2.txt +4 -0
  13. package/tests-config/js-type-errors/js-type-error.txt +1 -1
  14. package/tests-config/namespacing/legacy/namespacing-7.css +15 -0
  15. package/tests-config/namespacing/namespacing-5.less +3 -3
  16. package/tests-config/namespacing/namespacing-7.css +16 -8
  17. package/tests-config/namespacing/styles.config.cjs +4 -1
  18. package/tests-config/sourcemaps/styles.config.cjs +1 -1
  19. package/tests-config/sourcemaps-variable-selector/styles.config.cjs +1 -1
  20. package/tests-config/strict-imports/legacy/strict-imports.css +14 -0
  21. package/tests-config/strict-imports/strict-imports.css +4 -2
  22. package/tests-config/strict-imports/styles.config.cjs +6 -5
  23. package/tests-error/eval/ampersand-merge-template-invalid.less +7 -0
  24. package/tests-error/eval/ampersand-merge-template-invalid.txt +1 -0
  25. package/tests-error/eval/at-rules-undefined-var.less +1 -1
  26. package/tests-error/eval/property-undefined.txt +1 -0
  27. package/tests-error/eval/recursive-property.txt +1 -0
  28. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.css +0 -38
  29. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.less +0 -70
  30. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.css +45 -0
  31. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.less +72 -0
  32. package/tests-unit/at-rules/at-rules.css +8 -6
  33. package/tests-unit/at-rules/legacy/at-rules.css +110 -0
  34. package/tests-unit/at-rules/styles.config.ts +5 -0
  35. package/tests-unit/at-rules-bubbling/at-rules-bubbling.css +121 -0
  36. package/tests-unit/at-rules-bubbling/legacy/at-rules-bubbling.css +122 -0
  37. package/tests-unit/at-rules-keyword-comments/at-rules-keyword-comments.css +2 -5
  38. package/tests-unit/at-rules-keyword-comments/legacy/at-rules-keyword-comments.css +12 -0
  39. package/tests-unit/at-rules-targeted/at-rules-targeted.css +5 -3
  40. package/tests-unit/at-rules-targeted/legacy/at-rules-targeted.css +55 -0
  41. package/tests-unit/calc/calc.css +8 -8
  42. package/tests-unit/calc/calc.less +1 -0
  43. package/tests-unit/calc/legacy/calc.css +32 -0
  44. package/tests-unit/color-functions/basic.css +1 -1
  45. package/tests-unit/color-functions/comprehensive.css +5 -5
  46. package/tests-unit/color-functions/comprehensive.less +1 -0
  47. package/tests-unit/color-functions/formats.css +0 -12
  48. package/tests-unit/color-functions/formats.less +0 -15
  49. package/tests-unit/color-functions/legacy/basic.css +21 -0
  50. package/tests-unit/color-functions/legacy/comprehensive.css +48 -0
  51. package/tests-unit/color-functions/legacy/modern-syntax.css +9 -0
  52. package/tests-unit/color-functions/legacy/operations.css +18 -0
  53. package/tests-unit/color-functions/legacy/rgba.css +20 -0
  54. package/tests-unit/color-functions/modern-syntax.css +4 -4
  55. package/tests-unit/color-functions/modern-syntax.less +1 -0
  56. package/tests-unit/color-functions/operations.less +1 -0
  57. package/tests-unit/color-functions/rgba.css +3 -3
  58. package/tests-unit/color-functions/rgba.less +3 -1
  59. package/tests-unit/comments/comments.css +5 -6
  60. package/tests-unit/comments/comments.less +2 -1
  61. package/tests-unit/comments/comments2.css +4 -6
  62. package/tests-unit/comments/comments2.less +3 -0
  63. package/tests-unit/comments/legacy/comments.css +86 -0
  64. package/tests-unit/comments/legacy/comments2.css +21 -0
  65. package/tests-unit/container/container.css +40 -83
  66. package/tests-unit/container/container.less +28 -82
  67. package/tests-unit/container/legacy/container.css +273 -0
  68. package/tests-unit/container/styles.config.ts +8 -0
  69. package/tests-unit/css-3/css-3.css +4 -4
  70. package/tests-unit/css-3/legacy/css-3.css +147 -0
  71. package/tests-unit/css-escapes/css-escapes.css +4 -4
  72. package/tests-unit/css-escapes/legacy/css-escapes.css +34 -0
  73. package/tests-unit/css-escapes/styles.config.ts +5 -0
  74. package/tests-unit/css-grid/css-grid.css +4 -1
  75. package/tests-unit/css-grid/legacy/css-grid.css +27 -0
  76. package/tests-unit/css-guards/css-guards.less +2 -1
  77. package/tests-unit/detached-rulesets/detached-rulesets.css +26 -18
  78. package/tests-unit/detached-rulesets/legacy/detached-rulesets.css +79 -0
  79. package/tests-unit/directives-bubbling/directives-bubbling.css +16 -14
  80. package/tests-unit/extend/extend.css +22 -28
  81. package/tests-unit/extend/legacy/extend.css +79 -0
  82. package/tests-unit/extend/styles.config.ts +5 -0
  83. package/tests-unit/extend-chaining/extend-chaining.css +7 -10
  84. package/tests-unit/extend-chaining/legacy/extend-chaining.css +84 -0
  85. package/tests-unit/extend-clearfix/extend-clearfix.css +1 -3
  86. package/tests-unit/extend-clearfix/extend-clearfix.less +0 -1
  87. package/tests-unit/{extend → extend-clearfix/legacy}/extend-clearfix.css +3 -0
  88. package/tests-unit/extend-exact/extend-exact.css +25 -24
  89. package/tests-unit/extend-exact/legacy/extend-exact.css +40 -0
  90. package/tests-unit/extend-exact/styles.config.ts +5 -0
  91. package/tests-unit/extend-media/extend-media.css +9 -14
  92. package/tests-unit/extend-media/legacy/extend-media.css +27 -0
  93. package/tests-unit/extend-media/styles.config.ts +5 -0
  94. package/tests-unit/extend-nest/extend-nest.css +3 -22
  95. package/tests-unit/extend-nest/legacy/extend-nest.css +60 -0
  96. package/tests-unit/extend-selector/extend-selector.css +42 -67
  97. package/tests-unit/extend-selector/extend-selector.less +0 -15
  98. package/tests-unit/extend-selector/legacy/extend-selector.css +73 -0
  99. package/tests-unit/extend-selector/styles.config.ts +5 -0
  100. package/tests-unit/extract-and-length/extract-and-length.css +6 -5
  101. package/tests-unit/extract-and-length/extract-and-length.less +7 -2
  102. package/tests-unit/extract-and-length/legacy/extract-and-length.css +137 -0
  103. package/tests-unit/functions/functions.css +5 -16
  104. package/tests-unit/functions/functions.less +7 -20
  105. package/tests-unit/functions/legacy/functions.css +244 -0
  106. package/tests-unit/functions/legacy/functions.less +296 -0
  107. package/tests-unit/functions-each/functions-each.css +4 -2
  108. package/tests-unit/import/import-reference-issues.css +6 -6
  109. package/tests-unit/import/import-reference.css +4 -2
  110. package/tests-unit/import/legacy/import-reference-issues.css +27 -0
  111. package/tests-unit/import/legacy/import-reference.css +101 -0
  112. package/tests-unit/import/styles.config.cjs +5 -4
  113. package/tests-unit/layer/layer.css +30 -28
  114. package/tests-unit/layer/legacy/layer.css +136 -0
  115. package/tests-unit/layer/styles.config.ts +5 -0
  116. package/tests-unit/math-css-vars/math-css-vars.css +1 -0
  117. package/tests-unit/math-css-vars/math-css-vars.less +1 -0
  118. package/tests-unit/media/legacy/media.css +274 -0
  119. package/tests-unit/media/media.css +49 -43
  120. package/tests-unit/media/media.less +0 -2
  121. package/tests-unit/media/styles.config.cjs +5 -0
  122. package/tests-unit/merge/merge.css +2 -2
  123. package/tests-unit/mixin-noparens/legacy/mixin-noparens.css +10 -0
  124. package/tests-unit/mixin-noparens/mixin-noparens.css +4 -2
  125. package/tests-unit/mixin-noparens/styles.config.ts +5 -0
  126. package/tests-unit/mixins/legacy/maps.css +9 -0
  127. package/tests-unit/mixins/legacy/mixins.css +147 -0
  128. package/tests-unit/mixins/maps.css +7 -5
  129. package/tests-unit/mixins/mixins.css +7 -5
  130. package/tests-unit/mixins/styles.config.ts +5 -0
  131. package/tests-unit/mixins-closure/legacy/mixins-closure.css +12 -0
  132. package/tests-unit/mixins-closure/mixins-closure.css +4 -2
  133. package/tests-unit/mixins-closure/styles.config.ts +5 -0
  134. package/tests-unit/mixins-guards/legacy/mixins-guards.css +214 -0
  135. package/tests-unit/mixins-guards/mixins-guards.css +5 -3
  136. package/tests-unit/mixins-guards/mixins-guards.less +0 -1
  137. package/tests-unit/mixins-guards/styles.config.ts +5 -0
  138. package/tests-unit/mixins-guards-default-func/legacy/mixins-guards-default-func.css +132 -0
  139. package/tests-unit/mixins-guards-default-func/mixins-guards-default-func.css +0 -2
  140. package/tests-unit/mixins-important/mixins-important.css +33 -19
  141. package/tests-unit/mixins-interpolated/legacy/mixins-interpolated.css +42 -0
  142. package/tests-unit/mixins-interpolated/mixins-interpolated.css +24 -14
  143. package/tests-unit/mixins-interpolated/styles.config.ts +5 -0
  144. package/tests-unit/mixins-nested/legacy/mixins-nested.css +17 -0
  145. package/tests-unit/mixins-nested/mixins-nested.css +16 -12
  146. package/tests-unit/mixins-nested/styles.config.ts +5 -0
  147. package/tests-unit/nesting/legacy/nesting.css +27 -0
  148. package/tests-unit/nesting/nesting-uncollapsed.css +26 -0
  149. package/tests-unit/nesting/nesting.css +1 -1
  150. package/tests-unit/nesting/styles.config.ts +6 -0
  151. package/tests-unit/operations/operations.css +4 -2
  152. package/tests-unit/parse-interpolation/legacy/parse-interpolation.css +39 -0
  153. package/tests-unit/parse-interpolation/parse-interpolation.css +72 -35
  154. package/tests-unit/parse-interpolation/parse-interpolation.less +73 -25
  155. package/tests-unit/parse-interpolation/styles.config.ts +5 -0
  156. package/tests-unit/parser-property-interp/parser-property-interp.css +1 -1
  157. package/tests-unit/parser-property-interp/parser-property-interp.less +2 -2
  158. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.css +1 -9
  159. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.less +11 -11
  160. package/tests-unit/plugin/styles.config.ts +11 -0
  161. package/tests-unit/property-accessors/legacy/property-accessors.css +60 -0
  162. package/tests-unit/property-accessors/property-accessors.css +15 -7
  163. package/tests-unit/property-name-interp/legacy/property-name-interp.css +24 -0
  164. package/tests-unit/property-name-interp/property-name-interp.css +1 -1
  165. package/tests-unit/property-name-interp/property-name-interp.less +4 -2
  166. package/tests-unit/property-targeted/legacy/property-targeted.css +7 -0
  167. package/tests-unit/property-targeted/property-targeted.css +1 -1
  168. package/tests-unit/rulesets/legacy/rulesets.css +31 -0
  169. package/tests-unit/rulesets/rulesets.css +30 -30
  170. package/tests-unit/rulesets/styles.config.ts +5 -0
  171. package/tests-unit/scope/legacy/scope.css +41 -0
  172. package/tests-unit/scope/scope.css +1 -1
  173. package/tests-unit/selectors/selectors.css +13 -41
  174. package/tests-unit/styles.config.cjs +1 -1
  175. package/tests-unit/styles.config.ts +8 -0
  176. package/tests-unit/variables/legacy/variable-advanced.css +58 -0
  177. package/tests-unit/variables/variable-advanced.css +1 -4
  178. package/tests-unit/variables/variable-advanced.less +5 -4
  179. package/tests-unit/variables-in-at-rules/variables-in-at-rules.less +3 -2
  180. package/tests-unit/whitespace/legacy/whitespace.css +45 -0
  181. package/tests-unit/whitespace/whitespace.css +3 -2
  182. package/tests-warnings/parentless-ampersand-nested.less +6 -0
  183. package/tests-warnings/parentless-ampersand-nested.txt +42 -0
  184. package/tests-warnings/parentless-ampersand.less +3 -0
  185. package/tests-warnings/parentless-ampersand.txt +21 -0
  186. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.css +0 -8
  187. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.less +0 -24
  188. package/tests-config/rootpath-escape-interpolation/styles.config.cjs +0 -8
  189. package/tests-config/sourcemaps/url-interpolation/styles.config.cjs +0 -9
  190. package/tests-config/sourcemaps/url-interpolation/url-interpolation.css +0 -13
  191. package/tests-config/sourcemaps/url-interpolation/url-interpolation.less +0 -24
  192. package/tests-error/parse/property-interpolation-lookup.less +0 -8
  193. package/tests-error/parse/property-interpolation-lookup.txt +0 -4
  194. package/tests-unit/extend/extend-clearfix.less +0 -19
  195. package/tests-unit/lookup-interpolation/lookup-interpolation.css +0 -60
  196. package/tests-unit/lookup-interpolation/lookup-interpolation.less +0 -127
  197. package/tests-unit/media-nested-type/media-nested-type.css +0 -40
  198. package/tests-unit/media-nested-type/media-nested-type.less +0 -51
  199. /package/tests-unit/{directives-bubbling/directives-bubbling.less → at-rules-bubbling/at-rules-bubbling.less} +0 -0
  200. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.css +0 -0
  201. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.less +0 -0
  202. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.css +0 -0
  203. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.less +0 -0
  204. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/styles.config.cjs +0 -0
@@ -0,0 +1,20 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ #rrggbbaa {
5
+ test-1: #55FF5599;
6
+ test-2: #5F59;
7
+ test-3: rgba(136, 255, 136, 0.6);
8
+ test-4: rgba(85, 255, 85, 0.1);
9
+ test-5: rgba(85, 255, 85, 0.6);
10
+ test-6: rgba(85, 255, 85, 0.6);
11
+ test-7: rgba(85, 255, 85, 0.5);
12
+ test-8: rgba(var(--color-accent), 0.2);
13
+ test-9: rgb(var(--color-accent));
14
+ test-9: hsla(var(--color-accent));
15
+ test-10: #55FF5599;
16
+ test-11: hsla(120, 100%, 66.66666667%, 0.6);
17
+ test-12: hsla(120, 100%, 66.66666667%, 0.5);
18
+ --semi-transparent-dark-background: #001e00ee;
19
+ --semi-transparent-dark-background-2: #001e00;
20
+ }
@@ -1,6 +1,6 @@
1
1
  foo {
2
- color: #0080ff;
3
- color: rgba(0, 128, 255, 0.5);
4
- color: hsl(198, 28%, 50%);
5
- color: hsla(198, 28%, 50%, 0.5);
2
+ color: rgb(0 128 255);
3
+ color: rgb(0 128 255 / 50%);
4
+ color: hsl(198deg 28% 50%);
5
+ color: hsl(198deg 28% 50% / 50%);
6
6
  }
@@ -1,4 +1,5 @@
1
1
  // Modern CSS color syntax tests - space-separated values and / alpha syntax
2
+ // Less v5 preserves modern syntax when possible.
2
3
  foo {
3
4
  color: rgb(0 128 255);
4
5
  color: rgb(0 128 255 / 50%);
@@ -4,5 +4,6 @@
4
4
  .b { color: (#eee + #fff); } // #ffffff
5
5
  .c { color: (#aaa * 3); } // #ffffff
6
6
  .d { color: (#00ee00 + #009900); } // #00ff00
7
+ // Less v5 preserves color statements that overflow.
7
8
  .e { color: rgba(-99.9, 31.4159, 321, 0.42); }
8
9
  }
@@ -1,8 +1,8 @@
1
1
  #rrggbbaa {
2
2
  test-1: #55FF5599;
3
3
  test-2: #5F59;
4
- test-3: rgba(136, 255, 136, 0.6);
5
- test-4: rgba(85, 255, 85, 0.1);
4
+ test-3: #88ff8899;
5
+ test-4: #55ff551a;
6
6
  test-5: rgba(85, 255, 85, 0.6);
7
7
  test-6: rgba(85, 255, 85, 0.6);
8
8
  test-7: rgba(85, 255, 85, 0.5);
@@ -13,5 +13,5 @@
13
13
  test-11: hsla(120, 100%, 66.66666667%, 0.6);
14
14
  test-12: hsla(120, 100%, 66.66666667%, 0.5);
15
15
  --semi-transparent-dark-background: #001e00ee;
16
- --semi-transparent-dark-background-2: #001e00;
16
+ --semi-transparent-dark-background-2: rgba(0, 30, 0, 238);
17
17
  }
@@ -2,6 +2,7 @@
2
2
  #rrggbbaa {
3
3
  test-1: #55FF5599;
4
4
  test-2: #5F59;
5
+ // Less v5 will attempt to preserve color formats when possible.
5
6
  test-3: lighten(#55FF5599, 10%);
6
7
  test-4: fade(#5F59, 10%);
7
8
  test-5: rgba(#55FF5599);
@@ -14,5 +15,6 @@
14
15
  test-11: hsla(#5F59);
15
16
  test-12: hsla(#5F59, 0.5);
16
17
  --semi-transparent-dark-background: #001e00ee;
17
- --semi-transparent-dark-background-2: rgba(0, 30, 0, 238); // invalid opacity will be capped
18
+ // Less v5 will not alter custom properties - they can represent any unknown value.
19
+ --semi-transparent-dark-background-2: rgba(0, 30, 0, 238);
18
20
  }
@@ -26,7 +26,7 @@
26
26
  */
27
27
  /* @group Variables
28
28
  ------------------- */
29
- #comments,
29
+ #comments /* boo *//* boo again*/,
30
30
  .comments {
31
31
  /**/
32
32
  color: red;
@@ -45,10 +45,10 @@
45
45
  color: grey;
46
46
  }
47
47
  */
48
- .selector,
48
+ .selector /* .with */,
49
49
  .lots,
50
- .comments {
51
- color: grey, /* blue */ orange;
50
+ /* of */ .comments {
51
+ color/* survive */ /* me too */: grey, /* blue */ orange;
52
52
  -webkit-border-radius: 2px /* webkit only */;
53
53
  -moz-border-radius: 8px /* moz only with operation */;
54
54
  }
@@ -58,8 +58,7 @@
58
58
  .sr-only-focusable {
59
59
  clip: auto;
60
60
  }
61
- @-webkit-keyframes hover {
62
- /* and Chrome */
61
+ @-webkit-keyframes /* Safari */ hover /* and Chrome */ {
63
62
  0% {
64
63
  color: red;
65
64
  }
@@ -1,4 +1,5 @@
1
1
  // Comprehensive comment handling tests
2
+ // Less v5 will preserve many more comments as-is
2
3
  /******************\
3
4
  * *
4
5
  * Comment Header *
@@ -99,5 +100,5 @@
99
100
  // line immediately followed
100
101
  /*by block */
101
102
  @string_w_comment: ~"/* // Not commented out // */";
102
- #output-block { --comment: @string_w_comment; }
103
+ #output-block { --comment: @{string_w_comment}; }
103
104
  /*comment on last line*/
@@ -1,18 +1,16 @@
1
- @-webkit-keyframes hover {
2
- /* Safari and Chrome */
3
- }
4
1
  .bg {
5
2
  background-image: linear-gradient(#333 /*{comment}*/, #111);
6
3
  }
7
4
  #planadvisor,
5
+ /*comment*//*comment*/
8
6
  .first,
9
- .planning {
7
+ /*comment*//*comment*/.planning {
10
8
  margin: 10px;
11
9
  total-width: 96em;
12
10
  }
13
11
  .some-inline-comments {
14
12
  a: yes /* comment */;
15
13
  b: red /* comment */;
16
- c: yes /* comment */;
17
- d: red /* comment */;
14
+ c: yes;
15
+ d: red;
18
16
  }
@@ -1,5 +1,6 @@
1
1
  // Inline comments and grid system tests
2
2
  @media all and/*! */(max-width:1024px) {}
3
+ // In Less v5, This is an empty ruleset, so it is removed.
3
4
  @-webkit-keyframes hover /* Safari and Chrome */{ }
4
5
  .bg {
5
6
  background-image: linear-gradient(#333 /*{comment}*/, #111);
@@ -25,6 +26,8 @@
25
26
  .some-inline-comments {
26
27
  a: yes /* comment */;
27
28
  b: red /* comment */;
29
+ // In Less v5, the comment is considered to be attached to the source,
30
+ // not part of the value.
28
31
  @c: yes /* comment */;
29
32
  @d: red /* comment */;
30
33
  c: @c;
@@ -0,0 +1,86 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ /******************\
5
+ * *
6
+ * Comment Header *
7
+ * *
8
+ \******************/
9
+ /*
10
+
11
+ Comment
12
+
13
+ */
14
+ /*
15
+ * Comment Test
16
+ *
17
+ * - cloudhead (http://cloudhead.net)
18
+ *
19
+ */
20
+ /* Colors
21
+ * ------
22
+ * #EDF8FC (background blue)
23
+ * #166C89 (darkest blue)
24
+ *
25
+ * Text:
26
+ * #333 (standard text) // A comment within a comment!
27
+ * #1F9EC9 (standard link)
28
+ *
29
+ */
30
+ /* @group Variables
31
+ ------------------- */
32
+ #comments,
33
+ .comments {
34
+ /**/
35
+ color: red;
36
+ /* A C-style comment */
37
+ /* A C-style comment */
38
+ background-color: orange;
39
+ font-size: 12px;
40
+ /* lost comment */
41
+ content: "content";
42
+ border: 1px solid black;
43
+ padding: 0;
44
+ margin: 2em;
45
+ }
46
+ /* commented out
47
+ #more-comments {
48
+ color: grey;
49
+ }
50
+ */
51
+ .selector,
52
+ .lots,
53
+ .comments {
54
+ color: grey, /* blue */ orange;
55
+ -webkit-border-radius: 2px /* webkit only */;
56
+ -moz-border-radius: 8px /* moz only with operation */;
57
+ }
58
+ .test-rule {
59
+ color: 1px;
60
+ }
61
+ .sr-only-focusable {
62
+ clip: auto;
63
+ }
64
+ @-webkit-keyframes hover {
65
+ /* and Chrome */
66
+ 0% {
67
+ color: red;
68
+ }
69
+ }
70
+ #last {
71
+ color: blue;
72
+ }
73
+ /* */
74
+ /* { */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ #div {
79
+ color: #A33;
80
+ }
81
+ /* } */
82
+ /*by block */
83
+ #output-block {
84
+ --comment: /* // Not commented out // */;
85
+ }
86
+ /*comment on last line*/
@@ -0,0 +1,21 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ @-webkit-keyframes hover {
5
+ /* Safari and Chrome */
6
+ }
7
+ .bg {
8
+ background-image: linear-gradient(#333 /*{comment}*/, #111);
9
+ }
10
+ #planadvisor,
11
+ .first,
12
+ .planning {
13
+ margin: 10px;
14
+ total-width: 96em;
15
+ }
16
+ .some-inline-comments {
17
+ a: yes /* comment */;
18
+ b: red /* comment */;
19
+ c: yes /* comment */;
20
+ d: red /* comment */;
21
+ }
@@ -23,9 +23,11 @@
23
23
  border: 1px solid grey;
24
24
  }
25
25
  }
26
- @container size(min-width: 60ch) {
26
+ @container size (min-width: 60ch) {
27
27
  .article--post header {
28
- grid-template-areas: "avatar name" "avatar headline";
28
+ grid-template-areas:
29
+ "avatar name"
30
+ "avatar headline";
29
31
  align-items: start;
30
32
  }
31
33
  .article--post {
@@ -54,13 +56,28 @@
54
56
  margin: 0.5em 0 0 0;
55
57
  }
56
58
  }
59
+ @container contactBody (min-width: 1300px) {
60
+ .named-container {
61
+ width: 25%;
62
+ }
63
+ }
64
+ @container _body (min-width: 1300px) {
65
+ .underscored-container {
66
+ width: 25%;
67
+ }
68
+ }
69
+ @container café (min-width: 1300px) {
70
+ .nonascii-container {
71
+ width: 25%;
72
+ }
73
+ }
57
74
  @container (width >= 500px) and (height >= 500px) {
58
75
  .card-content h2 {
59
76
  padding: 0;
60
77
  margin: 0.5em 0 0 0;
61
78
  }
62
79
  }
63
- @container (width > 760px) not (height > 670px) {
80
+ @container (width > 760px) and (not (height > 670px)) {
64
81
  .card-content h2 {
65
82
  padding: 0;
66
83
  margin: 0.5em 0 0 0;
@@ -78,7 +95,7 @@
78
95
  margin: 0.5em 0 0 0;
79
96
  }
80
97
  }
81
- @container (width < 500px) or (height < 500px) and (inline-size >= 0px) {
98
+ @container ((width < 500px) or (height < 500px)) and (inline-size >= 0px) {
82
99
  .card-content p {
83
100
  padding: 0;
84
101
  }
@@ -86,7 +103,7 @@
86
103
  margin: 0.5em 0 0 0;
87
104
  }
88
105
  }
89
- @container my-page-layout (width < 500px) or (height < 500px) and (block-size > 12em) {
106
+ @container my-page-layout ((width < 500px) or (height < 500px)) and (block-size > 12em) {
90
107
  .card-content p {
91
108
  padding: 0;
92
109
  }
@@ -94,7 +111,7 @@
94
111
  margin: 0.5em 0 0 0;
95
112
  }
96
113
  }
97
- @container (width < 500px) or (height < 500px) and (aspect-ratio: 3/2) {
114
+ @container ((width < 500px) or (height < 500px)) and (aspect-ratio: 3 / 2) {
98
115
  .card-content p {
99
116
  padding: 0;
100
117
  }
@@ -102,7 +119,7 @@
102
119
  margin: 0.5em 0 0 0;
103
120
  }
104
121
  }
105
- @container (width < 500px) or (height < 500px) and (orientation: portrait) {
122
+ @container ((width < 500px) or (height < 500px)) and (orientation: portrait) {
106
123
  .card-content p {
107
124
  padding: 0;
108
125
  }
@@ -117,60 +134,20 @@
117
134
  .card-content p h2 {
118
135
  margin: 0.5em 0 0 0;
119
136
  }
120
- }
121
- @container card (inline-size > 30em) and style(--responsive: true) {
122
- .card-content {
123
- grid-template-columns: 1fr 2fr;
124
- grid-template-rows: auto 1fr;
125
- align-items: start;
126
- column-gap: 20px;
127
- }
128
- .card-content h2 {
129
- padding: 0;
130
- margin: 0.5em 0 0 0;
131
- }
132
- }
133
- @container card (width > 400px), style(--responsive: true), scroll-state(stuck: top) {
134
- h2 {
135
- font-size: 1.5em;
136
- }
137
- }
138
- @container style(--theme) {
139
- .style-query {
140
- color: red;
141
- }
142
- }
143
- @container style((--theme: one) or (--theme: two)) {
144
- .style-query-list {
145
- color: blue;
146
- }
147
- }
148
- @container contactBody (min-width: 1300px) {
149
- .named-container {
150
- width: 25%;
151
- }
152
- }
153
- @container _body (min-width: 1300px) {
154
- .underscored-container {
155
- width: 25%;
156
- }
157
- }
158
- @container --body (min-width: 1300px) {
159
- .custom-ident-container {
160
- width: 25%;
161
- }
162
- }
163
- @container contact\.body (min-width: 1300px) {
164
- .escaped-container {
165
- width: 25%;
166
- }
167
- }
168
- @container café (min-width: 1300px) {
169
- .nonascii-container {
170
- width: 25%;
137
+ @container style(--responsive: true) {
138
+ .card-content {
139
+ grid-template-columns: 1fr 2fr;
140
+ grid-template-rows: auto 1fr;
141
+ align-items: start;
142
+ column-gap: 20px;
143
+ }
144
+ .card-content h2 {
145
+ padding: 0;
146
+ margin: 0.5em 0 0 0;
147
+ }
171
148
  }
172
149
  }
173
- @container (width < 500px) or (height < 500px) and (orientation: portrait) {
150
+ @container ((width < 500px) or (height < 500px)) and (orientation: portrait) {
174
151
  .card-content p {
175
152
  padding: 0;
176
153
  }
@@ -178,7 +155,7 @@
178
155
  margin: 0.5em 0 0 0;
179
156
  }
180
157
  }
181
- @container my-page-layout (width < 500px) or (height < 500px) and (block-size > 12em) {
158
+ @container my-page-layout ((width < 500px) or (height < 500px)) and (block-size > 12em) {
182
159
  .card-content p {
183
160
  padding: 0;
184
161
  }
@@ -308,24 +285,19 @@
308
285
  font-size: 75%;
309
286
  }
310
287
  }
311
- @container sidebar (min-width: 400px), scroll-state(stuck: top) {
312
- #sticky-child {
313
- font-size: 80%;
314
- }
315
- }
316
288
  @container foo (min-width: 400px) {
317
289
  #sticky-child {
318
290
  font-size: 75%;
319
291
  }
320
292
  }
321
- .mixin-container-test {
322
- color: red;
323
- }
324
293
  @container name (width < 125px) {
325
294
  .mixin-container-test {
326
295
  display: none;
327
296
  }
328
297
  }
298
+ .mixin-container-test {
299
+ color: red;
300
+ }
329
301
  @container sidebar (width < 500px) {
330
302
  .sidebar-test {
331
303
  display: none;
@@ -336,18 +308,3 @@
336
308
  display: none;
337
309
  }
338
310
  }
339
- @container style(var(--n) = 3) {
340
- .style-query-eq {
341
- color: red;
342
- }
343
- }
344
- @container style(calc(6 / 2) = var(--n)) {
345
- .style-query-calc-eq {
346
- color: blue;
347
- }
348
- }
349
- @container style(var(--size) > 1lh) {
350
- .style-query-gt {
351
- color: green;
352
- }
353
- }
@@ -63,7 +63,25 @@
63
63
  .card-content h2 {
64
64
  padding: 0;
65
65
  margin: 0.5em 0 0 0;
66
- }
66
+ }
67
+ }
68
+ }
69
+
70
+ @container contactBody (min-width: 1300px) {
71
+ .named-container {
72
+ width: 25%;
73
+ }
74
+ }
75
+
76
+ @container _body (min-width: 1300px) {
77
+ .underscored-container {
78
+ width: 25%;
79
+ }
80
+ }
81
+
82
+ @container café (min-width: 1300px) {
83
+ .nonascii-container {
84
+ width: 25%;
67
85
  }
68
86
  }
69
87
 
@@ -74,7 +92,7 @@
74
92
  }
75
93
  }
76
94
 
77
- @container (width > 760px) not (height > 670px) {
95
+ @container (width > 760px) and (not (height > 670px)) {
78
96
  .card-content h2 {
79
97
  padding: 0;
80
98
  margin: 0.5em 0 0 0;
@@ -95,7 +113,7 @@
95
113
  }
96
114
  }
97
115
 
98
- @container (width < 500px) or (height < 500px) and (inline-size >= 0px) {
116
+ @container ((width < 500px) or (height < 500px)) and (inline-size >= 0px) {
99
117
  .card-content p {
100
118
  padding: 0;
101
119
 
@@ -105,7 +123,7 @@
105
123
  }
106
124
  }
107
125
 
108
- @container my-page-layout (width < 500px) or (height < 500px) and (block-size > 12em) {
126
+ @container my-page-layout ((width < 500px) or (height < 500px)) and (block-size > 12em) {
109
127
  .card-content p {
110
128
  padding: 0;
111
129
 
@@ -115,7 +133,7 @@
115
133
  }
116
134
  }
117
135
 
118
- @container (width < 500px) or (height < 500px) and (aspect-ratio: 3/2) {
136
+ @container ((width < 500px) or (height < 500px)) and (aspect-ratio: 3/2) {
119
137
  .card-content p {
120
138
  padding: 0;
121
139
 
@@ -125,7 +143,7 @@
125
143
  }
126
144
  }
127
145
 
128
- @container (width < 500px) or (height < 500px) and (orientation: portrait) {
146
+ @container ((width < 500px) or (height < 500px)) and (orientation: portrait) {
129
147
  .card-content p {
130
148
  padding: 0;
131
149
 
@@ -159,55 +177,7 @@
159
177
  }
160
178
  }
161
179
 
162
- @container card (width > 400px), style(--responsive: true), scroll-state(stuck: top) {
163
- h2 {
164
- font-size: 1.5em;
165
- }
166
- }
167
-
168
- @container style(--theme) {
169
- .style-query {
170
- color: red;
171
- }
172
- }
173
-
174
- @container style((--theme: one) or (--theme: two)) {
175
- .style-query-list {
176
- color: blue;
177
- }
178
- }
179
-
180
- @container contactBody (min-width: 1300px) {
181
- .named-container {
182
- width: 25%;
183
- }
184
- }
185
-
186
- @container _body (min-width: 1300px) {
187
- .underscored-container {
188
- width: 25%;
189
- }
190
- }
191
-
192
- @container --body (min-width: 1300px) {
193
- .custom-ident-container {
194
- width: 25%;
195
- }
196
- }
197
-
198
- @container contact\.body (min-width: 1300px) {
199
- .escaped-container {
200
- width: 25%;
201
- }
202
- }
203
-
204
- @container café (min-width: 1300px) {
205
- .nonascii-container {
206
- width: 25%;
207
- }
208
- }
209
-
210
- @container ( width < 500px ) or (height<500px) and (orientation: portrait) {
180
+ @container ((width < 500px) or (height < 500px)) and (orientation: portrait) {
211
181
  .card-content p {
212
182
  padding: 0;
213
183
 
@@ -217,7 +187,7 @@
217
187
  }
218
188
  }
219
189
 
220
- @container my-page-layout ( width< 500px) or ( height<500px) and ( block-size>12em ) {
190
+ @container my-page-layout (( width< 500px) or ( height<500px)) and ( block-size>12em ) {
221
191
  .card-content p {
222
192
  padding: 0;
223
193
 
@@ -367,12 +337,6 @@
367
337
  }
368
338
  }
369
339
 
370
- @container sidebar (min-width: 400px), scroll-state(stuck: top) {
371
- #sticky-child {
372
- font-size: 80%;
373
- }
374
- }
375
-
376
340
  @varfoo: foo;
377
341
  @threshold: 400px;
378
342
  @container @{varfoo} (min-width: @threshold) {
@@ -383,7 +347,8 @@
383
347
 
384
348
  // Regression test: mixin with variable container name and variable query condition
385
349
  // Issue: mixins with parameters using @container @name (condition < @var) failed
386
- // with "variable @bp is undefined" error in older versions
350
+ // with "variable @bp is undefined" error in older versions. Less 5 keeps the
351
+ // at-rule name on interpolation form because bare @var there is deprecated.
387
352
  @issue-width: 125px;
388
353
 
389
354
  .container-query-mixin(@container-name; @bp) {
@@ -404,22 +369,3 @@
404
369
  .header-test {
405
370
  .container-query-mixin(header, 800px);
406
371
  }
407
-
408
- // Range/comparison syntax in @container style() queries (issue #4460)
409
- @container style(var(--n) = 3) {
410
- .style-query-eq {
411
- color: red;
412
- }
413
- }
414
-
415
- @container style(calc(6 / 2) = var(--n)) {
416
- .style-query-calc-eq {
417
- color: blue;
418
- }
419
- }
420
-
421
- @container style(var(--size) > 1lh) {
422
- .style-query-gt {
423
- color: green;
424
- }
425
- }