tailwindcss 0.0.0-insiders.ff2c25f → 0.0.0-internal.b2586d4e

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 (248) hide show
  1. package/README.md +5 -6
  2. package/dist/lib.d.mts +339 -0
  3. package/dist/lib.d.ts +339 -0
  4. package/dist/lib.js +17 -0
  5. package/dist/lib.mjs +17 -0
  6. package/index.css +5 -0
  7. package/package.json +36 -107
  8. package/preflight.css +334 -0
  9. package/theme.css +463 -0
  10. package/base.css +0 -1
  11. package/colors.d.ts +0 -3
  12. package/colors.js +0 -2
  13. package/components.css +0 -1
  14. package/defaultConfig.d.ts +0 -3
  15. package/defaultConfig.js +0 -2
  16. package/defaultTheme.d.ts +0 -4
  17. package/defaultTheme.js +0 -2
  18. package/lib/cli/build/deps.js +0 -54
  19. package/lib/cli/build/index.js +0 -48
  20. package/lib/cli/build/plugin.js +0 -367
  21. package/lib/cli/build/utils.js +0 -78
  22. package/lib/cli/build/watching.js +0 -178
  23. package/lib/cli/help/index.js +0 -71
  24. package/lib/cli/index.js +0 -239
  25. package/lib/cli/init/index.js +0 -46
  26. package/lib/cli-peer-dependencies.js +0 -28
  27. package/lib/cli.js +0 -7
  28. package/lib/constants.js +0 -44
  29. package/lib/corePluginList.js +0 -181
  30. package/lib/corePlugins.js +0 -4062
  31. package/lib/css/LICENSE +0 -25
  32. package/lib/css/preflight.css +0 -367
  33. package/lib/featureFlags.js +0 -71
  34. package/lib/index.js +0 -6
  35. package/lib/lib/cacheInvalidation.js +0 -90
  36. package/lib/lib/collapseAdjacentRules.js +0 -59
  37. package/lib/lib/collapseDuplicateDeclarations.js +0 -83
  38. package/lib/lib/content.js +0 -177
  39. package/lib/lib/defaultExtractor.js +0 -241
  40. package/lib/lib/detectNesting.js +0 -43
  41. package/lib/lib/evaluateTailwindFunctions.js +0 -234
  42. package/lib/lib/expandApplyAtRules.js +0 -526
  43. package/lib/lib/expandTailwindAtRules.js +0 -273
  44. package/lib/lib/findAtConfigPath.js +0 -44
  45. package/lib/lib/generateRules.js +0 -866
  46. package/lib/lib/getModuleDependencies.js +0 -51
  47. package/lib/lib/normalizeTailwindDirectives.js +0 -87
  48. package/lib/lib/offsets.js +0 -299
  49. package/lib/lib/partitionApplyAtRules.js +0 -56
  50. package/lib/lib/regex.js +0 -60
  51. package/lib/lib/remap-bitfield.js +0 -87
  52. package/lib/lib/resolveDefaultsAtRules.js +0 -161
  53. package/lib/lib/setupContextUtils.js +0 -1218
  54. package/lib/lib/setupTrackingContext.js +0 -163
  55. package/lib/lib/sharedState.js +0 -78
  56. package/lib/lib/substituteScreenAtRules.js +0 -29
  57. package/lib/oxide/cli/build/deps.js +0 -81
  58. package/lib/oxide/cli/build/index.js +0 -47
  59. package/lib/oxide/cli/build/plugin.js +0 -364
  60. package/lib/oxide/cli/build/utils.js +0 -77
  61. package/lib/oxide/cli/build/watching.js +0 -177
  62. package/lib/oxide/cli/help/index.js +0 -70
  63. package/lib/oxide/cli/index.js +0 -220
  64. package/lib/oxide/cli/init/index.js +0 -35
  65. package/lib/oxide/cli.js +0 -5
  66. package/lib/oxide/postcss-plugin.js +0 -2
  67. package/lib/plugin.js +0 -48
  68. package/lib/postcss-plugins/nesting/README.md +0 -42
  69. package/lib/postcss-plugins/nesting/index.js +0 -19
  70. package/lib/postcss-plugins/nesting/plugin.js +0 -87
  71. package/lib/processTailwindFeatures.js +0 -62
  72. package/lib/public/colors.js +0 -331
  73. package/lib/public/create-plugin.js +0 -15
  74. package/lib/public/default-config.js +0 -16
  75. package/lib/public/default-theme.js +0 -16
  76. package/lib/public/resolve-config.js +0 -22
  77. package/lib/util/bigSign.js +0 -11
  78. package/lib/util/buildMediaQuery.js +0 -25
  79. package/lib/util/cloneDeep.js +0 -20
  80. package/lib/util/cloneNodes.js +0 -32
  81. package/lib/util/color.js +0 -98
  82. package/lib/util/configurePlugins.js +0 -21
  83. package/lib/util/createPlugin.js +0 -30
  84. package/lib/util/createUtilityPlugin.js +0 -51
  85. package/lib/util/dataTypes.js +0 -266
  86. package/lib/util/defaults.js +0 -25
  87. package/lib/util/escapeClassName.js +0 -22
  88. package/lib/util/escapeCommas.js +0 -11
  89. package/lib/util/flattenColorPalette.js +0 -16
  90. package/lib/util/formatVariantSelector.js +0 -351
  91. package/lib/util/getAllConfigs.js +0 -48
  92. package/lib/util/hashConfig.js +0 -19
  93. package/lib/util/isKeyframeRule.js +0 -11
  94. package/lib/util/isPlainObject.js +0 -15
  95. package/lib/util/isSyntacticallyValidPropertyValue.js +0 -72
  96. package/lib/util/log.js +0 -57
  97. package/lib/util/nameClass.js +0 -43
  98. package/lib/util/negateValue.js +0 -34
  99. package/lib/util/normalizeConfig.js +0 -281
  100. package/lib/util/normalizeScreens.js +0 -170
  101. package/lib/util/parseAnimationValue.js +0 -91
  102. package/lib/util/parseBoxShadowValue.js +0 -84
  103. package/lib/util/parseDependency.js +0 -45
  104. package/lib/util/parseGlob.js +0 -34
  105. package/lib/util/parseObjectStyles.js +0 -34
  106. package/lib/util/pluginUtils.js +0 -283
  107. package/lib/util/prefixSelector.js +0 -37
  108. package/lib/util/removeAlphaVariables.js +0 -29
  109. package/lib/util/resolveConfig.js +0 -254
  110. package/lib/util/resolveConfigPath.js +0 -54
  111. package/lib/util/responsive.js +0 -22
  112. package/lib/util/splitAtTopLevelOnly.js +0 -43
  113. package/lib/util/tap.js +0 -12
  114. package/lib/util/toColorValue.js +0 -11
  115. package/lib/util/toPath.js +0 -30
  116. package/lib/util/transformThemeValue.js +0 -71
  117. package/lib/util/validateConfig.js +0 -24
  118. package/lib/util/validateFormalSyntax.js +0 -24
  119. package/lib/util/withAlphaVariable.js +0 -75
  120. package/nesting/index.js +0 -2
  121. package/oxide-node-api-shim/index.js +0 -21
  122. package/oxide-node-api-shim/package.json +0 -5
  123. package/peers/index.js +0 -79461
  124. package/plugin.d.ts +0 -11
  125. package/plugin.js +0 -2
  126. package/prettier.config.js +0 -19
  127. package/resolveConfig.d.ts +0 -12
  128. package/resolveConfig.js +0 -2
  129. package/screens.css +0 -1
  130. package/scripts/create-plugin-list.js +0 -10
  131. package/scripts/generate-types.js +0 -105
  132. package/scripts/release-channel.js +0 -18
  133. package/scripts/release-notes.js +0 -21
  134. package/scripts/swap-engines.js +0 -40
  135. package/scripts/type-utils.js +0 -27
  136. package/src/cli/build/deps.js +0 -56
  137. package/src/cli/build/index.js +0 -49
  138. package/src/cli/build/plugin.js +0 -439
  139. package/src/cli/build/utils.js +0 -76
  140. package/src/cli/build/watching.js +0 -227
  141. package/src/cli/help/index.js +0 -70
  142. package/src/cli/index.js +0 -234
  143. package/src/cli/init/index.js +0 -50
  144. package/src/cli-peer-dependencies.js +0 -15
  145. package/src/cli.js +0 -7
  146. package/src/constants.js +0 -17
  147. package/src/corePluginList.js +0 -1
  148. package/src/corePlugins.js +0 -2744
  149. package/src/css/LICENSE +0 -25
  150. package/src/css/preflight.css +0 -367
  151. package/src/featureFlags.js +0 -64
  152. package/src/index.js +0 -5
  153. package/src/lib/cacheInvalidation.js +0 -52
  154. package/src/lib/collapseAdjacentRules.js +0 -58
  155. package/src/lib/collapseDuplicateDeclarations.js +0 -93
  156. package/src/lib/content.js +0 -208
  157. package/src/lib/defaultExtractor.js +0 -217
  158. package/src/lib/detectNesting.js +0 -47
  159. package/src/lib/evaluateTailwindFunctions.js +0 -269
  160. package/src/lib/expandApplyAtRules.js +0 -606
  161. package/src/lib/expandTailwindAtRules.js +0 -285
  162. package/src/lib/findAtConfigPath.js +0 -48
  163. package/src/lib/generateRules.js +0 -899
  164. package/src/lib/getModuleDependencies.js +0 -39
  165. package/src/lib/normalizeTailwindDirectives.js +0 -84
  166. package/src/lib/offsets.js +0 -367
  167. package/src/lib/partitionApplyAtRules.js +0 -52
  168. package/src/lib/regex.js +0 -74
  169. package/src/lib/remap-bitfield.js +0 -82
  170. package/src/lib/resolveDefaultsAtRules.js +0 -163
  171. package/src/lib/setupContextUtils.js +0 -1308
  172. package/src/lib/setupTrackingContext.js +0 -171
  173. package/src/lib/sharedState.js +0 -67
  174. package/src/lib/substituteScreenAtRules.js +0 -19
  175. package/src/oxide/cli/build/deps.ts +0 -91
  176. package/src/oxide/cli/build/index.ts +0 -47
  177. package/src/oxide/cli/build/plugin.ts +0 -436
  178. package/src/oxide/cli/build/utils.ts +0 -74
  179. package/src/oxide/cli/build/watching.ts +0 -225
  180. package/src/oxide/cli/help/index.ts +0 -69
  181. package/src/oxide/cli/index.ts +0 -212
  182. package/src/oxide/cli/init/index.ts +0 -32
  183. package/src/oxide/cli.ts +0 -1
  184. package/src/oxide/postcss-plugin.ts +0 -1
  185. package/src/plugin.js +0 -47
  186. package/src/postcss-plugins/nesting/README.md +0 -42
  187. package/src/postcss-plugins/nesting/index.js +0 -13
  188. package/src/postcss-plugins/nesting/plugin.js +0 -80
  189. package/src/processTailwindFeatures.js +0 -58
  190. package/src/public/colors.js +0 -300
  191. package/src/public/create-plugin.js +0 -2
  192. package/src/public/default-config.js +0 -4
  193. package/src/public/default-theme.js +0 -4
  194. package/src/public/resolve-config.js +0 -7
  195. package/src/util/bigSign.js +0 -3
  196. package/src/util/buildMediaQuery.js +0 -22
  197. package/src/util/cloneDeep.js +0 -11
  198. package/src/util/cloneNodes.js +0 -28
  199. package/src/util/color.js +0 -73
  200. package/src/util/configurePlugins.js +0 -23
  201. package/src/util/createPlugin.js +0 -27
  202. package/src/util/createUtilityPlugin.js +0 -37
  203. package/src/util/dataTypes.js +0 -281
  204. package/src/util/defaults.js +0 -17
  205. package/src/util/escapeClassName.js +0 -8
  206. package/src/util/escapeCommas.js +0 -3
  207. package/src/util/flattenColorPalette.js +0 -13
  208. package/src/util/formatVariantSelector.js +0 -412
  209. package/src/util/getAllConfigs.js +0 -38
  210. package/src/util/hashConfig.js +0 -5
  211. package/src/util/isKeyframeRule.js +0 -3
  212. package/src/util/isPlainObject.js +0 -8
  213. package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
  214. package/src/util/log.js +0 -29
  215. package/src/util/nameClass.js +0 -30
  216. package/src/util/negateValue.js +0 -24
  217. package/src/util/normalizeConfig.js +0 -300
  218. package/src/util/normalizeScreens.js +0 -140
  219. package/src/util/parseAnimationValue.js +0 -68
  220. package/src/util/parseBoxShadowValue.js +0 -72
  221. package/src/util/parseDependency.js +0 -44
  222. package/src/util/parseGlob.js +0 -24
  223. package/src/util/parseObjectStyles.js +0 -19
  224. package/src/util/pluginUtils.js +0 -314
  225. package/src/util/prefixSelector.js +0 -32
  226. package/src/util/removeAlphaVariables.js +0 -24
  227. package/src/util/resolveConfig.js +0 -277
  228. package/src/util/resolveConfigPath.js +0 -55
  229. package/src/util/responsive.js +0 -10
  230. package/src/util/splitAtTopLevelOnly.js +0 -45
  231. package/src/util/tap.js +0 -4
  232. package/src/util/toColorValue.js +0 -3
  233. package/src/util/toPath.js +0 -26
  234. package/src/util/transformThemeValue.js +0 -62
  235. package/src/util/validateConfig.js +0 -13
  236. package/src/util/validateFormalSyntax.js +0 -34
  237. package/src/util/withAlphaVariable.js +0 -49
  238. package/stubs/defaultConfig.stub.js +0 -956
  239. package/stubs/defaultPostCssConfig.stub.js +0 -6
  240. package/stubs/simpleConfig.stub.js +0 -8
  241. package/tailwind.css +0 -5
  242. package/types/config.d.ts +0 -367
  243. package/types/generated/.gitkeep +0 -0
  244. package/types/generated/colors.d.ts +0 -276
  245. package/types/generated/corePluginList.d.ts +0 -1
  246. package/types/generated/default-theme.d.ts +0 -345
  247. package/types/index.d.ts +0 -7
  248. package/variants.css +0 -1
