diff --git a/__tests__/variantsAtRule.test.js b/__tests__/variantsAtRule.test.js index d0b20e4fc..0d28546ad 100644 --- a/__tests__/variantsAtRule.test.js +++ b/__tests__/variantsAtRule.test.js @@ -30,6 +30,27 @@ test('it can generate hover variants', () => { }) }) +test('it can generate disabled variants', () => { + const input = ` + @variants disabled { + .banana { color: yellow; } + .chocolate { color: brown; } + } + ` + + const output = ` + .banana { color: yellow; } + .chocolate { color: brown; } + .disabled\\:banana:disabled { color: yellow; } + .disabled\\:chocolate:disabled { color: brown; } + ` + + return run(input).then(result => { + expect(result.css).toMatchCss(output) + expect(result.warnings().length).toBe(0) + }) +}) + test('it can generate active variants', () => { const input = ` @variants active { diff --git a/src/lib/substituteVariantsAtRules.js b/src/lib/substituteVariantsAtRules.js index a586a66ec..46e5cd599 100644 --- a/src/lib/substituteVariantsAtRules.js +++ b/src/lib/substituteVariantsAtRules.js @@ -25,6 +25,7 @@ const defaultVariantGenerators = { 'focus-within': generatePseudoClassVariant('focus-within'), focus: generatePseudoClassVariant('focus'), active: generatePseudoClassVariant('active'), + disabled: generatePseudoClassVariant('disabled'), } export default function(config, { variantGenerators: pluginVariantGenerators }) {