stillwind 0.0.0 → 0.1.0-rc.0

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 (305) hide show
  1. package/AGENTS_TEMPLATE.md +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +166 -0
  4. package/TAILWINDCSS-MIT-LICENSE +21 -0
  5. package/css/builtin-metadata/sw-motion-properties.css +186 -0
  6. package/css/builtin-metadata/tw-legacy-metadata.css +36 -0
  7. package/css/builtin-metadata/tw-properties.css +944 -0
  8. package/css/builtin-metadata/tw-registry-metadata.css +52 -0
  9. package/css/builtin-metadata/tw-relationship-metadata.css +10 -0
  10. package/css/builtin-utilities/sw-motion-contexts.css +1043 -0
  11. package/css/builtin-utilities/tw-backgrounds.css +606 -0
  12. package/css/builtin-utilities/tw-borders.css +954 -0
  13. package/css/builtin-utilities/tw-effects.css +1209 -0
  14. package/css/builtin-utilities/tw-flex-grid.css +749 -0
  15. package/css/builtin-utilities/tw-interactivity.css +680 -0
  16. package/css/builtin-utilities/tw-layout.css +943 -0
  17. package/css/builtin-utilities/tw-masks.css +1268 -0
  18. package/css/builtin-utilities/tw-motion.css +142 -0
  19. package/css/builtin-utilities/tw-spacing-sizing.css +621 -0
  20. package/css/builtin-utilities/tw-svg.css +50 -0
  21. package/css/builtin-utilities/tw-transforms.css +652 -0
  22. package/css/builtin-utilities/tw-typography.css +720 -0
  23. package/css/builtin-variants/sw-conditional.css +5 -0
  24. package/css/builtin-variants/sw-document.css +13 -0
  25. package/css/builtin-variants/tw-conditional.css +187 -0
  26. package/css/builtin-variants/tw-dynamic-selector.css +49 -0
  27. package/css/builtin-variants/tw-relationship.css +41 -0
  28. package/css/builtin-variants/tw-state.css +159 -0
  29. package/css/builtin-variants/tw-structural.css +121 -0
  30. package/css/builtins.css +111 -0
  31. package/css/preflight.css +401 -0
  32. package/css/templates.css +40 -0
  33. package/css/theme.css +546 -0
  34. package/css/utilities.css +9 -0
  35. package/dist/class-object-D24FFYqO.js +6 -0
  36. package/dist/class-object-D24FFYqO.js.map +1 -0
  37. package/dist/class-object-D7ZGJOf_.d.ts +9 -0
  38. package/dist/class-string-CQHnc9GN.d.ts +9 -0
  39. package/dist/class-string-Db8-oI4q.js +6 -0
  40. package/dist/class-string-Db8-oI4q.js.map +1 -0
  41. package/dist/config.d.ts +1 -0
  42. package/dist/config.js +2 -0
  43. package/dist/css.d.ts +100 -0
  44. package/dist/css.js +143 -0
  45. package/dist/css.js.map +1 -0
  46. package/dist/cva-BwX07CFw.js +204 -0
  47. package/dist/cva-BwX07CFw.js.map +1 -0
  48. package/dist/cva-DSpDNBYi.d.ts +9 -0
  49. package/dist/development-DttPQc71.d.ts +27 -0
  50. package/dist/development-J-JCSIm0.js +111 -0
  51. package/dist/development-J-JCSIm0.js.map +1 -0
  52. package/dist/frameworks/alpine.d.ts +20 -0
  53. package/dist/frameworks/alpine.js +18 -0
  54. package/dist/frameworks/alpine.js.map +1 -0
  55. package/dist/frameworks/astro.d.ts +3 -0
  56. package/dist/frameworks/astro.js +1 -0
  57. package/dist/frameworks/lit.d.ts +21 -0
  58. package/dist/frameworks/lit.js +38 -0
  59. package/dist/frameworks/lit.js.map +1 -0
  60. package/dist/frameworks/preact.d.ts +3 -0
  61. package/dist/frameworks/preact.js +1 -0
  62. package/dist/frameworks/qwik.d.ts +3 -0
  63. package/dist/frameworks/qwik.js +1 -0
  64. package/dist/frameworks/react.d.ts +10 -0
  65. package/dist/frameworks/react.js +6 -0
  66. package/dist/frameworks/react.js.map +1 -0
  67. package/dist/frameworks/solid.d.ts +3 -0
  68. package/dist/frameworks/solid.js +1 -0
  69. package/dist/frameworks/svelte.d.ts +3 -0
  70. package/dist/frameworks/svelte.js +1 -0
  71. package/dist/frameworks/vanilla.d.ts +27 -0
  72. package/dist/frameworks/vanilla.js +3 -0
  73. package/dist/frameworks/vue.d.ts +3 -0
  74. package/dist/frameworks/vue.js +1 -0
  75. package/dist/index-RwVFpxhE.d.ts +815 -0
  76. package/dist/macro/index.d.ts +2 -0
  77. package/dist/macro/index.js +1 -0
  78. package/dist/module-css.d.ts +30 -0
  79. package/dist/module-css.js +23 -0
  80. package/dist/module-css.js.map +1 -0
  81. package/dist/runtime/class-name-object-development.d.ts +10 -0
  82. package/dist/runtime/class-name-object-development.js +18 -0
  83. package/dist/runtime/class-name-object-development.js.map +1 -0
  84. package/dist/runtime/class-name-object.d.ts +16 -0
  85. package/dist/runtime/class-name-object.js +31 -0
  86. package/dist/runtime/class-name-object.js.map +1 -0
  87. package/dist/runtime/class-object-development.d.ts +10 -0
  88. package/dist/runtime/class-object-development.js +18 -0
  89. package/dist/runtime/class-object-development.js.map +1 -0
  90. package/dist/runtime/class-object.d.ts +16 -0
  91. package/dist/runtime/class-object.js +31 -0
  92. package/dist/runtime/class-object.js.map +1 -0
  93. package/dist/runtime/class-string-development.d.ts +10 -0
  94. package/dist/runtime/class-string-development.js +18 -0
  95. package/dist/runtime/class-string-development.js.map +1 -0
  96. package/dist/runtime/class-string.d.ts +16 -0
  97. package/dist/runtime/class-string.js +31 -0
  98. package/dist/runtime/class-string.js.map +1 -0
  99. package/dist/shared-B9IQXU6P.d.ts +32 -0
  100. package/dist/style-BV4ctkni.js +78 -0
  101. package/dist/style-BV4ctkni.js.map +1 -0
  102. package/dist/style-fTQbsVWZ.js +41 -0
  103. package/dist/style-fTQbsVWZ.js.map +1 -0
  104. package/docs/agents.md +76 -0
  105. package/docs/at-rules/apply.md +93 -0
  106. package/docs/at-rules/custom-variant.md +127 -0
  107. package/docs/at-rules/index.md +75 -0
  108. package/docs/at-rules/plugin.md +71 -0
  109. package/docs/at-rules/registry-directives.md +181 -0
  110. package/docs/at-rules/slot.md +58 -0
  111. package/docs/at-rules/stillwind-css-template.md +126 -0
  112. package/docs/at-rules/stillwind-property.md +133 -0
  113. package/docs/at-rules/stillwind-registry.md +115 -0
  114. package/docs/at-rules/stillwind-require-properties.md +91 -0
  115. package/docs/at-rules/stillwind-slot.md +85 -0
  116. package/docs/at-rules/stillwind-undef-arbitrary-property.md +75 -0
  117. package/docs/at-rules/stillwind-undef-utility.md +87 -0
  118. package/docs/at-rules/stillwind-undef-variant.md +55 -0
  119. package/docs/at-rules/theme.md +304 -0
  120. package/docs/at-rules/utility.md +286 -0
  121. package/docs/at-rules/variant.md +91 -0
  122. package/docs/concepts/css-ordering.md +245 -0
  123. package/docs/concepts/how-styles-compile.md +132 -0
  124. package/docs/configuration.md +298 -0
  125. package/docs/errors/SW01001.md +51 -0
  126. package/docs/errors/SW01002.md +52 -0
  127. package/docs/errors/SW01003.md +69 -0
  128. package/docs/errors/SW02001.md +23 -0
  129. package/docs/errors/SW02002.md +51 -0
  130. package/docs/errors/SW03001.md +71 -0
  131. package/docs/errors/SW03002.md +79 -0
  132. package/docs/errors/SW03003.md +36 -0
  133. package/docs/errors/SW10001.md +34 -0
  134. package/docs/errors/SW10002.md +36 -0
  135. package/docs/errors/SW10003.md +30 -0
  136. package/docs/errors/SW10004.md +39 -0
  137. package/docs/errors/SW10005.md +35 -0
  138. package/docs/errors/SW11001.md +37 -0
  139. package/docs/errors/SW11002.md +65 -0
  140. package/docs/errors/SW11003.md +20 -0
  141. package/docs/errors/SW12001.md +43 -0
  142. package/docs/errors/SW12002.md +42 -0
  143. package/docs/errors/SW13001.md +35 -0
  144. package/docs/errors/SW13002.md +33 -0
  145. package/docs/errors/SW13003.md +18 -0
  146. package/docs/errors/SW13004.md +45 -0
  147. package/docs/errors/SW14001.md +44 -0
  148. package/docs/errors/SW14002.md +47 -0
  149. package/docs/errors/SW14003.md +38 -0
  150. package/docs/errors/SW14004.md +48 -0
  151. package/docs/errors/SW14005.md +51 -0
  152. package/docs/errors/SW14006.md +19 -0
  153. package/docs/errors/SW14007.md +35 -0
  154. package/docs/errors/SW14008.md +41 -0
  155. package/docs/errors/SW15001.md +18 -0
  156. package/docs/errors/SW15002.md +19 -0
  157. package/docs/errors/SW15003.md +16 -0
  158. package/docs/errors/SW30001.md +21 -0
  159. package/docs/errors/SW30002.md +18 -0
  160. package/docs/errors/SW30003.md +17 -0
  161. package/docs/errors/SW30004.md +18 -0
  162. package/docs/errors/SW31001.md +20 -0
  163. package/docs/errors/SW31002.md +17 -0
  164. package/docs/errors/SW31003.md +18 -0
  165. package/docs/errors/SW31004.md +20 -0
  166. package/docs/errors/SW31005.md +18 -0
  167. package/docs/errors/SW31006.md +17 -0
  168. package/docs/errors/SW31007.md +18 -0
  169. package/docs/errors/SW31008.md +16 -0
  170. package/docs/errors/SW31009.md +18 -0
  171. package/docs/errors/SW31010.md +16 -0
  172. package/docs/errors/SW31011.md +17 -0
  173. package/docs/errors/SW32001.md +18 -0
  174. package/docs/errors/SW32002.md +45 -0
  175. package/docs/errors/SW32003.md +43 -0
  176. package/docs/errors/SW32004.md +17 -0
  177. package/docs/errors/SW32005.md +40 -0
  178. package/docs/errors/SW32006.md +18 -0
  179. package/docs/errors/SW32007.md +20 -0
  180. package/docs/errors/SW33001.md +17 -0
  181. package/docs/errors/SW33002.md +17 -0
  182. package/docs/errors/SW33003.md +17 -0
  183. package/docs/errors/SW33004.md +17 -0
  184. package/docs/errors/SW33005.md +20 -0
  185. package/docs/errors/SW34001.md +18 -0
  186. package/docs/errors/SW34002.md +17 -0
  187. package/docs/errors/SW34003.md +18 -0
  188. package/docs/errors/SW90001.md +17 -0
  189. package/docs/errors/SW90002.md +18 -0
  190. package/docs/errors/SW90003.md +17 -0
  191. package/docs/errors/SW90004.md +17 -0
  192. package/docs/errors/SW90005.md +16 -0
  193. package/docs/errors/SW90006.md +17 -0
  194. package/docs/errors/SW90007.md +17 -0
  195. package/docs/errors/SW90008.md +17 -0
  196. package/docs/errors/index.md +125 -0
  197. package/docs/guides/animations.md +73 -0
  198. package/docs/guides/design-systems.md +119 -0
  199. package/docs/guides/element-relationships.md +136 -0
  200. package/docs/guides/lint-adoption.md +128 -0
  201. package/docs/guides/migrating-from-css.md +126 -0
  202. package/docs/guides/migrating-from-tailwind.md +179 -0
  203. package/docs/guides/recommended-practices.md +338 -0
  204. package/docs/guides/responsive-styles.md +103 -0
  205. package/docs/guides/reusable-styles.md +110 -0
  206. package/docs/guides/style.md +181 -0
  207. package/docs/guides/tailwind-compatibility.md +126 -0
  208. package/docs/guides/view-transitions.md +84 -0
  209. package/docs/guides/web-components.md +216 -0
  210. package/docs/index.md +136 -0
  211. package/docs/integrations.md +190 -0
  212. package/docs/lints/ambiguous-style-base-order.md +50 -0
  213. package/docs/lints/bypassed-undefinition.md +50 -0
  214. package/docs/lints/clamped-value.md +44 -0
  215. package/docs/lints/conflicting-provider-properties.md +47 -0
  216. package/docs/lints/conflicting-utilities.md +55 -0
  217. package/docs/lints/document-scoped-selector.md +45 -0
  218. package/docs/lints/duplicate-definition.md +44 -0
  219. package/docs/lints/duplicate-utility.md +44 -0
  220. package/docs/lints/duplicate-view-transition-name.md +45 -0
  221. package/docs/lints/ignored-definition-condition.md +51 -0
  222. package/docs/lints/ignored-tailwind-feature.md +62 -0
  223. package/docs/lints/incompatible-property-value.md +60 -0
  224. package/docs/lints/incompatible-theme-value.md +46 -0
  225. package/docs/lints/index.md +140 -0
  226. package/docs/lints/ineffective-anchor-scope.md +46 -0
  227. package/docs/lints/interfering-imported-style-base.md +57 -0
  228. package/docs/lints/invalid-animation-option.md +47 -0
  229. package/docs/lints/invalid-css-directive.md +43 -0
  230. package/docs/lints/invalid-css-import.md +43 -0
  231. package/docs/lints/invalid-css-input.md +45 -0
  232. package/docs/lints/invalid-cva-config.md +46 -0
  233. package/docs/lints/invalid-cva-input.md +50 -0
  234. package/docs/lints/invalid-keyframes-definition.md +47 -0
  235. package/docs/lints/invalid-keyframes-use.md +47 -0
  236. package/docs/lints/invalid-keyframes-variant.md +48 -0
  237. package/docs/lints/invalid-lint-suppression.md +47 -0
  238. package/docs/lints/invalid-marker-use.md +53 -0
  239. package/docs/lints/invalid-media-query.md +52 -0
  240. package/docs/lints/invalid-ref-input.md +49 -0
  241. package/docs/lints/invalid-rule-group-input.md +58 -0
  242. package/docs/lints/invalid-runtime-condition.md +67 -0
  243. package/docs/lints/invalid-style-composition.md +52 -0
  244. package/docs/lints/invalid-style-input.md +47 -0
  245. package/docs/lints/invalid-theme-reference.md +52 -0
  246. package/docs/lints/invalid-utility.md +44 -0
  247. package/docs/lints/invalid-variant.md +45 -0
  248. package/docs/lints/invalid-view-transition-definition.md +46 -0
  249. package/docs/lints/invalid-view-transition-use.md +46 -0
  250. package/docs/lints/invalid-view-transition-variant.md +51 -0
  251. package/docs/lints/mismatched-framework-import.md +47 -0
  252. package/docs/lints/missing-document-target.md +44 -0
  253. package/docs/lints/missing-ref-attachment.md +44 -0
  254. package/docs/lints/missing-view-transition-name.md +46 -0
  255. package/docs/lints/mutating-macro-argument.md +48 -0
  256. package/docs/lints/no-arbitrary-breakpoints.md +50 -0
  257. package/docs/lints/no-arbitrary-colors.md +51 -0
  258. package/docs/lints/no-arbitrary-spacing.md +57 -0
  259. package/docs/lints/no-class-property.md +58 -0
  260. package/docs/lints/no-important.md +50 -0
  261. package/docs/lints/no-restricted-declarations.md +76 -0
  262. package/docs/lints/no-restricted-length-units.md +73 -0
  263. package/docs/lints/no-restricted-theme-tokens.md +73 -0
  264. package/docs/lints/no-restricted-utilities.md +73 -0
  265. package/docs/lints/prefer-canonical-utilities.md +69 -0
  266. package/docs/lints/prefer-direct-styling.md +47 -0
  267. package/docs/lints/prefer-explicit-nesting-selector.md +42 -0
  268. package/docs/lints/prefer-logical-properties.md +49 -0
  269. package/docs/lints/prefer-sorted-utilities.md +46 -0
  270. package/docs/lints/prefer-typed-relationships.md +48 -0
  271. package/docs/lints/prefer-typed-variables.md +43 -0
  272. package/docs/lints/prefer-variant-directive.md +59 -0
  273. package/docs/lints/redundant-variant.md +50 -0
  274. package/docs/lints/repeated-nesting-selector.md +59 -0
  275. package/docs/lints/runtime-condition-requires-css-if.md +59 -0
  276. package/docs/lints/split-view-transition-class.md +47 -0
  277. package/docs/lints/suspending-macro-argument.md +46 -0
  278. package/docs/lints/unknown-utility.md +47 -0
  279. package/docs/lints/unknown-variant.md +42 -0
  280. package/docs/lints/unsatisfiable-variants.md +42 -0
  281. package/docs/lints/unused-lint-suppression.md +57 -0
  282. package/docs/lints/unverified-style-base.md +64 -0
  283. package/docs/macros/anchor-scope.md +90 -0
  284. package/docs/macros/css.md +68 -0
  285. package/docs/macros/cva.md +153 -0
  286. package/docs/macros/index.md +30 -0
  287. package/docs/macros/keyframes.md +98 -0
  288. package/docs/macros/media.md +65 -0
  289. package/docs/macros/ref/as-anchor.md +70 -0
  290. package/docs/macros/ref/as-container.md +64 -0
  291. package/docs/macros/ref/at.md +68 -0
  292. package/docs/macros/ref/condition.md +86 -0
  293. package/docs/macros/ref/in.md +81 -0
  294. package/docs/macros/ref/index.md +115 -0
  295. package/docs/macros/ref/position-anchor.md +64 -0
  296. package/docs/macros/style.md +185 -0
  297. package/docs/macros/view-transition.md +159 -0
  298. package/docs/utilities.md +35 -0
  299. package/docs/why.md +144 -0
  300. package/index.css +7 -0
  301. package/package.json +135 -8
  302. package/skills/migrate-to-stillwind/SKILL.md +81 -0
  303. package/skills/setup-stillwind/SKILL.md +51 -0
  304. package/skills/stillwind/SKILL.md +54 -0
  305. package/index.js +0 -1
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: "SW13004: CSS nesting limit exceeded"
3
+ description: "CSS rules or functions in your stylesheet are nested too deeply."
4
+ ---
5
+
6
+ # SW13004: CSS nesting limit exceeded
7
+
8
+ This error occurs when blocks or functions in your stylesheet are nested deeper
9
+ than the compiler supports. The message gives the limit and the position where
10
+ the nesting exceeds it.
11
+
12
+ ## Flatten selectors
13
+
14
+ Replace nested selectors with their full selector. For example:
15
+
16
+ ```css
17
+ .card {
18
+ & .content {
19
+ & .title {
20
+ color: blue;
21
+ }
22
+ }
23
+ }
24
+ ```
25
+
26
+ The same rule needs no nested blocks:
27
+
28
+ ```css
29
+ .card .content .title {
30
+ color: blue;
31
+ }
32
+ ```
33
+
34
+ This small example is within the limit. Apply the same transformation to the
35
+ deeply nested construct that the error identifies.
36
+
37
+ ## How to fix
38
+
39
+ - Flatten nested rules, for example by writing the full selector instead of
40
+ nesting it.
41
+ - Split a deeply nested value, such as many `calc()` calls inside each other,
42
+ into custom properties.
43
+
44
+ Splitting the stylesheet into files does not help, because the limit applies to
45
+ one construct.
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: "SW14001: Missing utilities slot"
3
+ description: "Your stylesheet does not place the generated utility CSS anywhere."
4
+ ---
5
+
6
+ # SW14001: Missing utilities slot
7
+
8
+ This error occurs when your stylesheet has no `@stillwind-slot utilities;`. The
9
+ slot marks where the compiler writes the CSS of the utilities that you use. The
10
+ default stylesheet contains it, so the error usually appears when a stylesheet
11
+ imports only some parts of Stillwind.
12
+
13
+ ## Reported
14
+
15
+ ```css
16
+ @import "stillwind/theme.css" layer(theme);
17
+ @import "stillwind/builtins.css";
18
+ ```
19
+
20
+ ```tsx
21
+ style("p-4");
22
+ ```
23
+
24
+ > SW14001: generated utilities require an @stillwind-slot utilities; in the CSS entry graph
25
+
26
+ ## Fixed
27
+
28
+ ```css
29
+ @import "stillwind/theme.css" layer(theme);
30
+ @import "stillwind/utilities.css" layer(utilities);
31
+ @import "stillwind/builtins.css";
32
+ ```
33
+
34
+ ```tsx
35
+ style("p-4");
36
+ ```
37
+
38
+ ## How to fix
39
+
40
+ - Import `stillwind/utilities.css`, which contains the slot, as in the example.
41
+ - Or write `@stillwind-slot utilities;` where the utilities should go.
42
+ - If you do not need a custom selection, import `stillwind` instead.
43
+
44
+ Other slots that a feature needs are reported as [SW14002](SW14002.md).
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: "SW14002: Missing support slot"
3
+ description: "Your stylesheet has no place for CSS that a feature needs, such as keyframes."
4
+ ---
5
+
6
+ # SW14002: Missing support slot
7
+
8
+ This error occurs when the compiler generates supporting CSS, such as the
9
+ `@keyframes` of an animation, but your stylesheet has no slot for it. The message
10
+ names the missing slot.
11
+
12
+ ## Reported
13
+
14
+ ```css
15
+ @import "stillwind/utilities.css" layer(utilities);
16
+ @import "stillwind/builtins.css";
17
+ ```
18
+
19
+ ```tsx
20
+ const fade = style.keyframes({
21
+ to: "opacity-0",
22
+ });
23
+ style(fade(""));
24
+ ```
25
+
26
+ > SW14002: generated support requires an @stillwind-slot keyframes; in the CSS entry graph
27
+
28
+ ## Fixed
29
+
30
+ ```css
31
+ @import "stillwind/utilities.css" layer(utilities);
32
+ @import "stillwind/builtins.css";
33
+ @stillwind-slot keyframes;
34
+ ```
35
+
36
+ ```tsx
37
+ const fade = style.keyframes({
38
+ to: "opacity-0",
39
+ });
40
+ style(fade(""));
41
+ ```
42
+
43
+ ## How to fix
44
+
45
+ - Add the slot that the message names, as in the example. `stillwind/theme.css`
46
+ contains the `theme` and `keyframes` slots.
47
+ - If you do not need a custom selection, import `stillwind` instead.
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: "SW14003: Malformed property requirement"
3
+ description: "An @stillwind-require-properties directive in your stylesheet has invalid syntax."
4
+ ---
5
+
6
+ # SW14003: Malformed property requirement
7
+
8
+ This error occurs when an `@stillwind-require-properties` directive in your
9
+ stylesheet has invalid syntax, such as an incomplete custom property name. The
10
+ directive lists the registered custom properties that a utility needs.
11
+
12
+ ## Reported
13
+
14
+ ```css
15
+ .card {
16
+ @stillwind-require-properties tw-rotate-x;
17
+ transform: var(--tw-rotate-x);
18
+ }
19
+ ```
20
+
21
+ > SW14003: invalid Stillwind property requirement at byte 9660
22
+
23
+ ## Fixed
24
+
25
+ ```css
26
+ .card {
27
+ @stillwind-require-properties --tw-rotate-x;
28
+ transform: var(--tw-rotate-x);
29
+ }
30
+ ```
31
+
32
+ ## How to fix
33
+
34
+ Write each name in full, including the leading `--`, as in the example.
35
+
36
+ A valid name that no registration provides is reported as
37
+ [SW14005](SW14005.md). An invalid directive inside a utility from a
38
+ plugin is reported as [SW14004](SW14004.md).
@@ -0,0 +1,48 @@
1
+ ---
2
+ title: "SW14004: Malformed utility property requirement"
3
+ description: "A utility that you use has an @stillwind-require-properties directive with invalid syntax."
4
+ ---
5
+
6
+ # SW14004: Malformed utility property requirement
7
+
8
+ This error occurs when you use a utility whose definition contains an invalid
9
+ `@stillwind-require-properties` directive. The message names the utility and the
10
+ position in its definition. The definition can be in your stylesheet or in a
11
+ plugin.
12
+
13
+ ## Reported
14
+
15
+ ```css
16
+ @utility spin-x {
17
+ @stillwind-require-properties tw-rotate-x;
18
+ transform: var(--tw-rotate-x);
19
+ }
20
+ ```
21
+
22
+ ```tsx
23
+ style("spin-x");
24
+ ```
25
+
26
+ > SW14004: utility `spin-x` has an invalid property requirement at body byte 0
27
+
28
+ ## Fixed
29
+
30
+ ```css
31
+ @utility spin-x {
32
+ @stillwind-require-properties --tw-rotate-x;
33
+ transform: var(--tw-rotate-x);
34
+ }
35
+ ```
36
+
37
+ ```tsx
38
+ style("spin-x");
39
+ ```
40
+
41
+ ## How to fix
42
+
43
+ - Write the full custom property name, including the leading `--`. In the
44
+ example, change `tw-rotate-x` to `--tw-rotate-x`.
45
+ - If the definition comes from a plugin, report the utility and the plugin
46
+ version to the plugin's maintainer. Turning off a lint rule does not help.
47
+
48
+ [SW14003](SW14003.md) covers the same mistake in an ordinary CSS rule.
@@ -0,0 +1,51 @@
1
+ ---
2
+ title: "SW14005: Required property is unregistered"
3
+ description: "A utility requires a custom property that no @stillwind-property registers."
4
+ ---
5
+
6
+ # SW14005: Required property is unregistered
7
+
8
+ This error occurs when a utility requires a custom property, but no
9
+ `@stillwind-property` in the loaded stylesheets registers it. The registration
10
+ provides the initial value and other support CSS. Assigning the property in a
11
+ rule does not register it.
12
+
13
+ ## Reported
14
+
15
+ ```css
16
+ @utility spin-x {
17
+ @stillwind-require-properties --spin-angle;
18
+ rotate: var(--spin-angle);
19
+ }
20
+ ```
21
+
22
+ ```tsx
23
+ style("spin-x");
24
+ ```
25
+
26
+ > SW14005: required custom property `--spin-angle` has no `@stillwind-property` registration
27
+
28
+ ## Fixed
29
+
30
+ ```css
31
+ @stillwind-property --spin-angle {
32
+ syntax: "<angle>";
33
+ inherits: false;
34
+ initial-value: 0deg;
35
+ }
36
+
37
+ @utility spin-x {
38
+ @stillwind-require-properties --spin-angle;
39
+ rotate: var(--spin-angle);
40
+ }
41
+ ```
42
+
43
+ ```tsx
44
+ style("spin-x");
45
+ ```
46
+
47
+ ## How to fix
48
+
49
+ - Register the property with `@stillwind-property`, as in the example.
50
+ - If the property comes from Stillwind or a plugin, check that the stylesheet
51
+ imports the file that registers it, and check the spelling of the name.
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: "SW14006: Property-usage parse failure"
3
+ description: "The compiler cannot parse CSS while collecting custom-property usage."
4
+ ---
5
+
6
+ # SW14006: Property-usage parse failure
7
+
8
+ This error occurs when the compiler cannot parse the CSS that it scans for
9
+ custom-property usage. It needs that usage to select property registrations and
10
+ initial values for the output stylesheet.
11
+
12
+ ## How to fix
13
+
14
+ Correct the malformed CSS in the stylesheet or utility definition that produced
15
+ it. If the authored CSS is valid, report a small reproduction and the Stillwind
16
+ and plugin versions.
17
+
18
+ Syntax errors found while the stylesheet loads usually produce
19
+ [SW13001](SW13001.md) or [SW13002](SW13002.md) instead.
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: "SW14007: Malformed theme reference"
3
+ description: "A --theme() call in your stylesheet has invalid syntax."
4
+ ---
5
+
6
+ # SW14007: Malformed theme reference
7
+
8
+ This error occurs when a `--theme()` call in your stylesheet has invalid syntax,
9
+ such as no token name.
10
+
11
+ ## Reported
12
+
13
+ ```css
14
+ .card {
15
+ color: --theme();
16
+ }
17
+ ```
18
+
19
+ > SW14007: invalid --theme() reference at value byte 9667: invalid --theme() property `` at byte 0
20
+
21
+ ## Fixed
22
+
23
+ ```css
24
+ .card {
25
+ color: --theme(--color-blue-500);
26
+ }
27
+ ```
28
+
29
+ ## How to fix
30
+
31
+ Write the full name of a theme token, with an optional fallback after a comma,
32
+ such as `--theme(--color-brand, blue)`.
33
+
34
+ A valid reference to a token that the theme does not define is reported by
35
+ [invalid-theme-reference](../lints/invalid-theme-reference.md) instead.
@@ -0,0 +1,41 @@
1
+ ---
2
+ title: "SW14008: Circular utility application"
3
+ description: "A utility applies itself directly or through another utility."
4
+ ---
5
+
6
+ # SW14008: Circular utility application
7
+
8
+ This error occurs when an `@apply` dependency returns to a utility that is already
9
+ being expanded. The cycle can pass through several utilities.
10
+
11
+ ## Reported
12
+
13
+ ```css
14
+ @utility card {
15
+ @apply card;
16
+ }
17
+
18
+ .card {
19
+ @apply card;
20
+ }
21
+ ```
22
+
23
+ > SW14008: circular @apply dependency for utility `card`
24
+
25
+ ## Fixed
26
+
27
+ ```css
28
+ @utility card {
29
+ display: block;
30
+ padding: 1rem;
31
+ }
32
+
33
+ .card {
34
+ @apply card;
35
+ }
36
+ ```
37
+
38
+ ## How to fix
39
+
40
+ Remove the `@apply` that closes the dependency cycle. A shared utility can contain
41
+ the common declarations, provided that it does not apply the utilities that use it.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "SW15001: CSS offset exceeds source coordinates"
3
+ description: "A stylesheet is too large for the compiler's source positions."
4
+ ---
5
+
6
+ # SW15001: CSS offset exceeds source coordinates
7
+
8
+ This error occurs when a stylesheet is so large that a position in it does not
9
+ fit in the compiler's 32-bit source positions, which allow about 4 GB. Such a
10
+ stylesheet is almost always generated by mistake.
11
+
12
+ ## How to fix
13
+
14
+ - Find the tool or plugin that generates the stylesheet, and limit its output.
15
+ - Split the stylesheet into several files.
16
+
17
+ If the stylesheet has a normal size, report the error as a bug with the input
18
+ sizes.
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: "SW15002: Rendered source is too large"
3
+ description: "A compiled module is too large for the compiler's source positions."
4
+ ---
5
+
6
+ # SW15002: Rendered source is too large
7
+
8
+ This error occurs when the compiled code of one module is so large that its
9
+ positions do not fit in the compiler's 32-bit source positions. The source may be
10
+ small while the compiled code is not, for example when a style lists a very large
11
+ number of options.
12
+
13
+ ## How to fix
14
+
15
+ - Split the module into smaller modules.
16
+ - Reduce the number of style combinations that one call generates.
17
+
18
+ If the module has a normal size, report the error as a bug with the size of the
19
+ input and the output.
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: "SW15003: Source size or offset is too large"
3
+ description: "A source file or a position in it is too large for the compiler's source positions."
4
+ ---
5
+
6
+ # SW15003: Source size or offset is too large
7
+
8
+ This error occurs when a source file, or a position that the compiler is asked to
9
+ read, does not fit in the compiler's 32-bit source positions. The message shows
10
+ the value and the operation.
11
+
12
+ ## How to fix
13
+
14
+ - Split a very large source file into smaller files.
15
+ - If the file has a normal size, the position came from an integration or a tool.
16
+ Report the error with the operation from the message.
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: "SW30001: TypeScript checker facts required"
3
+ description: "The compiler needs type information for a value, but the integration did not provide it."
4
+ ---
5
+
6
+ # SW30001: TypeScript checker facts required
7
+
8
+ This error occurs when the compiler needs TypeScript type information to compile
9
+ a value, but the integration compiled the file without it. Examples are a ref
10
+ chosen by a condition, or an animation imported from another module. The message
11
+ names the kind of value.
12
+
13
+ ## How to fix
14
+
15
+ - With an official integration, update the Stillwind packages. If the error
16
+ remains, report it with the file that causes it.
17
+ - In your own integration, run the type queries before compilation, and pass
18
+ their results with the same revision of the source.
19
+
20
+ Type information that exists but does not match the source is reported as
21
+ [SW30002](SW30002.md).
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "SW30002: Invalid or stale TypeScript facts"
3
+ description: "The type information from the integration does not match the source or the compiler version."
4
+ ---
5
+
6
+ # SW30002: Invalid or stale TypeScript facts
7
+
8
+ This error occurs when the type information that the integration provides is
9
+ invalid, or belongs to another revision of the source. For example, information
10
+ from an older editor buffer does not apply to the edited text, even if the file
11
+ path is the same.
12
+
13
+ ## How to fix
14
+
15
+ - With an official integration, check that all `@stillwind/*` packages have the
16
+ same version, then update them. If the error remains, report it.
17
+ - In your own integration, collect the type information again after every source
18
+ change, and use the host and native packages from the same release.
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: "SW30003: Incompatible symbolic fact kinds"
3
+ description: "The type information describes a value as the wrong kind, such as a keyframes definition as a ref."
4
+ ---
5
+
6
+ # SW30003: Incompatible symbolic fact kinds
7
+
8
+ This error occurs when the type information describes a value as a different kind
9
+ of definition than the code uses it as. For example, it encodes a keyframes
10
+ definition as a ref. The compiler cannot read the fields of one kind as another.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, update the Stillwind packages. If the error
15
+ remains, report it with the declaration and the code that uses it.
16
+ - In your own integration, fix the conversion from TypeScript types to the
17
+ compiler's facts, and collect the facts again.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "SW30004: Checker expression unavailable"
3
+ description: "The integration cannot find the code that TypeScript needs to check for an expression."
4
+ ---
5
+
6
+ # SW30004: Checker expression unavailable
7
+
8
+ This error occurs when the compiler needs type information for an expression, but
9
+ the integration cannot find that expression in the code that TypeScript checks.
10
+ This usually happens in Vue, Svelte, or Astro components, where a converter
11
+ produces the checked code. The message names the operation.
12
+
13
+ ## How to fix
14
+
15
+ - With an official integration, update the Stillwind packages and the framework
16
+ packages. If the error remains, report it with the component.
17
+ - In your own integration, keep the mapping between the original expressions and
18
+ the checked code, including for unsaved editor buffers.
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: "SW31001: Invalid projection map"
3
+ description: "The mapping between a component and its converted script is malformed."
4
+ ---
5
+
6
+ # SW31001: Invalid projection map
7
+
8
+ This error occurs when the map that links a Vue, Svelte, or Astro component to its
9
+ converted script is malformed. For example, a range in the map extends past the
10
+ end of the text that it refers to. The message describes the problem.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, update the Stillwind packages and the framework
15
+ packages. If the error remains, report it with the component.
16
+ - In your own converter, check each range against the exact texts that you pass
17
+ to the compiler.
18
+
19
+ A valid map that cannot point to one original range is reported as
20
+ [SW31002](SW31002.md).
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: "SW31002: Ambiguous or missing original range"
3
+ description: "A Stillwind expression in a converted script maps to no place, or several places, in the component."
4
+ ---
5
+
6
+ # SW31002: Ambiguous or missing original range
7
+
8
+ This error occurs when a Stillwind expression in the converted script of a
9
+ component maps to no place in the original component, or to more than one place.
10
+ The compiler must edit the original source, so it needs exactly one location.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, update the Stillwind packages and the framework
15
+ packages. If the error remains, report it with the component.
16
+ - In your own converter, map the whole expression. A mapping for a nearby token
17
+ is not enough.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "SW31003: Projection content mismatch"
3
+ description: "The converted script and the component contain different text at a mapped location."
4
+ ---
5
+
6
+ # SW31003: Projection content mismatch
7
+
8
+ This error occurs when the converted script and the original component contain
9
+ different text at a location that the map links. The compiler would edit the
10
+ wrong text, so it stops.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, save the file and build again, in case the
15
+ editor passed an old buffer. If the error remains, report it with the
16
+ component.
17
+ - In your own converter, check rewrites and escaping of the mapped text, and do
18
+ not reuse a map for a changed buffer.
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: "SW31004: Invalid converter output syntax"
3
+ description: "The script that a converter generated from a valid component has a syntax error."
4
+ ---
5
+
6
+ # SW31004: Invalid converter output syntax
7
+
8
+ This error occurs when a Vue, Svelte, or Astro component is valid, but the script
9
+ that the converter generates from it cannot be parsed. The message contains the
10
+ explanation from the parser.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, update the Stillwind packages and the framework
15
+ packages. If the error remains, report it with the component.
16
+ - In your own converter, fix the generated code, or select the right language
17
+ for the parser.
18
+
19
+ A syntax error in the component itself is reported as
20
+ [SW10002](SW10002.md) instead.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "SW31005: Component projection preparation failed"
3
+ description: "The converter for a Vue, Svelte, or Astro component failed before compilation."
4
+ ---
5
+
6
+ # SW31005: Component projection preparation failed
7
+
8
+ This error occurs when the converter that prepares a Vue, Svelte, or Astro
9
+ component for compilation or type checking fails. The message contains the
10
+ explanation from the converter.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, check that the framework and Stillwind package
15
+ versions are supported, and update them. If the error remains, report it with
16
+ the component.
17
+ - In your own integration, report the converter failure instead of compiling a
18
+ partly prepared component.
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: "SW31006: Invalid UTF-16 offset"
3
+ description: "A requested UTF-16 offset is outside the source or inside a character."
4
+ ---
5
+
6
+ # SW31006: Invalid UTF-16 offset
7
+
8
+ This error occurs when an integration or a tool asks for a UTF-16 offset that is
9
+ not a valid position in the source, such as an offset past the end. UTF-16
10
+ offsets count code units, not bytes.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, report the error with the file and the action
15
+ that caused it.
16
+ - In your own integration, use offsets from the same revision of the source, and
17
+ convert explicitly between byte offsets and UTF-16 offsets.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "SW31007: Invalid UTF-16 position"
3
+ description: "A requested line and column do not exist in the source."
4
+ ---
5
+
6
+ # SW31007: Invalid UTF-16 position
7
+
8
+ This error occurs when an integration or a tool asks for a line and column that
9
+ do not exist in the source. Lines count from zero, and columns count UTF-16 code
10
+ units from zero.
11
+
12
+ ## How to fix
13
+
14
+ - With an official integration, report the error with the file and the action
15
+ that caused it.
16
+ - In your own integration, convert positions from one-based editor numbers, and
17
+ compute them again after each edit. Do not use positions in the converted
18
+ script as positions in the original component.
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: "SW31008: Invalid UTF-8 offset"
3
+ description: "A requested byte offset is outside the source or inside a multibyte character."
4
+ ---
5
+
6
+ # SW31008: Invalid UTF-8 offset
7
+
8
+ This error occurs when an integration or a tool asks for a UTF-8 byte offset that
9
+ is outside the source, or that falls inside a character of several bytes.
10
+
11
+ ## How to fix
12
+
13
+ - With an official integration, report the error with the file and the action
14
+ that caused it.
15
+ - In your own integration, use byte offsets for byte-based APIs. Convert UTF-16
16
+ editor positions with the source service instead of counting characters.