tailwindcss 3.0.24 → 3.1.2

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 (88) hide show
  1. package/CHANGELOG.md +75 -3
  2. package/colors.d.ts +3 -0
  3. package/defaultConfig.d.ts +3 -0
  4. package/defaultTheme.d.ts +3 -0
  5. package/lib/cli-peer-dependencies.js +8 -3
  6. package/lib/cli.js +125 -83
  7. package/lib/corePluginList.js +1 -0
  8. package/lib/corePlugins.js +146 -117
  9. package/lib/css/preflight.css +1 -8
  10. package/lib/featureFlags.js +8 -6
  11. package/lib/index.js +10 -13
  12. package/lib/lib/cacheInvalidation.js +32 -14
  13. package/lib/lib/collapseAdjacentRules.js +5 -3
  14. package/lib/lib/defaultExtractor.js +191 -32
  15. package/lib/lib/evaluateTailwindFunctions.js +22 -13
  16. package/lib/lib/expandApplyAtRules.js +232 -195
  17. package/lib/lib/expandTailwindAtRules.js +40 -26
  18. package/lib/lib/generateRules.js +106 -42
  19. package/lib/lib/regex.js +52 -0
  20. package/lib/lib/resolveDefaultsAtRules.js +56 -45
  21. package/lib/lib/setupContextUtils.js +131 -79
  22. package/lib/lib/setupTrackingContext.js +7 -9
  23. package/lib/lib/sharedState.js +1 -2
  24. package/lib/lib/substituteScreenAtRules.js +1 -2
  25. package/lib/postcss-plugins/nesting/plugin.js +1 -2
  26. package/lib/util/buildMediaQuery.js +1 -2
  27. package/lib/util/cloneDeep.js +2 -4
  28. package/lib/util/color.js +26 -36
  29. package/lib/util/createPlugin.js +1 -2
  30. package/lib/util/createUtilityPlugin.js +1 -2
  31. package/lib/util/dataTypes.js +14 -12
  32. package/lib/util/flattenColorPalette.js +2 -5
  33. package/lib/util/formatVariantSelector.js +64 -57
  34. package/lib/util/getAllConfigs.js +10 -5
  35. package/lib/util/isValidArbitraryValue.js +1 -2
  36. package/lib/util/log.js +2 -3
  37. package/lib/util/negateValue.js +1 -2
  38. package/lib/util/normalizeConfig.js +33 -23
  39. package/lib/util/normalizeScreens.js +1 -2
  40. package/lib/util/parseAnimationValue.js +1 -2
  41. package/lib/util/parseBoxShadowValue.js +2 -43
  42. package/lib/util/pluginUtils.js +11 -3
  43. package/lib/util/resolveConfig.js +57 -34
  44. package/lib/util/splitAtTopLevelOnly.js +90 -0
  45. package/lib/util/transformThemeValue.js +4 -2
  46. package/lib/util/validateConfig.js +21 -0
  47. package/lib/util/withAlphaVariable.js +5 -5
  48. package/package.json +21 -16
  49. package/peers/index.js +3264 -1330
  50. package/plugin.d.ts +11 -0
  51. package/src/cli-peer-dependencies.js +7 -1
  52. package/src/cli.js +104 -34
  53. package/src/corePluginList.js +1 -1
  54. package/src/corePlugins.js +57 -40
  55. package/src/css/preflight.css +1 -8
  56. package/src/featureFlags.js +2 -2
  57. package/src/index.js +0 -2
  58. package/src/lib/collapseAdjacentRules.js +5 -1
  59. package/src/lib/defaultExtractor.js +177 -35
  60. package/src/lib/evaluateTailwindFunctions.js +20 -4
  61. package/src/lib/expandApplyAtRules.js +247 -188
  62. package/src/lib/expandTailwindAtRules.js +4 -4
  63. package/src/lib/generateRules.js +69 -5
  64. package/src/lib/regex.js +74 -0
  65. package/src/lib/resolveDefaultsAtRules.js +53 -36
  66. package/src/lib/setupContextUtils.js +103 -39
  67. package/src/lib/setupTrackingContext.js +4 -0
  68. package/src/util/color.js +20 -18
  69. package/src/util/dataTypes.js +11 -5
  70. package/src/util/formatVariantSelector.js +79 -62
  71. package/src/util/getAllConfigs.js +7 -0
  72. package/src/util/log.js +1 -1
  73. package/src/util/normalizeConfig.js +0 -8
  74. package/src/util/parseBoxShadowValue.js +3 -50
  75. package/src/util/pluginUtils.js +13 -1
  76. package/src/util/resolveConfig.js +66 -54
  77. package/src/util/splitAtTopLevelOnly.js +71 -0
  78. package/src/util/toPath.js +1 -1
  79. package/src/util/transformThemeValue.js +4 -2
  80. package/src/util/validateConfig.js +13 -0
  81. package/src/util/withAlphaVariable.js +1 -1
  82. package/stubs/defaultConfig.stub.js +2 -3
  83. package/stubs/simpleConfig.stub.js +1 -0
  84. package/types/config.d.ts +325 -0
  85. package/types/generated/.gitkeep +0 -0
  86. package/types/generated/colors.d.ts +276 -0
  87. package/types/generated/corePluginList.d.ts +1 -0
  88. package/types/index.d.ts +7 -0
