diff --git a/__tests__/variantsAtRule.test.js b/__tests__/variantsAtRule.test.js index 88dd5c1df..66f043ee5 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 da0ce88e1..3d3578bc8 100644 --- a/src/lib/substituteVariantsAtRules.js +++ b/src/lib/substituteVariantsAtRules.js @@ -36,6 +36,7 @@ const defaultVariantGenerators = { 'focus-within': generatePseudoClassVariant('focus-within'), focus: generatePseudoClassVariant('focus'), active: generatePseudoClassVariant('active'), + disabled: generatePseudoClassVariant('disabled'), } export default function(config, { variantGenerators: pluginVariantGenerators }) {