package/README.md CHANGED
@@ -12,19 +12,18 @@
12
12
  A utility-first CSS framework for rapidly building custom user interfaces.
13
13
  </p>
14
14
 
15
-
16
15
  <p align="center">
17
- <a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci-stable.yml?branch=master" alt="Build Status"></a>
16
+ <a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=next" alt="Build Status"></a>
18
17
  <a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
19
18
  <a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
20
19
  <a href="https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
21
20
  </p>
22
21
 
23
- ------
22
+ ---
24
23
 
25
24
  ## Documentation
26
25
 
27
- For full documentation, visit [tailwindcss.com](https://tailwindcss.com/).
26
+ For full documentation, visit [tailwindcss.com](https://tailwindcss.com).
28
27
 
29
28
  ## Community
30
29
 
@@ -32,10 +31,10 @@ For help, discussion about best practices, or any other conversation that would
32
31
 
33
32
  [Discuss Tailwind CSS on GitHub](https://github.com/tailwindcss/tailwindcss/discussions)
34
33
 
35
- For casual chit-chat with others using the framework:
34
+ For chatting with others using the framework:
36
35
 
37
36
  [Join the Tailwind CSS Discord Server](https://discord.gg/7NF8GNe)
38
37
 
39
38
  ## Contributing
40
39
 
41
- If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/master/.github/CONTRIBUTING.md) **before submitting a pull request**.
40
+ If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/next/.github/CONTRIBUTING.md) **before submitting a pull request**.
package/dist/lib.d.mts ADDED
@@ -0,0 +1,339 @@
1
+ type ArbitraryUtilityValue = {
2
+ kind: 'arbitrary';
3
+ /**
4
+ * bg-[color:--my-color]
5
+ * ^^^^^
6
+ */
7
+ dataType: string | null;
8
+ /**
9
+ * bg-[#0088cc]
10
+ * ^^^^^^^
11
+ * bg-[--my_variable]
12
+ * var(^^^^^^^^^^^^^)
13
+ */
14
+ value: string;
15
+ /**
16
+ * bg-[--my_variable]
17
+ * ^^^^^^^^^^^^^
18
+ */
19
+ dashedIdent: string | null;
20
+ };
21
+ type NamedUtilityValue = {
22
+ kind: 'named';
23
+ /**
24
+ * bg-red-500
25
+ * ^^^^^^^
26
+ *
27
+ * w-1/2
28
+ * ^
29
+ */
30
+ value: string;
31
+ /**
32
+ * w-1/2
33
+ * ^^^
34
+ */
35
+ fraction: string | null;
36
+ };
37
+ type ArbitraryModifier = {
38
+ kind: 'arbitrary';
39
+ /**
40
+ * bg-red-500/[50%]
41
+ * ^^^
42
+ */
43
+ value: string;
44
+ /**
45
+ * bg-red-500/[--my_variable]
46
+ * ^^^^^^^^^^^^^
47
+ */
48
+ dashedIdent: string | null;
49
+ };
50
+ type NamedModifier = {
51
+ kind: 'named';
52
+ /**
53
+ * bg-red-500/50
54
+ * ^^
55
+ */
56
+ value: string;
57
+ };
58
+ type ArbitraryVariantValue = {
59
+ kind: 'arbitrary';
60
+ value: string;
61
+ };
62
+ type NamedVariantValue = {
63
+ kind: 'named';
64
+ value: string;
65
+ };
66
+ type Variant =
67
+ /**
68
+ * Arbitrary variants are variants that take a selector and generate a variant
69
+ * on the fly.
70
+ *
71
+ * E.g.: `[&_p]`
72
+ */
73
+ {
74
+ kind: 'arbitrary';
75
+ selector: string;
76
+ compounds: boolean;
77
+ }
78
+ /**
79
+ * Static variants are variants that don't take any arguments.
80
+ *
81
+ * E.g.: `hover`
82
+ */
83
+ | {
84
+ kind: 'static';
85
+ root: string;
86
+ compounds: boolean;
87
+ }
88
+ /**
89
+ * Functional variants are variants that can take an argument. The argument is
90
+ * either a named variant value or an arbitrary variant value.
91
+ *
92
+ * E.g.:
93
+ *
94
+ * - `aria-disabled`
95
+ * - `aria-[disabled]`
96
+ * - `@container-size` -> @container, with named value `size`
97
+ * - `@container-[inline-size]` -> @container, with arbitrary variant value `inline-size`
98
+ * - `@container` -> @container, with no value
99
+ */
100
+ | {
101
+ kind: 'functional';
102
+ root: string;
103
+ value: ArbitraryVariantValue | NamedVariantValue | null;
104
+ modifier: ArbitraryModifier | NamedModifier | null;
105
+ compounds: boolean;
106
+ }
107
+ /**
108
+ * Compound variants are variants that take another variant as an argument.
109
+ *
110
+ * E.g.:
111
+ *
112
+ * - `has-[&_p]`
113
+ * - `group-*`
114
+ * - `peer-*`
115
+ */
116
+ | {
117
+ kind: 'compound';
118
+ root: string;
119
+ modifier: ArbitraryModifier | NamedModifier | null;
120
+ variant: Variant;
121
+ compounds: boolean;
122
+ };
123
+ type Candidate =
124
+ /**
125
+ * Arbitrary candidates are candidates that register utilities on the fly with
126
+ * a property and a value.
127
+ *
128
+ * E.g.:
129
+ *
130
+ * - `[color:red]`
131
+ * - `[color:red]/50`
132
+ * - `[color:red]/50!`
133
+ */
134
+ {
135
+ kind: 'arbitrary';
136
+ property: string;
137
+ value: string;
138
+ modifier: ArbitraryModifier | NamedModifier | null;
139
+ variants: Variant[];
140
+ important: boolean;
141
+ }
142
+ /**
143
+ * Static candidates are candidates that don't take any arguments.
144
+ *
145
+ * E.g.:
146
+ *
147
+ * - `underline`
148
+ * - `flex`
149
+ */
150
+ | {
151
+ kind: 'static';
152
+ root: string;
153
+ variants: Variant[];
154
+ negative: boolean;
155
+ important: boolean;
156
+ }
157
+ /**
158
+ * Functional candidates are candidates that can take an argument.
159
+ *
160
+ * E.g.:
161
+ *
162
+ * - `bg-red-500`
163
+ * - `bg-[#0088cc]`
164
+ * - `w-1/2`
165
+ */
166
+ | {
167
+ kind: 'functional';
168
+ root: string;
169
+ value: ArbitraryUtilityValue | NamedUtilityValue | null;
170
+ modifier: ArbitraryModifier | NamedModifier | null;
171
+ variants: Variant[];
172
+ negative: boolean;
173
+ important: boolean;
174
+ };
175
+ declare function parseCandidate(input: string, designSystem: DesignSystem): Candidate | null;
176
+ declare function parseVariant(variant: string, designSystem: DesignSystem): Variant | null;
177
+
178
+ type Rule = {
179
+ kind: 'rule';
180
+ selector: string;
181
+ nodes: AstNode[];
182
+ };
183
+ type Declaration = {
184
+ kind: 'declaration';
185
+ property: string;
186
+ value: string;
187
+ important: boolean;
188
+ };
189
+ type Comment = {
190
+ kind: 'comment';
191
+ value: string;
192
+ };
193
+ type AstNode = Rule | Declaration | Comment;
194
+
195
+ declare class Theme {
196
+ private values;
197
+ constructor(values?: Map<string, string>);
198
+ add(key: string, value: string): void;
199
+ keysInNamespaces(themeKeys: ThemeKey[]): string[];
200
+ get(themeKeys: ThemeKey[]): string | null;
201
+ entries(): IterableIterator<[string, string]>;
202
+ clearNamespace(namespace: string): void;
203
+ resolveKey(candidateValue: string, themeKeys: ThemeKey[]): string | null;
204
+ var(themeKey: string): string | null;
205
+ resolve(candidateValue: string, themeKeys: ThemeKey[]): string | null;
206
+ resolveBare(candidateValue: string, themeKeys: ThemeKey[]): string | null;
207
+ resolveWith(candidateValue: string, themeKeys: ThemeKey[], nestedKeys?: `--${string}`[]): [string, Record<string, string>] | null;
208
+ namespace(namespace: string): Map<string | null, string>;
209
+ }
210
+ type ThemeKey = '--accent-color' | '--animate' | '--aspect-ratio' | '--backdrop-blur' | '--backdrop-brightness' | '--backdrop-contrast' | '--backdrop-grayscale' | '--backdrop-hue-rotate' | '--backdrop-invert' | '--backdrop-opacity' | '--backdrop-saturate' | '--backdrop-sepia' | '--background-color' | '--background-image' | '--blur' | '--border-color' | '--border-spacing' | '--border-width' | '--box-shadow-color' | '--breakpoint' | '--brightness' | '--caret-color' | '--color' | '--columns' | '--contrast' | '--cursor' | '--default-border-width' | '--default-ring-color' | '--default-ring-width' | '--divide-width' | '--divide-color' | '--drop-shadow' | '--fill' | '--flex-basis' | '--font-family' | '--font-size' | '--font-weight' | '--gap' | '--gradient-color-stop-positions' | '--grayscale' | '--grid-auto-columns' | '--grid-auto-rows' | '--grid-column' | '--grid-column-end' | '--grid-column-start' | '--grid-row' | '--grid-row-end' | '--grid-row-start' | '--grid-template-columns' | '--grid-template-rows' | '--height' | '--hue-rotate' | '--inset' | '--inset-shadow' | '--invert' | '--letter-spacing' | '--line-height' | '--line-clamp' | '--list-style-image' | '--list-style-type' | '--margin' | '--max-height' | '--max-width' | '--min-height' | '--min-width' | '--object-position' | '--opacity' | '--order' | '--outline-color' | '--outline-width' | '--outline-offset' | '--padding' | '--placeholder-color' | '--radius' | '--ring-color' | '--ring-offset-color' | '--ring-offset-width' | '--ring-width' | '--rotate' | '--saturate' | '--scale' | '--scroll-margin' | '--scroll-padding' | '--sepia' | '--shadow' | '--size' | '--skew' | '--space' | '--spacing' | '--stroke' | '--stroke-width' | '--text-color' | '--text-decoration-color' | '--text-decoration-thickness' | '--text-indent' | '--text-underline-offset' | '--transform-origin' | '--transition-delay' | '--transition-duration' | '--transition-property' | '--transition-timing-function' | '--translate' | '--width' | '--z-index';
211
+
212
+ type VariantFn<T extends Variant['kind']> = (rule: Rule, variant: Extract<Variant, {
213
+ kind: T;
214
+ }>) => null | void;
215
+ type CompareFn = (a: Variant, z: Variant) => number;
216
+ declare class Variants {
217
+ private compareFns;
218
+ private variants;
219
+ private completions;
220
+ /**
221
+ * Registering a group of variants should result in the same sort number for
222
+ * all the variants. This is to ensure that the variants are applied in the
223
+ * correct order.
224
+ */
225
+ private groupOrder;
226
+ /**
227
+ * Keep track of the last sort order instead of using the size of the map to
228
+ * avoid unnecessarily skipping order numbers.
229
+ */
230
+ private lastOrder;
231
+ static(name: string, applyFn: VariantFn<'static'>, { compounds }?: {
232
+ compounds?: boolean;
233
+ }): void;
234
+ functional(name: string, applyFn: VariantFn<'functional'>, { compounds }?: {
235
+ compounds?: boolean;
236
+ }): void;
237
+ compound(name: string, applyFn: VariantFn<'compound'>, { compounds }?: {
238
+ compounds?: boolean;
239
+ }): void;
240
+ group(fn: () => void, compareFn?: CompareFn): void;
241
+ has(name: string): boolean;
242
+ get(name: string): {
243
+ kind: "arbitrary" | "static" | "functional" | "compound";
244
+ order: number;
245
+ applyFn: VariantFn<any>;
246
+ compounds: boolean;
247
+ } | undefined;
248
+ kind(name: string): "arbitrary" | "static" | "functional" | "compound";
249
+ compounds(name: string): boolean;
250
+ suggest(name: string, suggestions: () => string[]): void;
251
+ getCompletions(name: string): string[];
252
+ compare(a: Variant | null, z: Variant | null): number;
253
+ keys(): IterableIterator<string>;
254
+ entries(): IterableIterator<[string, {
255
+ kind: "arbitrary" | "static" | "functional" | "compound";
256
+ order: number;
257
+ applyFn: VariantFn<any>;
258
+ compounds: boolean;
259
+ }]>;
260
+ private set;
261
+ private nextOrder;
262
+ }
263
+
264
+ declare function compileAstNodes(rawCandidate: string, designSystem: DesignSystem): {
265
+ node: Rule;
266
+ propertySort: number[];
267
+ } | null;
268
+
269
+ interface ClassMetadata {
270
+ modifiers: string[];
271
+ }
272
+ type ClassEntry = [string, ClassMetadata];
273
+ interface SelectorOptions {
274
+ modifier?: string;
275
+ value?: string;
276
+ }
277
+ interface VariantEntry {
278
+ name: string;
279
+ isArbitrary: boolean;
280
+ values: string[];
281
+ hasDash: boolean;
282
+ selectors: (options: SelectorOptions) => string[];
283
+ }
284
+
285
+ type CompileFn<T extends Candidate['kind']> = (value: Extract<Candidate, {
286
+ kind: T;
287
+ }>) => AstNode[] | undefined;
288
+ interface SuggestionGroup {
289
+ supportsNegative?: boolean;
290
+ values: (string | null)[];
291
+ modifiers: string[];
292
+ }
293
+ declare class Utilities {
294
+ private utilities;
295
+ private completions;
296
+ static(name: string, compileFn: CompileFn<'static'>): void;
297
+ functional(name: string, compileFn: CompileFn<'functional'>): void;
298
+ arbitrary(compileFn: CompileFn<'arbitrary'>): void;
299
+ has(name: string): boolean;
300
+ get(name: string | symbol): {
301
+ kind: "arbitrary" | "static" | "functional";
302
+ compileFn: CompileFn<any>;
303
+ } | undefined;
304
+ kind(name: string): "arbitrary" | "static" | "functional";
305
+ getCompletions(name: string): SuggestionGroup[];
306
+ suggest(name: string, groups: () => SuggestionGroup[]): void;
307
+ keys(): IterableIterator<string | symbol>;
308
+ entries(): IterableIterator<[string | symbol, {
309
+ kind: "arbitrary" | "static" | "functional";
310
+ compileFn: CompileFn<any>;
311
+ }]>;
312
+ getArbitrary(): CompileFn<any>;
313
+ private set;
314
+ }
315
+
316
+ type DesignSystem = {
317
+ theme: Theme;
318
+ utilities: Utilities;
319
+ variants: Variants;
320
+ candidatesToCss(classes: string[]): (string | null)[];
321
+ getClassOrder(classes: string[]): [string, bigint | null][];
322
+ getClassList(): ClassEntry[];
323
+ getVariants(): VariantEntry[];
324
+ parseCandidate(candidate: string): ReturnType<typeof parseCandidate>;
325
+ parseVariant(variant: string): ReturnType<typeof parseVariant>;
326
+ compileAstNodes(candidate: string): ReturnType<typeof compileAstNodes>;
327
+ getUsedVariants(): ReturnType<typeof parseVariant>[];
328
+ };
329
+
330
+ declare function compile(css: string): {
331
+ build(candidates: string[]): string;
332
+ };
333
+ declare function optimizeCss(input: string, { file, minify }?: {
334
+ file?: string;
335
+ minify?: boolean;
336
+ }): string;
337
+ declare function __unstable__loadDesignSystem(css: string): DesignSystem;
338
+
339
+ export { __unstable__loadDesignSystem, compile, optimizeCss };