summaryrefslogtreecommitdiff
path: root/node_modules/postcss-vmin/index.js
blob: 121d2f796411e2ee4dc797c0dd50eeb4f2103cec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var postcss = require('postcss');

module.exports = postcss.plugin("postcss-vmin", function (opts) {
    opts = opts || {};

    var REGEX = /(\d*\.?\d+)vmin/ig;

    return function (css) {

      // for each rules, each decl
      css.walkRules(function (rule) {
        rule.walkDecls(function (decl, i) {

          if (decl.value.indexOf('vmin') === -1) { return; }

          if (REGEX.exec(decl.value) !== null)  {
            var value = decl.value.replace(REGEX, function (_, number) {
              return number + 'vm';
            });
            rule.insertBefore(i, decl.clone({ value: value }));
          }

        });
      });

      return css;

    };
});