autoprefixer 6.7.7 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +23 -0
  3. package/README.md +9 -15
  4. package/data/prefixes.js +551 -517
  5. package/lib/at-rule.js +55 -38
  6. package/lib/autoprefixer.js +89 -63
  7. package/lib/brackets.js +59 -39
  8. package/lib/browsers.js +102 -65
  9. package/lib/declaration.js +212 -121
  10. package/lib/hacks/align-content.js +65 -38
  11. package/lib/hacks/align-items.js +62 -38
  12. package/lib/hacks/align-self.js +63 -36
  13. package/lib/hacks/appearance.js +42 -0
  14. package/lib/hacks/background-size.js +29 -20
  15. package/lib/hacks/block-logical.js +36 -21
  16. package/lib/hacks/border-image.js +26 -16
  17. package/lib/hacks/border-radius.js +60 -39
  18. package/lib/hacks/break-props.js +69 -44
  19. package/lib/hacks/cross-fade.js +40 -37
  20. package/lib/hacks/display-flex.js +81 -31
  21. package/lib/hacks/display-grid.js +29 -19
  22. package/lib/hacks/filter-value.js +66 -45
  23. package/lib/hacks/filter.js +26 -17
  24. package/lib/hacks/flex-basis.js +60 -30
  25. package/lib/hacks/flex-direction.js +85 -53
  26. package/lib/hacks/flex-flow.js +67 -49
  27. package/lib/hacks/flex-grow.js +45 -26
  28. package/lib/hacks/flex-shrink.js +60 -30
  29. package/lib/hacks/flex-spec.js +18 -8
  30. package/lib/hacks/flex-values.js +39 -20
  31. package/lib/hacks/flex-wrap.js +29 -20
  32. package/lib/hacks/flex.js +68 -43
  33. package/lib/hacks/fullscreen.js +31 -21
  34. package/lib/hacks/gradient.js +462 -302
  35. package/lib/hacks/grid-column-align.js +55 -0
  36. package/lib/hacks/grid-end.js +53 -28
  37. package/lib/hacks/grid-row-align.js +39 -19
  38. package/lib/hacks/grid-start.js +80 -48
  39. package/lib/hacks/grid-template.js +91 -55
  40. package/lib/hacks/image-rendering.js +63 -33
  41. package/lib/hacks/image-set.js +28 -20
  42. package/lib/hacks/inline-logical.js +32 -17
  43. package/lib/hacks/intrinsic.js +73 -0
  44. package/lib/hacks/justify-content.js +69 -42
  45. package/lib/hacks/mask-border.js +36 -21
  46. package/lib/hacks/order.js +58 -35
  47. package/lib/hacks/pixelated.js +44 -30
  48. package/lib/hacks/placeholder.js +40 -25
  49. package/lib/hacks/text-emphasis-position.js +27 -20
  50. package/lib/hacks/transform-decl.js +94 -52
  51. package/lib/hacks/writing-mode.js +37 -27
  52. package/lib/info.js +117 -78
  53. package/lib/old-selector.js +84 -58
  54. package/lib/old-value.js +22 -20
  55. package/lib/prefixer.js +164 -95
  56. package/lib/prefixes.js +446 -351
  57. package/lib/processor.js +394 -278
  58. package/lib/resolution.js +135 -75
  59. package/lib/selector.js +145 -84
  60. package/lib/supports.js +330 -210
  61. package/lib/transition.js +396 -243
  62. package/lib/utils.js +84 -48
  63. package/lib/value.js +118 -80
  64. package/package.json +53 -13
  65. package/lib/hacks/justify-items.js +0 -31
  66. package/lib/hacks/stretch.js +0 -45
