gerillass 2.2.1 → 2.3.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 (48) hide show
  1. package/SKILL.md +19 -2
  2. package/gerillass.json +301 -69
  3. package/package.json +1 -1
  4. package/scss/internal/_color-problem.scss +99 -0
  5. package/scss/internal/_color-stops-problem.scss +94 -0
  6. package/scss/internal/_condition-width.scss +22 -0
  7. package/scss/internal/_custom-property-in.scss +25 -0
  8. package/scss/internal/_image-value.scss +68 -0
  9. package/scss/internal/_is-condition-value.scss +94 -0
  10. package/scss/internal/_is-css-function.scss +21 -0
  11. package/scss/internal/_is-size.scss +22 -0
  12. package/scss/internal/_keyword-value.scss +76 -0
  13. package/scss/internal/_length-problem.scss +127 -0
  14. package/scss/internal/_sibling-index.scss +51 -0
  15. package/scss/internal/_words.scss +35 -0
  16. package/scss/library/_adaptive.scss +17 -0
  17. package/scss/library/_after.scss +2 -12
  18. package/scss/library/_background-dots.scss +29 -37
  19. package/scss/library/_background-image.scss +37 -25
  20. package/scss/library/_background-stripes.scss +34 -37
  21. package/scss/library/_before.scss +2 -12
  22. package/scss/library/_border-radius.scss +83 -0
  23. package/scss/library/_brand-logo.scss +10 -24
  24. package/scss/library/_breakpoint.scss +16 -23
  25. package/scss/library/_circle.scss +7 -0
  26. package/scss/library/_columnizer.scss +62 -2
  27. package/scss/library/_container-query.scss +11 -27
  28. package/scss/library/_container.scss +2 -19
  29. package/scss/library/_counter.scss +3 -14
  30. package/scss/library/_ellipsis.scss +78 -1
  31. package/scss/library/_except.scss +15 -0
  32. package/scss/library/_focus-ring.scss +29 -0
  33. package/scss/library/_font-face.scss +117 -1
  34. package/scss/library/_line-clamp.scss +2 -13
  35. package/scss/library/_linear-gradient.scss +7 -0
  36. package/scss/library/_only.scss +16 -0
  37. package/scss/library/_position.scss +63 -12
  38. package/scss/library/_radial-gradient.scss +154 -0
  39. package/scss/library/_resizable.scss +29 -2
  40. package/scss/library/_screen-agent.scss +8 -22
  41. package/scss/library/_sizer.scss +9 -0
  42. package/scss/library/_sprite.scss +65 -0
  43. package/scss/library/_text-gradient.scss +8 -0
  44. package/scss/library/_text-image.scss +2 -23
  45. package/scss/library/_text-stroke.scss +30 -0
  46. package/scss/library/_triangle.scss +25 -56
  47. package/scss/utilities/_validate-breakpoint.scss +32 -6
  48. package/scss/utilities/_validate-scissors.scss +7 -0
package/SKILL.md CHANGED
@@ -65,6 +65,7 @@ a dropped declaration rather than an error.
65
65
 
66
66
  | Mixin | Rejects, for example |
67
67
  |---|---|
68
+ | `adaptive` | `.wrap { @include adaptive(auto); }` |
68
69
  | `after` | `.a { @include after(42) { color: red; } }` |
69
70
  | `all-buttons` | `@include all-buttons(nonsense) { color: red; }` |
70
71
  | `all-text-inputs` | `@include all-text-inputs(nonsense) { color: red; }` |
@@ -76,12 +77,15 @@ a dropped declaration rather than an error.
76
77
  | `before` | `.a { @include before(42) { color: red; } }` |
77
78
  | `border-box` | `@include border-box(only);` |
78
79
  | `border-radius` | `.a { @include border-radius(1px, 2px, 3px); }` |
80
+ | `brand-logo` | `.logo { @include brand-logo(120px, 40px, "/img/a.svg" "/img/b.svg"); }` |
79
81
  | `breakpoint` | `.a { @include breakpoint("between", "medium", "large") { color: red; } }` |
80
82
  | `breakpointer` | `.a { @include breakpointer(42); }` |
81
83
  | `center` | `.modal { @include center(diagonal); }` |
84
+ | `circle` | `.dot { @include circle(huge); }` |
82
85
  | `columnizer` | `.grid { @include columnizer(3, 20px, true, 9); }` |
83
86
  | `container-query` | `.title { @include container-query("min", 400px, 800px) { color: red; } }` |
84
87
  | `container` | `.card { @include container("card", sideways); }` |
88
+ | `ellipsis` | `.a { @include ellipsis(100%, huge); }` |
85
89
  | `escape-to-parent` | `.a { @include escape-to-parent(42) { color: red; } }` |
86
90
  | `except` | `.a { @include except(#ff0000) { margin: 0; } }` |
87
91
  | `focus-ring` | `@include focus-ring;` |
@@ -92,18 +96,23 @@ a dropped declaration rather than an error.
92
96
  | `loadify` | `@include loadify(nonsense);` |
93
97
  | `motion-safe` | `.card { @include motion-safe; }` |
94
98
  | `only` | `.a { @include only(#ff0000) { margin: 0; } }` |
