| 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
 | | var lexer = require('css-tree').lexer; |  | var packNumber = require('./Number').pack; |  | var blacklist = new Set([ |  |     // see https://github.com/jakubpawlowicz/clean-css/issues/957 |  |     'width', |  |     'min-width', |  |     'max-width', |  |     'height', |  |     'min-height', |  |     'max-height', |  |   |  |     // issue #410: Don’t remove units in flex-basis value for (-ms-)flex shorthand |  |     // issue #362: shouldn't remove unit in -ms-flex since it breaks flex in IE10/11 |  |     // issue #200: shouldn't remove unit in flex since it breaks flex in IE10/11 |  |     'flex', |  |     '-ms-flex' |  | ]); |  |   |  | module.exports = function compressPercentage(node, item) { |  |     node.value = packNumber(node.value, item); |  |   |  |     if (node.value === '0' && this.declaration && !blacklist.has(this.declaration.property)) { |  |         // try to convert a number |  |         item.data = { |  |             type: 'Number', |  |             loc: node.loc, |  |             value: node.value |  |         }; |  |   |  |         // that's ok only when new value matches on length |  |         if (!lexer.matchDeclaration(this.declaration).isType(item.data, 'length')) { |  |             // otherwise rollback changes |  |             item.data = node; |  |         } |  |     } |  | }; | 
 |