UNPKG

1.76 kBJavaScriptView Raw
1(function (global, factory) {
2 if (typeof define === "function" && define.amd) {
3 define(['exports', 'postcss', './rulesMatcher', './resetRules', './createResetRule'], factory);
4 } else if (typeof exports !== "undefined") {
5 factory(exports, require('postcss'), require('./rulesMatcher'), require('./resetRules'), require('./createResetRule'));
6 } else {
7 var mod = {
8 exports: {}
9 };
10 factory(mod.exports, global.postcss, global.rulesMatcher, global.resetRules, global.createResetRule);
11 global.index = mod.exports;
12 }
13})(this, function (exports, _postcss, _rulesMatcher, _resetRules, _createResetRule) {
14 'use strict';
15
16 Object.defineProperty(exports, "__esModule", {
17 value: true
18 });
19
20 var _postcss2 = _interopRequireDefault(_postcss);
21
22 var _rulesMatcher2 = _interopRequireDefault(_rulesMatcher);
23
24 var _resetRules2 = _interopRequireDefault(_resetRules);
25
26 var _createResetRule2 = _interopRequireDefault(_createResetRule);
27
28 function _interopRequireDefault(obj) {
29 return obj && obj.__esModule ? obj : {
30 default: obj
31 };
32 }
33
34 exports.default = _postcss2.default.plugin('postcss-autoreset', function () {
35 var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
36
37 opts.rulesMatcher = opts.rulesMatcher || 'bem';
38 opts.reset = opts.reset || 'initial';
39 var rulesMatcher = (0, _rulesMatcher2.default)(opts.rulesMatcher);
40 var reset = (0, _resetRules2.default)(opts.reset);
41 return function (css) {
42 var matchedSelectors = [];
43 css.walkRules(function (rule) {
44 if (rulesMatcher(rule)) {
45 matchedSelectors.push(rule.selector);
46 }
47 });
48 css.prepend((0, _createResetRule2.default)(matchedSelectors, reset));
49 };
50 });
51});
\No newline at end of file