@@ -0,0 +1,325 @@
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
+ type ResolvableTo<T> = T | ((utils: PluginUtils) => T)
15
+
16
+ interface PluginUtils {
17
+ colors: DefaultColors
18
+ theme(path: string, defaultValue?: unknown): any
19
+ breakpoints<I = Record<string, unknown>, O = I>(arg: I): O
20
+ rgb(arg: string): (arg: Partial<{ opacityVariable: string; opacityValue: number }>) => string
21
+ hsl(arg: string): (arg: Partial<{ opacityVariable: string; opacityValue: number }>) => string
22
+ }
23
+
24
+ // Content related config
25
+ type FilePath = string
26
+ type RawFile = { raw: string; extension?: string }
27
+ type ExtractorFn = (content: string) => string[]
28
+ type TransformerFn = (content: string) => string
29
+ type ContentConfig =
30
+ | (FilePath | RawFile)[]
31
+ | {
32
+ files: (FilePath | RawFile)[]
33
+ extract?: ExtractorFn | { [extension: string]: ExtractorFn }
34
+ transform?: TransformerFn | { [extension: string]: TransformerFn }
35
+ }
36
+
37
+ // Important related config
38
+ type ImportantConfig = boolean | string
39
+
40
+ // Prefix related config
41
+ type PrefixConfig = string
42
+
43
+ // Separator related config
44
+ type SeparatorConfig = string
45
+
46
+ // Safelist related config
47
+ type SafelistConfig =
48
+ | string[]
49
+ | {
50
+ pattern: RegExp
51
+ variants: string[]
52
+ }[]
53
+
54
+ // Presets related config
55
+ type PresetsConfig = Config[]
56
+
57
+ // Future related config
58
+ type FutureConfigValues = never // Replace with 'future-feature-1' | 'future-feature-2'
59
+ type FutureConfig = Expand<'all' | Partial<Record<FutureConfigValues, boolean>>> | []
60
+
61
+ // Experimental related config
62
+ type ExperimentalConfigValues = 'optimizeUniversalDefaults' // Replace with 'experimental-feature-1' | 'experimental-feature-2'
63
+ type ExperimentalConfig = Expand<'all' | Partial<Record<ExperimentalConfigValues, boolean>>> | []
64
+
65
+ // DarkMode related config
66
+ type DarkModeConfig =
67
+ // Use the `media` query strategy.
68
+ | 'media'
69
+ // Use the `class` stategy, which requires a `.dark` class on the `html`.
70
+ | 'class'
71
+ // Use the `class` stategy with a custom class instead of `.dark`.
72
+ | ['class', string]
73
+
74
+ type Screen = { raw: string } | { min: string } | { max: string } | { min: string; max: string }
75
+ type ScreensConfig = string[] | KeyValuePair<string, string | Screen | Screen[]>
76
+
77
+ // Theme related config
78
+ interface ThemeConfig {
79
+ // Responsiveness
80
+ screens: ResolvableTo<ScreensConfig>
81
+
82
+ // Reusable base configs
83
+ colors: ResolvableTo<RecursiveKeyValuePair>
84
+ spacing: ResolvableTo<KeyValuePair>
85
+
86
+ // Components
87
+ container: ResolvableTo<
88
+ Partial<{
89
+ screens: ScreensConfig
90
+ center: boolean
91
+ padding: string | Record<string, string>
92
+ }>
93
+ >
94
+
95
+ // Utilities
96
+ inset: ThemeConfig['spacing']
97
+ zIndex: ResolvableTo<KeyValuePair>
98
+ order: ResolvableTo<KeyValuePair>
99
+ gridColumn: ResolvableTo<KeyValuePair>
100
+ gridColumnStart: ResolvableTo<KeyValuePair>
101
+ gridColumnEnd: ResolvableTo<KeyValuePair>
102
+ gridRow: ResolvableTo<KeyValuePair>
103
+ gridRowStart: ResolvableTo<KeyValuePair>
104
+ gridRowEnd: ResolvableTo<KeyValuePair>
105
+ margin: ThemeConfig['spacing']
106
+ aspectRatio: ResolvableTo<KeyValuePair>
107
+ height: ThemeConfig['spacing']
108
+ maxHeight: ThemeConfig['spacing']
109
+ minHeight: ResolvableTo<KeyValuePair>
110
+ width: ThemeConfig['spacing']
111
+ maxWidth: ResolvableTo<KeyValuePair>
112
+ minWidth: ResolvableTo<KeyValuePair>
113
+ flex: ResolvableTo<KeyValuePair>
114
+ flexShrink: ResolvableTo<KeyValuePair>
115
+ flexGrow: ResolvableTo<KeyValuePair>
116
+ flexBasis: ThemeConfig['spacing']
117
+ borderSpacing: ThemeConfig['spacing']
118
+ transformOrigin: ResolvableTo<KeyValuePair>
119
+ translate: ThemeConfig['spacing']
120
+ rotate: ResolvableTo<KeyValuePair>
121
+ skew: ResolvableTo<KeyValuePair>
122
+ scale: ResolvableTo<KeyValuePair>
123
+ animation: ResolvableTo<KeyValuePair>
124
+ keyframes: ResolvableTo<KeyValuePair<string, KeyValuePair<string, KeyValuePair>>>
125
+ cursor: ResolvableTo<KeyValuePair>
126
+ scrollMargin: ThemeConfig['spacing']
127
+ scrollPadding: ThemeConfig['spacing']
128
+ listStyleType: ResolvableTo<KeyValuePair>
129
+ columns: ResolvableTo<KeyValuePair>
130
+ gridAutoColumns: ResolvableTo<KeyValuePair>
131
+ gridAutoRows: ResolvableTo<KeyValuePair>
132
+ gridTemplateColumns: ResolvableTo<KeyValuePair>
133
+ gridTemplateRows: ResolvableTo<KeyValuePair>
134
+ gap: ThemeConfig['spacing']
135
+ space: ThemeConfig['spacing']
136
+ divideWidth: ThemeConfig['borderWidth']
137
+ divideColor: ThemeConfig['borderColor']
138
+ divideOpacity: ThemeConfig['borderOpacity']
139
+ borderRadius: ResolvableTo<KeyValuePair>
140
+ borderWidth: ResolvableTo<KeyValuePair>
141
+ borderColor: ThemeConfig['colors']
142
+ borderOpacity: ThemeConfig['opacity']
143
+ backgroundColor: ThemeConfig['colors']
144
+ backgroundOpacity: ThemeConfig['opacity']
145
+ backgroundImage: ResolvableTo<KeyValuePair>
146
+ gradientColorStops: ThemeConfig['colors']
147
+ backgroundSize: ResolvableTo<KeyValuePair>
148
+ backgroundPosition: ResolvableTo<KeyValuePair>
149
+ fill: ThemeConfig['colors']
150
+ stroke: ThemeConfig['colors']
151
+ strokeWidth: ResolvableTo<KeyValuePair>
152
+ objectPosition: ResolvableTo<KeyValuePair>
153
+ padding: ThemeConfig['spacing']
154
+ textIndent: ThemeConfig['spacing']
155
+ fontFamily: ResolvableTo<KeyValuePair<string, string[]>>
156
+ fontSize: ResolvableTo<
157
+ KeyValuePair<
158
+ string,
159
+ | string
160
+ | [fontSize: string, lineHeight: string]
161
+ | [
162
+ fontSize: string,
163
+ configuration: Partial<{
164
+ lineHeight: string
165
+ letterSpacing: string
166
+ }>
167
+ ]
168
+ >
169
+ >
170
+ fontWeight: ResolvableTo<KeyValuePair>
171
+ lineHeight: ResolvableTo<KeyValuePair>
172
+ letterSpacing: ResolvableTo<KeyValuePair>
173
+ textColor: ThemeConfig['colors']
174
+ textOpacity: ThemeConfig['opacity']
175
+ textDecorationColor: ThemeConfig['colors']
176
+ textDecorationThickness: ResolvableTo<KeyValuePair>
177
+ textUnderlineOffset: ResolvableTo<KeyValuePair>
178
+ placeholderColor: ThemeConfig['colors']
179
+ placeholderOpacity: ThemeConfig['opacity']
180
+ caretColor: ThemeConfig['colors']
181
+ accentColor: ThemeConfig['colors']
182
+ opacity: ResolvableTo<KeyValuePair>
183
+ boxShadow: ResolvableTo<KeyValuePair>
184
+ boxShadowColor: ThemeConfig['colors']
185
+ outlineWidth: ResolvableTo<KeyValuePair>
186
+ outlineOffset: ResolvableTo<KeyValuePair>
187
+ outlineColor: ThemeConfig['colors']
188
+ ringWidth: ResolvableTo<KeyValuePair>
189
+ ringColor: ThemeConfig['colors']
190
+ ringOpacity: ThemeConfig['opacity']
191
+ ringOffsetWidth: ResolvableTo<KeyValuePair>
192
+ ringOffsetColor: ThemeConfig['colors']
193
+ blur: ResolvableTo<KeyValuePair>
194
+ brightness: ResolvableTo<KeyValuePair>
195
+ contrast: ResolvableTo<KeyValuePair>
196
+ dropShadow: ResolvableTo<KeyValuePair>
197
+ grayscale: ResolvableTo<KeyValuePair>
198
+ hueRotate: ResolvableTo<KeyValuePair>
199
+ invert: ResolvableTo<KeyValuePair>
200
+ saturate: ResolvableTo<KeyValuePair>
201
+ sepia: ResolvableTo<KeyValuePair>
202
+ backdropBlur: ThemeConfig['blur']
203
+ backdropBrightness: ThemeConfig['brightness']
204
+ backdropContrast: ThemeConfig['contrast']
205
+ backdropGrayscale: ThemeConfig['grayscale']
206
+ backdropHueRotate: ThemeConfig['hueRotate']
207
+ backdropInvert: ThemeConfig['invert']
208
+ backdropOpacity: ThemeConfig['opacity']
209
+ backdropSaturate: ThemeConfig['saturate']
210
+ backdropSepia: ThemeConfig['sepia']
211
+ transitionProperty: ResolvableTo<KeyValuePair>
212
+ transitionTimingFunction: ResolvableTo<KeyValuePair>
213
+ transitionDelay: ResolvableTo<KeyValuePair>
214
+ transitionDuration: ResolvableTo<KeyValuePair>
215
+ willChange: ResolvableTo<KeyValuePair>
216
+ content: ResolvableTo<KeyValuePair>
217
+
218
+ // Custom
219
+ [key: string]: any
220
+ }
221
+
222
+ // Core plugins related config
223
+ type CorePluginsConfig = CorePluginList[] | Expand<Partial<Record<CorePluginList, boolean>>>
224
+
225
+ // Plugins related config
226
+ type ValueType =
227
+ | 'any'
228
+ | 'color'
229
+ | 'url'
230
+ | 'image'
231
+ | 'length'
232
+ | 'percentage'
233
+ | 'position'
234
+ | 'lookup'
235
+ | 'generic-name'
236
+ | 'family-name'
237
+ | 'number'
238
+ | 'line-width'
239
+ | 'absolute-size'
240
+ | 'relative-size'
241
+ | 'shadow'
242
+ export interface PluginAPI {
243
+ // for registering new static utility styles
244
+ addUtilities(
245
+ utilities: RecursiveKeyValuePair | RecursiveKeyValuePair[],
246
+ options?: Partial<{
247
+ respectPrefix: boolean
248
+ respectImportant: boolean
249
+ }>
250
+ ): void
251
+ // for registering new dynamic utility styles
252
+ matchUtilities<T>(
253
+ utilities: KeyValuePair<string, (value: T) => RecursiveKeyValuePair>,
254
+ options?: Partial<{
255
+ respectPrefix: boolean
256
+ respectImportant: boolean
257
+ type: ValueType | ValueType[]
258
+ values: KeyValuePair<string, T>
259
+ supportsNegativeValues: boolean
260
+ }>
261
+ ): void
262
+ // for registering new static component styles
263
+ addComponents(
264
+ components: RecursiveKeyValuePair | RecursiveKeyValuePair[],
265
+ options?: Partial<{
266
+ respectPrefix: boolean
267
+ respectImportant: boolean
268
+ }>
269
+ ): void
270
+ // for registering new dynamic component styles
271
+ matchComponents<T>(
272
+ components: KeyValuePair<string, (value: T) => RecursiveKeyValuePair>,
273
+ options?: Partial<{
274
+ respectPrefix: boolean
275
+ respectImportant: boolean
276
+ type: ValueType | ValueType[]
277
+ values: KeyValuePair<string, T>
278
+ supportsNegativeValues: boolean
279
+ }>
280
+ ): void
281
+ // for registering new base styles
282
+ addBase(base: RecursiveKeyValuePair | RecursiveKeyValuePair[]): void
283
+ // for registering custom variants
284
+ addVariant(name: string, definition: string | string[] | (() => string) | (() => string)[]): void
285
+ // for looking up values in the user’s theme configuration
286
+ theme: <TDefaultValue = Config['theme']>(
287
+ path?: string,
288
+ defaultValue?: TDefaultValue
289
+ ) => TDefaultValue
290
+ // for looking up values in the user’s Tailwind configuration
291
+ config: <TDefaultValue = Config>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue
292
+ // for checking if a core plugin is enabled
293
+ corePlugins(path: string): boolean
294
+ // for manually escaping strings meant to be used in class names
295
+ e: (className: string) => string
296
+ }
297
+ export type PluginCreator = (api: PluginAPI) => void
298
+ export type PluginsConfig = (
299
+ | PluginCreator
300
+ | { handler: PluginCreator; config?: Config }
301
+ | { (options: any): { handler: PluginCreator; config?: Config }; __isOptionsFunction: true }
302
+ )[]
303
+
304
+ // Top level config related
305
+ interface RequiredConfig {
306
+ content: ContentConfig
307
+ }
308
+
309
+ interface OptionalConfig {
310
+ important: Partial<ImportantConfig>
311
+ prefix: Partial<PrefixConfig>
312
+ separator: Partial<SeparatorConfig>
313
+ safelist: Partial<SafelistConfig>
314
+ presets: Partial<PresetsConfig>
315
+ future: Partial<FutureConfig>
316
+ experimental: Partial<ExperimentalConfig>
317
+ darkMode: Partial<DarkModeConfig>
318
+ theme: Partial<ThemeConfig & { extend: Partial<ThemeConfig> }>
319
+ corePlugins: Partial<CorePluginsConfig>
320
+ plugins: Partial<PluginsConfig>
321
+ // Custom
322
+ [key: string]: any
323
+ }
324
+
325
+ export type Config = RequiredConfig & Partial<OptionalConfig>
File without changes
@@ -0,0 +1,276 @@
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
+ }
19
+ gray: {
20
+ '50': '#f9fafb'
21
+ '100': '#f3f4f6'
22
+ '200': '#e5e7eb'
23
+ '300': '#d1d5db'
24
+ '400': '#9ca3af'
25
+ '500': '#6b7280'
26
+ '600': '#4b5563'
27
+ '700': '#374151'
28
+ '800': '#1f2937'
29
+ '900': '#111827'
30
+ }
31
+ zinc: {
32
+ '50': '#fafafa'
33
+ '100': '#f4f4f5'
34
+ '200': '#e4e4e7'
35
+ '300': '#d4d4d8'
36
+ '400': '#a1a1aa'
37
+ '500': '#71717a'
38
+ '600': '#52525b'
39
+ '700': '#3f3f46'
40
+ '800': '#27272a'
41
+ '900': '#18181b'
42
+ }
43
+ neutral: {
44
+ '50': '#fafafa'
45
+ '100': '#f5f5f5'
46
+ '200': '#e5e5e5'
47
+ '300': '#d4d4d4'
48
+ '400': '#a3a3a3'
49
+ '500': '#737373'
50
+ '600': '#525252'
51
+ '700': '#404040'
52
+ '800': '#262626'
53
+ '900': '#171717'
54
+ }
55
+ stone: {
56
+ '50': '#fafaf9'
57
+ '100': '#f5f5f4'
58
+ '200': '#e7e5e4'
59
+ '300': '#d6d3d1'
60
+ '400': '#a8a29e'
61
+ '500': '#78716c'
62
+ '600': '#57534e'
63
+ '700': '#44403c'
64
+ '800': '#292524'
65
+ '900': '#1c1917'
66
+ }
67
+ red: {
68
+ '50': '#fef2f2'
69
+ '100': '#fee2e2'
70
+ '200': '#fecaca'
71
+ '300': '#fca5a5'
72
+ '400': '#f87171'
73
+ '500': '#ef4444'
74
+ '600': '#dc2626'
75
+ '700': '#b91c1c'
76
+ '800': '#991b1b'
77
+ '900': '#7f1d1d'
78
+ }
79
+ orange: {
80
+ '50': '#fff7ed'
81
+ '100': '#ffedd5'
82
+ '200': '#fed7aa'
83
+ '300': '#fdba74'
84
+ '400': '#fb923c'
85
+ '500': '#f97316'
86
+ '600': '#ea580c'
87
+ '700': '#c2410c'
88
+ '800': '#9a3412'
89
+ '900': '#7c2d12'
90
+ }
91
+ amber: {
92
+ '50': '#fffbeb'
93
+ '100': '#fef3c7'
94
+ '200': '#fde68a'
95
+ '300': '#fcd34d'
96
+ '400': '#fbbf24'
97
+ '500': '#f59e0b'
98
+ '600': '#d97706'
99
+ '700': '#b45309'
100
+ '800': '#92400e'
101
+ '900': '#78350f'
102
+ }
103
+ yellow: {
104
+ '50': '#fefce8'
105
+ '100': '#fef9c3'
106
+ '200': '#fef08a'
107
+ '300': '#fde047'
108
+ '400': '#facc15'
109
+ '500': '#eab308'
110
+ '600': '#ca8a04'
111
+ '700': '#a16207'
112
+ '800': '#854d0e'
113
+ '900': '#713f12'
114
+ }
115
+ lime: {
116
+ '50': '#f7fee7'
117
+ '100': '#ecfccb'
118
+ '200': '#d9f99d'
119
+ '300': '#bef264'
120
+ '400': '#a3e635'
121
+ '500': '#84cc16'
122
+ '600': '#65a30d'
123
+ '700': '#4d7c0f'
124
+ '800': '#3f6212'
125
+ '900': '#365314'
126
+ }
127
+ green: {
128
+ '50': '#f0fdf4'
129
+ '100': '#dcfce7'
130
+ '200': '#bbf7d0'
131
+ '300': '#86efac'
132
+ '400': '#4ade80'
133
+ '500': '#22c55e'
134
+ '600': '#16a34a'
135
+ '700': '#15803d'
136
+ '800': '#166534'
137
+ '900': '#14532d'
138
+ }
139
+ emerald: {
140
+ '50': '#ecfdf5'
141
+ '100': '#d1fae5'
142
+ '200': '#a7f3d0'
143
+ '300': '#6ee7b7'
144
+ '400': '#34d399'
145
+ '500': '#10b981'
146
+ '600': '#059669'
147
+ '700': '#047857'
148
+ '800': '#065f46'
149
+ '900': '#064e3b'
150
+ }
151
+ teal: {
152
+ '50': '#f0fdfa'
153
+ '100': '#ccfbf1'
154
+ '200': '#99f6e4'
155
+ '300': '#5eead4'
156
+ '400': '#2dd4bf'
157
+ '500': '#14b8a6'
158
+ '600': '#0d9488'
159
+ '700': '#0f766e'
160
+ '800': '#115e59'
161
+ '900': '#134e4a'
162
+ }
163
+ cyan: {
164
+ '50': '#ecfeff'
165
+ '100': '#cffafe'
166
+ '200': '#a5f3fc'
167
+ '300': '#67e8f9'
168
+ '400': '#22d3ee'
169
+ '500': '#06b6d4'
170
+ '600': '#0891b2'
171
+ '700': '#0e7490'
172
+ '800': '#155e75'
173
+ '900': '#164e63'
174
+ }
175
+ sky: {
176
+ '50': '#f0f9ff'
177
+ '100': '#e0f2fe'
178
+ '200': '#bae6fd'
179
+ '300': '#7dd3fc'
180
+ '400': '#38bdf8'
181
+ '500': '#0ea5e9'
182
+ '600': '#0284c7'
183
+ '700': '#0369a1'
184
+ '800': '#075985'
185
+ '900': '#0c4a6e'
186
+ }
187
+ blue: {
188
+ '50': '#eff6ff'
189
+ '100': '#dbeafe'
190
+ '200': '#bfdbfe'
191
+ '300': '#93c5fd'
192
+ '400': '#60a5fa'
193
+ '500': '#3b82f6'
194
+ '600': '#2563eb'
195
+ '700': '#1d4ed8'
196
+ '800': '#1e40af'
197
+ '900': '#1e3a8a'
198
+ }
199
+ indigo: {
200
+ '50': '#eef2ff'
201
+ '100': '#e0e7ff'
202
+ '200': '#c7d2fe'
203
+ '300': '#a5b4fc'
204
+ '400': '#818cf8'
205
+ '500': '#6366f1'
206
+ '600': '#4f46e5'
207
+ '700': '#4338ca'
208
+ '800': '#3730a3'
209
+ '900': '#312e81'
210
+ }
211
+ violet: {
212
+ '50': '#f5f3ff'
213
+ '100': '#ede9fe'
214
+ '200': '#ddd6fe'
215
+ '300': '#c4b5fd'
216
+ '400': '#a78bfa'
217
+ '500': '#8b5cf6'
218
+ '600': '#7c3aed'
219
+ '700': '#6d28d9'
220
+ '800': '#5b21b6'
221
+ '900': '#4c1d95'
222
+ }
223
+ purple: {
224
+ '50': '#faf5ff'
225
+ '100': '#f3e8ff'
226
+ '200': '#e9d5ff'
227
+ '300': '#d8b4fe'
228
+ '400': '#c084fc'
229
+ '500': '#a855f7'
230
+ '600': '#9333ea'
231
+ '700': '#7e22ce'
232
+ '800': '#6b21a8'
233
+ '900': '#581c87'
234
+ }
235
+ fuchsia: {
236
+ '50': '#fdf4ff'
237
+ '100': '#fae8ff'
238
+ '200': '#f5d0fe'
239
+ '300': '#f0abfc'
240
+ '400': '#e879f9'
241
+ '500': '#d946ef'
242
+ '600': '#c026d3'
243
+ '700': '#a21caf'
244
+ '800': '#86198f'
245
+ '900': '#701a75'
246
+ }
247
+ pink: {
248
+ '50': '#fdf2f8'
249
+ '100': '#fce7f3'
250
+ '200': '#fbcfe8'
251
+ '300': '#f9a8d4'
252
+ '400': '#f472b6'
253
+ '500': '#ec4899'
254
+ '600': '#db2777'
255
+ '700': '#be185d'
256
+ '800': '#9d174d'
257
+ '900': '#831843'
258
+ }
259
+ rose: {
260
+ '50': '#fff1f2'
261
+ '100': '#ffe4e6'
262
+ '200': '#fecdd3'
263
+ '300': '#fda4af'
264
+ '400': '#fb7185'
265
+ '500': '#f43f5e'
266
+ '600': '#e11d48'
267
+ '700': '#be123c'
268
+ '800': '#9f1239'
269
+ '900': '#881337'
270
+ }
271
+ /** @deprecated As of Tailwind CSS v2.2, `lightBlue` has been renamed to `sky`. Update your configuration file to silence this warning. */ lightBlue: DefaultColors['sky']
272
+ /** @deprecated As of Tailwind CSS v3.0, `warmGray` has been renamed to `stone`. Update your configuration file to silence this warning. */ warmGray: DefaultColors['stone']
273
+ /** @deprecated As of Tailwind CSS v3.0, `trueGray` has been renamed to `neutral`. Update your configuration file to silence this warning. */ trueGray: DefaultColors['neutral']
274
+ /** @deprecated As of Tailwind CSS v3.0, `coolGray` has been renamed to `gray`. Update your configuration file to silence this warning. */ coolGray: DefaultColors['gray']
275
+ /** @deprecated As of Tailwind CSS v3.0, `blueGray` has been renamed to `slate`. Update your configuration file to silence this warning. */ blueGray: DefaultColors['slate']
276
+ }
@@ -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' | 'display' | 'aspectRatio' | 'height' | 'maxHeight' | 'minHeight' | 'width' | 'minWidth' | 'maxWidth' | 'flex' | 'flexShrink' | 'flexGrow' | 'flexBasis' | 'tableLayout' | 'borderCollapse' | 'borderSpacing' | 'transformOrigin' | 'translate' | 'rotate' | 'skew' | 'scale' | 'transform' | 'animation' | 'cursor' | 'touchAction' | 'userSelect' | 'resize' | 'scrollSnapType' | 'scrollSnapAlign' | 'scrollSnapStop' | 'scrollMargin' | 'scrollPadding' | 'listStylePosition' | 'listStyleType' | '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' | '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'
@@ -0,0 +1,7 @@
1
+ import { PluginCreator } from 'postcss'
2
+ import type { Config } from './config.d'
3
+
4
+ declare const plugin: PluginCreator<string | Config | { config: string | Config }>
5
+
6
+ export { Config }
7
+ export default plugin