package/lib/transition.js CHANGED
@@ -1,291 +1,444 @@
1
- (function() {
2
- var Transition, list, parser, vendor;
1
+ 'use strict';
3
2
 
4
- parser = require('postcss-value-parser');
3
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
4
 
6
- vendor = require('postcss/lib/vendor');
5
+ var parser = require('postcss-value-parser');
6
+ var vendor = require('postcss/lib/vendor');
7
+ var list = require('postcss/lib/list');
7
8
 
8
- list = require('postcss/lib/list');
9
-
10
- Transition = (function() {
9
+ var Transition = function () {
11
10
  function Transition(prefixes) {
12
- this.prefixes = prefixes;
11
+ _classCallCheck(this, Transition);
12
+
13
+ Object.defineProperty(this, 'props', {
14
+ enumerable: true,
15
+ writable: true,
16
+ value: ['transition', 'transition-property']
17
+ });
18
+
19
+ this.prefixes = prefixes;
13
20
  }
14
21
 
15
- Transition.prototype.props = ['transition', 'transition-property'];
16
-
17
- Transition.prototype.add = function(decl, result) {
18
- var added, declPrefixes, j, k, l, len, len1, len2, names, operaClean, param, params, prefix, prefixValue, prefixed, prefixer, prop, ref, ref1, value, webkitClean;
19
- declPrefixes = ((ref = this.prefixes.add[decl.prop]) != null ? ref.prefixes : void 0) || [];
20
- params = this.parse(decl.value);
21
- names = params.map((function(_this) {
22
- return function(i) {
23
- return _this.findProp(i);
24
- };
25
- })(this));
26
- added = [];
27
- if (names.some(function(i) {
28
- return i[0] === '-';
29
- })) {
30
- return;
31
- }
32
- for (j = 0, len = params.length; j < len; j++) {
33
- param = params[j];
34
- prop = this.findProp(param);
35
- if (prop[0] === '-') {
36
- continue;
22
+ /**
23
+ * Process transition and add prefies for all necessary properties
24
+ */
25
+
26
+
27
+ Transition.prototype.add = function add(decl, result) {
28
+ var _this = this;
29
+
30
+ var prefix = void 0,
31
+ prop = void 0;
32
+ var declPrefixes = this.prefixes.add[decl.prop] && this.prefixes.add[decl.prop].prefixes || [];
33
+
34
+ var params = this.parse(decl.value);
35
+ var names = params.map(function (i) {
36
+ return _this.findProp(i);
37
+ });
38
+ var added = [];
39
+
40
+ if (names.some(function (i) {
41
+ return i[0] === '-';
42
+ })) {
43
+ return;
44
+ }
45
+
46
+ for (var _iterator = params, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
47
+ var _ref;
48
+
49
+ if (_isArray) {
50
+ if (_i >= _iterator.length) break;
51
+ _ref = _iterator[_i++];
52
+ } else {
53
+ _i = _iterator.next();
54
+ if (_i.done) break;
55
+ _ref = _i.value;
56
+ }
57
+
58
+ var param = _ref;
59
+
60
+ prop = this.findProp(param);
61
+ if (prop[0] === '-') {
62
+ continue;
63
+ }
64
+ var prefixer = this.prefixes.add[prop];
65
+ if (!prefixer || !prefixer.prefixes) {
66
+ continue;
67
+ }
68
+
69
+ for (var _iterator3 = prefixer.prefixes, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
70
+ if (_isArray3) {
71
+ if (_i3 >= _iterator3.length) break;
72
+ prefix = _iterator3[_i3++];
73
+ } else {
74
+ _i3 = _iterator3.next();
75
+ if (_i3.done) break;
76
+ prefix = _i3.value;
77
+ }
78
+
79
+ var prefixed = this.prefixes.prefixed(prop, prefix);
80
+ if (prefixed !== '-ms-transform' && names.indexOf(prefixed) === -1) {
81
+ if (!this.disabled(prop, prefix)) {
82
+ added.push(this.clone(prop, prefixed, param));
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ params = params.concat(added);
89
+ var value = this.stringify(params);
90
+
91
+ var webkitClean = this.stringify(this.cleanFromUnprefixed(params, '-webkit-'));
92
+ if (declPrefixes.indexOf('-webkit-') !== -1) {
93
+ this.cloneBefore(decl, '-webkit-' + decl.prop, webkitClean);
37
94
  }
38
- prefixer = this.prefixes.add[prop];
39
- if (!(prefixer != null ? prefixer.prefixes : void 0)) {
40
- continue;
95
+ this.cloneBefore(decl, decl.prop, webkitClean);
96
+ if (declPrefixes.indexOf('-o-') !== -1) {
97
+ var operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-'));
98
+ this.cloneBefore(decl, '-o-' + decl.prop, operaClean);
41
99
  }
42
- ref1 = prefixer.prefixes;
43
- for (k = 0, len1 = ref1.length; k < len1; k++) {
44
- prefix = ref1[k];
45
- prefixed = this.prefixes.prefixed(prop, prefix);
46
- if (prefixed !== '-ms-transform' && names.indexOf(prefixed) === -1) {
47
- if (!this.disabled(prop, prefix)) {
48
- added.push(this.clone(prop, prefixed, param));
100
+
101
+ for (var _iterator2 = declPrefixes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
102
+ if (_isArray2) {
103
+ if (_i2 >= _iterator2.length) break;
104
+ prefix = _iterator2[_i2++];
105
+ } else {
106
+ _i2 = _iterator2.next();
107
+ if (_i2.done) break;
108
+ prefix = _i2.value;
109
+ }
110
+
111
+ if (prefix !== '-webkit-' && prefix !== '-o-') {
112
+ var prefixValue = this.stringify(this.cleanOtherPrefixes(params, prefix));
113
+ this.cloneBefore(decl, prefix + decl.prop, prefixValue);
49
114
  }
50
- }
51
115
  }
52
- }
53
- params = params.concat(added);
54
- value = this.stringify(params);
55
- webkitClean = this.stringify(this.cleanFromUnprefixed(params, '-webkit-'));
56
- if (declPrefixes.indexOf('-webkit-') !== -1) {
57
- this.cloneBefore(decl, '-webkit-' + decl.prop, webkitClean);
58
- }
59
- this.cloneBefore(decl, decl.prop, webkitClean);
60
- if (declPrefixes.indexOf('-o-') !== -1) {
61
- operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-'));
62
- this.cloneBefore(decl, '-o-' + decl.prop, operaClean);
63
- }
64
- for (l = 0, len2 = declPrefixes.length; l < len2; l++) {
65
- prefix = declPrefixes[l];
66
- if (prefix !== '-webkit-' && prefix !== '-o-') {
67
- prefixValue = this.stringify(this.cleanOtherPrefixes(params, prefix));
68
- this.cloneBefore(decl, prefix + decl.prop, prefixValue);
116
+
117
+ if (value !== decl.value && !this.already(decl, decl.prop, value)) {
118
+ this.checkForWarning(result, decl);
119
+ decl.cloneBefore();
120
+ decl.value = value;
69
121
  }
70
- }
71
- if (value !== decl.value && !this.already(decl, decl.prop, value)) {
72
- this.checkForWarning(result, decl);
73
- decl.cloneBefore();
74
- return decl.value = value;
75
- }
76
122
  };
77
123
 
78
- Transition.prototype.findProp = function(param) {
79
- var i, j, len, prop, token;
80
- prop = param[0].value;
81
- if (/^\d/.test(prop)) {
82
- for (i = j = 0, len = param.length; j < len; i = ++j) {
83
- token = param[i];
84
- if (i !== 0 && token.type === 'word') {
85
- return token.value;
86
- }
124
+ /**
125
+ * Find property name
126
+ */
127
+
128
+
129
+ Transition.prototype.findProp = function findProp(param) {
130
+ var prop = param[0].value;
131
+ if (/^\d/.test(prop)) {
132
+ for (var i = 0; i < param.length; i++) {
133
+ var token = param[i];
134
+ if (i !== 0 && token.type === 'word') {
135
+ return token.value;
136
+ }
137
+ }
87
138
  }
88
- }
89
- return prop;
139
+ return prop;
90
140
  };
91
141
 
92
- Transition.prototype.already = function(decl, prop, value) {
93
- return decl.parent.some(function(i) {
94
- return i.prop === prop && i.value === value;
95
- });
96
- };
142
+ /**
143
+ * Does we aready have this declaration
144
+ */
145
+
97
146
 
98
- Transition.prototype.cloneBefore = function(decl, prop, value) {
99
- if (!this.already(decl, prop, value)) {
100
- return decl.cloneBefore({
101
- prop: prop,
102
- value: value
147
+ Transition.prototype.already = function already(decl, prop, value) {
148
+ return decl.parent.some(function (i) {
149
+ return i.prop === prop && i.value === value;
103
150
  });
104
- }
105
151
  };
106
152
 
107
- Transition.prototype.checkForWarning = function(result, decl) {
108
- if (decl.prop === 'transition-property') {
109
- return decl.parent.each(function(i) {
110
- if (i.type !== 'decl') {
111
- return;
112
- }
113
- if (i.prop.indexOf('transition-') !== 0) {
153
+ /**
154
+ * Add declaration if it is not exist
155
+ */
156
+
157
+
158
+ Transition.prototype.cloneBefore = function cloneBefore(decl, prop, value) {
159
+ if (!this.already(decl, prop, value)) {
160
+ decl.cloneBefore({ prop: prop, value: value });
161
+ }
162
+ };
163
+
164
+ /**
165
+ * Show transition-property warning
166
+ */
167
+
168
+
169
+ Transition.prototype.checkForWarning = function checkForWarning(result, decl) {
170
+ if (decl.prop === 'transition-property') {
171
+ decl.parent.each(function (i) {
172
+ if (i.type !== 'decl') {
173
+ return undefined;
174
+ }
175
+ if (i.prop.indexOf('transition-') !== 0) {
176
+ return undefined;
177
+ }
178
+ if (i.prop === 'transition-property') {
179
+ return undefined;
180
+ }
181
+
182
+ if (list.comma(i.value).length > 1) {
183
+ decl.warn(result, 'Replace transition-property to transition, ' + 'because Autoprefixer could not support ' + 'any cases of transition-property ' + 'and other transition-*');
184
+ }
185
+ return false;
186
+ });
187
+ }
188
+ };
189
+
190
+ /**
191
+ * Process transition and remove all unnecessary properties
192
+ */
193
+
194
+
195
+ Transition.prototype.remove = function remove(decl) {
196
+ var _this2 = this;
197
+
198
+ var params = this.parse(decl.value);
199
+ params = params.filter(function (i) {
200
+ var prop = _this2.prefixes.remove[_this2.findProp(i)];
201
+ return !prop || !prop.remove;
202
+ });
203
+ var value = this.stringify(params);
204
+
205
+ if (decl.value === value) {
114
206
  return;
115
- }
116
- if (i.prop === 'transition-property') {
207
+ }
208
+
209
+ if (params.length === 0) {
210
+ decl.remove();
117
211
  return;
118
- }
119
- if (list.comma(i.value).length > 1) {
120
- decl.warn(result, 'Replace transition-property to transition, ' + 'because Autoprefixer could not support ' + 'any cases of transition-property ' + 'and other transition-*');
121
- }
122
- return false;
212
+ }
213
+
214
+ var double = decl.parent.some(function (i) {
215
+ return i.prop === decl.prop && i.value === value;
216
+ });
217
+ var smaller = decl.parent.some(function (i) {
218
+ return i !== decl && i.prop === decl.prop && i.value.length > value.length;
123
219
  });
124
- }
125
- };
126
220
 
127
- Transition.prototype.remove = function(decl) {
128
- var double, params, smaller, value;
129
- params = this.parse(decl.value);
130
- params = params.filter((function(_this) {
131
- return function(i) {
132
- var ref;
133
- return !((ref = _this.prefixes.remove[_this.findProp(i)]) != null ? ref.remove : void 0);
134
- };
135
- })(this));
136
- value = this.stringify(params);
137
- if (decl.value === value) {
138
- return;
139
- }
140
- if (params.length === 0) {
141
- decl.remove();
142
- return;
143
- }
144
- double = decl.parent.some(function(i) {
145
- return i.prop === decl.prop && i.value === value;
146
- });
147
- smaller = decl.parent.some(function(i) {
148
- return i !== decl && i.prop === decl.prop && i.value.length > value.length;
149
- });
150
- if (double || smaller) {
151
- return decl.remove();
152
- } else {
153
- return decl.value = value;
154
- }
221
+ if (double || smaller) {
222
+ decl.remove();
223
+ } else {
224
+ decl.value = value;
225
+ }
155
226
  };
156
227
 
157
- Transition.prototype.parse = function(value) {
158
- var ast, j, len, node, param, ref, result;
159
- ast = parser(value);
160
- result = [];
161
- param = [];
162
- ref = ast.nodes;
163
- for (j = 0, len = ref.length; j < len; j++) {
164
- node = ref[j];
165
- param.push(node);
166
- if (node.type === 'div' && node.value === ',') {
167
- result.push(param);
168
- param = [];
228
+ /**
229
+ * Parse properties list to array
230
+ */
231
+
232
+
233
+ Transition.prototype.parse = function parse(value) {
234
+ var ast = parser(value);
235
+ var result = [];
236
+ var param = [];
237
+ for (var _iterator4 = ast.nodes, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
238
+ var _ref2;
239
+
240
+ if (_isArray4) {
241
+ if (_i4 >= _iterator4.length) break;
242
+ _ref2 = _iterator4[_i4++];
243
+ } else {
244
+ _i4 = _iterator4.next();
245
+ if (_i4.done) break;
246
+ _ref2 = _i4.value;
247
+ }
248
+
249
+ var node = _ref2;
250
+
251
+ param.push(node);
252
+ if (node.type === 'div' && node.value === ',') {
253
+ result.push(param);
254
+ param = [];
255
+ }
169
256
  }
170
- }
171
- result.push(param);
172
- return result.filter(function(i) {
173
- return i.length > 0;
174
- });
257
+ result.push(param);
258
+ return result.filter(function (i) {
259
+ return i.length > 0;
260
+ });
175
261
  };
176
262
 
177
- Transition.prototype.stringify = function(params) {
178
- var j, len, nodes, param;
179
- if (params.length === 0) {
180
- return '';
181
- }
182
- nodes = [];
183
- for (j = 0, len = params.length; j < len; j++) {
184
- param = params[j];
185
- if (param[param.length - 1].type !== 'div') {
186
- param.push(this.div(params));
263
+ /**
264
+ * Return properties string from array
265
+ */
266
+
267
+
268
+ Transition.prototype.stringify = function stringify(params) {
269
+ if (params.length === 0) {
270
+ return '';
271
+ }
272
+ var nodes = [];
273
+ for (var _iterator5 = params, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
274
+ var _ref3;
275
+
276
+ if (_isArray5) {
277
+ if (_i5 >= _iterator5.length) break;
278
+ _ref3 = _iterator5[_i5++];
279
+ } else {
280
+ _i5 = _iterator5.next();
281
+ if (_i5.done) break;
282
+ _ref3 = _i5.value;
283
+ }
284
+
285
+ var param = _ref3;
286
+
287
+ if (param[param.length - 1].type !== 'div') {
288
+ param.push(this.div(params));
289
+ }
290
+ nodes = nodes.concat(param);
291
+ }
292
+ if (nodes[0].type === 'div') {
293
+ nodes = nodes.slice(1);
294
+ }
295
+ if (nodes[nodes.length - 1].type === 'div') {
296
+ nodes = nodes.slice(0, +-2 + 1 || undefined);
187
297
  }
188
- nodes = nodes.concat(param);
189
- }
190
- if (nodes[0].type === 'div') {
191
- nodes = nodes.slice(1);
192
- }
193
- if (nodes[nodes.length - 1].type === 'div') {
194
- nodes = nodes.slice(0, -1);
195
- }
196
- return parser.stringify({
197
- nodes: nodes
198
- });
298
+ return parser.stringify({ nodes: nodes });
199
299
  };
200
300
 
201
- Transition.prototype.clone = function(origin, name, param) {
202
- var changed, i, j, len, result;
203
- result = [];
204
- changed = false;
205
- for (j = 0, len = param.length; j < len; j++) {
206
- i = param[j];
207
- if (!changed && i.type === 'word' && i.value === origin) {
208
- result.push({
209
- type: 'word',
210
- value: name
211
- });
212
- changed = true;
213
- } else {
214
- result.push(i);
301
+ /**
302
+ * Return new param array with different name
303
+ */
304
+
305
+
306
+ Transition.prototype.clone = function clone(origin, name, param) {
307
+ var result = [];
308
+ var changed = false;
309
+ for (var _iterator6 = param, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
310
+ var _ref4;
311
+
312
+ if (_isArray6) {
313
+ if (_i6 >= _iterator6.length) break;
314
+ _ref4 = _iterator6[_i6++];
315
+ } else {
316
+ _i6 = _iterator6.next();
317
+ if (_i6.done) break;
318
+ _ref4 = _i6.value;
319
+ }
320
+
321
+ var i = _ref4;
322
+
323
+ if (!changed && i.type === 'word' && i.value === origin) {
324
+ result.push({ type: 'word', value: name });
325
+ changed = true;
326
+ } else {
327
+ result.push(i);
328
+ }
215
329
  }
216
- }
217
- return result;
330
+ return result;
218
331
  };
219
332
 
220
- Transition.prototype.div = function(params) {
221
- var j, k, len, len1, node, param;
222
- for (j = 0, len = params.length; j < len; j++) {
223
- param = params[j];
224
- for (k = 0, len1 = param.length; k < len1; k++) {
225
- node = param[k];
226
- if (node.type === 'div' && node.value === ',') {
227
- return node;
228
- }
333
+ /**
334
+ * Find or create seperator
335
+ */
336
+
337
+
338
+ Transition.prototype.div = function div(params) {
339
+ for (var _iterator7 = params, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
340
+ var _ref5;
341
+
342
+ if (_isArray7) {
343
+ if (_i7 >= _iterator7.length) break;
344
+ _ref5 = _iterator7[_i7++];
345
+ } else {
346
+ _i7 = _iterator7.next();
347
+ if (_i7.done) break;
348
+ _ref5 = _i7.value;
349
+ }
350
+
351
+ var param = _ref5;
352
+
353
+ for (var _iterator8 = param, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
354
+ var _ref6;
355
+
356
+ if (_isArray8) {
357
+ if (_i8 >= _iterator8.length) break;
358
+ _ref6 = _iterator8[_i8++];
359
+ } else {
360
+ _i8 = _iterator8.next();
361
+ if (_i8.done) break;
362
+ _ref6 = _i8.value;
363
+ }
364
+
365
+ var node = _ref6;
366
+
367
+ if (node.type === 'div' && node.value === ',') {
368
+ return node;
369
+ }
370
+ }
229
371
  }
230
- }
231
- return {
232
- type: 'div',
233
- value: ',',
234
- after: ' '
235
- };
372
+ return { type: 'div', value: ',', after: ' ' };
236
373
  };
237
374
 
238
- Transition.prototype.cleanOtherPrefixes = function(params, prefix) {
239
- return params.filter((function(_this) {
240
- return function(param) {
241
- var current;
242
- current = vendor.prefix(_this.findProp(param));
243
- return current === '' || current === prefix;
244
- };
245
- })(this));
375
+ Transition.prototype.cleanOtherPrefixes = function cleanOtherPrefixes(params, prefix) {
376
+ var _this3 = this;
377
+
378
+ return params.filter(function (param) {
379
+ var current = vendor.prefix(_this3.findProp(param));
380
+ return current === '' || current === prefix;
381
+ });
246
382
  };
247
383
 
248
- Transition.prototype.cleanFromUnprefixed = function(params, prefix) {
249
- var j, len, p, param, prop, remove, result;
250
- result = [];
251
- remove = params.map((function(_this) {
252
- return function(i) {
253
- return _this.findProp(i);
254
- };
255
- })(this)).filter(function(i) {
256
- return i.slice(0, prefix.length) === prefix;
257
- }).map((function(_this) {
258
- return function(i) {
259
- return _this.prefixes.unprefixed(i);
260
- };
261
- })(this));
262
- for (j = 0, len = params.length; j < len; j++) {
263
- param = params[j];
264
- prop = this.findProp(param);
265
- p = vendor.prefix(prop);
266
- if (remove.indexOf(prop) === -1 && (p === prefix || p === '')) {
267
- result.push(param);
384
+ /**
385
+ * Remove all non-webkit prefixes and unprefixed params if we have prefixed
386
+ */
387
+
388
+
389
+ Transition.prototype.cleanFromUnprefixed = function cleanFromUnprefixed(params, prefix) {
390
+ var _this4 = this;
391
+
392
+ var remove = params.map(function (i) {
393
+ return _this4.findProp(i);
394
+ }).filter(function (i) {
395
+ return i.slice(0, prefix.length) === prefix;
396
+ }).map(function (i) {
397
+ return _this4.prefixes.unprefixed(i);
398
+ });
399
+
400
+ var result = [];
401
+ for (var _iterator9 = params, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
402
+ var _ref7;
403
+
404
+ if (_isArray9) {
405
+ if (_i9 >= _iterator9.length) break;
406
+ _ref7 = _iterator9[_i9++];
407
+ } else {
408
+ _i9 = _iterator9.next();
409
+ if (_i9.done) break;
410
+ _ref7 = _i9.value;
411
+ }
412
+
413
+ var param = _ref7;
414
+
415
+ var prop = this.findProp(param);
416
+ var p = vendor.prefix(prop);
417
+ if (remove.indexOf(prop) === -1 && (p === prefix || p === '')) {
418
+ result.push(param);
419
+ }
268
420
  }
269
- }
270
- return result;
421
+ return result;
271
422
  };
272
423
 
273
- Transition.prototype.disabled = function(prop, prefix) {
274
- var other;
275
- other = ['order', 'justify-content', 'align-self', 'align-content'];
276
- if (prop.indexOf('flex') !== -1 || other.indexOf(prop) !== -1) {
277
- if (this.prefixes.options.flexbox === false) {
278
- return true;
279
- } else if (this.prefixes.options.flexbox === 'no-2009') {
280
- return prefix.indexOf('2009') !== -1;
424
+ /**
425
+ * Check property for disabled by option
426
+ */
427
+
428
+
429
+ Transition.prototype.disabled = function disabled(prop, prefix) {
430
+ var other = ['order', 'justify-content', 'align-self', 'align-content'];
431
+ if (prop.indexOf('flex') !== -1 || other.indexOf(prop) !== -1) {
432
+ if (this.prefixes.options.flexbox === false) {
433
+ return true;
434
+ } else if (this.prefixes.options.flexbox === 'no-2009') {
435
+ return prefix.indexOf('2009') !== -1;
436
+ }
281
437
  }
282
- }
438
+ return undefined;
283
439
  };
284
440
 
285
441
  return Transition;
442
+ }();
286
443
 
287
- })();
288
-
289
- module.exports = Transition;
290
-
291
- }).call(this);
444
+ module.exports = Transition;