UNPKG

@typographist/postcss

Version:

Toolkit for the rapid construction of interfaces with high quality typography.

20 lines (15 loc) 554 B
const { cleanNode, transformAfterNodes } = require('../lib/postcss'); // bubblingRule :: Object -> Void exports.bubblingRule = (rule) => { if (!isBubblingRule(rule)) return; cleanNode(rule); transformAfterNodes(rule); rule.selector = `${rule.parent.selector} ${rule.selector}`; const parent = rule.parent.after(rule); cleanNode(rule); if (!parent.nodes.length) parent.remove(); }; // isBubblingRule :: Object -> Boolean function isBubblingRule({ parent, selector }) { return parent && parent.type === 'rule' && !/&/.test(selector); }