tailwindcss 0.0.0-insiders.7c337f2 → 0.0.0-insiders.7d8eb21

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 (161) hide show
  1. package/CHANGELOG.md +246 -6
  2. package/README.md +13 -9
  3. package/defaultTheme.d.ts +2 -1
  4. package/lib/cli/build/deps.js +54 -0
  5. package/lib/cli/build/index.js +48 -0
  6. package/lib/cli/build/plugin.js +362 -0
  7. package/lib/cli/build/utils.js +78 -0
  8. package/lib/cli/build/watching.js +178 -0
  9. package/lib/cli/help/index.js +71 -0
  10. package/lib/cli/index.js +18 -0
  11. package/lib/cli/init/index.js +46 -0
  12. package/lib/cli/shared.js +12 -0
  13. package/lib/cli-peer-dependencies.js +18 -5
  14. package/lib/cli.js +62 -592
  15. package/lib/constants.js +19 -12
  16. package/lib/corePluginList.js +5 -3
  17. package/lib/corePlugins.js +619 -347
  18. package/lib/css/preflight.css +7 -0
  19. package/lib/featureFlags.js +34 -22
  20. package/lib/index.js +16 -9
  21. package/lib/lib/cacheInvalidation.js +42 -21
  22. package/lib/lib/collapseAdjacentRules.js +16 -14
  23. package/lib/lib/collapseDuplicateDeclarations.js +13 -10
  24. package/lib/lib/content.js +177 -0
  25. package/lib/lib/defaultExtractor.js +230 -33
  26. package/lib/lib/detectNesting.js +13 -4
  27. package/lib/lib/evaluateTailwindFunctions.js +105 -42
  28. package/lib/lib/expandApplyAtRules.js +151 -92
  29. package/lib/lib/expandTailwindAtRules.js +134 -149
  30. package/lib/lib/findAtConfigPath.js +44 -0
  31. package/lib/lib/generateRules.js +404 -185
  32. package/lib/lib/getModuleDependencies.js +21 -18
  33. package/lib/lib/normalizeTailwindDirectives.js +11 -8
  34. package/lib/lib/offsets.js +285 -0
  35. package/lib/lib/partitionApplyAtRules.js +14 -11
  36. package/lib/lib/regex.js +60 -0
  37. package/lib/lib/remap-bitfield.js +87 -0
  38. package/lib/lib/resolveDefaultsAtRules.js +97 -79
  39. package/lib/lib/setupContextUtils.js +567 -242
  40. package/lib/lib/setupTrackingContext.js +77 -106
  41. package/lib/lib/sharedState.js +18 -10
  42. package/lib/lib/substituteScreenAtRules.js +9 -7
  43. package/lib/postcss-plugins/nesting/index.js +7 -5
  44. package/lib/postcss-plugins/nesting/plugin.js +10 -8
  45. package/lib/processTailwindFeatures.js +34 -31
  46. package/lib/public/colors.js +7 -5
  47. package/lib/public/create-plugin.js +6 -4
  48. package/lib/public/default-config.js +7 -5
  49. package/lib/public/default-theme.js +7 -5
  50. package/lib/public/resolve-config.js +13 -10
  51. package/lib/util/bigSign.js +4 -1
  52. package/lib/util/buildMediaQuery.js +10 -5
  53. package/lib/util/cloneDeep.js +6 -5
  54. package/lib/util/cloneNodes.js +9 -2
  55. package/lib/util/color.js +20 -17
  56. package/lib/util/configurePlugins.js +5 -2
  57. package/lib/util/createPlugin.js +6 -5
  58. package/lib/util/createUtilityPlugin.js +15 -13
  59. package/lib/util/dataTypes.js +75 -51
  60. package/lib/util/defaults.js +8 -5
  61. package/lib/util/escapeClassName.js +13 -10
  62. package/lib/util/escapeCommas.js +4 -1
  63. package/lib/util/flattenColorPalette.js +7 -8
  64. package/lib/util/formatVariantSelector.js +270 -103
  65. package/lib/util/getAllConfigs.js +34 -15
  66. package/lib/util/hashConfig.js +10 -7
  67. package/lib/util/isKeyframeRule.js +4 -1
  68. package/lib/util/isPlainObject.js +4 -1
  69. package/lib/util/{isValidArbitraryValue.js → isSyntacticallyValidPropertyValue.js} +34 -26
  70. package/lib/util/log.js +14 -8
  71. package/lib/util/nameClass.js +19 -8
  72. package/lib/util/negateValue.js +20 -5
  73. package/lib/util/normalizeConfig.js +94 -53
  74. package/lib/util/normalizeScreens.js +115 -4
  75. package/lib/util/parseAnimationValue.js +43 -41
  76. package/lib/util/parseBoxShadowValue.js +12 -45
  77. package/lib/util/parseDependency.js +37 -55
  78. package/lib/util/parseGlob.js +34 -0
  79. package/lib/util/parseObjectStyles.js +15 -12
  80. package/lib/util/pluginUtils.js +146 -42
  81. package/lib/util/prefixSelector.js +26 -9
  82. package/lib/util/removeAlphaVariables.js +29 -0
  83. package/lib/util/resolveConfig.js +104 -105
  84. package/lib/util/resolveConfigPath.js +20 -17
  85. package/lib/util/responsive.js +12 -9
  86. package/lib/util/splitAtTopLevelOnly.js +43 -0
  87. package/lib/util/tap.js +4 -1
  88. package/lib/util/toColorValue.js +4 -1
  89. package/lib/util/toPath.js +18 -2
  90. package/lib/util/transformThemeValue.js +23 -11
  91. package/lib/util/validateConfig.js +24 -0
  92. package/lib/util/validateFormalSyntax.js +24 -0
  93. package/lib/util/withAlphaVariable.js +32 -24
  94. package/package.json +32 -29
  95. package/peers/index.js +6693 -3036
  96. package/plugin.d.ts +10 -5
  97. package/resolveConfig.d.ts +12 -0
  98. package/scripts/generate-types.js +53 -0
  99. package/scripts/release-channel.js +18 -0
  100. package/scripts/release-notes.js +21 -0
  101. package/scripts/type-utils.js +27 -0
  102. package/src/cli/build/deps.js +56 -0
  103. package/src/cli/build/index.js +49 -0
  104. package/src/cli/build/plugin.js +434 -0
  105. package/src/cli/build/utils.js +76 -0
  106. package/src/cli/build/watching.js +227 -0
  107. package/src/cli/help/index.js +70 -0
  108. package/src/cli/index.js +3 -0
  109. package/src/cli/init/index.js +50 -0
  110. package/src/cli/shared.js +5 -0
  111. package/src/cli-peer-dependencies.js +7 -1
  112. package/src/cli.js +46 -659
  113. package/src/corePlugins.js +346 -79
  114. package/src/css/preflight.css +7 -0
  115. package/src/featureFlags.js +12 -2
  116. package/src/index.js +5 -0
  117. package/src/lib/content.js +213 -0
  118. package/src/lib/defaultExtractor.js +202 -35
  119. package/src/lib/detectNesting.js +9 -1
  120. package/src/lib/evaluateTailwindFunctions.js +78 -7
  121. package/src/lib/expandApplyAtRules.js +129 -34
  122. package/src/lib/expandTailwindAtRules.js +12 -50
  123. package/src/lib/findAtConfigPath.js +48 -0
  124. package/src/lib/generateRules.js +379 -126
  125. package/src/lib/offsets.js +351 -0
  126. package/src/lib/regex.js +74 -0
  127. package/src/lib/remap-bitfield.js +82 -0
  128. package/src/lib/resolveDefaultsAtRules.js +53 -36
  129. package/src/lib/setupContextUtils.js +510 -120
  130. package/src/lib/setupTrackingContext.js +8 -45
  131. package/src/lib/sharedState.js +2 -0
  132. package/src/util/buildMediaQuery.js +5 -3
  133. package/src/util/cloneNodes.js +5 -1
  134. package/src/util/dataTypes.js +51 -26
  135. package/src/util/formatVariantSelector.js +317 -101
  136. package/src/util/getAllConfigs.js +19 -0
  137. package/src/util/{isValidArbitraryValue.js → isSyntacticallyValidPropertyValue.js} +1 -1
  138. package/src/util/log.js +1 -1
  139. package/src/util/nameClass.js +4 -0
  140. package/src/util/negateValue.js +10 -2
  141. package/src/util/normalizeConfig.js +40 -10
  142. package/src/util/normalizeScreens.js +99 -4
  143. package/src/util/parseBoxShadowValue.js +3 -50
  144. package/src/util/parseDependency.js +37 -42
  145. package/src/util/parseGlob.js +24 -0
  146. package/src/util/pluginUtils.js +132 -10
  147. package/src/util/prefixSelector.js +28 -10
  148. package/src/util/removeAlphaVariables.js +24 -0
  149. package/src/util/resolveConfig.js +70 -62
  150. package/src/util/splitAtTopLevelOnly.js +45 -0
  151. package/src/util/toPath.js +1 -1
  152. package/src/util/transformThemeValue.js +13 -3
  153. package/src/util/validateConfig.js +13 -0
  154. package/src/util/validateFormalSyntax.js +34 -0
  155. package/src/util/withAlphaVariable.js +1 -1
  156. package/stubs/defaultConfig.stub.js +165 -164
  157. package/stubs/simpleConfig.stub.js +1 -0
  158. package/types/config.d.ts +77 -37
  159. package/types/generated/default-theme.d.ts +342 -0
  160. package/types/index.d.ts +7 -1
  161. package/types.d.ts +0 -1
