1 |
|
2 | import transformNode from './transform-node';
|
3 |
|
4 |
|
5 | export default function transformContentAtrule(atrule, result, opts) {
|
6 | const closest = getClosestMixin(atrule);
|
7 |
|
8 | if (closest) {
|
9 |
|
10 | const clone = closest.original.clone({
|
11 | parent: atrule.parent,
|
12 | variables: atrule.variables
|
13 | });
|
14 |
|
15 |
|
16 | transformNode(clone, result, opts);
|
17 |
|
18 |
|
19 | atrule.parent.insertBefore(atrule, clone.nodes);
|
20 | }
|
21 |
|
22 |
|
23 | atrule.remove();
|
24 | }
|
25 |
|
26 |
|
27 | const getClosestMixin = node => 'atrule' === node.type && 'mixin' === node.name
|
28 | ? node
|
29 | : node.parent && getClosestMixin(node.parent);
|