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,50 +0,0 @@
1
- const PATTERNS = [
2
- /(?:\['([^'\s]+[^<>"'`\s:\\])')/.source, // ['text-lg' -> text-lg
3
- /(?:\["([^"\s]+[^<>"'`\s:\\])")/.source, // ["text-lg" -> text-lg
4
- /(?:\[`([^`\s]+[^<>"'`\s:\\])`)/.source, // [`text-lg` -> text-lg
5
- /([^<>"'`\s]*\[\w*'[^"`\s]*'?\])/.source, // font-['some_font',sans-serif]
6
- /([^<>"'`\s]*\[\w*"[^'`\s]*"?\])/.source, // font-["some_font",sans-serif]
7
- /([^<>"'`\s]*\[\w*\('[^"'`\s]*'\)\])/.source, // bg-[url('...')]
8
- /([^<>"'`\s]*\[\w*\("[^"'`\s]*"\)\])/.source, // bg-[url("...")]
9
- /([^<>"'`\s]*\[\w*\('[^"`\s]*'\)\])/.source, // bg-[url('...'),url('...')]
10
- /([^<>"'`\s]*\[\w*\("[^'`\s]*"\)\])/.source, // bg-[url("..."),url("...")]
11
- /([^<>"'`\s]*\[[^<>"'`\s]*\('[^"`\s]*'\)+\])/.source, // h-[calc(100%-theme('spacing.1'))]
12
- /([^<>"'`\s]*\[[^<>"'`\s]*\("[^'`\s]*"\)+\])/.source, // h-[calc(100%-theme("spacing.1"))]
13
- /([^<>"'`\s]*\['[^"'`\s]*'\])/.source, // `content-['hello']` but not `content-['hello']']`
14
- /([^<>"'`\s]*\["[^"'`\s]*"\])/.source, // `content-["hello"]` but not `content-["hello"]"]`
15
- /([^<>"'`\s]*\[[^<>"'`\s]*:[^\]\s]*\])/.source, // `[attr:value]`
16
- /([^<>"'`\s]*\[[^<>"'`\s]*:'[^"'`\s]*'\])/.source, // `[content:'hello']` but not `[content:"hello"]`
17
- /([^<>"'`\s]*\[[^<>"'`\s]*:"[^"'`\s]*"\])/.source, // `[content:"hello"]` but not `[content:'hello']`
18
- /([^<>"'`\s]*\[[^"'`\s]+\][^<>"'`\s]*)/.source, // `fill-[#bada55]`, `fill-[#bada55]/50`
19
- /([^"'`\s]*[^<>"'`\s:\\])/.source, // `<sm:underline`, `md>:font-bold`
20
- /([^<>"'`\s]*[^"'`\s:\\])/.source, // `px-1.5`, `uppercase` but not `uppercase:`
21
-
22
- // Arbitrary properties
23
- // /([^"\s]*\[[^\s]+?\][^"\s]*)/.source,
24
- // /([^'\s]*\[[^\s]+?\][^'\s]*)/.source,
25
- // /([^`\s]*\[[^\s]+?\][^`\s]*)/.source,
26
- ].join('|')
27
-
28
- const BROAD_MATCH_GLOBAL_REGEXP = new RegExp(PATTERNS, 'g')
29
- const INNER_MATCH_GLOBAL_REGEXP = /[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g
30
-
31
- /**
32
- * @param {string} content
33
- */
34
- export function defaultExtractor(content) {
35
- let broadMatches = content.matchAll(BROAD_MATCH_GLOBAL_REGEXP)
36
- let innerMatches = content.match(INNER_MATCH_GLOBAL_REGEXP) || []
37
- let results = [...broadMatches, ...innerMatches].flat().filter((v) => v !== undefined)
38
-
39
- return results
40
- }
41
-
42
- // Regular utilities
43
- // {{modifier}:}*{namespace}{-{suffix}}*{/{opacityModifier}}?
44
-
45
- // Arbitrary values
46
- // {{modifier}:}*{namespace}-[{arbitraryValue}]{/{opacityModifier}}?
47
- // arbitraryValue: no whitespace, balanced quotes unless within quotes, balanced brackets unless within quotes
48
-
49
- // Arbitrary properties
50
- // {{modifier}:}*[{validCssPropertyName}:{arbitraryValue}]
@@ -1,39 +0,0 @@
1
- export default function (_context) {
2
- return (root, result) => {
3
- let found = false
4
-
5
- root.walkAtRules('tailwind', (node) => {
6
- if (found) return false
7
-
8
- if (node.parent && node.parent.type !== 'root') {
9
- found = true
10
- node.warn(
11
- result,
12
- [
13
- 'Nested @tailwind rules were detected, but are not supported.',
14
- "Consider using a prefix to scope Tailwind's classes: https://tailwindcss.com/docs/configuration#prefix",
15
- 'Alternatively, use the important selector strategy: https://tailwindcss.com/docs/configuration#selector-strategy',
16
- ].join('\n')
17
- )
18
- return false
19
- }
20
- })
21
-
22
- root.walkRules((rule) => {
23
- if (found) return false
24
-
25
- rule.walkRules((nestedRule) => {
26
- found = true
27
- nestedRule.warn(
28
- result,
29
- [
30
- 'Nested CSS was detected, but CSS nesting has not been configured correctly.',
31
- 'Please enable a CSS nesting plugin *before* Tailwind in your configuration.',
32
- 'See how here: https://tailwindcss.com/docs/using-with-preprocessors#nesting',
33
- ].join('\n')
34
- )
35
- return false
36
- })
37
- })
38
- }
39
- }
@@ -1,198 +0,0 @@
1
- import dlv from 'dlv'
2
- import didYouMean from 'didyoumean'
3
- import transformThemeValue from '../util/transformThemeValue'
4
- import parseValue from 'postcss-value-parser'
5
- import { normalizeScreens } from '../util/normalizeScreens'
6
- import buildMediaQuery from '../util/buildMediaQuery'
7
- import { toPath } from '../util/toPath'
8
-
9
- function isObject(input) {
10
- return typeof input === 'object' && input !== null
11
- }
12
-
13
- function findClosestExistingPath(theme, path) {
14
- let parts = toPath(path)
15
- do {
16
- parts.pop()
17
-
18
- if (dlv(theme, parts) !== undefined) break
19
- } while (parts.length)
20
-
21
- return parts.length ? parts : undefined
22
- }
23
-
24
- function pathToString(path) {
25
- if (typeof path === 'string') return path
26
- return path.reduce((acc, cur, i) => {
27
- if (cur.includes('.')) return `${acc}[${cur}]`
28
- return i === 0 ? cur : `${acc}.${cur}`
29
- }, '')
30
- }
31
-
32
- function list(items) {
33
- return items.map((key) => `'${key}'`).join(', ')
34
- }
35
-
36
- function listKeys(obj) {
37
- return list(Object.keys(obj))
38
- }
39
-
40
- function validatePath(config, path, defaultValue) {
41
- const pathString = Array.isArray(path)
42
- ? pathToString(path)
43
- : path.replace(/^['"]+/g, '').replace(/['"]+$/g, '')
44
- const pathSegments = Array.isArray(path) ? path : toPath(pathString)
45
- const value = dlv(config.theme, pathSegments, defaultValue)
46
-
47
- if (value === undefined) {
48
- let error = `'${pathString}' does not exist in your theme config.`
49
- const parentSegments = pathSegments.slice(0, -1)
50
- const parentValue = dlv(config.theme, parentSegments)
51
-
52
- if (isObject(parentValue)) {
53
- const validKeys = Object.keys(parentValue).filter(
54
- (key) => validatePath(config, [...parentSegments, key]).isValid
55
- )
56
- const suggestion = didYouMean(pathSegments[pathSegments.length - 1], validKeys)
57
- if (suggestion) {
58
- error += ` Did you mean '${pathToString([...parentSegments, suggestion])}'?`
59
- } else if (validKeys.length > 0) {
60
- error += ` '${pathToString(parentSegments)}' has the following valid keys: ${list(
61
- validKeys
62
- )}`
63
- }
64
- } else {
65
- const closestPath = findClosestExistingPath(config.theme, pathString)
66
- if (closestPath) {
67
- const closestValue = dlv(config.theme, closestPath)
68
- if (isObject(closestValue)) {
69
- error += ` '${pathToString(closestPath)}' has the following keys: ${listKeys(
70
- closestValue
71
- )}`
72
- } else {
73
- error += ` '${pathToString(closestPath)}' is not an object.`
74
- }
75
- } else {
76
- error += ` Your theme has the following top-level keys: ${listKeys(config.theme)}`
77
- }
78
- }
79
-
80
- return {
81
- isValid: false,
82
- error,
83
- }
84
- }
85
-
86
- if (
87
- !(
88
- typeof value === 'string' ||
89
- typeof value === 'number' ||
90
- typeof value === 'function' ||
91
- value instanceof String ||
92
- value instanceof Number ||
93
- Array.isArray(value)
94
- )
95
- ) {
96
- let error = `'${pathString}' was found but does not resolve to a string.`
97
-
98
- if (isObject(value)) {
99
- let validKeys = Object.keys(value).filter(
100
- (key) => validatePath(config, [...pathSegments, key]).isValid
101
- )
102
- if (validKeys.length) {
103
- error += ` Did you mean something like '${pathToString([...pathSegments, validKeys[0]])}'?`
104
- }
105
- }
106
-
107
- return {
108
- isValid: false,
109
- error,
110
- }
111
- }
112
-
113
- const [themeSection] = pathSegments
114
-
115
- return {
116
- isValid: true,
117
- value: transformThemeValue(themeSection)(value),
118
- }
119
- }
120
-
121
- function extractArgs(node, vNodes, functions) {
122
- vNodes = vNodes.map((vNode) => resolveVNode(node, vNode, functions))
123
-
124
- let args = ['']
125
-
126
- for (let vNode of vNodes) {
127
- if (vNode.type === 'div' && vNode.value === ',') {
128
- args.push('')
129
- } else {
130
- args[args.length - 1] += parseValue.stringify(vNode)
131
- }
132
- }
133
-
134
- return args
135
- }
136
-
137
- function resolveVNode(node, vNode, functions) {
138
- if (vNode.type === 'function' && functions[vNode.value] !== undefined) {
139
- let args = extractArgs(node, vNode.nodes, functions)
140
- vNode.type = 'word'
141
- vNode.value = functions[vNode.value](node, ...args)
142
- }
143
-
144
- return vNode
145
- }
146
-
147
- function resolveFunctions(node, input, functions) {
148
- return parseValue(input)
149
- .walk((vNode) => {
150
- resolveVNode(node, vNode, functions)
151
- })
152
- .toString()
153
- }
154
-
155
- let nodeTypePropertyMap = {
156
- atrule: 'params',
157
- decl: 'value',
158
- }
159
-
160
- export default function ({ tailwindConfig: config }) {
161
- let functions = {
162
- theme: (node, path, ...defaultValue) => {
163
- const { isValid, value, error } = validatePath(
164
- config,
165
- path,
166
- defaultValue.length ? defaultValue : undefined
167
- )
168
-
169
- if (!isValid) {
170
- throw node.error(error)
171
- }
172
-
173
- return value
174
- },
175
- screen: (node, screen) => {
176
- screen = screen.replace(/^['"]+/g, '').replace(/['"]+$/g, '')
177
- let screens = normalizeScreens(config.theme.screens)
178
- let screenDefinition = screens.find(({ name }) => name === screen)
179
-
180
- if (!screenDefinition) {
181
- throw node.error(`The '${screen}' screen does not exist in your theme.`)
182
- }
183
-
184
- return buildMediaQuery(screenDefinition)
185
- },
186
- }
187
- return (root) => {
188
- root.walk((node) => {
189
- let property = nodeTypePropertyMap[node.type]
190
-
191
- if (property === undefined) {
192
- return
193
- }
194
-
195
- node[property] = resolveFunctions(node, node[property], functions)
196
- })
197
- }
198
- }