package/types/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CorePluginList } from './generated/CorePluginList'
1
+ import type { CorePluginList } from './generated/corePluginList'
2
2
  import type { DefaultColors } from './generated/colors'
3
3
 
4
4
  // Helpers
@@ -11,7 +11,8 @@ type KeyValuePair<K extends keyof any = string, V = string> = Record<K, V>
11
11
  interface RecursiveKeyValuePair<K extends keyof any = string, V = string> {
12
12
  [key: string]: V | RecursiveKeyValuePair<K, V>
13
13
  }
14
- type ResolvableTo<T> = T | ((utils: PluginUtils) => T)
14
+ export type ResolvableTo<T> = T | ((utils: PluginUtils) => T)
15
+ type CSSRuleObject = RecursiveKeyValuePair<string, null | string | string[]>
15
16
 
16
17
  interface PluginUtils {
17
18
  colors: DefaultColors
@@ -30,6 +31,7 @@ type ContentConfig =
30
31
  | (FilePath | RawFile)[]
31
32
  | {
32
33
  files: (FilePath | RawFile)[]
34
+ relative?: boolean
33
35
  extract?: ExtractorFn | { [extension: string]: ExtractorFn }
34
36
  transform?: TransformerFn | { [extension: string]: TransformerFn }
35
37
  }
@@ -48,27 +50,31 @@ type SafelistConfig =
48
50
  | string[]
49
51
  | {
50
52
  pattern: RegExp
51
- variants: string[]
53
+ variants?: string[]
52
54
  }[]
53
55
 
54
56
  // Presets related config
55
57
  type PresetsConfig = Config[]
56
58
 
57
59
  // Future related config
58
- type FutureConfigValues = never // Replace with 'future-feature-1' | 'future-feature-2'
60
+ type FutureConfigValues =
61
+ | 'hoverOnlyWhenSupported'
62
+ | 'respectDefaultRingColorOpacity'
63
+ | 'disableColorOpacityUtilitiesByDefault'
64
+ | 'relativeContentPathsByDefault'
59
65
  type FutureConfig = Expand<'all' | Partial<Record<FutureConfigValues, boolean>>> | []
60
66
 
61
67
  // Experimental related config
62
- type ExperimentalConfigValues = 'optimizeUniversalDefaults' // Replace with 'experimental-feature-1' | 'experimental-feature-2'
68
+ type ExperimentalConfigValues = 'optimizeUniversalDefaults' | 'matchVariant'
63
69
  type ExperimentalConfig = Expand<'all' | Partial<Record<ExperimentalConfigValues, boolean>>> | []
64
70
 
65
71
  // DarkMode related config
66
72
  type DarkModeConfig =
67
- /** Use the `media` query strategy. */
73
+ // Use the `media` query strategy.
68
74
  | 'media'
69
- /** Use the `class` stategy, which requires a `.dark` class on the `html`. */
75
+ // Use the `class` strategy, which requires a `.dark` class on the `html`.
70
76
  | 'class'
71
- /** Use the `class` stategy with a custom class instead of `.dark`. */
77
+ // Use the `class` strategy with a custom class instead of `.dark`.
72
78
  | ['class', string]
73
79
 
74
80
  type Screen = { raw: string } | { min: string } | { max: string } | { min: string; max: string }
@@ -76,16 +82,16 @@ type ScreensConfig = string[] | KeyValuePair<string, string | Screen | Screen[]>
76
82
 
77
83
  // Theme related config
78
84
  interface ThemeConfig {
79
- extend: Partial<Omit<ThemeConfig, 'extend'>>
80
-
81
- /** Responsiveness */
85
+ // Responsiveness
82
86
  screens: ResolvableTo<ScreensConfig>
87
+ supports: ResolvableTo<Record<string, string>>
88
+ data: ResolvableTo<Record<string, string>>
83
89
 
84
- /** Reusable base configs */
90
+ // Reusable base configs
85
91
  colors: ResolvableTo<RecursiveKeyValuePair>
86
92
  spacing: ResolvableTo<KeyValuePair>
87
93
 
88
- /** Components */
94
+ // Components
89
95
  container: ResolvableTo<
90
96
  Partial<{
91
97
  screens: ScreensConfig
@@ -94,7 +100,7 @@ interface ThemeConfig {
94
100
  }>
95
101
  >
96
102
 
97
- /** Utilities */
103
+ // Utilities
98
104
  inset: ThemeConfig['spacing']
99
105
  zIndex: ResolvableTo<KeyValuePair>
100
106
  order: ResolvableTo<KeyValuePair>
@@ -154,7 +160,14 @@ interface ThemeConfig {
154
160
  objectPosition: ResolvableTo<KeyValuePair>
155
161
  padding: ThemeConfig['spacing']
156
162
  textIndent: ThemeConfig['spacing']
157
- fontFamily: ResolvableTo<KeyValuePair<string, string[]>>
163
+ fontFamily: ResolvableTo<
164
+ KeyValuePair<
165
+ string,
166
+ | string
167
+ | string[]
168
+ | [fontFamily: string | string[], configuration: Partial<{ fontFeatureSettings: string }>]
169
+ >
170
+ >
158
171
  fontSize: ResolvableTo<
159
172
  KeyValuePair<
160
173
  string,
@@ -165,6 +178,7 @@ interface ThemeConfig {
165
178
  configuration: Partial<{
166
179
  lineHeight: string
167
180
  letterSpacing: string
181
+ fontWeight: string | number
168
182
  }>
169
183
  ]
170
184
  >
@@ -195,7 +209,7 @@ interface ThemeConfig {
195
209
  blur: ResolvableTo<KeyValuePair>
196
210
  brightness: ResolvableTo<KeyValuePair>
197
211
  contrast: ResolvableTo<KeyValuePair>
198
- dropShadow: ResolvableTo<KeyValuePair>
212
+ dropShadow: ResolvableTo<KeyValuePair<string, string | string[]>>
199
213
  grayscale: ResolvableTo<KeyValuePair>
200
214
  hueRotate: ResolvableTo<KeyValuePair>
201
215
  invert: ResolvableTo<KeyValuePair>
@@ -217,7 +231,7 @@ interface ThemeConfig {
217
231
  willChange: ResolvableTo<KeyValuePair>
218
232
  content: ResolvableTo<KeyValuePair>
219
233
 
220
- /** Custom */
234
+ // Custom
221
235
  [key: string]: any
222
236
  }
223
237
 
@@ -242,62 +256,88 @@ type ValueType =
242
256
  | 'relative-size'
243
257
  | 'shadow'
244
258
  export interface PluginAPI {
245
- /** for registering new static utility styles */
259
+ // for registering new static utility styles
246
260
  addUtilities(
247
- utilities: RecursiveKeyValuePair | RecursiveKeyValuePair[],
261
+ utilities: CSSRuleObject | CSSRuleObject[],
248
262
  options?: Partial<{
249
263
  respectPrefix: boolean
250
264
  respectImportant: boolean
251
265
  }>
252
266
  ): void
253
- /** for registering new dynamic utility styles */
254
- matchUtilities<T>(
255
- utilities: KeyValuePair<string, (value: T) => RecursiveKeyValuePair>,
267
+ // for registering new dynamic utility styles
268
+ matchUtilities<T = string, U = string>(
269
+ utilities: KeyValuePair<
270
+ string,
271
+ (value: T | string, extra: { modifier: U | string | null }) => CSSRuleObject | null
272
+ >,
256
273
  options?: Partial<{
257
274
  respectPrefix: boolean
258
275
  respectImportant: boolean
259
276
  type: ValueType | ValueType[]
260
277
  values: KeyValuePair<string, T>
278
+ modifiers: 'any' | KeyValuePair<string, U>
261
279
  supportsNegativeValues: boolean
262
280
  }>
263
281
  ): void
264
- /** for registering new static component styles */
282
+ // for registering new static component styles
265
283
  addComponents(
266
- components: RecursiveKeyValuePair | RecursiveKeyValuePair[],
284
+ components: CSSRuleObject | CSSRuleObject[],
267
285
  options?: Partial<{
268
286
  respectPrefix: boolean
269
287
  respectImportant: boolean
270
288
  }>
271
289
  ): void
272
- /** for registering new dynamic component styles */
273
- matchComponents<T>(
274
- components: KeyValuePair<string, (value: T) => RecursiveKeyValuePair>,
290
+ // for registering new dynamic component styles
291
+ matchComponents<T = string, U = string>(
292
+ components: KeyValuePair<
293
+ string,
294
+ (value: T | string, extra: { modifier: U | string | null }) => CSSRuleObject | null
295
+ >,
275
296
  options?: Partial<{
276
297
  respectPrefix: boolean
277
298
  respectImportant: boolean
278
299
  type: ValueType | ValueType[]
279
300
  values: KeyValuePair<string, T>
301
+ modifiers: 'any' | KeyValuePair<string, U>
280
302
  supportsNegativeValues: boolean
281
303
  }>
282
304
  ): void
283
- /** for registering new base styles */
284
- addBase(base: RecursiveKeyValuePair | RecursiveKeyValuePair[]): void
285
- /** for registering custom variants */
305
+ // for registering new base styles
306
+ addBase(base: CSSRuleObject | CSSRuleObject[]): void
307
+ // for registering custom variants
286
308
  addVariant(name: string, definition: string | string[] | (() => string) | (() => string)[]): void
287
- /** for looking up values in the user’s theme configuration */
309
+ matchVariant<T = string>(
310
+ name: string,
311
+ cb: (value: T | string, extra: { modifier: string | null }) => string | string[],
312
+ options?: {
313
+ values?: KeyValuePair<string, T>
314
+ sort?(
315
+ a: { value: T | string; modifier: string | null },
316
+ b: { value: T | string; modifier: string | null }
317
+ ): number
318
+ }
319
+ ): void
320
+ // for looking up values in the user’s theme configuration
288
321
  theme: <TDefaultValue = Config['theme']>(
289
322
  path?: string,
290
323
  defaultValue?: TDefaultValue
291
324
  ) => TDefaultValue
292
- /** for looking up values in the user’s Tailwind configuration */
325
+ // for looking up values in the user’s Tailwind configuration
293
326
  config: <TDefaultValue = Config>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue
294
- /** for checking if a core plugin is enabled */
327
+ // for checking if a core plugin is enabled
295
328
  corePlugins(path: string): boolean
296
- /** for manually escaping strings meant to be used in class names */
329
+ // for manually escaping strings meant to be used in class names
297
330
  e: (className: string) => string
298
331
  }
299
332
  export type PluginCreator = (api: PluginAPI) => void
300
- export type PluginsConfig = (PluginCreator | { handler: PluginCreator; config?: Config })[]
333
+ export type PluginsConfig = (
334
+ | PluginCreator
335
+ | { handler: PluginCreator; config?: Partial<Config> }
336
+ | {
337
+ (options: any): { handler: PluginCreator; config?: Partial<Config> }
338
+ __isOptionsFunction: true
339
+ }
340
+ )[]
301
341
 
302
342
  // Top level config related
303
343
  interface RequiredConfig {
@@ -313,10 +353,10 @@ interface OptionalConfig {
313
353
  future: Partial<FutureConfig>
314
354
  experimental: Partial<ExperimentalConfig>
315
355
  darkMode: Partial<DarkModeConfig>
316
- theme: Partial<ThemeConfig>
356
+ theme: Partial<ThemeConfig & { extend: Partial<ThemeConfig> }>
317
357
  corePlugins: Partial<CorePluginsConfig>
318
358
  plugins: Partial<PluginsConfig>
319
- /** Custom */
359
+ // Custom
320
360
  [key: string]: any
321
361
  }
322
362
 
@@ -0,0 +1,342 @@
1
+ import { Config } from '../../types'
2
+ type CSSDeclarationList = Record<string, string>
3
+ export type DefaultTheme = Config['theme'] & {
4
+ animation: Record<'none' | 'spin' | 'ping' | 'pulse' | 'bounce', string>
5
+ aria: Record<
6
+ | 'checked'
7
+ | 'disabled'
8
+ | 'expanded'
9
+ | 'hidden'
10
+ | 'pressed'
11
+ | 'readonly'
12
+ | 'required'
13
+ | 'selected',
14
+ string
15
+ >
16
+ aspectRatio: Record<'auto' | 'square' | 'video', string>
17
+ backgroundImage: Record<
18
+ | 'none'
19
+ | 'gradient-to-t'
20
+ | 'gradient-to-tr'
21
+ | 'gradient-to-r'
22
+ | 'gradient-to-br'
23
+ | 'gradient-to-b'
24
+ | 'gradient-to-bl'
25
+ | 'gradient-to-l'
26
+ | 'gradient-to-tl',
27
+ string
28
+ >
29
+ backgroundPosition: Record<
30
+ | 'bottom'
31
+ | 'center'
32
+ | 'left'
33
+ | 'left-bottom'
34
+ | 'left-top'
35
+ | 'right'
36
+ | 'right-bottom'
37
+ | 'right-top'
38
+ | 'top',
39
+ string
40
+ >
41
+ backgroundSize: Record<'auto' | 'cover' | 'contain', string>
42
+ blur: Record<'0' | 'none' | 'sm' | 'DEFAULT' | 'md' | 'lg' | 'xl' | '2xl' | '3xl', string>
43
+ borderRadius: Record<
44
+ 'none' | 'sm' | 'DEFAULT' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full',
45
+ string
46
+ >
47
+ borderWidth: Record<'0' | '2' | '4' | '8' | 'DEFAULT', string>
48
+ boxShadow: Record<'sm' | 'DEFAULT' | 'md' | 'lg' | 'xl' | '2xl' | 'inner' | 'none', string>
49
+ brightness: Record<
50
+ '0' | '50' | '75' | '90' | '95' | '100' | '105' | '110' | '125' | '150' | '200',
51
+ string
52
+ >
53
+ columns: Record<
54
+ | '1'
55
+ | '2'
56
+ | '3'
57
+ | '4'
58
+ | '5'
59
+ | '6'
60
+ | '7'
61
+ | '8'
62
+ | '9'
63
+ | '10'
64
+ | '11'
65
+ | '12'
66
+ | 'auto'
67
+ | '3xs'
68
+ | '2xs'
69
+ | 'xs'
70
+ | 'sm'
71
+ | 'md'
72
+ | 'lg'
73
+ | 'xl'
74
+ | '2xl'
75
+ | '3xl'
76
+ | '4xl'
77
+ | '5xl'
78
+ | '6xl'
79
+ | '7xl',
80
+ string
81
+ >
82
+ content: Record<'none', string>
83
+ contrast: Record<'0' | '50' | '75' | '100' | '125' | '150' | '200', string>
84
+ cursor: Record<
85
+ | 'auto'
86
+ | 'default'
87
+ | 'pointer'
88
+ | 'wait'
89
+ | 'text'
90
+ | 'move'
91
+ | 'help'
92
+ | 'not-allowed'
93
+ | 'none'
94
+ | 'context-menu'
95
+ | 'progress'
96
+ | 'cell'
97
+ | 'crosshair'
98
+ | 'vertical-text'
99
+ | 'alias'
100
+ | 'copy'
101
+ | 'no-drop'
102
+ | 'grab'
103
+ | 'grabbing'
104
+ | 'all-scroll'
105
+ | 'col-resize'
106
+ | 'row-resize'
107
+ | 'n-resize'
108
+ | 'e-resize'
109
+ | 's-resize'
110
+ | 'w-resize'
111
+ | 'ne-resize'
112
+ | 'nw-resize'
113
+ | 'se-resize'
114
+ | 'sw-resize'
115
+ | 'ew-resize'
116
+ | 'ns-resize'
117
+ | 'nesw-resize'
118
+ | 'nwse-resize'
119
+ | 'zoom-in'
120
+ | 'zoom-out',
121
+ string
122
+ >
123
+ dropShadow: Record<'sm' | 'DEFAULT' | 'md' | 'lg' | 'xl' | '2xl' | 'none', string | string[]>
124
+ flex: Record<'1' | 'auto' | 'initial' | 'none', string>
125
+ flexGrow: Record<'0' | 'DEFAULT', string>
126
+ flexShrink: Record<'0' | 'DEFAULT', string>
127
+ fontFamily: Record<'sans' | 'serif' | 'mono', string[]>
128
+ fontSize: Record<
129
+ | 'xs'
130
+ | 'sm'
131
+ | 'base'
132
+ | 'lg'
133
+ | 'xl'
134
+ | '2xl'
135
+ | '3xl'
136
+ | '4xl'
137
+ | '5xl'
138
+ | '6xl'
139
+ | '7xl'
140
+ | '8xl'
141
+ | '9xl',
142
+ [string, { lineHeight: string }]
143
+ >
144
+ fontWeight: Record<
145
+ | 'thin'
146
+ | 'extralight'
147
+ | 'light'
148
+ | 'normal'
149
+ | 'medium'
150
+ | 'semibold'
151
+ | 'bold'
152
+ | 'extrabold'
153
+ | 'black',
154
+ string
155
+ >
156
+ grayscale: Record<'0' | 'DEFAULT', string>
157
+ gridAutoColumns: Record<'auto' | 'min' | 'max' | 'fr', string>
158
+ gridAutoRows: Record<'auto' | 'min' | 'max' | 'fr', string>
159
+ gridColumn: Record<
160
+ | 'auto'
161
+ | 'span-1'
162
+ | 'span-2'
163
+ | 'span-3'
164
+ | 'span-4'
165
+ | 'span-5'
166
+ | 'span-6'
167
+ | 'span-7'
168
+ | 'span-8'
169
+ | 'span-9'
170
+ | 'span-10'
171
+ | 'span-11'
172
+ | 'span-12'
173
+ | 'span-full',
174
+ string
175
+ >
176
+ gridColumnEnd: Record<
177
+ '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'auto',
178
+ string
179
+ >
180
+ gridColumnStart: Record<
181
+ '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'auto',
182
+ string
183
+ >
184
+ gridRow: Record<
185
+ 'auto' | 'span-1' | 'span-2' | 'span-3' | 'span-4' | 'span-5' | 'span-6' | 'span-full',
186
+ string
187
+ >
188
+ gridRowEnd: Record<'1' | '2' | '3' | '4' | '5' | '6' | '7' | 'auto', string>
189
+ gridRowStart: Record<'1' | '2' | '3' | '4' | '5' | '6' | '7' | 'auto', string>
190
+ gridTemplateColumns: Record<
191
+ '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | 'none',
192
+ string
193
+ >
194
+ gridTemplateRows: Record<'1' | '2' | '3' | '4' | '5' | '6' | 'none', string>
195
+ hueRotate: Record<'0' | '15' | '30' | '60' | '90' | '180', string>
196
+ invert: Record<'0' | 'DEFAULT', string>
197
+ keyframes: Record<'spin' | 'ping' | 'pulse' | 'bounce', Record<string, CSSDeclarationList>>
198
+ letterSpacing: Record<'tighter' | 'tight' | 'normal' | 'wide' | 'wider' | 'widest', string>
199
+ lineHeight: Record<
200
+ | '3'
201
+ | '4'
202
+ | '5'
203
+ | '6'
204
+ | '7'
205
+ | '8'
206
+ | '9'
207
+ | '10'
208
+ | 'none'
209
+ | 'tight'
210
+ | 'snug'
211
+ | 'normal'
212
+ | 'relaxed'
213
+ | 'loose',
214
+ string
215
+ >
216
+ listStyleType: Record<'none' | 'disc' | 'decimal', string>
217
+ minHeight: Record<'0' | 'full' | 'screen' | 'min' | 'max' | 'fit', string>
218
+ minWidth: Record<'0' | 'full' | 'min' | 'max' | 'fit', string>
219
+ objectPosition: Record<
220
+ | 'bottom'
221
+ | 'center'
222
+ | 'left'
223
+ | 'left-bottom'
224
+ | 'left-top'
225
+ | 'right'
226
+ | 'right-bottom'
227
+ | 'right-top'
228
+ | 'top',
229
+ string
230
+ >
231
+ opacity: Record<
232
+ | '0'
233
+ | '5'
234
+ | '10'
235
+ | '20'
236
+ | '25'
237
+ | '30'
238
+ | '40'
239
+ | '50'
240
+ | '60'
241
+ | '70'
242
+ | '75'
243
+ | '80'
244
+ | '90'
245
+ | '95'
246
+ | '100',
247
+ string
248
+ >
249
+ order: Record<
250
+ | '1'
251
+ | '2'
252
+ | '3'
253
+ | '4'
254
+ | '5'
255
+ | '6'
256
+ | '7'
257
+ | '8'
258
+ | '9'
259
+ | '10'
260
+ | '11'
261
+ | '12'
262
+ | 'first'
263
+ | 'last'
264
+ | 'none',
265
+ string
266
+ >
267
+ outlineOffset: Record<'0' | '1' | '2' | '4' | '8', string>
268
+ outlineWidth: Record<'0' | '1' | '2' | '4' | '8', string>
269
+ ringOffsetWidth: Record<'0' | '1' | '2' | '4' | '8', string>
270
+ ringWidth: Record<'0' | '1' | '2' | '4' | '8' | 'DEFAULT', string>
271
+ rotate: Record<'0' | '1' | '2' | '3' | '6' | '12' | '45' | '90' | '180', string>
272
+ saturate: Record<'0' | '50' | '100' | '150' | '200', string>
273
+ scale: Record<'0' | '50' | '75' | '90' | '95' | '100' | '105' | '110' | '125' | '150', string>
274
+ screens: Record<'sm' | 'md' | 'lg' | 'xl' | '2xl', string>
275
+ sepia: Record<'0' | 'DEFAULT', string>
276
+ skew: Record<'0' | '1' | '2' | '3' | '6' | '12', string>
277
+ spacing: Record<
278
+ | '0'
279
+ | '1'
280
+ | '2'
281
+ | '3'
282
+ | '4'
283
+ | '5'
284
+ | '6'
285
+ | '7'
286
+ | '8'
287
+ | '9'
288
+ | '10'
289
+ | '11'
290
+ | '12'
291
+ | '14'
292
+ | '16'
293
+ | '20'
294
+ | '24'
295
+ | '28'
296
+ | '32'
297
+ | '36'
298
+ | '40'
299
+ | '44'
300
+ | '48'
301
+ | '52'
302
+ | '56'
303
+ | '60'
304
+ | '64'
305
+ | '72'
306
+ | '80'
307
+ | '96'
308
+ | 'px'
309
+ | '0.5'
310
+ | '1.5'
311
+ | '2.5'
312
+ | '3.5',
313
+ string
314
+ >
315
+ strokeWidth: Record<'0' | '1' | '2', string>
316
+ textDecorationThickness: Record<'0' | '1' | '2' | '4' | '8' | 'auto' | 'from-font', string>
317
+ textUnderlineOffset: Record<'0' | '1' | '2' | '4' | '8' | 'auto', string>
318
+ transformOrigin: Record<
319
+ | 'center'
320
+ | 'top'
321
+ | 'top-right'
322
+ | 'right'
323
+ | 'bottom-right'
324
+ | 'bottom'
325
+ | 'bottom-left'
326
+ | 'left'
327
+ | 'top-left',
328
+ string
329
+ >
330
+ transitionDelay: Record<'75' | '100' | '150' | '200' | '300' | '500' | '700' | '1000', string>
331
+ transitionDuration: Record<
332
+ '75' | '100' | '150' | '200' | '300' | '500' | '700' | '1000' | 'DEFAULT',
333
+ string
334
+ >
335
+ transitionProperty: Record<
336
+ 'none' | 'all' | 'DEFAULT' | 'colors' | 'opacity' | 'shadow' | 'transform',
337
+ string
338
+ >
339
+ transitionTimingFunction: Record<'DEFAULT' | 'linear' | 'in' | 'out' | 'in-out', string>
340
+ willChange: Record<'auto' | 'scroll' | 'contents' | 'transform', string>
341
+ zIndex: Record<'0' | '10' | '20' | '30' | '40' | '50' | 'auto', string>
342
+ }
package/types/index.d.ts CHANGED
@@ -1 +1,7 @@
1
- declare namespace tailwindcss {}
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
package/types.d.ts DELETED
@@ -1 +0,0 @@
1
- export type { Config } from './types/config'