diff --git a/src/util/pluginUtils.js b/src/util/pluginUtils.js index d5ad3fa31..6295bd2bf 100644 --- a/src/util/pluginUtils.js +++ b/src/util/pluginUtils.js @@ -233,14 +233,20 @@ export function coerceValue(types, modifier, options, tailwindConfig) { export function* getMatchingTypes(types, rawModifier, options, tailwindConfig) { let modifiersEnabled = flagEnabled(tailwindConfig, 'generalizedModifiers') + let [modifier, utilityModifier] = splitUtilityModifier(rawModifier) + let canUseUtilityModifier = modifiersEnabled && options.modifiers != null && - (options.modifiers === 'any' || typeof options.modifiers === 'object') + (options.modifiers === 'any' || + (typeof options.modifiers === 'object' && + ((utilityModifier && isArbitraryValue(utilityModifier)) || + utilityModifier in options.modifiers))) - let [modifier, utilityModifier] = canUseUtilityModifier - ? splitUtilityModifier(rawModifier) - : [rawModifier, undefined] + if (!canUseUtilityModifier) { + modifier = rawModifier + utilityModifier = undefined + } if (utilityModifier !== undefined && modifier === '') { modifier = 'DEFAULT'