tailwindcss 0.0.0-insiders.ea139f2 → 0.0.0-insiders.ea4e1cd

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 (236) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +15 -7
  3. package/colors.d.ts +3 -0
  4. package/colors.js +2 -1
  5. package/defaultConfig.d.ts +3 -0
  6. package/defaultConfig.js +2 -1
  7. package/defaultTheme.d.ts +4 -0
  8. package/defaultTheme.js +2 -1
  9. package/lib/cli/build/deps.js +62 -0
  10. package/lib/cli/build/index.js +54 -0
  11. package/lib/cli/build/plugin.js +378 -0
  12. package/lib/cli/build/utils.js +88 -0
  13. package/lib/cli/build/watching.js +182 -0
  14. package/lib/cli/help/index.js +73 -0
  15. package/lib/cli/index.js +230 -0
  16. package/lib/cli/init/index.js +63 -0
  17. package/lib/cli-peer-dependencies.js +28 -7
  18. package/lib/cli.js +4 -703
  19. package/lib/corePluginList.js +12 -3
  20. package/lib/corePlugins.js +2373 -1863
  21. package/lib/css/preflight.css +10 -8
  22. package/lib/featureFlags.js +49 -26
  23. package/lib/index.js +1 -31
  24. package/lib/lib/cacheInvalidation.js +92 -0
  25. package/lib/lib/collapseAdjacentRules.js +30 -10
  26. package/lib/lib/collapseDuplicateDeclarations.js +60 -4
  27. package/lib/lib/content.js +181 -0
  28. package/lib/lib/defaultExtractor.js +243 -0
  29. package/lib/lib/detectNesting.js +21 -10
  30. package/lib/lib/evaluateTailwindFunctions.js +115 -50
  31. package/lib/lib/expandApplyAtRules.js +467 -161
  32. package/lib/lib/expandTailwindAtRules.js +160 -133
  33. package/lib/lib/findAtConfigPath.js +46 -0
  34. package/lib/lib/generateRules.js +553 -200
  35. package/lib/lib/getModuleDependencies.js +88 -37
  36. package/lib/lib/load-config.js +42 -0
  37. package/lib/lib/normalizeTailwindDirectives.js +46 -33
  38. package/lib/lib/offsets.js +306 -0
  39. package/lib/lib/partitionApplyAtRules.js +58 -0
  40. package/lib/lib/regex.js +74 -0
  41. package/lib/lib/remap-bitfield.js +89 -0
  42. package/lib/lib/resolveDefaultsAtRules.js +98 -58
  43. package/lib/lib/setupContextUtils.js +773 -321
  44. package/lib/lib/setupTrackingContext.js +70 -75
  45. package/lib/lib/sharedState.js +78 -10
  46. package/lib/lib/substituteScreenAtRules.js +14 -10
  47. package/lib/oxide/cli/build/deps.js +89 -0
  48. package/lib/oxide/cli/build/index.js +53 -0
  49. package/lib/oxide/cli/build/plugin.js +375 -0
  50. package/lib/oxide/cli/build/utils.js +87 -0
  51. package/lib/oxide/cli/build/watching.js +179 -0
  52. package/lib/oxide/cli/help/index.js +72 -0
  53. package/lib/oxide/cli/index.js +214 -0
  54. package/lib/oxide/cli/init/index.js +52 -0
  55. package/lib/oxide/cli.js +5 -0
  56. package/lib/oxide/postcss-plugin.js +2 -0
  57. package/lib/plugin.js +98 -0
  58. package/{nesting → lib/postcss-plugins/nesting}/README.md +2 -2
  59. package/lib/postcss-plugins/nesting/index.js +21 -0
  60. package/lib/postcss-plugins/nesting/plugin.js +89 -0
  61. package/lib/processTailwindFeatures.js +39 -26
  62. package/lib/public/colors.js +272 -246
  63. package/lib/public/create-plugin.js +9 -5
  64. package/lib/public/default-config.js +10 -6
  65. package/lib/public/default-theme.js +10 -6
  66. package/lib/public/load-config.js +12 -0
  67. package/lib/public/resolve-config.js +11 -6
  68. package/lib/util/applyImportantSelector.js +36 -0
  69. package/lib/util/bigSign.js +6 -1
  70. package/lib/util/buildMediaQuery.js +13 -6
  71. package/lib/util/cloneDeep.js +9 -6
  72. package/lib/util/cloneNodes.js +23 -3
  73. package/lib/util/color.js +70 -38
  74. package/lib/util/colorNames.js +752 -0
  75. package/lib/util/configurePlugins.js +7 -2
  76. package/lib/util/createPlugin.js +8 -6
  77. package/lib/util/createUtilityPlugin.js +16 -16
  78. package/lib/util/dataTypes.js +173 -108
  79. package/lib/util/defaults.js +14 -3
  80. package/lib/util/escapeClassName.js +13 -8
  81. package/lib/util/escapeCommas.js +7 -2
  82. package/lib/util/flattenColorPalette.js +11 -12
  83. package/lib/util/formatVariantSelector.js +228 -151
  84. package/lib/util/getAllConfigs.js +33 -12
  85. package/lib/util/hashConfig.js +9 -4
  86. package/lib/util/isKeyframeRule.js +7 -2
  87. package/lib/util/isPlainObject.js +7 -2
  88. package/lib/util/{isValidArbitraryValue.js → isSyntacticallyValidPropertyValue.js} +25 -15
  89. package/lib/util/log.js +27 -13
  90. package/lib/util/nameClass.js +27 -10
  91. package/lib/util/negateValue.js +25 -8
  92. package/lib/util/normalizeConfig.js +139 -65
  93. package/lib/util/normalizeScreens.js +131 -11
  94. package/lib/util/parseAnimationValue.js +44 -40
  95. package/lib/util/parseBoxShadowValue.js +34 -23
  96. package/lib/util/parseDependency.js +39 -55
  97. package/lib/util/parseGlob.js +36 -0
  98. package/lib/util/parseObjectStyles.js +15 -10
  99. package/lib/util/pluginUtils.js +159 -69
  100. package/lib/util/prefixSelector.js +30 -12
  101. package/lib/util/pseudoElements.js +229 -0
  102. package/lib/util/removeAlphaVariables.js +31 -0
  103. package/lib/util/resolveConfig.js +97 -75
  104. package/lib/util/resolveConfigPath.js +30 -12
  105. package/lib/util/responsive.js +11 -6
  106. package/lib/util/splitAtTopLevelOnly.js +51 -0
  107. package/lib/util/tap.js +6 -1
  108. package/lib/util/toColorValue.js +7 -3
  109. package/lib/util/toPath.js +26 -3
  110. package/lib/util/transformThemeValue.js +40 -30
  111. package/lib/util/validateConfig.js +37 -0
  112. package/lib/util/validateFormalSyntax.js +26 -0
  113. package/lib/util/withAlphaVariable.js +27 -15
  114. package/loadConfig.d.ts +4 -0
  115. package/loadConfig.js +2 -0
  116. package/nesting/index.js +2 -12
  117. package/package.json +66 -57
  118. package/peers/index.js +75964 -55560
  119. package/plugin.d.ts +11 -0
  120. package/plugin.js +2 -1
  121. package/resolveConfig.d.ts +12 -0
  122. package/resolveConfig.js +2 -1
  123. package/scripts/generate-types.js +105 -0
  124. package/scripts/release-channel.js +18 -0
  125. package/scripts/release-notes.js +21 -0
  126. package/scripts/swap-engines.js +40 -0
  127. package/scripts/type-utils.js +27 -0
  128. package/src/cli/build/deps.js +56 -0
  129. package/src/cli/build/index.js +49 -0
  130. package/src/cli/build/plugin.js +444 -0
  131. package/src/cli/build/utils.js +76 -0
  132. package/src/cli/build/watching.js +229 -0
  133. package/src/cli/help/index.js +70 -0
  134. package/src/cli/index.js +216 -0
  135. package/src/cli/init/index.js +79 -0
  136. package/src/cli-peer-dependencies.js +7 -1
  137. package/src/cli.js +4 -765
  138. package/src/corePluginList.js +1 -1
  139. package/src/corePlugins.js +786 -306
  140. package/src/css/preflight.css +10 -8
  141. package/src/featureFlags.js +21 -5
  142. package/src/index.js +1 -34
  143. package/src/lib/cacheInvalidation.js +52 -0
  144. package/src/lib/collapseAdjacentRules.js +21 -2
  145. package/src/lib/collapseDuplicateDeclarations.js +66 -1
  146. package/src/lib/content.js +208 -0
  147. package/src/lib/defaultExtractor.js +217 -0
  148. package/src/lib/detectNesting.js +9 -1
  149. package/src/lib/evaluateTailwindFunctions.js +79 -8
  150. package/src/lib/expandApplyAtRules.js +515 -153
  151. package/src/lib/expandTailwindAtRules.js +115 -86
  152. package/src/lib/findAtConfigPath.js +48 -0
  153. package/src/lib/generateRules.js +545 -147
  154. package/src/lib/getModuleDependencies.js +70 -30
  155. package/src/lib/load-config.ts +31 -0
  156. package/src/lib/normalizeTailwindDirectives.js +7 -1
  157. package/src/lib/offsets.js +373 -0
  158. package/src/lib/partitionApplyAtRules.js +52 -0
  159. package/src/lib/regex.js +74 -0
  160. package/src/lib/remap-bitfield.js +82 -0
  161. package/src/lib/resolveDefaultsAtRules.js +59 -17
  162. package/src/lib/setupContextUtils.js +701 -175
  163. package/src/lib/setupTrackingContext.js +51 -62
  164. package/src/lib/sharedState.js +58 -7
  165. package/src/oxide/cli/build/deps.ts +91 -0
  166. package/src/oxide/cli/build/index.ts +47 -0
  167. package/src/oxide/cli/build/plugin.ts +442 -0
  168. package/src/oxide/cli/build/utils.ts +74 -0
  169. package/src/oxide/cli/build/watching.ts +225 -0
  170. package/src/oxide/cli/help/index.ts +69 -0
  171. package/src/oxide/cli/index.ts +204 -0
  172. package/src/oxide/cli/init/index.ts +59 -0
  173. package/src/oxide/cli.ts +1 -0
  174. package/src/oxide/postcss-plugin.ts +1 -0
  175. package/src/plugin.js +107 -0
  176. package/src/postcss-plugins/nesting/README.md +42 -0
  177. package/src/postcss-plugins/nesting/index.js +13 -0
  178. package/src/postcss-plugins/nesting/plugin.js +80 -0
  179. package/src/processTailwindFeatures.js +12 -2
  180. package/src/public/colors.js +22 -0
  181. package/src/public/default-config.js +1 -1
  182. package/src/public/default-theme.js +2 -2
  183. package/src/public/load-config.js +2 -0
  184. package/src/util/applyImportantSelector.js +27 -0
  185. package/src/util/buildMediaQuery.js +5 -3
  186. package/src/util/cloneNodes.js +19 -2
  187. package/src/util/color.js +44 -12
  188. package/src/util/colorNames.js +150 -0
  189. package/src/util/dataTypes.js +51 -16
  190. package/src/util/defaults.js +6 -0
  191. package/src/util/formatVariantSelector.js +264 -144
  192. package/src/util/getAllConfigs.js +21 -2
  193. package/src/util/{isValidArbitraryValue.js → isSyntacticallyValidPropertyValue.js} +1 -1
  194. package/src/util/log.js +11 -7
  195. package/src/util/nameClass.js +4 -0
  196. package/src/util/negateValue.js +11 -3
  197. package/src/util/normalizeConfig.js +57 -5
  198. package/src/util/normalizeScreens.js +105 -7
  199. package/src/util/parseBoxShadowValue.js +4 -3
  200. package/src/util/parseDependency.js +37 -42
  201. package/src/util/parseGlob.js +24 -0
  202. package/src/util/pluginUtils.js +123 -24
  203. package/src/util/prefixSelector.js +30 -10
  204. package/src/util/pseudoElements.js +170 -0
  205. package/src/util/removeAlphaVariables.js +24 -0
  206. package/src/util/resolveConfig.js +74 -26
  207. package/src/util/resolveConfigPath.js +12 -1
  208. package/src/util/splitAtTopLevelOnly.js +52 -0
  209. package/src/util/toPath.js +23 -1
  210. package/src/util/transformThemeValue.js +13 -3
  211. package/src/util/validateConfig.js +26 -0
  212. package/src/util/validateFormalSyntax.js +34 -0
  213. package/src/util/withAlphaVariable.js +1 -1
  214. package/stubs/.gitignore +1 -0
  215. package/stubs/.prettierrc.json +6 -0
  216. package/stubs/{defaultConfig.stub.js → config.full.js} +206 -166
  217. package/stubs/postcss.config.js +6 -0
  218. package/stubs/tailwind.config.cjs +2 -0
  219. package/stubs/tailwind.config.js +2 -0
  220. package/stubs/tailwind.config.ts +3 -0
  221. package/types/config.d.ts +368 -0
  222. package/types/generated/.gitkeep +0 -0
  223. package/types/generated/colors.d.ts +298 -0
  224. package/types/generated/corePluginList.d.ts +1 -0
  225. package/types/generated/default-theme.d.ts +371 -0
  226. package/types/index.d.ts +7 -0
  227. package/CHANGELOG.md +0 -1843
  228. package/lib/constants.js +0 -37
  229. package/lib/lib/setupWatchingContext.js +0 -288
  230. package/nesting/plugin.js +0 -41
  231. package/scripts/install-integrations.js +0 -27
  232. package/scripts/rebuildFixtures.js +0 -68
  233. package/src/constants.js +0 -17
  234. package/src/lib/setupWatchingContext.js +0 -311
  235. /package/stubs/{simpleConfig.stub.js → config.simple.js} +0 -0
  236. /package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -0
