diff --git a/src/util/pluginUtils.js b/src/util/pluginUtils.js index d5ad3fa3142b..6295bd2bfff2 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') - - let [modifier, utilityModifier] = canUseUtilityModifier - ? splitUtilityModifier(rawModifier) - : [rawModifier, undefined] + (options.modifiers === 'any' || + (typeof options.modifiers === 'object' && + ((utilityModifier && isArbitraryValue(utilityModifier)) || + utilityModifier in options.modifiers))) + + if (!canUseUtilityModifier) { + modifier = rawModifier + utilityModifier = undefined + } if (utilityModifier !== undefined && modifier === '') { modifier = 'DEFAULT'