Blame view

node_modules/postcss-zindex/index.js 1.19 KB
2a09d1a4   liuqimichale   添加宜春 天水 宣化
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
30
31
32
33
34
35
36
37
38
39
  'use strict';
  
  var postcss = require('postcss');
  
  module.exports = postcss.plugin('postcss-zindex', function (opts) {
      opts = opts || {};
      return function (css) {
          var cache = require('./lib/layerCache')(opts);
          var nodes = [];
          var abort = false;
          // First pass; cache all z indexes
          css.walkDecls('z-index', function (decl) {
              // Check that no negative values exist. Rebasing is only
              // safe if all indices are positive numbers.
              if (decl.value[0] === '-') {
                  abort = true;
                  // Stop PostCSS iterating through the rest of the decls
                  return false;
              }
              nodes.push(decl);
              cache.addValue(decl.value);
          });
  
          // Abort if we found any negative values
          // or there are no z-index declarations
          if (abort || !nodes.length) {
              return;
          }
  
          cache.optimizeValues();
  
          // Second pass; optimize
          nodes.forEach(function (decl) {
              // Need to coerce to string so that the
              // AST is updated correctly
              decl.value = cache.getValue(decl.value).toString();
          });
      };
  });