From 6f15be84f1e91e4c95ee4e0d9a625a2fcd9c3f11 Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Sun, 27 Aug 2017 20:59:08 -0400 Subject: [PATCH] Add hoverable at rule to generate hover/focus versions of a set of rules --- src/tailwind.js | 2 ++ src/util/hoverable.js | 8 ++++++++ 2 files changed, 10 insertions(+) create mode 100644 src/util/hoverable.js diff --git a/src/tailwind.js b/src/tailwind.js index 72d15ef71..1c79ac7dd 100644 --- a/src/tailwind.js +++ b/src/tailwind.js @@ -8,6 +8,7 @@ import defaultConfig from './defaultConfig' import addCustomMediaQueries from './lib/addCustomMediaQueries' import generateUtilities from './lib/generateUtilities' +import substituteHoverableAtRules from './lib/substituteHoverableAtRules' import substituteResponsiveAtRules from './lib/substituteResponsiveAtRules' import substituteClassApplyAtRules from './lib/substituteClassApplyAtRules' @@ -17,6 +18,7 @@ export default postcss.plugin('tailwind', options => { return postcss([ addCustomMediaQueries(options), generateUtilities(options), + substituteHoverableAtRules(options), substituteResponsiveAtRules(options), substituteClassApplyAtRules(options), cssnext(), diff --git a/src/util/hoverable.js b/src/util/hoverable.js new file mode 100644 index 000000000..afe4ea1c8 --- /dev/null +++ b/src/util/hoverable.js @@ -0,0 +1,8 @@ +import postcss from 'postcss' +import cloneNodes from './cloneNodes' + +export default function hoverable(rules) { + return postcss.atRule({ + name: 'hoverable', + }).append(cloneNodes(rules)) +}