99
+ | `position` | `.badge { @include position(absolute, 0, $logical: yes); }` |
95
100
  | `radial-gradient` | `.a { @include radial-gradient(42, "center", (red, blue)); }` |
96
101
  | `remove` | `.a { @include remove(a, b, c); }` |
97
102
  | `reset-css` | `.a { @include reset-css; }` |
103
+ | `resizable` | `.a { @include resizable(huge); }` |
98
104
  | `scissors` | `.a { @include scissors(5px 10px); }` |
99
105
  | `screen-agent` | `.a { @include screen-agent(var(--density)) { color: red; } }` |
106
+ | `sizer` | `.a { @include sizer(huge); }` |
100
107
  | `smartphone` | `.a { @include smartphone(Nokia3310) { display: none; } }` |
101
108
  | `sprite` | `.icon { @include sprite("/img/sprite.txt"); }` |
102
109
  | `stretched-link` | `.card a { @include stretched-link(middle); }` |
103
110
  | `tablet` | `.a { @include tablet(Surface) { display: none; } }` |
104
111
  | `text-gradient` | `.a { @include text-gradient(sideways, (red, blue)); }` |
112
+ | `text-image` | `.a { @include text-image(16 9); }` |
105
113
  | `text-selection` | `.a { @include text-selection(bogus) { background: yellow; } }` |
106
114
  | `text-shadow` | `.a { @include text-shadow(42); }` |
115
+ | `text-stroke` | `.a { @include text-stroke(huge); }` |
107
116
  | `tokens` | `:root { @include tokens(#fff); }` |
108
117
  | `triangle` | `.caret { @include triangle(sideways); }` |
109
118
 
@@ -138,6 +147,10 @@ a dropped declaration rather than an error.
138
147
 
139
148
  - Numbering restarts on every item, each showing the first number, when the items are size containers (`container-type: inline-size`): containment scopes counters to each item.
140
149
 
150
+ **`except`**
151
+
152
+ - An+B with an offset cannot be passed as a number: Sass does the arithmetic, so `except(2n+1)` becomes `3n` and excludes every third element, not the odd ones. Use `odd` or `even`, or a coefficient alone such as `3n`.
153
+
141
154
  **`loadify`**
142
155
 
143
156
  - `init` and every call must be in the same module, or the module with the call must `@use` the one that calls `init`. Otherwise Sass fails with "The target selector was not found".
@@ -146,6 +159,10 @@ a dropped declaration rather than an error.
146
159
 
147
160
  - Keep the resting state outside the block. An element hidden in its base rule and revealed by an animation inside the block stays hidden for a user who asked for less motion; put the start state in the keyframes instead.
148
161
 
162
+ **`only`**
163
+
164
+ - An+B with an offset cannot be passed as a number: Sass does the arithmetic, so `only(2n+1)` becomes `3n` and selects every third element, not the odd ones. Use `odd` or `even`, or a coefficient alone such as `3n`.
165
+
149
166
  **`remove`**
150
167
 
151
168
  - With one argument the element is hidden at exactly that width, `(width: 768px)`, which is a single pixel, and the mixin prints a warning. Write `only` for that width, or `min`, `max` or a range for anything wider. 3.0.0 will refuse the one-argument form.
@@ -190,7 +207,7 @@ a dropped declaration rather than an error.
190
207
  | `only($params...)` | Selects only the siblings named. |
191
208
  | `placeholder-shown` | Styles an input while its placeholder is visible. |
192
209
  | `placeholder` | Styles the placeholder text of an input across vendor prefixes. |
193
- | `position($position: absolute, $offsets: 0)` | Sets position and offsets in one call, using shorthand order. |
210
+ | `position($position: absolute, $offsets: 0, $logical: false)` | Sets position and offsets in one call, using shorthand order. |
194
211
  | `radial-gradient($shape, $position, $colors)` | Radial gradient background from a shape and a position. |
195
212
  | `remove($params...)` | Hides an element outright, or within a media query: from a breakpoint up with min, up to it with max, or between two breakpoints. One breakpoint on its own hides the element at exactly that width, a single pixel, and prints a warning: pass only for that. |
196
213
  | `reset-css` | Meyer reset. Must be called at the root of the stylesheet. |
@@ -238,7 +255,7 @@ and camelCase is what tells them apart from the kebab-case mixins above.
238
255
  | `shade($color, $percentage)` | Mixes a colour towards black by a percentage. |
239
256
  | `shorthandProperty($value)` | Expands one to four values into the four-value CSS shorthand order. |
240
257
  | `tint($color, $percentage)` | Mixes a colour towards white by a percentage. |
241
- | `validateBreakpoint($value)` | Resolves a breakpoint name to its width, passing other values through. |
258
+ | `validateBreakpoint($value)` | Resolves a breakpoint name to its width, passing a length, a percentage or a CSS function through, and refusing a word that is not a key. |
242
259
  | `validateLength($value)` | Returns the value if it is a length or one of auto, inherit, initial, 0. Returns null quietly for null, so a caller can skip a value. |
243
260
  | `validateRatio($ratio)` | Turns an aspect ratio into a value for the CSS aspect-ratio property. |
244
261
  | `validateScissors($value)` | Normalises corner values for the scissors mixin, adding px where missing. |