|
"use strict"; |
|
Object.defineProperty(exports, "__esModule", { |
|
value: true |
|
}); |
|
Object.defineProperty(exports, "nesting", { |
|
enumerable: true, |
|
get: function() { |
|
return nesting; |
|
} |
|
}); |
|
const _postcss = _interop_require_default(require("postcss")); |
|
const _postcssnested = _interop_require_default(require("postcss-nested")); |
|
function _interop_require_default(obj) { |
|
return obj && obj.__esModule ? obj : { |
|
default: obj |
|
}; |
|
} |
|
function nesting(opts = _postcssnested.default) { |
|
return (root, result)=>{ |
|
root.walkAtRules("screen", (rule)=>{ |
|
rule.name = "media"; |
|
rule.params = `screen(${rule.params})`; |
|
}); |
|
root.walkAtRules("apply", (rule)=>{ |
|
rule.before(_postcss.default.decl({ |
|
prop: "__apply", |
|
value: rule.params, |
|
source: rule.source |
|
})); |
|
rule.remove(); |
|
}); |
|
let plugin = (()=>{ |
|
var _opts_hasOwnProperty; |
|
if (typeof opts === "function" || typeof opts === "object" && (opts === null || opts === void 0 ? void 0 : (_opts_hasOwnProperty = opts.hasOwnProperty) === null || _opts_hasOwnProperty === void 0 ? void 0 : _opts_hasOwnProperty.call(opts, "postcssPlugin"))) { |
|
return opts; |
|
} |
|
if (typeof opts === "string") { |
|
return require(opts); |
|
} |
|
if (Object.keys(opts).length <= 0) { |
|
return _postcssnested.default; |
|
} |
|
throw new Error("tailwindcss/nesting should be loaded with a nesting plugin."); |
|
})(); |
|
(0, _postcss.default)([ |
|
plugin |
|
]).process(root, result.opts).sync(); |
|
root.walkDecls("__apply", (decl)=>{ |
|
decl.before(_postcss.default.atRule({ |
|
name: "apply", |
|
params: decl.value, |
|
source: decl.source |
|
})); |
|
decl.remove(); |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function markDirty(node) { |
|
if (!("markDirty" in node)) { |
|
return; |
|
} |
|
|
|
if (node.nodes) { |
|
node.nodes.forEach((n)=>markDirty(n)); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!node.nodes) { |
|
node.markDirty(); |
|
} |
|
} |
|
markDirty(root); |
|
return root; |
|
}; |
|
} |
|
|