tailwindcss 0.0.0-insiders.bbafc8e → 0.0.0-insiders.bbc2f3f

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 (198) hide show
  1. package/README.md +16 -13
  2. package/dist/chunk-5C7JPVMO.mjs +10 -0
  3. package/dist/chunk-AZANAYY2.mjs +1 -0
  4. package/dist/chunk-V2K3XTS4.mjs +1 -0
  5. package/dist/colors-b_6i0Oi7.d.ts +295 -0
  6. package/dist/colors.d.mts +295 -0
  7. package/dist/colors.d.ts +5 -0
  8. package/dist/colors.js +1 -0
  9. package/dist/colors.mjs +1 -0
  10. package/dist/default-theme.d.mts +1147 -0
  11. package/dist/default-theme.d.ts +1147 -0
  12. package/dist/default-theme.js +1 -0
  13. package/dist/default-theme.mjs +1 -0
  14. package/dist/flatten-color-palette.d.mts +6 -0
  15. package/dist/flatten-color-palette.d.ts +6 -0
  16. package/dist/flatten-color-palette.js +1 -0
  17. package/dist/flatten-color-palette.mjs +1 -0
  18. package/dist/lib.d.mts +260 -0
  19. package/dist/lib.d.ts +3 -0
  20. package/dist/lib.js +33 -0
  21. package/dist/lib.mjs +24 -0
  22. package/dist/plugin.d.mts +11 -0
  23. package/dist/plugin.d.ts +104 -0
  24. package/dist/plugin.js +1 -0
  25. package/dist/plugin.mjs +1 -0
  26. package/dist/resolve-config-BIFUA2FY.d.ts +29 -0
  27. package/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
  28. package/dist/types-B254mqw1.d.mts +98 -0
  29. package/index.css +865 -0
  30. package/package.json +73 -95
  31. package/preflight.css +383 -0
  32. package/theme.css +453 -0
  33. package/CHANGELOG.md +0 -2084
  34. package/base.css +0 -1
  35. package/colors.js +0 -2
  36. package/components.css +0 -1
  37. package/defaultConfig.js +0 -2
  38. package/defaultTheme.js +0 -2
  39. package/lib/cli-peer-dependencies.js +0 -15
  40. package/lib/cli.js +0 -741
  41. package/lib/constants.js +0 -37
  42. package/lib/corePluginList.js +0 -178
  43. package/lib/corePlugins.js +0 -3587
  44. package/lib/css/LICENSE +0 -25
  45. package/lib/css/preflight.css +0 -367
  46. package/lib/featureFlags.js +0 -59
  47. package/lib/index.js +0 -41
  48. package/lib/lib/cacheInvalidation.js +0 -69
  49. package/lib/lib/collapseAdjacentRules.js +0 -54
  50. package/lib/lib/collapseDuplicateDeclarations.js +0 -80
  51. package/lib/lib/defaultExtractor.js +0 -44
  52. package/lib/lib/detectNesting.js +0 -34
  53. package/lib/lib/evaluateTailwindFunctions.js +0 -171
  54. package/lib/lib/expandApplyAtRules.js +0 -433
  55. package/lib/lib/expandTailwindAtRules.js +0 -262
  56. package/lib/lib/generateRules.js +0 -631
  57. package/lib/lib/getModuleDependencies.js +0 -48
  58. package/lib/lib/normalizeTailwindDirectives.js +0 -84
  59. package/lib/lib/partitionApplyAtRules.js +0 -53
  60. package/lib/lib/resolveDefaultsAtRules.js +0 -143
  61. package/lib/lib/setupContextUtils.js +0 -859
  62. package/lib/lib/setupTrackingContext.js +0 -171
  63. package/lib/lib/sharedState.js +0 -52
  64. package/lib/lib/substituteScreenAtRules.js +0 -27
  65. package/lib/postcss-plugins/nesting/README.md +0 -42
  66. package/lib/postcss-plugins/nesting/index.js +0 -17
  67. package/lib/postcss-plugins/nesting/plugin.js +0 -85
  68. package/lib/processTailwindFeatures.js +0 -59
  69. package/lib/public/colors.js +0 -329
  70. package/lib/public/create-plugin.js +0 -13
  71. package/lib/public/default-config.js +0 -14
  72. package/lib/public/default-theme.js +0 -14
  73. package/lib/public/resolve-config.js +0 -19
  74. package/lib/util/bigSign.js +0 -8
  75. package/lib/util/buildMediaQuery.js +0 -20
  76. package/lib/util/cloneDeep.js +0 -19
  77. package/lib/util/cloneNodes.js +0 -25
  78. package/lib/util/color.js +0 -99
  79. package/lib/util/configurePlugins.js +0 -18
  80. package/lib/util/createPlugin.js +0 -29
  81. package/lib/util/createUtilityPlugin.js +0 -49
  82. package/lib/util/dataTypes.js +0 -233
  83. package/lib/util/defaults.js +0 -22
  84. package/lib/util/escapeClassName.js +0 -19
  85. package/lib/util/escapeCommas.js +0 -8
  86. package/lib/util/flattenColorPalette.js +0 -17
  87. package/lib/util/formatVariantSelector.js +0 -186
  88. package/lib/util/getAllConfigs.js +0 -29
  89. package/lib/util/hashConfig.js +0 -16
  90. package/lib/util/isKeyframeRule.js +0 -8
  91. package/lib/util/isPlainObject.js +0 -12
  92. package/lib/util/isValidArbitraryValue.js +0 -64
  93. package/lib/util/log.js +0 -51
  94. package/lib/util/nameClass.js +0 -32
  95. package/lib/util/negateValue.js +0 -19
  96. package/lib/util/normalizeConfig.js +0 -240
  97. package/lib/util/normalizeScreens.js +0 -59
  98. package/lib/util/parseAnimationValue.js +0 -89
  99. package/lib/util/parseBoxShadowValue.js +0 -117
  100. package/lib/util/parseDependency.js +0 -63
  101. package/lib/util/parseObjectStyles.js +0 -31
  102. package/lib/util/pluginUtils.js +0 -179
  103. package/lib/util/prefixSelector.js +0 -20
  104. package/lib/util/resolveConfig.js +0 -255
  105. package/lib/util/resolveConfigPath.js +0 -51
  106. package/lib/util/responsive.js +0 -19
  107. package/lib/util/tap.js +0 -9
  108. package/lib/util/toColorValue.js +0 -8
  109. package/lib/util/toPath.js +0 -14
  110. package/lib/util/transformThemeValue.js +0 -59
  111. package/lib/util/withAlphaVariable.js +0 -67
  112. package/nesting/index.js +0 -2
  113. package/peers/index.js +0 -75077
  114. package/plugin.js +0 -2
  115. package/prettier.config.js +0 -19
  116. package/resolveConfig.js +0 -2
  117. package/screens.css +0 -1
  118. package/scripts/create-plugin-list.js +0 -10
  119. package/scripts/install-integrations.js +0 -27
  120. package/scripts/rebuildFixtures.js +0 -68
  121. package/src/cli-peer-dependencies.js +0 -9
  122. package/src/cli.js +0 -815
  123. package/src/constants.js +0 -17
  124. package/src/corePluginList.js +0 -1
  125. package/src/corePlugins.js +0 -2365
  126. package/src/css/LICENSE +0 -25
  127. package/src/css/preflight.css +0 -367
  128. package/src/featureFlags.js +0 -54
  129. package/src/index.js +0 -42
  130. package/src/lib/cacheInvalidation.js +0 -52
  131. package/src/lib/collapseAdjacentRules.js +0 -54
  132. package/src/lib/collapseDuplicateDeclarations.js +0 -93
  133. package/src/lib/defaultExtractor.js +0 -50
  134. package/src/lib/detectNesting.js +0 -39
  135. package/src/lib/evaluateTailwindFunctions.js +0 -198
  136. package/src/lib/expandApplyAtRules.js +0 -480
  137. package/src/lib/expandTailwindAtRules.js +0 -292
  138. package/src/lib/generateRules.js +0 -623
  139. package/src/lib/getModuleDependencies.js +0 -39
  140. package/src/lib/normalizeTailwindDirectives.js +0 -84
  141. package/src/lib/partitionApplyAtRules.js +0 -52
  142. package/src/lib/resolveDefaultsAtRules.js +0 -146
  143. package/src/lib/setupContextUtils.js +0 -883
  144. package/src/lib/setupTrackingContext.js +0 -183
  145. package/src/lib/sharedState.js +0 -48
  146. package/src/lib/substituteScreenAtRules.js +0 -19
  147. package/src/postcss-plugins/nesting/README.md +0 -42
  148. package/src/postcss-plugins/nesting/index.js +0 -13
  149. package/src/postcss-plugins/nesting/plugin.js +0 -80
  150. package/src/processTailwindFeatures.js +0 -58
  151. package/src/public/colors.js +0 -300
  152. package/src/public/create-plugin.js +0 -2
  153. package/src/public/default-config.js +0 -4
  154. package/src/public/default-theme.js +0 -4
  155. package/src/public/resolve-config.js +0 -7
  156. package/src/util/bigSign.js +0 -3
  157. package/src/util/buildMediaQuery.js +0 -20
  158. package/src/util/cloneDeep.js +0 -11
  159. package/src/util/cloneNodes.js +0 -24
  160. package/src/util/color.js +0 -69
  161. package/src/util/configurePlugins.js +0 -23
  162. package/src/util/createPlugin.js +0 -27
  163. package/src/util/createUtilityPlugin.js +0 -37
  164. package/src/util/dataTypes.js +0 -248
  165. package/src/util/defaults.js +0 -17
  166. package/src/util/escapeClassName.js +0 -8
  167. package/src/util/escapeCommas.js +0 -3
  168. package/src/util/flattenColorPalette.js +0 -13
  169. package/src/util/formatVariantSelector.js +0 -196
  170. package/src/util/getAllConfigs.js +0 -19
  171. package/src/util/hashConfig.js +0 -5
  172. package/src/util/isKeyframeRule.js +0 -3
  173. package/src/util/isPlainObject.js +0 -8
  174. package/src/util/isValidArbitraryValue.js +0 -61
  175. package/src/util/log.js +0 -29
  176. package/src/util/nameClass.js +0 -26
  177. package/src/util/negateValue.js +0 -16
  178. package/src/util/normalizeConfig.js +0 -270
  179. package/src/util/normalizeScreens.js +0 -45
  180. package/src/util/parseAnimationValue.js +0 -68
  181. package/src/util/parseBoxShadowValue.js +0 -119
  182. package/src/util/parseDependency.js +0 -49
  183. package/src/util/parseObjectStyles.js +0 -19
  184. package/src/util/pluginUtils.js +0 -192
  185. package/src/util/prefixSelector.js +0 -14
  186. package/src/util/resolveConfig.js +0 -269
  187. package/src/util/resolveConfigPath.js +0 -55
  188. package/src/util/responsive.js +0 -10
  189. package/src/util/tap.js +0 -4
  190. package/src/util/toColorValue.js +0 -3
  191. package/src/util/toPath.js +0 -26
  192. package/src/util/transformThemeValue.js +0 -52
  193. package/src/util/withAlphaVariable.js +0 -49
  194. package/stubs/defaultConfig.stub.js +0 -950
  195. package/stubs/defaultPostCssConfig.stub.js +0 -6
  196. package/stubs/simpleConfig.stub.js +0 -7
  197. package/tailwind.css +0 -5
  198. package/variants.css +0 -1