@@ -0,0 +1,368 @@
1
+ import type { CorePluginList } from './generated/corePluginList'
2
+ import type { DefaultColors } from './generated/colors'
3
+
4
+ // Helpers
5
+ type Expand<T> = T extends object
6
+ ? T extends infer O
7
+ ? { [K in keyof O]: Expand<O[K]> }
8
+ : never
9
+ : T
10
+ type KeyValuePair<K extends keyof any = string, V = string> = Record<K, V>
11
+ interface RecursiveKeyValuePair<K extends keyof any = string, V = string> {
12
+ [key: string]: V | RecursiveKeyValuePair<K, V>
13
+ }
14
+ export type ResolvableTo<T> = T | ((utils: PluginUtils) => T)
15
+ type CSSRuleObject = RecursiveKeyValuePair<string, null | string | string[]>
16
+
17
+ interface PluginUtils {
18
+ colors: DefaultColors
19
+ theme(path: string, defaultValue?: unknown): any
20
+ breakpoints<I = Record<string, unknown>, O = I>(arg: I): O
21
+ rgb(arg: string): (arg: Partial<{ opacityVariable: string; opacityValue: number }>) => string
22
+ hsl(arg: string): (arg: Partial<{ opacityVariable: string; opacityValue: number }>) => string
23
+ }
24
+
25
+ // Content related config
26
+ type FilePath = string
27
+ type RawFile = { raw: string; extension?: string }
28
+ type ExtractorFn = (content: string) => string[]
29
+ type TransformerFn = (content: string) => string
30
+ type ContentConfig =
31
+ | (FilePath | RawFile)[]
32
+ | {
33
+ files: (FilePath | RawFile)[]
34
+ relative?: boolean
35
+ extract?: ExtractorFn | { [extension: string]: ExtractorFn }
36
+ transform?: TransformerFn | { [extension: string]: TransformerFn }
37
+ }
38
+
39
+ // Important related config
40
+ type ImportantConfig = boolean | string
41
+
42
+ // Prefix related config
43
+ type PrefixConfig = string
44
+
45
+ // Separator related config
46
+ type SeparatorConfig = string
47
+
48
+ // Safelist related config
49
+ type SafelistConfig = (string | { pattern: RegExp; variants?: string[] })[]
50
+
51
+ // Blocklist related config
52
+ type BlocklistConfig = string[]
53
+
54
+ // Presets related config
55
+ type PresetsConfig = Config[]
56
+
57
+ // Future related config
58
+ type FutureConfigValues =
59
+ | 'hoverOnlyWhenSupported'
60
+ | 'respectDefaultRingColorOpacity'
61
+ | 'disableColorOpacityUtilitiesByDefault'
62
+ | 'relativeContentPathsByDefault'
63
+ type FutureConfig = Expand<'all' | Partial<Record<FutureConfigValues, boolean>>> | []
64
+
65
+ // Experimental related config
66
+ type ExperimentalConfigValues = 'optimizeUniversalDefaults' | 'matchVariant'
67
+ type ExperimentalConfig = Expand<'all' | Partial<Record<ExperimentalConfigValues, boolean>>> | []
68
+
69
+ // DarkMode related config
70
+ type DarkModeConfig =
71
+ // Use the `media` query strategy.
72
+ | 'media'
73
+ // Use the `class` strategy, which requires a `.dark` class on the `html`.
74
+ | 'class'
75
+ // Use the `class` strategy with a custom class instead of `.dark`.
76
+ | ['class', string]
77
+
78
+ type Screen = { raw: string } | { min: string } | { max: string } | { min: string; max: string }
79
+ type ScreensConfig = string[] | KeyValuePair<string, string | Screen | Screen[]>
80
+
81
+ // Theme related config
82
+ interface ThemeConfig {
83
+ // Responsiveness
84
+ screens: ResolvableTo<ScreensConfig>
85
+ supports: ResolvableTo<Record<string, string>>
86
+ data: ResolvableTo<Record<string, string>>
87
+
88
+ // Reusable base configs
89
+ colors: ResolvableTo<RecursiveKeyValuePair>
90
+ spacing: ResolvableTo<KeyValuePair>
91
+
92
+ // Components
93
+ container: ResolvableTo<
94
+ Partial<{
95
+ screens: ScreensConfig
96
+ center: boolean
97
+ padding: string | Record<string, string>
98
+ }>
99
+ >
100
+
101
+ // Utilities
102
+ inset: ThemeConfig['spacing']
103
+ zIndex: ResolvableTo<KeyValuePair>
104
+ order: ResolvableTo<KeyValuePair>
105
+ gridColumn: ResolvableTo<KeyValuePair>
106
+ gridColumnStart: ResolvableTo<KeyValuePair>
107
+ gridColumnEnd: ResolvableTo<KeyValuePair>
108
+ gridRow: ResolvableTo<KeyValuePair>
109
+ gridRowStart: ResolvableTo<KeyValuePair>
110
+ gridRowEnd: ResolvableTo<KeyValuePair>
111
+ margin: ThemeConfig['spacing']
112
+ aspectRatio: ResolvableTo<KeyValuePair>
113
+ height: ThemeConfig['spacing']
114
+ maxHeight: ThemeConfig['spacing']
115
+ minHeight: ResolvableTo<KeyValuePair>
116
+ width: ThemeConfig['spacing']
117
+ maxWidth: ResolvableTo<KeyValuePair>
118
+ minWidth: ResolvableTo<KeyValuePair>
119
+ flex: ResolvableTo<KeyValuePair>
120
+ flexShrink: ResolvableTo<KeyValuePair>
121
+ flexGrow: ResolvableTo<KeyValuePair>
122
+ flexBasis: ThemeConfig['spacing']
123
+ borderSpacing: ThemeConfig['spacing']
124
+ transformOrigin: ResolvableTo<KeyValuePair>
125
+ translate: ThemeConfig['spacing']
126
+ rotate: ResolvableTo<KeyValuePair>
127
+ skew: ResolvableTo<KeyValuePair>
128
+ scale: ResolvableTo<KeyValuePair>
129
+ animation: ResolvableTo<KeyValuePair>
130
+ keyframes: ResolvableTo<KeyValuePair<string, KeyValuePair<string, KeyValuePair>>>
131
+ cursor: ResolvableTo<KeyValuePair>
132
+ scrollMargin: ThemeConfig['spacing']
133
+ scrollPadding: ThemeConfig['spacing']
134
+ listStyleType: ResolvableTo<KeyValuePair>
135
+ columns: ResolvableTo<KeyValuePair>
136
+ gridAutoColumns: ResolvableTo<KeyValuePair>
137
+ gridAutoRows: ResolvableTo<KeyValuePair>
138
+ gridTemplateColumns: ResolvableTo<KeyValuePair>
139
+ gridTemplateRows: ResolvableTo<KeyValuePair>
140
+ gap: ThemeConfig['spacing']
141
+ space: ThemeConfig['spacing']
142
+ divideWidth: ThemeConfig['borderWidth']
143
+ divideColor: ThemeConfig['borderColor']
144
+ divideOpacity: ThemeConfig['borderOpacity']
145
+ borderRadius: ResolvableTo<KeyValuePair>
146
+ borderWidth: ResolvableTo<KeyValuePair>
147
+ borderColor: ThemeConfig['colors']
148
+ borderOpacity: ThemeConfig['opacity']
149
+ backgroundColor: ThemeConfig['colors']
150
+ backgroundOpacity: ThemeConfig['opacity']
151
+ backgroundImage: ResolvableTo<KeyValuePair>
152
+ gradientColorStops: ThemeConfig['colors']
153
+ backgroundSize: ResolvableTo<KeyValuePair>
154
+ backgroundPosition: ResolvableTo<KeyValuePair>
155
+ fill: ThemeConfig['colors']
156
+ stroke: ThemeConfig['colors']
157
+ strokeWidth: ResolvableTo<KeyValuePair>
158
+ objectPosition: ResolvableTo<KeyValuePair>
159
+ padding: ThemeConfig['spacing']
160
+ textIndent: ThemeConfig['spacing']
161
+ fontFamily: ResolvableTo<
162
+ KeyValuePair<
163
+ string,
164
+ | string
165
+ | string[]
166
+ | [
167
+ fontFamily: string | string[],
168
+ configuration: Partial<{
169
+ fontFeatureSettings: string
170
+ fontVariationSettings: string
171
+ }>
172
+ ]
173
+ >
174
+ >
175
+ fontSize: ResolvableTo<
176
+ KeyValuePair<
177
+ string,
178
+ | string
179
+ | [fontSize: string, lineHeight: string]
180
+ | [
181
+ fontSize: string,
182
+ configuration: Partial<{
183
+ lineHeight: string
184
+ letterSpacing: string
185
+ fontWeight: string | number
186
+ }>
187
+ ]
188
+ >
189
+ >
190
+ fontWeight: ResolvableTo<KeyValuePair>
191
+ lineHeight: ResolvableTo<KeyValuePair>
192
+ letterSpacing: ResolvableTo<KeyValuePair>
193
+ textColor: ThemeConfig['colors']
194
+ textOpacity: ThemeConfig['opacity']
195
+ textDecorationColor: ThemeConfig['colors']
196
+ textDecorationThickness: ResolvableTo<KeyValuePair>
197
+ textUnderlineOffset: ResolvableTo<KeyValuePair>
198
+ placeholderColor: ThemeConfig['colors']
199
+ placeholderOpacity: ThemeConfig['opacity']
200
+ caretColor: ThemeConfig['colors']
201
+ accentColor: ThemeConfig['colors']
202
+ opacity: ResolvableTo<KeyValuePair>
203
+ boxShadow: ResolvableTo<KeyValuePair>
204
+ boxShadowColor: ThemeConfig['colors']
205
+ outlineWidth: ResolvableTo<KeyValuePair>
206
+ outlineOffset: ResolvableTo<KeyValuePair>
207
+ outlineColor: ThemeConfig['colors']
208
+ ringWidth: ResolvableTo<KeyValuePair>
209
+ ringColor: ThemeConfig['colors']
210
+ ringOpacity: ThemeConfig['opacity']
211
+ ringOffsetWidth: ResolvableTo<KeyValuePair>
212
+ ringOffsetColor: ThemeConfig['colors']
213
+ blur: ResolvableTo<KeyValuePair>
214
+ brightness: ResolvableTo<KeyValuePair>
215
+ contrast: ResolvableTo<KeyValuePair>
216
+ dropShadow: ResolvableTo<KeyValuePair<string, string | string[]>>
217
+ grayscale: ResolvableTo<KeyValuePair>
218
+ hueRotate: ResolvableTo<KeyValuePair>
219
+ invert: ResolvableTo<KeyValuePair>
220
+ saturate: ResolvableTo<KeyValuePair>
221
+ sepia: ResolvableTo<KeyValuePair>
222
+ backdropBlur: ThemeConfig['blur']
223
+ backdropBrightness: ThemeConfig['brightness']
224
+ backdropContrast: ThemeConfig['contrast']
225
+ backdropGrayscale: ThemeConfig['grayscale']
226
+ backdropHueRotate: ThemeConfig['hueRotate']
227
+ backdropInvert: ThemeConfig['invert']
228
+ backdropOpacity: ThemeConfig['opacity']
229
+ backdropSaturate: ThemeConfig['saturate']
230
+ backdropSepia: ThemeConfig['sepia']
231
+ transitionProperty: ResolvableTo<KeyValuePair>
232
+ transitionTimingFunction: ResolvableTo<KeyValuePair>
233
+ transitionDelay: ResolvableTo<KeyValuePair>
234
+ transitionDuration: ResolvableTo<KeyValuePair>
235
+ willChange: ResolvableTo<KeyValuePair>
236
+ content: ResolvableTo<KeyValuePair>
237
+
238
+ // Custom
239
+ [key: string]: any
240
+ }
241
+
242
+ // Core plugins related config
243
+ type CorePluginsConfig = CorePluginList[] | Expand<Partial<Record<CorePluginList, boolean>>>
244
+
245
+ // Plugins related config
246
+ type ValueType =
247
+ | 'any'
248
+ | 'color'
249
+ | 'url'
250
+ | 'image'
251
+ | 'length'
252
+ | 'percentage'
253
+ | 'position'
254
+ | 'lookup'
255
+ | 'generic-name'
256
+ | 'family-name'
257
+ | 'number'
258
+ | 'line-width'
259
+ | 'absolute-size'
260
+ | 'relative-size'
261
+ | 'shadow'
262
+ export interface PluginAPI {
263
+ // for registering new static utility styles
264
+ addUtilities(
265
+ utilities: CSSRuleObject | CSSRuleObject[],
266
+ options?: Partial<{
267
+ respectPrefix: boolean
268
+ respectImportant: boolean
269
+ }>
270
+ ): void
271
+ // for registering new dynamic utility styles
272
+ matchUtilities<T = string, U = string>(
273
+ utilities: KeyValuePair<
274
+ string,
275
+ (value: T | string, extra: { modifier: U | string | null }) => CSSRuleObject | null
276
+ >,
277
+ options?: Partial<{
278
+ respectPrefix: boolean
279
+ respectImportant: boolean
280
+ type: ValueType | ValueType[]
281
+ values: KeyValuePair<string, T>
282
+ modifiers: 'any' | KeyValuePair<string, U>
283
+ supportsNegativeValues: boolean
284
+ }>
285
+ ): void
286
+ // for registering new static component styles
287
+ addComponents(
288
+ components: CSSRuleObject | CSSRuleObject[],
289
+ options?: Partial<{
290
+ respectPrefix: boolean
291
+ respectImportant: boolean
292
+ }>
293
+ ): void
294
+ // for registering new dynamic component styles
295
+ matchComponents<T = string, U = string>(
296
+ components: KeyValuePair<
297
+ string,
298
+ (value: T | string, extra: { modifier: U | string | null }) => CSSRuleObject | null
299
+ >,
300
+ options?: Partial<{
301
+ respectPrefix: boolean
302
+ respectImportant: boolean
303
+ type: ValueType | ValueType[]
304
+ values: KeyValuePair<string, T>
305
+ modifiers: 'any' | KeyValuePair<string, U>
306
+ supportsNegativeValues: boolean
307
+ }>
308
+ ): void
309
+ // for registering new base styles
310
+ addBase(base: CSSRuleObject | CSSRuleObject[]): void
311
+ // for registering custom variants
312
+ addVariant(name: string, definition: string | string[] | (() => string) | (() => string)[]): void
313
+ matchVariant<T = string>(
314
+ name: string,
315
+ cb: (value: T | string, extra: { modifier: string | null }) => string | string[],
316
+ options?: {
317
+ values?: KeyValuePair<string, T>
318
+ sort?(
319
+ a: { value: T | string; modifier: string | null },
320
+ b: { value: T | string; modifier: string | null }
321
+ ): number
322
+ }
323
+ ): void
324
+ // for looking up values in the user’s theme configuration
325
+ theme: <TDefaultValue = Config['theme']>(
326
+ path?: string,
327
+ defaultValue?: TDefaultValue
328
+ ) => TDefaultValue
329
+ // for looking up values in the user’s Tailwind configuration
330
+ config: <TDefaultValue = Config>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue
331
+ // for checking if a core plugin is enabled
332
+ corePlugins(path: string): boolean
333
+ // for manually escaping strings meant to be used in class names
334
+ e: (className: string) => string
335
+ }
336
+ export type PluginCreator = (api: PluginAPI) => void
337
+ export type PluginsConfig = (
338
+ | PluginCreator
339
+ | { handler: PluginCreator; config?: Partial<Config> }
340
+ | {
341
+ (options: any): { handler: PluginCreator; config?: Partial<Config> }
342
+ __isOptionsFunction: true
343
+ }
344
+ )[]
345
+
346
+ // Top level config related
347
+ interface RequiredConfig {
348
+ content: ContentConfig
349
+ }
350
+
351
+ interface OptionalConfig {
352
+ important: Partial<ImportantConfig>
353
+ prefix: Partial<PrefixConfig>
354
+ separator: Partial<SeparatorConfig>
355
+ safelist: Partial<SafelistConfig>
356
+ blocklist: Partial<BlocklistConfig>
357
+ presets: Partial<PresetsConfig>
358
+ future: Partial<FutureConfig>
359
+ experimental: Partial<ExperimentalConfig>
360
+ darkMode: Partial<DarkModeConfig>
361
+ theme: Partial<ThemeConfig & { extend: Partial<ThemeConfig> }>
362
+ corePlugins: Partial<CorePluginsConfig>
363
+ plugins: Partial<PluginsConfig>
364
+ // Custom
365
+ [key: string]: any
366
+ }
367
+
368
+ export type Config = RequiredConfig & Partial<OptionalConfig>
File without changes
@@ -0,0 +1,298 @@
1
+ export interface DefaultColors {
2
+ inherit: 'inherit'
3
+ current: 'currentColor'
4
+ transparent: 'transparent'
5
+ black: '#000'
6
+ white: '#fff'
7
+ slate: {
8
+ '50': '#f8fafc'
9
+ '100': '#f1f5f9'
10
+ '200': '#e2e8f0'
11
+ '300': '#cbd5e1'
12
+ '400': '#94a3b8'
13
+ '500': '#64748b'
14
+ '600': '#475569'
15
+ '700': '#334155'
16
+ '800': '#1e293b'
17
+ '900': '#0f172a'
18
+ '950': '#020617'
19
+ }
20
+ gray: {
21
+ '50': '#f9fafb'
22
+ '100': '#f3f4f6'
23
+ '200': '#e5e7eb'
24
+ '300': '#d1d5db'
25
+ '400': '#9ca3af'
26
+ '500': '#6b7280'
27
+ '600': '#4b5563'
28
+ '700': '#374151'
29
+ '800': '#1f2937'
30
+ '900': '#111827'
31
+ '950': '#030712'
32
+ }
33
+ zinc: {
34
+ '50': '#fafafa'
35
+ '100': '#f4f4f5'
36
+ '200': '#e4e4e7'
37
+ '300': '#d4d4d8'
38
+ '400': '#a1a1aa'
39
+ '500': '#71717a'
40
+ '600': '#52525b'
41
+ '700': '#3f3f46'
42
+ '800': '#27272a'
43
+ '900': '#18181b'
44
+ '950': '#09090b'
45
+ }
46
+ neutral: {
47
+ '50': '#fafafa'
48
+ '100': '#f5f5f5'
49
+ '200': '#e5e5e5'
50
+ '300': '#d4d4d4'
51
+ '400': '#a3a3a3'
52
+ '500': '#737373'
53
+ '600': '#525252'
54
+ '700': '#404040'
55
+ '800': '#262626'
56
+ '900': '#171717'
57
+ '950': '#0a0a0a'
58
+ }
59
+ stone: {
60
+ '50': '#fafaf9'
61
+ '100': '#f5f5f4'
62
+ '200': '#e7e5e4'
63
+ '300': '#d6d3d1'
64
+ '400': '#a8a29e'
65
+ '500': '#78716c'
66
+ '600': '#57534e'
67
+ '700': '#44403c'
68
+ '800': '#292524'
69
+ '900': '#1c1917'
70
+ '950': '#0c0a09'
71
+ }
72
+ red: {
73
+ '50': '#fef2f2'
74
+ '100': '#fee2e2'
75
+ '200': '#fecaca'
76
+ '300': '#fca5a5'
77
+ '400': '#f87171'
78
+ '500': '#ef4444'
79
+ '600': '#dc2626'
80
+ '700': '#b91c1c'
81
+ '800': '#991b1b'
82
+ '900': '#7f1d1d'
83
+ '950': '#450a0a'
84
+ }
85
+ orange: {
86
+ '50': '#fff7ed'
87
+ '100': '#ffedd5'
88
+ '200': '#fed7aa'
89
+ '300': '#fdba74'
90
+ '400': '#fb923c'
91
+ '500': '#f97316'
92
+ '600': '#ea580c'
93
+ '700': '#c2410c'
94
+ '800': '#9a3412'
95
+ '900': '#7c2d12'
96
+ '950': '#431407'
97
+ }
98
+ amber: {
99
+ '50': '#fffbeb'
100
+ '100': '#fef3c7'
101
+ '200': '#fde68a'
102
+ '300': '#fcd34d'
103
+ '400': '#fbbf24'
104
+ '500': '#f59e0b'
105
+ '600': '#d97706'
106
+ '700': '#b45309'
107
+ '800': '#92400e'
108
+ '900': '#78350f'
109
+ '950': '#451a03'
110
+ }
111
+ yellow: {
112
+ '50': '#fefce8'
113
+ '100': '#fef9c3'
114
+ '200': '#fef08a'
115
+ '300': '#fde047'
116
+ '400': '#facc15'
117
+ '500': '#eab308'
118
+ '600': '#ca8a04'
119
+ '700': '#a16207'
120
+ '800': '#854d0e'
121
+ '900': '#713f12'
122
+ '950': '#422006'
123
+ }
124
+ lime: {
125
+ '50': '#f7fee7'
126
+ '100': '#ecfccb'
127
+ '200': '#d9f99d'
128
+ '300': '#bef264'
129
+ '400': '#a3e635'
130
+ '500': '#84cc16'
131
+ '600': '#65a30d'
132
+ '700': '#4d7c0f'
133
+ '800': '#3f6212'
134
+ '900': '#365314'
135
+ '950': '#1a2e05'
136
+ }
137
+ green: {
138
+ '50': '#f0fdf4'
139
+ '100': '#dcfce7'
140
+ '200': '#bbf7d0'
141
+ '300': '#86efac'
142
+ '400': '#4ade80'
143
+ '500': '#22c55e'
144
+ '600': '#16a34a'
145
+ '700': '#15803d'
146
+ '800': '#166534'
147
+ '900': '#14532d'
148
+ '950': '#052e16'
149
+ }
150
+ emerald: {
151
+ '50': '#ecfdf5'
152
+ '100': '#d1fae5'
153
+ '200': '#a7f3d0'
154
+ '300': '#6ee7b7'
155
+ '400': '#34d399'
156
+ '500': '#10b981'
157
+ '600': '#059669'
158
+ '700': '#047857'
159
+ '800': '#065f46'
160
+ '900': '#064e3b'
161
+ '950': '#022c22'
162
+ }
163
+ teal: {
164
+ '50': '#f0fdfa'
165
+ '100': '#ccfbf1'
166
+ '200': '#99f6e4'
167
+ '300': '#5eead4'
168
+ '400': '#2dd4bf'
169
+ '500': '#14b8a6'
170
+ '600': '#0d9488'
171
+ '700': '#0f766e'
172
+ '800': '#115e59'
173
+ '900': '#134e4a'
174
+ '950': '#042f2e'
175
+ }
176
+ cyan: {
177
+ '50': '#ecfeff'
178
+ '100': '#cffafe'
179
+ '200': '#a5f3fc'
180
+ '300': '#67e8f9'
181
+ '400': '#22d3ee'
182
+ '500': '#06b6d4'
183
+ '600': '#0891b2'
184
+ '700': '#0e7490'
185
+ '800': '#155e75'
186
+ '900': '#164e63'
187
+ '950': '#083344'
188
+ }
189
+ sky: {
190
+ '50': '#f0f9ff'
191
+ '100': '#e0f2fe'
192
+ '200': '#bae6fd'
193
+ '300': '#7dd3fc'
194
+ '400': '#38bdf8'
195
+ '500': '#0ea5e9'
196
+ '600': '#0284c7'
197
+ '700': '#0369a1'
198
+ '800': '#075985'
199
+ '900': '#0c4a6e'
200
+ '950': '#082f49'
201
+ }
202
+ blue: {
203
+ '50': '#eff6ff'
204
+ '100': '#dbeafe'
205
+ '200': '#bfdbfe'
206
+ '300': '#93c5fd'
207
+ '400': '#60a5fa'
208
+ '500': '#3b82f6'
209
+ '600': '#2563eb'
210
+ '700': '#1d4ed8'
211
+ '800': '#1e40af'
212
+ '900': '#1e3a8a'
213
+ '950': '#172554'
214
+ }
215
+ indigo: {
216
+ '50': '#eef2ff'
217
+ '100': '#e0e7ff'
218
+ '200': '#c7d2fe'
219
+ '300': '#a5b4fc'
220
+ '400': '#818cf8'
221
+ '500': '#6366f1'
222
+ '600': '#4f46e5'
223
+ '700': '#4338ca'
224
+ '800': '#3730a3'
225
+ '900': '#312e81'
226
+ '950': '#1e1b4b'
227
+ }
228
+ violet: {
229
+ '50': '#f5f3ff'
230
+ '100': '#ede9fe'
231
+ '200': '#ddd6fe'
232
+ '300': '#c4b5fd'
233
+ '400': '#a78bfa'
234
+ '500': '#8b5cf6'
235
+ '600': '#7c3aed'
236
+ '700': '#6d28d9'
237
+ '800': '#5b21b6'
238
+ '900': '#4c1d95'
239
+ '950': '#2e1065'
240
+ }
241
+ purple: {
242
+ '50': '#faf5ff'
243
+ '100': '#f3e8ff'
244
+ '200': '#e9d5ff'
245
+ '300': '#d8b4fe'
246
+ '400': '#c084fc'
247
+ '500': '#a855f7'
248
+ '600': '#9333ea'
249
+ '700': '#7e22ce'
250
+ '800': '#6b21a8'
251
+ '900': '#581c87'
252
+ '950': '#3b0764'
253
+ }
254
+ fuchsia: {
255
+ '50': '#fdf4ff'
256
+ '100': '#fae8ff'
257
+ '200': '#f5d0fe'
258
+ '300': '#f0abfc'
259
+ '400': '#e879f9'
260
+ '500': '#d946ef'
261
+ '600': '#c026d3'
262
+ '700': '#a21caf'
263
+ '800': '#86198f'
264
+ '900': '#701a75'
265
+ '950': '#4a044e'
266
+ }
267
+ pink: {
268
+ '50': '#fdf2f8'
269
+ '100': '#fce7f3'
270
+ '200': '#fbcfe8'
271
+ '300': '#f9a8d4'
272
+ '400': '#f472b6'
273
+ '500': '#ec4899'
274
+ '600': '#db2777'
275
+ '700': '#be185d'
276
+ '800': '#9d174d'
277
+ '900': '#831843'
278
+ '950': '#500724'
279
+ }
280
+ rose: {
281
+ '50': '#fff1f2'
282
+ '100': '#ffe4e6'
283
+ '200': '#fecdd3'
284
+ '300': '#fda4af'
285
+ '400': '#fb7185'
286
+ '500': '#f43f5e'
287
+ '600': '#e11d48'
288
+ '700': '#be123c'
289
+ '800': '#9f1239'
290
+ '900': '#881337'
291
+ '950': '#4c0519'
292
+ }
293
+ /** @deprecated As of Tailwind CSS v2.2, `lightBlue` has been renamed to `sky`. Update your configuration file to silence this warning. */ lightBlue: DefaultColors['sky']
294
+ /** @deprecated As of Tailwind CSS v3.0, `warmGray` has been renamed to `stone`. Update your configuration file to silence this warning. */ warmGray: DefaultColors['stone']
295
+ /** @deprecated As of Tailwind CSS v3.0, `trueGray` has been renamed to `neutral`. Update your configuration file to silence this warning. */ trueGray: DefaultColors['neutral']
296
+ /** @deprecated As of Tailwind CSS v3.0, `coolGray` has been renamed to `gray`. Update your configuration file to silence this warning. */ coolGray: DefaultColors['gray']
297
+ /** @deprecated As of Tailwind CSS v3.0, `blueGray` has been renamed to `slate`. Update your configuration file to silence this warning. */ blueGray: DefaultColors['slate']
298
+ }
@@ -0,0 +1 @@
1
+ export type CorePluginList = 'preflight' | 'container' | 'accessibility' | 'pointerEvents' | 'visibility' | 'position' | 'inset' | 'isolation' | 'zIndex' | 'order' | 'gridColumn' | 'gridColumnStart' | 'gridColumnEnd' | 'gridRow' | 'gridRowStart' | 'gridRowEnd' | 'float' | 'clear' | 'margin' | 'boxSizing' | 'lineClamp' | 'display' | 'aspectRatio' | 'height' | 'maxHeight' | 'minHeight' | 'width' | 'minWidth' | 'maxWidth' | 'flex' | 'flexShrink' | 'flexGrow' | 'flexBasis' | 'tableLayout' | 'captionSide' | 'borderCollapse' | 'borderSpacing' | 'transformOrigin' | 'translate' | 'rotate' | 'skew' | 'scale' | 'transform' | 'animation' | 'cursor' | 'touchAction' | 'userSelect' | 'resize' | 'scrollSnapType' | 'scrollSnapAlign' | 'scrollSnapStop' | 'scrollMargin' | 'scrollPadding' | 'listStylePosition' | 'listStyleType' | 'listStyleImage' | 'appearance' | 'columns' | 'breakBefore' | 'breakInside' | 'breakAfter' | 'gridAutoColumns' | 'gridAutoFlow' | 'gridAutoRows' | 'gridTemplateColumns' | 'gridTemplateRows' | 'flexDirection' | 'flexWrap' | 'placeContent' | 'placeItems' | 'alignContent' | 'alignItems' | 'justifyContent' | 'justifyItems' | 'gap' | 'space' | 'divideWidth' | 'divideStyle' | 'divideColor' | 'divideOpacity' | 'placeSelf' | 'alignSelf' | 'justifySelf' | 'overflow' | 'overscrollBehavior' | 'scrollBehavior' | 'textOverflow' | 'hyphens' | 'whitespace' | 'wordBreak' | 'borderRadius' | 'borderWidth' | 'borderStyle' | 'borderColor' | 'borderOpacity' | 'backgroundColor' | 'backgroundOpacity' | 'backgroundImage' | 'gradientColorStops' | 'boxDecorationBreak' | 'backgroundSize' | 'backgroundAttachment' | 'backgroundClip' | 'backgroundPosition' | 'backgroundRepeat' | 'backgroundOrigin' | 'fill' | 'stroke' | 'strokeWidth' | 'objectFit' | 'objectPosition' | 'padding' | 'textAlign' | 'textIndent' | 'verticalAlign' | 'fontFamily' | 'fontSize' | 'fontWeight' | 'textTransform' | 'fontStyle' | 'fontVariantNumeric' | 'lineHeight' | 'letterSpacing' | 'textColor' | 'textOpacity' | 'textDecoration' | 'textDecorationColor' | 'textDecorationStyle' | 'textDecorationThickness' | 'textUnderlineOffset' | 'fontSmoothing' | 'placeholderColor' | 'placeholderOpacity' | 'caretColor' | 'accentColor' | 'opacity' | 'backgroundBlendMode' | 'mixBlendMode' | 'boxShadow' | 'boxShadowColor' | 'outlineStyle' | 'outlineWidth' | 'outlineOffset' | 'outlineColor' | 'ringWidth' | 'ringColor' | 'ringOpacity' | 'ringOffsetWidth' | 'ringOffsetColor' | 'blur' | 'brightness' | 'contrast' | 'dropShadow' | 'grayscale' | 'hueRotate' | 'invert' | 'saturate' | 'sepia' | 'filter' | 'backdropBlur' | 'backdropBrightness' | 'backdropContrast' | 'backdropGrayscale' | 'backdropHueRotate' | 'backdropInvert' | 'backdropOpacity' | 'backdropSaturate' | 'backdropSepia' | 'backdropFilter' | 'transitionProperty' | 'transitionDelay' | 'transitionDuration' | 'transitionTimingFunction' | 'willChange' | 'content'