autoprefixer 9.8.7 → 10.0.2
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.
- package/CHANGELOG.md +999 -0
- package/README.md +0 -3
- package/bin/autoprefixer +11 -11
- package/data/prefixes.js +799 -545
- package/lib/at-rule.js +23 -50
- package/lib/autoprefixer.js +108 -97
- package/lib/brackets.js +31 -44
- package/lib/browsers.js +54 -71
- package/lib/declaration.js +122 -178
- package/lib/hacks/align-content.js +24 -54
- package/lib/hacks/align-items.js +23 -53
- package/lib/hacks/align-self.js +32 -60
- package/lib/hacks/animation.js +11 -29
- package/lib/hacks/appearance.js +19 -35
- package/lib/hacks/backdrop-filter.js +16 -31
- package/lib/hacks/background-clip.js +19 -36
- package/lib/hacks/background-size.js +16 -31
- package/lib/hacks/block-logical.js +28 -36
- package/lib/hacks/border-image.js +9 -27
- package/lib/hacks/border-radius.js +22 -44
- package/lib/hacks/break-props.js +38 -51
- package/lib/hacks/color-adjust.js +11 -30
- package/lib/hacks/cross-fade.js +29 -48
- package/lib/hacks/display-flex.js +32 -61
- package/lib/hacks/display-grid.js +12 -32
- package/lib/hacks/filter-value.js +8 -25
- package/lib/hacks/filter.js +13 -27
- package/lib/hacks/flex-basis.js +21 -54
- package/lib/hacks/flex-direction.js +41 -77
- package/lib/hacks/flex-flow.js +33 -61
- package/lib/hacks/flex-grow.js +16 -43
- package/lib/hacks/flex-shrink.js +21 -54
- package/lib/hacks/flex-spec.js +7 -10
- package/lib/hacks/flex-wrap.js +11 -32
- package/lib/hacks/flex.js +27 -58
- package/lib/hacks/fullscreen.js +10 -30
- package/lib/hacks/gradient.js +240 -330
- package/lib/hacks/grid-area.js +25 -43
- package/lib/hacks/grid-column-align.js +14 -34
- package/lib/hacks/grid-end.js +30 -45
- package/lib/hacks/grid-row-align.js +14 -34
- package/lib/hacks/grid-row-column.js +20 -39
- package/lib/hacks/grid-rows-columns.js +75 -99
- package/lib/hacks/grid-start.js +17 -39
- package/lib/hacks/grid-template-areas.js +59 -76
- package/lib/hacks/grid-template.js +40 -61
- package/lib/hacks/grid-utils.js +686 -716
- package/lib/hacks/image-rendering.js +24 -47
- package/lib/hacks/image-set.js +10 -30
- package/lib/hacks/inline-logical.js +26 -32
- package/lib/hacks/intrinsic.js +40 -53
- package/lib/hacks/justify-content.js +26 -57
- package/lib/hacks/mask-border.js +28 -36
- package/lib/hacks/mask-composite.js +41 -57
- package/lib/hacks/order.js +22 -52
- package/lib/hacks/overscroll-behavior.js +16 -37
- package/lib/hacks/pixelated.js +16 -40
- package/lib/hacks/place-self.js +18 -41
- package/lib/hacks/placeholder-shown.js +9 -28
- package/lib/hacks/placeholder.js +15 -38
- package/lib/hacks/text-decoration-skip-ink.js +14 -29
- package/lib/hacks/text-decoration.js +20 -31
- package/lib/hacks/text-emphasis-position.js +9 -28
- package/lib/hacks/transform-decl.js +43 -69
- package/lib/hacks/user-select.js +19 -27
- package/lib/hacks/writing-mode.js +19 -36
- package/lib/info.js +63 -93
- package/lib/old-selector.js +39 -60
- package/lib/old-value.js +17 -25
- package/lib/prefixer.js +83 -110
- package/lib/prefixes.js +233 -336
- package/lib/processor.js +420 -416
- package/lib/resolution.js +62 -98
- package/lib/selector.js +91 -139
- package/lib/supports.js +194 -246
- package/lib/transition.js +170 -265
- package/lib/utils.js +49 -72
- package/lib/value.js +77 -116
- package/lib/vendor.js +14 -0
- package/package.json +23 -12
package/lib/transition.js
CHANGED
|
@@ -1,411 +1,316 @@
|
|
|
1
|
-
|
|
1
|
+
let { list } = require('postcss')
|
|
2
|
+
let parser = require('postcss-value-parser')
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
let Browsers = require('./browsers')
|
|
5
|
+
let vendor = require('./vendor')
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
|
-
|
|
11
|
-
var parser = require('postcss-value-parser');
|
|
12
|
-
|
|
13
|
-
var vendor = require('postcss').vendor;
|
|
14
|
-
|
|
15
|
-
var list = require('postcss').list;
|
|
16
|
-
|
|
17
|
-
var Browsers = require('./browsers');
|
|
18
|
-
|
|
19
|
-
var Transition = /*#__PURE__*/function () {
|
|
20
|
-
function Transition(prefixes) {
|
|
21
|
-
_defineProperty(this, "props", ['transition', 'transition-property']);
|
|
22
|
-
|
|
23
|
-
this.prefixes = prefixes;
|
|
7
|
+
class Transition {
|
|
8
|
+
constructor (prefixes) {
|
|
9
|
+
this.props = ['transition', 'transition-property']
|
|
10
|
+
this.prefixes = prefixes
|
|
24
11
|
}
|
|
12
|
+
|
|
25
13
|
/**
|
|
26
14
|
* Process transition and add prefixes for all necessary properties
|
|
27
15
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var names = params.map(function (i) {
|
|
41
|
-
return _this.findProp(i);
|
|
42
|
-
});
|
|
43
|
-
var added = [];
|
|
44
|
-
|
|
45
|
-
if (names.some(function (i) {
|
|
46
|
-
return i[0] === '-';
|
|
47
|
-
})) {
|
|
48
|
-
return;
|
|
16
|
+
add (decl, result) {
|
|
17
|
+
let prefix, prop
|
|
18
|
+
let add = this.prefixes.add[decl.prop]
|
|
19
|
+
let vendorPrefixes = this.ruleVendorPrefixes(decl)
|
|
20
|
+
let declPrefixes = vendorPrefixes || (add && add.prefixes) || []
|
|
21
|
+
|
|
22
|
+
let params = this.parse(decl.value)
|
|
23
|
+
let names = params.map(i => this.findProp(i))
|
|
24
|
+
let added = []
|
|
25
|
+
|
|
26
|
+
if (names.some(i => i[0] === '-')) {
|
|
27
|
+
return
|
|
49
28
|
}
|
|
50
29
|
|
|
51
|
-
for (
|
|
52
|
-
|
|
53
|
-
prop
|
|
54
|
-
if (prop[0] === '-') continue;
|
|
55
|
-
var prefixer = this.prefixes.add[prop];
|
|
56
|
-
if (!prefixer || !prefixer.prefixes) continue;
|
|
30
|
+
for (let param of params) {
|
|
31
|
+
prop = this.findProp(param)
|
|
32
|
+
if (prop[0] === '-') continue
|
|
57
33
|
|
|
58
|
-
|
|
59
|
-
|
|
34
|
+
let prefixer = this.prefixes.add[prop]
|
|
35
|
+
if (!prefixer || !prefixer.prefixes) continue
|
|
60
36
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
continue;
|
|
37
|
+
for (prefix of prefixer.prefixes) {
|
|
38
|
+
if (vendorPrefixes && !vendorPrefixes.some(p => prefix.includes(p))) {
|
|
39
|
+
continue
|
|
65
40
|
}
|
|
66
41
|
|
|
67
|
-
|
|
68
|
-
|
|
42
|
+
let prefixed = this.prefixes.prefixed(prop, prefix)
|
|
69
43
|
if (prefixed !== '-ms-transform' && !names.includes(prefixed)) {
|
|
70
44
|
if (!this.disabled(prop, prefix)) {
|
|
71
|
-
added.push(this.clone(prop, prefixed, param))
|
|
45
|
+
added.push(this.clone(prop, prefixed, param))
|
|
72
46
|
}
|
|
73
47
|
}
|
|
74
48
|
}
|
|
75
49
|
}
|
|
76
50
|
|
|
77
|
-
params = params.concat(added)
|
|
78
|
-
|
|
79
|
-
var webkitClean = this.stringify(this.cleanFromUnprefixed(params, '-webkit-'));
|
|
51
|
+
params = params.concat(added)
|
|
52
|
+
let value = this.stringify(params)
|
|
80
53
|
|
|
54
|
+
let webkitClean = this.stringify(
|
|
55
|
+
this.cleanFromUnprefixed(params, '-webkit-')
|
|
56
|
+
)
|
|
81
57
|
if (declPrefixes.includes('-webkit-')) {
|
|
82
|
-
this.cloneBefore(decl,
|
|
58
|
+
this.cloneBefore(decl, `-webkit-${decl.prop}`, webkitClean)
|
|
83
59
|
}
|
|
84
|
-
|
|
85
|
-
this.cloneBefore(decl, decl.prop, webkitClean);
|
|
86
|
-
|
|
60
|
+
this.cloneBefore(decl, decl.prop, webkitClean)
|
|
87
61
|
if (declPrefixes.includes('-o-')) {
|
|
88
|
-
|
|
89
|
-
this.cloneBefore(decl,
|
|
62
|
+
let operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-'))
|
|
63
|
+
this.cloneBefore(decl, `-o-${decl.prop}`, operaClean)
|
|
90
64
|
}
|
|
91
65
|
|
|
92
|
-
for (
|
|
93
|
-
prefix = _step2.value;
|
|
94
|
-
|
|
66
|
+
for (prefix of declPrefixes) {
|
|
95
67
|
if (prefix !== '-webkit-' && prefix !== '-o-') {
|
|
96
|
-
|
|
97
|
-
|
|
68
|
+
let prefixValue = this.stringify(
|
|
69
|
+
this.cleanOtherPrefixes(params, prefix)
|
|
70
|
+
)
|
|
71
|
+
this.cloneBefore(decl, prefix + decl.prop, prefixValue)
|
|
98
72
|
}
|
|
99
73
|
}
|
|
100
74
|
|
|
101
75
|
if (value !== decl.value && !this.already(decl, decl.prop, value)) {
|
|
102
|
-
this.checkForWarning(result, decl)
|
|
103
|
-
decl.cloneBefore()
|
|
104
|
-
decl.value = value
|
|
76
|
+
this.checkForWarning(result, decl)
|
|
77
|
+
decl.cloneBefore()
|
|
78
|
+
decl.value = value
|
|
105
79
|
}
|
|
106
80
|
}
|
|
81
|
+
|
|
107
82
|
/**
|
|
108
83
|
* Find property name
|
|
109
84
|
*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
_proto.findProp = function findProp(param) {
|
|
113
|
-
var prop = param[0].value;
|
|
114
|
-
|
|
85
|
+
findProp (param) {
|
|
86
|
+
let prop = param[0].value
|
|
115
87
|
if (/^\d/.test(prop)) {
|
|
116
|
-
for (
|
|
117
|
-
var _step4$value = _step4.value,
|
|
118
|
-
i = _step4$value[0],
|
|
119
|
-
token = _step4$value[1];
|
|
120
|
-
|
|
88
|
+
for (let [i, token] of param.entries()) {
|
|
121
89
|
if (i !== 0 && token.type === 'word') {
|
|
122
|
-
return token.value
|
|
90
|
+
return token.value
|
|
123
91
|
}
|
|
124
92
|
}
|
|
125
93
|
}
|
|
126
|
-
|
|
127
|
-
return prop;
|
|
94
|
+
return prop
|
|
128
95
|
}
|
|
96
|
+
|
|
129
97
|
/**
|
|
130
98
|
* Does we already have this declaration
|
|
131
99
|
*/
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
_proto.already = function already(decl, prop, value) {
|
|
135
|
-
return decl.parent.some(function (i) {
|
|
136
|
-
return i.prop === prop && i.value === value;
|
|
137
|
-
});
|
|
100
|
+
already (decl, prop, value) {
|
|
101
|
+
return decl.parent.some(i => i.prop === prop && i.value === value)
|
|
138
102
|
}
|
|
103
|
+
|
|
139
104
|
/**
|
|
140
105
|
* Add declaration if it is not exist
|
|
141
106
|
*/
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
_proto.cloneBefore = function cloneBefore(decl, prop, value) {
|
|
107
|
+
cloneBefore (decl, prop, value) {
|
|
145
108
|
if (!this.already(decl, prop, value)) {
|
|
146
|
-
decl.cloneBefore({
|
|
147
|
-
prop: prop,
|
|
148
|
-
value: value
|
|
149
|
-
});
|
|
109
|
+
decl.cloneBefore({ prop, value })
|
|
150
110
|
}
|
|
151
111
|
}
|
|
112
|
+
|
|
152
113
|
/**
|
|
153
114
|
* Show transition-property warning
|
|
154
115
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
_proto.checkForWarning = function checkForWarning(result, decl) {
|
|
116
|
+
checkForWarning (result, decl) {
|
|
158
117
|
if (decl.prop !== 'transition-property') {
|
|
159
|
-
return
|
|
118
|
+
return
|
|
160
119
|
}
|
|
161
120
|
|
|
162
|
-
decl.parent.each(
|
|
121
|
+
decl.parent.each(i => {
|
|
163
122
|
if (i.type !== 'decl') {
|
|
164
|
-
return undefined
|
|
123
|
+
return undefined
|
|
165
124
|
}
|
|
166
|
-
|
|
167
125
|
if (i.prop.indexOf('transition-') !== 0) {
|
|
168
|
-
return undefined
|
|
126
|
+
return undefined
|
|
169
127
|
}
|
|
170
|
-
|
|
171
128
|
if (i.prop === 'transition-property') {
|
|
172
|
-
return undefined
|
|
129
|
+
return undefined
|
|
173
130
|
}
|
|
174
131
|
|
|
175
132
|
if (list.comma(i.value).length > 1) {
|
|
176
|
-
decl.warn(
|
|
133
|
+
decl.warn(
|
|
134
|
+
result,
|
|
135
|
+
'Replace transition-property to transition, ' +
|
|
136
|
+
'because Autoprefixer could not support ' +
|
|
137
|
+
'any cases of transition-property ' +
|
|
138
|
+
'and other transition-*'
|
|
139
|
+
)
|
|
177
140
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
});
|
|
141
|
+
return false
|
|
142
|
+
})
|
|
181
143
|
}
|
|
144
|
+
|
|
182
145
|
/**
|
|
183
146
|
* Process transition and remove all unnecessary properties
|
|
184
147
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
var prop = _this2.prefixes.remove[_this2.findProp(i)];
|
|
193
|
-
|
|
194
|
-
return !prop || !prop.remove;
|
|
195
|
-
});
|
|
196
|
-
var value = this.stringify(params);
|
|
148
|
+
remove (decl) {
|
|
149
|
+
let params = this.parse(decl.value)
|
|
150
|
+
params = params.filter(i => {
|
|
151
|
+
let prop = this.prefixes.remove[this.findProp(i)]
|
|
152
|
+
return !prop || !prop.remove
|
|
153
|
+
})
|
|
154
|
+
let value = this.stringify(params)
|
|
197
155
|
|
|
198
156
|
if (decl.value === value) {
|
|
199
|
-
return
|
|
157
|
+
return
|
|
200
158
|
}
|
|
201
159
|
|
|
202
160
|
if (params.length === 0) {
|
|
203
|
-
decl.remove()
|
|
204
|
-
return
|
|
161
|
+
decl.remove()
|
|
162
|
+
return
|
|
205
163
|
}
|
|
206
164
|
|
|
207
|
-
|
|
208
|
-
return i.prop === decl.prop && i.value === value
|
|
209
|
-
})
|
|
165
|
+
let double = decl.parent.some(i => {
|
|
166
|
+
return i.prop === decl.prop && i.value === value
|
|
167
|
+
})
|
|
168
|
+
let smaller = decl.parent.some(i => {
|
|
169
|
+
return i !== decl && i.prop === decl.prop && i.value.length > value.length
|
|
170
|
+
})
|
|
210
171
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
if (_double || smaller) {
|
|
216
|
-
decl.remove();
|
|
217
|
-
return;
|
|
172
|
+
if (double || smaller) {
|
|
173
|
+
decl.remove()
|
|
174
|
+
return
|
|
218
175
|
}
|
|
219
176
|
|
|
220
|
-
decl.value = value
|
|
177
|
+
decl.value = value
|
|
221
178
|
}
|
|
179
|
+
|
|
222
180
|
/**
|
|
223
181
|
* Parse properties list to array
|
|
224
182
|
*/
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
for (var _iterator5 = _createForOfIteratorHelperLoose(ast.nodes), _step5; !(_step5 = _iterator5()).done;) {
|
|
233
|
-
var node = _step5.value;
|
|
234
|
-
param.push(node);
|
|
235
|
-
|
|
183
|
+
parse (value) {
|
|
184
|
+
let ast = parser(value)
|
|
185
|
+
let result = []
|
|
186
|
+
let param = []
|
|
187
|
+
for (let node of ast.nodes) {
|
|
188
|
+
param.push(node)
|
|
236
189
|
if (node.type === 'div' && node.value === ',') {
|
|
237
|
-
result.push(param)
|
|
238
|
-
param = []
|
|
190
|
+
result.push(param)
|
|
191
|
+
param = []
|
|
239
192
|
}
|
|
240
193
|
}
|
|
241
|
-
|
|
242
|
-
result.
|
|
243
|
-
return result.filter(function (i) {
|
|
244
|
-
return i.length > 0;
|
|
245
|
-
});
|
|
194
|
+
result.push(param)
|
|
195
|
+
return result.filter(i => i.length > 0)
|
|
246
196
|
}
|
|
197
|
+
|
|
247
198
|
/**
|
|
248
199
|
* Return properties string from array
|
|
249
200
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
_proto.stringify = function stringify(params) {
|
|
201
|
+
stringify (params) {
|
|
253
202
|
if (params.length === 0) {
|
|
254
|
-
return ''
|
|
203
|
+
return ''
|
|
255
204
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
for (var _iterator6 = _createForOfIteratorHelperLoose(params), _step6; !(_step6 = _iterator6()).done;) {
|
|
260
|
-
var param = _step6.value;
|
|
261
|
-
|
|
205
|
+
let nodes = []
|
|
206
|
+
for (let param of params) {
|
|
262
207
|
if (param[param.length - 1].type !== 'div') {
|
|
263
|
-
param.push(this.div(params))
|
|
208
|
+
param.push(this.div(params))
|
|
264
209
|
}
|
|
265
|
-
|
|
266
|
-
nodes = nodes.concat(param);
|
|
210
|
+
nodes = nodes.concat(param)
|
|
267
211
|
}
|
|
268
|
-
|
|
269
212
|
if (nodes[0].type === 'div') {
|
|
270
|
-
nodes = nodes.slice(1)
|
|
213
|
+
nodes = nodes.slice(1)
|
|
271
214
|
}
|
|
272
|
-
|
|
273
215
|
if (nodes[nodes.length - 1].type === 'div') {
|
|
274
|
-
nodes = nodes.slice(0, +-2 + 1 || undefined)
|
|
216
|
+
nodes = nodes.slice(0, +-2 + 1 || undefined)
|
|
275
217
|
}
|
|
276
|
-
|
|
277
|
-
return parser.stringify({
|
|
278
|
-
nodes: nodes
|
|
279
|
-
});
|
|
218
|
+
return parser.stringify({ nodes })
|
|
280
219
|
}
|
|
220
|
+
|
|
281
221
|
/**
|
|
282
222
|
* Return new param array with different name
|
|
283
223
|
*/
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
var changed = false;
|
|
289
|
-
|
|
290
|
-
for (var _iterator7 = _createForOfIteratorHelperLoose(param), _step7; !(_step7 = _iterator7()).done;) {
|
|
291
|
-
var i = _step7.value;
|
|
292
|
-
|
|
224
|
+
clone (origin, name, param) {
|
|
225
|
+
let result = []
|
|
226
|
+
let changed = false
|
|
227
|
+
for (let i of param) {
|
|
293
228
|
if (!changed && i.type === 'word' && i.value === origin) {
|
|
294
|
-
result.push({
|
|
295
|
-
|
|
296
|
-
value: name
|
|
297
|
-
});
|
|
298
|
-
changed = true;
|
|
229
|
+
result.push({ type: 'word', value: name })
|
|
230
|
+
changed = true
|
|
299
231
|
} else {
|
|
300
|
-
result.push(i)
|
|
232
|
+
result.push(i)
|
|
301
233
|
}
|
|
302
234
|
}
|
|
303
|
-
|
|
304
|
-
return result;
|
|
235
|
+
return result
|
|
305
236
|
}
|
|
237
|
+
|
|
306
238
|
/**
|
|
307
239
|
* Find or create separator
|
|
308
240
|
*/
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
for (var _iterator8 = _createForOfIteratorHelperLoose(params), _step8; !(_step8 = _iterator8()).done;) {
|
|
313
|
-
var param = _step8.value;
|
|
314
|
-
|
|
315
|
-
for (var _iterator9 = _createForOfIteratorHelperLoose(param), _step9; !(_step9 = _iterator9()).done;) {
|
|
316
|
-
var node = _step9.value;
|
|
317
|
-
|
|
241
|
+
div (params) {
|
|
242
|
+
for (let param of params) {
|
|
243
|
+
for (let node of param) {
|
|
318
244
|
if (node.type === 'div' && node.value === ',') {
|
|
319
|
-
return node
|
|
245
|
+
return node
|
|
320
246
|
}
|
|
321
247
|
}
|
|
322
248
|
}
|
|
249
|
+
return { type: 'div', value: ',', after: ' ' }
|
|
250
|
+
}
|
|
323
251
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}
|
|
329
|
-
};
|
|
330
|
-
|
|
331
|
-
_proto.cleanOtherPrefixes = function cleanOtherPrefixes(params, prefix) {
|
|
332
|
-
var _this3 = this;
|
|
333
|
-
|
|
334
|
-
return params.filter(function (param) {
|
|
335
|
-
var current = vendor.prefix(_this3.findProp(param));
|
|
336
|
-
return current === '' || current === prefix;
|
|
337
|
-
});
|
|
252
|
+
cleanOtherPrefixes (params, prefix) {
|
|
253
|
+
return params.filter(param => {
|
|
254
|
+
let current = vendor.prefix(this.findProp(param))
|
|
255
|
+
return current === '' || current === prefix
|
|
256
|
+
})
|
|
338
257
|
}
|
|
258
|
+
|
|
339
259
|
/**
|
|
340
260
|
* Remove all non-webkit prefixes and unprefixed params if we have prefixed
|
|
341
261
|
*/
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
return _this4.prefixes.unprefixed(i);
|
|
353
|
-
});
|
|
354
|
-
var result = [];
|
|
355
|
-
|
|
356
|
-
for (var _iterator10 = _createForOfIteratorHelperLoose(params), _step10; !(_step10 = _iterator10()).done;) {
|
|
357
|
-
var param = _step10.value;
|
|
358
|
-
var prop = this.findProp(param);
|
|
359
|
-
var p = vendor.prefix(prop);
|
|
360
|
-
|
|
262
|
+
cleanFromUnprefixed (params, prefix) {
|
|
263
|
+
let remove = params
|
|
264
|
+
.map(i => this.findProp(i))
|
|
265
|
+
.filter(i => i.slice(0, prefix.length) === prefix)
|
|
266
|
+
.map(i => this.prefixes.unprefixed(i))
|
|
267
|
+
|
|
268
|
+
let result = []
|
|
269
|
+
for (let param of params) {
|
|
270
|
+
let prop = this.findProp(param)
|
|
271
|
+
let p = vendor.prefix(prop)
|
|
361
272
|
if (!remove.includes(prop) && (p === prefix || p === '')) {
|
|
362
|
-
result.push(param)
|
|
273
|
+
result.push(param)
|
|
363
274
|
}
|
|
364
275
|
}
|
|
365
|
-
|
|
366
|
-
return result;
|
|
276
|
+
return result
|
|
367
277
|
}
|
|
278
|
+
|
|
368
279
|
/**
|
|
369
280
|
* Check property for disabled by option
|
|
370
281
|
*/
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
_proto.disabled = function disabled(prop, prefix) {
|
|
374
|
-
var other = ['order', 'justify-content', 'align-self', 'align-content'];
|
|
375
|
-
|
|
282
|
+
disabled (prop, prefix) {
|
|
283
|
+
let other = ['order', 'justify-content', 'align-self', 'align-content']
|
|
376
284
|
if (prop.includes('flex') || other.includes(prop)) {
|
|
377
285
|
if (this.prefixes.options.flexbox === false) {
|
|
378
|
-
return true
|
|
286
|
+
return true
|
|
379
287
|
}
|
|
380
288
|
|
|
381
289
|
if (this.prefixes.options.flexbox === 'no-2009') {
|
|
382
|
-
return prefix.includes('2009')
|
|
290
|
+
return prefix.includes('2009')
|
|
383
291
|
}
|
|
384
292
|
}
|
|
385
|
-
|
|
386
|
-
return undefined;
|
|
293
|
+
return undefined
|
|
387
294
|
}
|
|
295
|
+
|
|
388
296
|
/**
|
|
389
297
|
* Check if transition prop is inside vendor specific rule
|
|
390
298
|
*/
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
_proto.ruleVendorPrefixes = function ruleVendorPrefixes(decl) {
|
|
394
|
-
var parent = decl.parent;
|
|
299
|
+
ruleVendorPrefixes (decl) {
|
|
300
|
+
let { parent } = decl
|
|
395
301
|
|
|
396
302
|
if (parent.type !== 'rule') {
|
|
397
|
-
return false
|
|
303
|
+
return false
|
|
398
304
|
} else if (!parent.selector.includes(':-')) {
|
|
399
|
-
return false
|
|
305
|
+
return false
|
|
400
306
|
}
|
|
401
307
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
return selectors.length > 0 ? selectors : false;
|
|
406
|
-
};
|
|
308
|
+
let selectors = Browsers.prefixes().filter(s =>
|
|
309
|
+
parent.selector.includes(':' + s)
|
|
310
|
+
)
|
|
407
311
|
|
|
408
|
-
|
|
409
|
-
}
|
|
312
|
+
return selectors.length > 0 ? selectors : false
|
|
313
|
+
}
|
|
314
|
+
}
|
|
410
315
|
|
|
411
|
-
module.exports = Transition
|
|
316
|
+
module.exports = Transition
|