@@ -1,292 +0,0 @@
1
- import LRU from 'quick-lru'
2
- import * as sharedState from './sharedState'
3
- import { generateRules } from './generateRules'
4
- import bigSign from '../util/bigSign'
5
- import log from '../util/log'
6
- import cloneNodes from '../util/cloneNodes'
7
- import { defaultExtractor } from './defaultExtractor'
8
-
9
- let env = sharedState.env
10
-
11
- const builtInExtractors = {
12
- DEFAULT: defaultExtractor,
13
- }
14
-
15
- const builtInTransformers = {
16
- DEFAULT: (content) => content,
17
- svelte: (content) => content.replace(/(?:^|\s)class:/g, ' '),
18
- }
19
-
20
- function getExtractor(tailwindConfig, fileExtension) {
21
- let extractors = tailwindConfig.content.extract
22
-
23
- return (
24
- extractors[fileExtension] ||
25
- extractors.DEFAULT ||
26
- builtInExtractors[fileExtension] ||
27
- builtInExtractors.DEFAULT
28
- )
29
- }
30
-
31
- function getTransformer(tailwindConfig, fileExtension) {
32
- let transformers = tailwindConfig.content.transform
33
-
34
- return (
35
- transformers[fileExtension] ||
36
- transformers.DEFAULT ||
37
- builtInTransformers[fileExtension] ||
38
- builtInTransformers.DEFAULT
39
- )
40
- }
41
-
42
- let extractorCache = new WeakMap()
43
-
44
- // Scans template contents for possible classes. This is a hot path on initial build but
45
- // not too important for subsequent builds. The faster the better though — if we can speed
46
- // up these regexes by 50% that could cut initial build time by like 20%.
47
- function getClassCandidates(content, extractor, candidates, seen) {
48
- if (!extractorCache.has(extractor)) {
49
- extractorCache.set(extractor, new LRU({ maxSize: 25000 }))
50
- }
51
-
52
- for (let line of content.split('\n')) {
53
- line = line.trim()
54
-
55
- if (seen.has(line)) {
56
- continue
57
- }
58
- seen.add(line)
59
-
60
- if (extractorCache.get(extractor).has(line)) {
61
- for (let match of extractorCache.get(extractor).get(line)) {
62
- candidates.add(match)
63
- }
64
- } else {
65
- let extractorMatches = extractor(line).filter((s) => s !== '!*')
66
- let lineMatchesSet = new Set(extractorMatches)
67
-
68
- for (let match of lineMatchesSet) {
69
- candidates.add(match)
70
- }
71
-
72
- extractorCache.get(extractor).set(line, lineMatchesSet)
73
- }
74
- }
75
- }
76
-
77
- function buildStylesheet(rules, context) {
78
- let sortedRules = rules.sort(([a], [z]) => bigSign(a - z))
79
-
80
- let returnValue = {
81
- base: new Set(),
82
- defaults: new Set(),
83
- components: new Set(),
84
- utilities: new Set(),
85
- variants: new Set(),
86
-
87
- // All the CSS that is not Tailwind related can be put in this bucket. This
88
- // will make it easier to later use this information when we want to
89
- // `@apply` for example. The main reason we do this here is because we
90
- // still need to make sure the order is correct. Last but not least, we
91
- // will make sure to always re-inject this section into the css, even if
92
- // certain rules were not used. This means that it will look like a no-op
93
- // from the user's perspective, but we gathered all the useful information
94
- // we need.
95
- user: new Set(),
96
- }
97
-
98
- for (let [sort, rule] of sortedRules) {
99
- if (sort >= context.minimumScreen) {
100
- returnValue.variants.add(rule)
101
- continue
102
- }
103
-
104
- if (sort & context.layerOrder.base) {
105
- returnValue.base.add(rule)
106
- continue
107
- }
108
-
109
- if (sort & context.layerOrder.defaults) {
110
- returnValue.defaults.add(rule)
111
- continue
112
- }
113
-
114
- if (sort & context.layerOrder.components) {
115
- returnValue.components.add(rule)
116
- continue
117
- }
118
-
119
- if (sort & context.layerOrder.utilities) {
120
- returnValue.utilities.add(rule)
121
- continue
122
- }
123
-
124
- if (sort & context.layerOrder.user) {
125
- returnValue.user.add(rule)
126
- continue
127
- }
128
- }
129
-
130
- return returnValue
131
- }
132
-
133
- export default function expandTailwindAtRules(context) {
134
- return (root) => {
135
- let layerNodes = {
136
- base: null,
137
- components: null,
138
- utilities: null,
139
- variants: null,
140
- }
141
-
142
- root.walkAtRules((rule) => {
143
- // Make sure this file contains Tailwind directives. If not, we can save
144
- // a lot of work and bail early. Also we don't have to register our touch
145
- // file as a dependency since the output of this CSS does not depend on
146
- // the source of any templates. Think Vue <style> blocks for example.
147
- if (rule.name === 'tailwind') {
148
- if (Object.keys(layerNodes).includes(rule.params)) {
149
- layerNodes[rule.params] = rule
150
- }
151
- }
152
- })
153
-
154
- if (Object.values(layerNodes).every((n) => n === null)) {
155
- return root
156
- }
157
-
158
- // ---
159
-
160
- // Find potential rules in changed files
161
- let candidates = new Set([sharedState.NOT_ON_DEMAND])
162
- let seen = new Set()
163
-
164
- env.DEBUG && console.time('Reading changed files')
165
-
166
- for (let { content, extension } of context.changedContent) {
167
- let transformer = getTransformer(context.tailwindConfig, extension)
168
- let extractor = getExtractor(context.tailwindConfig, extension)
169
- getClassCandidates(transformer(content), extractor, candidates, seen)
170
- }
171
-
172
- env.DEBUG && console.timeEnd('Reading changed files')
173
-
174
- // ---
175
-
176
- // Generate the actual CSS
177
- let classCacheCount = context.classCache.size
178
-
179
- env.DEBUG && console.time('Generate rules')
180
- let rules = generateRules(candidates, context)
181
- env.DEBUG && console.timeEnd('Generate rules')
182
-
183
- // We only ever add to the classCache, so if it didn't grow, there is nothing new.
184
- env.DEBUG && console.time('Build stylesheet')
185
- if (context.stylesheetCache === null || context.classCache.size !== classCacheCount) {
186
- for (let rule of rules) {
187
- context.ruleCache.add(rule)
188
- }
189
-
190
- context.stylesheetCache = buildStylesheet([...context.ruleCache], context)
191
- }
192
- env.DEBUG && console.timeEnd('Build stylesheet')
193
-
194
- let {
195
- defaults: defaultNodes,
196
- base: baseNodes,
197
- components: componentNodes,
198
- utilities: utilityNodes,
199
- variants: screenNodes,
200
- } = context.stylesheetCache
201
-
202
- // ---
203
-
204
- // Replace any Tailwind directives with generated CSS
205
-
206
- if (layerNodes.base) {
207
- layerNodes.base.before(
208
- cloneNodes([...baseNodes, ...defaultNodes], layerNodes.base.source, {
209
- layer: 'base',
210
- })
211
- )
212
- layerNodes.base.remove()
213
- }
214
-
215
- if (layerNodes.components) {
216
- layerNodes.components.before(
217
- cloneNodes([...componentNodes], layerNodes.components.source, {
218
- layer: 'components',
219
- })
220
- )
221
- layerNodes.components.remove()
222
- }
223
-
224
- if (layerNodes.utilities) {
225
- layerNodes.utilities.before(
226
- cloneNodes([...utilityNodes], layerNodes.utilities.source, {
227
- layer: 'utilities',
228
- })
229
- )
230
- layerNodes.utilities.remove()
231
- }
232
-
233
- // We do post-filtering to not alter the emitted order of the variants
234
- const variantNodes = Array.from(screenNodes).filter((node) => {
235
- const parentLayer = node.raws.tailwind?.parentLayer
236
-
237
- if (parentLayer === 'components') {
238
- return layerNodes.components !== null
239
- }
240
-
241
- if (parentLayer === 'utilities') {
242
- return layerNodes.utilities !== null
243
- }
244
-
245
- return true
246
- })
247
-
248
- if (layerNodes.variants) {
249
- layerNodes.variants.before(
250
- cloneNodes(variantNodes, layerNodes.variants.source, {
251
- layer: 'variants',
252
- })
253
- )
254
- layerNodes.variants.remove()
255
- } else if (variantNodes.length > 0) {
256
- root.append(
257
- cloneNodes(variantNodes, root.source, {
258
- layer: 'variants',
259
- })
260
- )
261
- }
262
-
263
- // If we've got a utility layer and no utilities are generated there's likely something wrong
264
- const hasUtilityVariants = variantNodes.some(
265
- (node) => node.raws.tailwind?.parentLayer === 'utilities'
266
- )
267
-
268
- if (layerNodes.utilities && utilityNodes.size === 0 && !hasUtilityVariants) {
269
- log.warn('content-problems', [
270
- 'No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.',
271
- 'https://tailwindcss.com/docs/content-configuration',
272
- ])
273
- }
274
-
275
- // ---
276
-
277
- if (env.DEBUG) {
278
- console.log('Potential classes: ', candidates.size)
279
- console.log('Active contexts: ', sharedState.contextSourcesMap.size)
280
- }
281
-
282
- // Clear the cache for the changed files
283
- context.changedContent = []
284
-
285
- // Cleanup any leftover @layer atrules
286
- root.walkAtRules('layer', (rule) => {
287
- if (Object.keys(layerNodes).includes(rule.params)) {
288
- rule.remove()
289
- }
290
- })
291
- }
292
- }