|
- let Prefixer = require('./prefixer')
-
- class AtRule extends Prefixer {
- /**
- * Clone and add prefixes for at-rule
- */
- add(rule, prefix) {
- let prefixed = prefix + rule.name
-
- let already = rule.parent.some(
- i => i.name === prefixed && i.params === rule.params
- )
- if (already) {
- return undefined
- }
-
- let cloned = this.clone(rule, { name: prefixed })
- return rule.parent.insertBefore(rule, cloned)
- }
-
- /**
- * Clone node with prefixes
- */
- process(node) {
- let parent = this.parentPrefix(node)
-
- for (let prefix of this.prefixes) {
- if (!parent || parent === prefix) {
- this.add(node, prefix)
- }
- }
- }
- }
-
- module.exports = AtRule
|