tailwindcss 0.0.0-insiders.ea10bb9 → 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.
- package/README.md +1 -1
- package/lib/cli/build/deps.js +17 -9
- package/lib/cli/build/index.js +20 -10
- package/lib/cli/build/plugin.js +86 -70
- package/lib/cli/build/utils.js +18 -8
- package/lib/cli/build/watching.js +16 -12
- package/lib/cli/help/index.js +6 -4
- package/lib/cli/index.js +222 -10
- package/lib/cli/init/index.js +29 -12
- package/lib/cli-peer-dependencies.js +12 -4
- package/lib/cli.js +4 -226
- package/lib/corePluginList.js +7 -1
- package/lib/corePlugins.js +348 -75
- package/lib/css/preflight.css +2 -0
- package/lib/featureFlags.js +27 -15
- package/lib/index.js +1 -47
- package/lib/lib/cacheInvalidation.js +7 -5
- package/lib/lib/collapseAdjacentRules.js +5 -3
- package/lib/lib/collapseDuplicateDeclarations.js +12 -10
- package/lib/lib/content.js +34 -30
- package/lib/lib/defaultExtractor.js +15 -8
- package/lib/lib/detectNesting.js +10 -2
- package/lib/lib/evaluateTailwindFunctions.js +22 -20
- package/lib/lib/expandApplyAtRules.js +43 -35
- package/lib/lib/expandTailwindAtRules.js +46 -19
- package/lib/lib/findAtConfigPath.js +9 -7
- package/lib/lib/generateRules.js +157 -92
- package/lib/lib/getModuleDependencies.js +85 -37
- package/lib/lib/load-config.js +42 -0
- package/lib/lib/normalizeTailwindDirectives.js +5 -3
- package/lib/lib/offsets.js +93 -4
- package/lib/lib/partitionApplyAtRules.js +3 -1
- package/lib/lib/regex.js +21 -7
- package/lib/lib/remap-bitfield.js +89 -0
- package/lib/lib/resolveDefaultsAtRules.js +28 -24
- package/lib/lib/setupContextUtils.js +190 -131
- package/lib/lib/setupTrackingContext.js +49 -26
- package/lib/lib/sharedState.js +37 -10
- package/lib/lib/substituteScreenAtRules.js +5 -3
- package/lib/oxide/cli/build/deps.js +89 -0
- package/lib/oxide/cli/build/index.js +53 -0
- package/lib/oxide/cli/build/plugin.js +375 -0
- package/lib/oxide/cli/build/utils.js +87 -0
- package/lib/oxide/cli/build/watching.js +179 -0
- package/lib/oxide/cli/help/index.js +72 -0
- package/lib/oxide/cli/index.js +214 -0
- package/lib/oxide/cli/init/index.js +52 -0
- package/lib/oxide/cli.js +5 -0
- package/lib/oxide/postcss-plugin.js +2 -0
- package/lib/plugin.js +98 -0
- package/lib/postcss-plugins/nesting/index.js +3 -1
- package/lib/postcss-plugins/nesting/plugin.js +10 -8
- package/lib/processTailwindFeatures.js +14 -12
- package/lib/public/colors.js +49 -25
- package/lib/public/create-plugin.js +5 -3
- package/lib/public/default-config.js +6 -4
- package/lib/public/default-theme.js +6 -4
- package/lib/public/load-config.js +12 -0
- package/lib/public/resolve-config.js +6 -4
- package/lib/util/applyImportantSelector.js +36 -0
- package/lib/util/bigSign.js +3 -1
- package/lib/util/buildMediaQuery.js +3 -1
- package/lib/util/cloneDeep.js +3 -1
- package/lib/util/cloneNodes.js +5 -3
- package/lib/util/color.js +30 -12
- package/lib/util/colorNames.js +752 -0
- package/lib/util/configurePlugins.js +3 -1
- package/lib/util/createPlugin.js +3 -1
- package/lib/util/createUtilityPlugin.js +7 -5
- package/lib/util/dataTypes.js +74 -17
- package/lib/util/defaults.js +9 -7
- package/lib/util/escapeClassName.js +10 -8
- package/lib/util/escapeCommas.js +3 -1
- package/lib/util/flattenColorPalette.js +3 -1
- package/lib/util/formatVariantSelector.js +138 -160
- package/lib/util/getAllConfigs.js +8 -6
- package/lib/util/hashConfig.js +6 -4
- package/lib/util/isKeyframeRule.js +3 -1
- package/lib/util/isPlainObject.js +3 -1
- package/lib/util/isSyntacticallyValidPropertyValue.js +3 -1
- package/lib/util/log.js +8 -4
- package/lib/util/nameClass.js +12 -6
- package/lib/util/negateValue.js +4 -2
- package/lib/util/normalizeConfig.js +28 -27
- package/lib/util/normalizeScreens.js +12 -4
- package/lib/util/parseAnimationValue.js +3 -1
- package/lib/util/parseBoxShadowValue.js +6 -2
- package/lib/util/parseDependency.js +3 -1
- package/lib/util/parseGlob.js +6 -4
- package/lib/util/parseObjectStyles.js +9 -7
- package/lib/util/pluginUtils.js +54 -54
- package/lib/util/prefixSelector.js +27 -11
- package/lib/util/pseudoElements.js +229 -0
- package/lib/util/removeAlphaVariables.js +3 -1
- package/lib/util/resolveConfig.js +17 -15
- package/lib/util/resolveConfigPath.js +26 -10
- package/lib/util/responsive.js +6 -4
- package/lib/util/splitAtTopLevelOnly.js +10 -2
- package/lib/util/tap.js +3 -1
- package/lib/util/toColorValue.js +3 -1
- package/lib/util/toPath.js +3 -1
- package/lib/util/transformThemeValue.js +6 -4
- package/lib/util/validateConfig.js +16 -3
- package/lib/util/validateFormalSyntax.js +3 -1
- package/lib/util/withAlphaVariable.js +6 -2
- package/loadConfig.d.ts +4 -0
- package/loadConfig.js +2 -0
- package/package.json +45 -37
- package/peers/index.js +63324 -46417
- package/resolveConfig.d.ts +11 -2
- package/scripts/swap-engines.js +40 -0
- package/src/cli/build/index.js +13 -9
- package/src/cli/build/plugin.js +42 -32
- package/src/cli/build/watching.js +4 -2
- package/src/cli/index.js +216 -3
- package/src/cli/init/index.js +37 -8
- package/src/cli.js +4 -220
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +207 -32
- package/src/css/preflight.css +2 -0
- package/src/featureFlags.js +6 -0
- package/src/index.js +1 -47
- package/src/lib/content.js +12 -17
- package/src/lib/defaultExtractor.js +9 -3
- package/src/lib/detectNesting.js +9 -1
- package/src/lib/expandApplyAtRules.js +8 -1
- package/src/lib/expandTailwindAtRules.js +36 -7
- package/src/lib/generateRules.js +124 -42
- package/src/lib/getModuleDependencies.js +70 -30
- package/src/lib/load-config.ts +31 -0
- package/src/lib/offsets.js +104 -1
- package/src/lib/remap-bitfield.js +82 -0
- package/src/lib/setupContextUtils.js +103 -54
- package/src/lib/setupTrackingContext.js +36 -11
- package/src/lib/sharedState.js +15 -4
- package/src/oxide/cli/build/deps.ts +91 -0
- package/src/oxide/cli/build/index.ts +47 -0
- package/src/oxide/cli/build/plugin.ts +442 -0
- package/src/oxide/cli/build/utils.ts +74 -0
- package/src/oxide/cli/build/watching.ts +225 -0
- package/src/oxide/cli/help/index.ts +69 -0
- package/src/oxide/cli/index.ts +204 -0
- package/src/oxide/cli/init/index.ts +59 -0
- package/src/oxide/cli.ts +1 -0
- package/src/oxide/postcss-plugin.ts +1 -0
- package/src/plugin.js +107 -0
- package/src/public/colors.js +22 -0
- package/src/public/default-config.js +1 -1
- package/src/public/default-theme.js +2 -2
- package/src/public/load-config.js +2 -0
- package/src/util/applyImportantSelector.js +27 -0
- package/src/util/color.js +18 -3
- package/src/util/colorNames.js +150 -0
- package/src/util/dataTypes.js +33 -4
- package/src/util/formatVariantSelector.js +160 -163
- package/src/util/getAllConfigs.js +2 -2
- package/src/util/negateValue.js +1 -1
- package/src/util/normalizeConfig.js +2 -1
- package/src/util/pluginUtils.js +16 -31
- package/src/util/prefixSelector.js +28 -10
- package/src/util/pseudoElements.js +170 -0
- package/src/util/resolveConfigPath.js +12 -1
- package/src/util/splitAtTopLevelOnly.js +8 -1
- package/src/util/validateConfig.js +13 -0
- package/stubs/.gitignore +1 -0
- package/stubs/.prettierrc.json +6 -0
- package/stubs/{defaultConfig.stub.js → config.full.js} +183 -146
- package/stubs/{simpleConfig.stub.js → config.simple.js} +0 -1
- package/stubs/postcss.config.js +6 -0
- package/stubs/tailwind.config.cjs +2 -0
- package/stubs/tailwind.config.js +2 -0
- package/stubs/tailwind.config.ts +3 -0
- package/types/config.d.ts +15 -9
- package/types/generated/colors.d.ts +22 -0
- package/types/generated/corePluginList.d.ts +1 -1
- package/types/generated/default-theme.d.ts +108 -79
- package/CHANGELOG.md +0 -2336
- package/lib/cli/shared.js +0 -12
- package/lib/constants.js +0 -44
- package/scripts/install-integrations.js +0 -27
- package/scripts/rebuildFixtures.js +0 -68
- package/src/cli/shared.js +0 -5
- package/src/constants.js +0 -17
- /package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -0
package/src/cli.js
CHANGED
|
@@ -1,223 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { build } from './cli/build'
|
|
8
|
-
import { help } from './cli/help'
|
|
9
|
-
import { init } from './cli/init'
|
|
10
|
-
|
|
11
|
-
function isESM() {
|
|
12
|
-
const pkgPath = path.resolve('./package.json')
|
|
13
|
-
|
|
14
|
-
try {
|
|
15
|
-
let pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'))
|
|
16
|
-
return pkg.type && pkg.type === 'module'
|
|
17
|
-
} catch (err) {
|
|
18
|
-
return false
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
let configs = isESM()
|
|
23
|
-
? {
|
|
24
|
-
tailwind: 'tailwind.config.cjs',
|
|
25
|
-
postcss: 'postcss.config.cjs',
|
|
26
|
-
}
|
|
27
|
-
: {
|
|
28
|
-
tailwind: 'tailwind.config.js',
|
|
29
|
-
postcss: 'postcss.config.js',
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// ---
|
|
33
|
-
|
|
34
|
-
function oneOf(...options) {
|
|
35
|
-
return Object.assign(
|
|
36
|
-
(value = true) => {
|
|
37
|
-
for (let option of options) {
|
|
38
|
-
let parsed = option(value)
|
|
39
|
-
if (parsed === value) {
|
|
40
|
-
return parsed
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
throw new Error('...')
|
|
45
|
-
},
|
|
46
|
-
{ manualParsing: true }
|
|
47
|
-
)
|
|
3
|
+
if (__OXIDE__) {
|
|
4
|
+
module.exports = require('./oxide/cli')
|
|
5
|
+
} else {
|
|
6
|
+
module.exports = require('./cli/index')
|
|
48
7
|
}
|
|
49
|
-
|
|
50
|
-
let commands = {
|
|
51
|
-
init: {
|
|
52
|
-
run: init,
|
|
53
|
-
args: {
|
|
54
|
-
'--full': { type: Boolean, description: `Initialize a full \`${configs.tailwind}\` file` },
|
|
55
|
-
'--postcss': { type: Boolean, description: `Initialize a \`${configs.postcss}\` file` },
|
|
56
|
-
'-f': '--full',
|
|
57
|
-
'-p': '--postcss',
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
build: {
|
|
61
|
-
run: build,
|
|
62
|
-
args: {
|
|
63
|
-
'--input': { type: String, description: 'Input file' },
|
|
64
|
-
'--output': { type: String, description: 'Output file' },
|
|
65
|
-
'--watch': { type: Boolean, description: 'Watch for changes and rebuild as needed' },
|
|
66
|
-
'--poll': {
|
|
67
|
-
type: Boolean,
|
|
68
|
-
description: 'Use polling instead of filesystem events when watching',
|
|
69
|
-
},
|
|
70
|
-
'--content': {
|
|
71
|
-
type: String,
|
|
72
|
-
description: 'Content paths to use for removing unused classes',
|
|
73
|
-
},
|
|
74
|
-
'--purge': {
|
|
75
|
-
type: String,
|
|
76
|
-
deprecated: true,
|
|
77
|
-
},
|
|
78
|
-
'--postcss': {
|
|
79
|
-
type: oneOf(String, Boolean),
|
|
80
|
-
description: 'Load custom PostCSS configuration',
|
|
81
|
-
},
|
|
82
|
-
'--minify': { type: Boolean, description: 'Minify the output' },
|
|
83
|
-
'--config': {
|
|
84
|
-
type: String,
|
|
85
|
-
description: 'Path to a custom config file',
|
|
86
|
-
},
|
|
87
|
-
'--no-autoprefixer': {
|
|
88
|
-
type: Boolean,
|
|
89
|
-
description: 'Disable autoprefixer',
|
|
90
|
-
},
|
|
91
|
-
'-c': '--config',
|
|
92
|
-
'-i': '--input',
|
|
93
|
-
'-o': '--output',
|
|
94
|
-
'-m': '--minify',
|
|
95
|
-
'-w': '--watch',
|
|
96
|
-
'-p': '--poll',
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
let sharedFlags = {
|
|
102
|
-
'--help': { type: Boolean, description: 'Display usage information' },
|
|
103
|
-
'-h': '--help',
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (
|
|
107
|
-
process.stdout.isTTY /* Detect redirecting output to a file */ &&
|
|
108
|
-
(process.argv[2] === undefined ||
|
|
109
|
-
process.argv.slice(2).every((flag) => sharedFlags[flag] !== undefined))
|
|
110
|
-
) {
|
|
111
|
-
help({
|
|
112
|
-
usage: [
|
|
113
|
-
'tailwindcss [--input input.css] [--output output.css] [--watch] [options...]',
|
|
114
|
-
'tailwindcss init [--full] [--postcss] [options...]',
|
|
115
|
-
],
|
|
116
|
-
commands: Object.keys(commands)
|
|
117
|
-
.filter((command) => command !== 'build')
|
|
118
|
-
.map((command) => `${command} [options]`),
|
|
119
|
-
options: { ...commands.build.args, ...sharedFlags },
|
|
120
|
-
})
|
|
121
|
-
process.exit(0)
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
let command = ((arg = '') => (arg.startsWith('-') ? undefined : arg))(process.argv[2]) || 'build'
|
|
125
|
-
|
|
126
|
-
if (commands[command] === undefined) {
|
|
127
|
-
if (fs.existsSync(path.resolve(command))) {
|
|
128
|
-
// TODO: Deprecate this in future versions
|
|
129
|
-
// Check if non-existing command, might be a file.
|
|
130
|
-
command = 'build'
|
|
131
|
-
} else {
|
|
132
|
-
help({
|
|
133
|
-
message: `Invalid command: ${command}`,
|
|
134
|
-
usage: ['tailwindcss <command> [options]'],
|
|
135
|
-
commands: Object.keys(commands)
|
|
136
|
-
.filter((command) => command !== 'build')
|
|
137
|
-
.map((command) => `${command} [options]`),
|
|
138
|
-
options: sharedFlags,
|
|
139
|
-
})
|
|
140
|
-
process.exit(1)
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Execute command
|
|
145
|
-
let { args: flags, run } = commands[command]
|
|
146
|
-
let args = (() => {
|
|
147
|
-
try {
|
|
148
|
-
let result = arg(
|
|
149
|
-
Object.fromEntries(
|
|
150
|
-
Object.entries({ ...flags, ...sharedFlags })
|
|
151
|
-
.filter(([_key, value]) => !value?.type?.manualParsing)
|
|
152
|
-
.map(([key, value]) => [key, typeof value === 'object' ? value.type : value])
|
|
153
|
-
),
|
|
154
|
-
{ permissive: true }
|
|
155
|
-
)
|
|
156
|
-
|
|
157
|
-
// Manual parsing of flags to allow for special flags like oneOf(Boolean, String)
|
|
158
|
-
for (let i = result['_'].length - 1; i >= 0; --i) {
|
|
159
|
-
let flag = result['_'][i]
|
|
160
|
-
if (!flag.startsWith('-')) continue
|
|
161
|
-
|
|
162
|
-
let flagName = flag
|
|
163
|
-
let handler = flags[flag]
|
|
164
|
-
|
|
165
|
-
// Resolve flagName & handler
|
|
166
|
-
while (typeof handler === 'string') {
|
|
167
|
-
flagName = handler
|
|
168
|
-
handler = flags[handler]
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (!handler) continue
|
|
172
|
-
|
|
173
|
-
let args = []
|
|
174
|
-
let offset = i + 1
|
|
175
|
-
|
|
176
|
-
// Parse args for current flag
|
|
177
|
-
while (result['_'][offset] && !result['_'][offset].startsWith('-')) {
|
|
178
|
-
args.push(result['_'][offset++])
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// Cleanup manually parsed flags + args
|
|
182
|
-
result['_'].splice(i, 1 + args.length)
|
|
183
|
-
|
|
184
|
-
// Set the resolved value in the `result` object
|
|
185
|
-
result[flagName] = handler.type(
|
|
186
|
-
args.length === 0 ? undefined : args.length === 1 ? args[0] : args,
|
|
187
|
-
flagName
|
|
188
|
-
)
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
// Ensure that the `command` is always the first argument in the `args`.
|
|
192
|
-
// This is important so that we don't have to check if a default command
|
|
193
|
-
// (build) was used or not from within each plugin.
|
|
194
|
-
//
|
|
195
|
-
// E.g.: tailwindcss input.css -> _: ['build', 'input.css']
|
|
196
|
-
// E.g.: tailwindcss build input.css -> _: ['build', 'input.css']
|
|
197
|
-
if (result['_'][0] !== command) {
|
|
198
|
-
result['_'].unshift(command)
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
return result
|
|
202
|
-
} catch (err) {
|
|
203
|
-
if (err.code === 'ARG_UNKNOWN_OPTION') {
|
|
204
|
-
help({
|
|
205
|
-
message: err.message,
|
|
206
|
-
usage: ['tailwindcss <command> [options]'],
|
|
207
|
-
options: sharedFlags,
|
|
208
|
-
})
|
|
209
|
-
process.exit(1)
|
|
210
|
-
}
|
|
211
|
-
throw err
|
|
212
|
-
}
|
|
213
|
-
})()
|
|
214
|
-
|
|
215
|
-
if (args['--help']) {
|
|
216
|
-
help({
|
|
217
|
-
options: { ...flags, ...sharedFlags },
|
|
218
|
-
usage: [`tailwindcss ${command} [options]`],
|
|
219
|
-
})
|
|
220
|
-
process.exit(0)
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
run(args, configs)
|
package/src/corePluginList.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default ["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"]
|
|
1
|
+
export default ["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"]
|