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.
Files changed (80) hide show
  1. package/CHANGELOG.md +999 -0
  2. package/README.md +0 -3
  3. package/bin/autoprefixer +11 -11
  4. package/data/prefixes.js +799 -545
  5. package/lib/at-rule.js +23 -50
  6. package/lib/autoprefixer.js +108 -97
  7. package/lib/brackets.js +31 -44
  8. package/lib/browsers.js +54 -71
  9. package/lib/declaration.js +122 -178
  10. package/lib/hacks/align-content.js +24 -54
  11. package/lib/hacks/align-items.js +23 -53
  12. package/lib/hacks/align-self.js +32 -60
  13. package/lib/hacks/animation.js +11 -29
  14. package/lib/hacks/appearance.js +19 -35
  15. package/lib/hacks/backdrop-filter.js +16 -31
  16. package/lib/hacks/background-clip.js +19 -36
  17. package/lib/hacks/background-size.js +16 -31
  18. package/lib/hacks/block-logical.js +28 -36
  19. package/lib/hacks/border-image.js +9 -27
  20. package/lib/hacks/border-radius.js +22 -44
  21. package/lib/hacks/break-props.js +38 -51
  22. package/lib/hacks/color-adjust.js +11 -30
  23. package/lib/hacks/cross-fade.js +29 -48
  24. package/lib/hacks/display-flex.js +32 -61
  25. package/lib/hacks/display-grid.js +12 -32
  26. package/lib/hacks/filter-value.js +8 -25
  27. package/lib/hacks/filter.js +13 -27
  28. package/lib/hacks/flex-basis.js +21 -54
  29. package/lib/hacks/flex-direction.js +41 -77
  30. package/lib/hacks/flex-flow.js +33 -61
  31. package/lib/hacks/flex-grow.js +16 -43
  32. package/lib/hacks/flex-shrink.js +21 -54
  33. package/lib/hacks/flex-spec.js +7 -10
  34. package/lib/hacks/flex-wrap.js +11 -32
  35. package/lib/hacks/flex.js +27 -58
  36. package/lib/hacks/fullscreen.js +10 -30
  37. package/lib/hacks/gradient.js +240 -330
  38. package/lib/hacks/grid-area.js +25 -43
  39. package/lib/hacks/grid-column-align.js +14 -34
  40. package/lib/hacks/grid-end.js +30 -45
  41. package/lib/hacks/grid-row-align.js +14 -34
  42. package/lib/hacks/grid-row-column.js +20 -39
  43. package/lib/hacks/grid-rows-columns.js +75 -99
  44. package/lib/hacks/grid-start.js +17 -39
  45. package/lib/hacks/grid-template-areas.js +59 -76
  46. package/lib/hacks/grid-template.js +40 -61
  47. package/lib/hacks/grid-utils.js +686 -716
  48. package/lib/hacks/image-rendering.js +24 -47
  49. package/lib/hacks/image-set.js +10 -30
  50. package/lib/hacks/inline-logical.js +26 -32
  51. package/lib/hacks/intrinsic.js +40 -53
  52. package/lib/hacks/justify-content.js +26 -57
  53. package/lib/hacks/mask-border.js +28 -36
  54. package/lib/hacks/mask-composite.js +41 -57
  55. package/lib/hacks/order.js +22 -52
  56. package/lib/hacks/overscroll-behavior.js +16 -37
  57. package/lib/hacks/pixelated.js +16 -40
  58. package/lib/hacks/place-self.js +18 -41
  59. package/lib/hacks/placeholder-shown.js +9 -28
  60. package/lib/hacks/placeholder.js +15 -38
  61. package/lib/hacks/text-decoration-skip-ink.js +14 -29
  62. package/lib/hacks/text-decoration.js +20 -31
  63. package/lib/hacks/text-emphasis-position.js +9 -28
  64. package/lib/hacks/transform-decl.js +43 -69
  65. package/lib/hacks/user-select.js +19 -27
  66. package/lib/hacks/writing-mode.js +19 -36
  67. package/lib/info.js +63 -93
  68. package/lib/old-selector.js +39 -60
  69. package/lib/old-value.js +17 -25
  70. package/lib/prefixer.js +83 -110
  71. package/lib/prefixes.js +233 -336
  72. package/lib/processor.js +420 -416
  73. package/lib/resolution.js +62 -98
  74. package/lib/selector.js +91 -139
  75. package/lib/supports.js +194 -246
  76. package/lib/transition.js +170 -265
  77. package/lib/utils.js +49 -72
  78. package/lib/value.js +77 -116
  79. package/lib/vendor.js +14 -0
  80. package/package.json +23 -12
package/data/prefixes.js CHANGED
@@ -1,714 +1,968 @@
1
- "use strict";
2
-
3
- function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
4
-
5
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
-
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8
-
9
- var unpack = require('caniuse-lite').feature;
10
-
11
- function browsersSort(a, b) {
12
- a = a.split(' ');
13
- b = b.split(' ');
1
+ let unpack = require('caniuse-lite').feature
14
2
 
3
+ function browsersSort (a, b) {
4
+ a = a.split(' ')
5
+ b = b.split(' ')
15
6
  if (a[0] > b[0]) {
16
- return 1;
7
+ return 1
17
8
  } else if (a[0] < b[0]) {
18
- return -1;
9
+ return -1
19
10
  } else {
20
- return Math.sign(parseFloat(a[1]) - parseFloat(b[1]));
11
+ return Math.sign(parseFloat(a[1]) - parseFloat(b[1]))
21
12
  }
22
- } // Convert Can I Use data
23
-
13
+ }
24
14
 
25
- function f(data, opts, callback) {
26
- data = unpack(data);
15
+ // Convert Can I Use data
16
+ function f (data, opts, callback) {
17
+ data = unpack(data)
27
18
 
28
19
  if (!callback) {
29
- var _ref = [opts, {}];
30
- callback = _ref[0];
31
- opts = _ref[1];
20
+ ;[callback, opts] = [opts, {}]
32
21
  }
33
22
 
34
- var match = opts.match || /\sx($|\s)/;
35
- var need = [];
36
-
37
- for (var browser in data.stats) {
38
- var versions = data.stats[browser];
39
-
40
- for (var version in versions) {
41
- var support = versions[version];
23
+ let match = opts.match || /\sx($|\s)/
24
+ let need = []
42
25
 
26
+ for (let browser in data.stats) {
27
+ let versions = data.stats[browser]
28
+ for (let version in versions) {
29
+ let support = versions[version]
43
30
  if (support.match(match)) {
44
- need.push(browser + ' ' + version);
31
+ need.push(browser + ' ' + version)
45
32
  }
46
33
  }
47
34
  }
48
35
 
49
- callback(need.sort(browsersSort));
50
- } // Add data for all properties
51
-
36
+ callback(need.sort(browsersSort))
37
+ }
52
38
 
53
- var result = {};
39
+ // Add data for all properties
40
+ let result = {}
54
41
 
55
- function prefix(names, data) {
56
- for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) {
57
- var name = _step.value;
58
- result[name] = Object.assign({}, data);
42
+ function prefix (names, data) {
43
+ for (let name of names) {
44
+ result[name] = Object.assign({}, data)
59
45
  }
60
46
  }
61
47
 
62
- function add(names, data) {
63
- for (var _iterator2 = _createForOfIteratorHelperLoose(names), _step2; !(_step2 = _iterator2()).done;) {
64
- var name = _step2.value;
65
- result[name].browsers = result[name].browsers.concat(data.browsers).sort(browsersSort);
48
+ function add (names, data) {
49
+ for (let name of names) {
50
+ result[name].browsers = result[name].browsers
51
+ .concat(data.browsers)
52
+ .sort(browsersSort)
66
53
  }
67
54
  }
68
55
 
69
- module.exports = result; // Border Radius
70
-
71
- f(require('caniuse-lite/data/features/border-radius'), function (browsers) {
72
- return prefix(['border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius'], {
73
- mistakes: ['-khtml-', '-ms-', '-o-'],
74
- feature: 'border-radius',
75
- browsers: browsers
76
- });
77
- }); // Box Shadow
56
+ module.exports = result
57
+
58
+ // Border Radius
59
+ f(require('caniuse-lite/data/features/border-radius'), browsers =>
60
+ prefix(
61
+ [
62
+ 'border-radius',
63
+ 'border-top-left-radius',
64
+ 'border-top-right-radius',
65
+ 'border-bottom-right-radius',
66
+ 'border-bottom-left-radius'
67
+ ],
68
+ {
69
+ mistakes: ['-khtml-', '-ms-', '-o-'],
70
+ feature: 'border-radius',
71
+ browsers
72
+ }
73
+ )
74
+ )
78
75
 
79
- f(require('caniuse-lite/data/features/css-boxshadow'), function (browsers) {
80
- return prefix(['box-shadow'], {
76
+ // Box Shadow
77
+ f(require('caniuse-lite/data/features/css-boxshadow'), browsers =>
78
+ prefix(['box-shadow'], {
81
79
  mistakes: ['-khtml-'],
82
80
  feature: 'css-boxshadow',
83
- browsers: browsers
84
- });
85
- }); // Animation
86
-
87
- f(require('caniuse-lite/data/features/css-animation'), function (browsers) {
88
- return prefix(['animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes'], {
89
- mistakes: ['-khtml-', '-ms-'],
90
- feature: 'css-animation',
91
- browsers: browsers
92
- });
93
- }); // Transition
94
-
95
- f(require('caniuse-lite/data/features/css-transitions'), function (browsers) {
96
- return prefix(['transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function'], {
97
- mistakes: ['-khtml-', '-ms-'],
98
- browsers: browsers,
99
- feature: 'css-transitions'
100
- });
101
- }); // Transform 2D
102
-
103
- f(require('caniuse-lite/data/features/transforms2d'), function (browsers) {
104
- return prefix(['transform', 'transform-origin'], {
81
+ browsers
82
+ })
83
+ )
84
+
85
+ // Animation
86
+ f(require('caniuse-lite/data/features/css-animation'), browsers =>
87
+ prefix(
88
+ [
89
+ 'animation',
90
+ 'animation-name',
91
+ 'animation-duration',
92
+ 'animation-delay',
93
+ 'animation-direction',
94
+ 'animation-fill-mode',
95
+ 'animation-iteration-count',
96
+ 'animation-play-state',
97
+ 'animation-timing-function',
98
+ '@keyframes'
99
+ ],
100
+ {
101
+ mistakes: ['-khtml-', '-ms-'],
102
+ feature: 'css-animation',
103
+ browsers
104
+ }
105
+ )
106
+ )
107
+
108
+ // Transition
109
+ f(require('caniuse-lite/data/features/css-transitions'), browsers =>
110
+ prefix(
111
+ [
112
+ 'transition',
113
+ 'transition-property',
114
+ 'transition-duration',
115
+ 'transition-delay',
116
+ 'transition-timing-function'
117
+ ],
118
+ {
119
+ mistakes: ['-khtml-', '-ms-'],
120
+ browsers,
121
+ feature: 'css-transitions'
122
+ }
123
+ )
124
+ )
125
+
126
+ // Transform 2D
127
+ f(require('caniuse-lite/data/features/transforms2d'), browsers =>
128
+ prefix(['transform', 'transform-origin'], {
105
129
  feature: 'transforms2d',
106
- browsers: browsers
107
- });
108
- }); // Transform 3D
130
+ browsers
131
+ })
132
+ )
109
133
 
110
- var transforms3d = require('caniuse-lite/data/features/transforms3d');
134
+ // Transform 3D
135
+ let transforms3d = require('caniuse-lite/data/features/transforms3d')
111
136
 
112
- f(transforms3d, function (browsers) {
137
+ f(transforms3d, browsers => {
113
138
  prefix(['perspective', 'perspective-origin'], {
114
139
  feature: 'transforms3d',
115
- browsers: browsers
116
- });
140
+ browsers
141
+ })
117
142
  return prefix(['transform-style'], {
118
143
  mistakes: ['-ms-', '-o-'],
119
- browsers: browsers,
144
+ browsers,
120
145
  feature: 'transforms3d'
121
- });
122
- });
123
- f(transforms3d, {
124
- match: /y\sx|y\s#2/
125
- }, function (browsers) {
126
- return prefix(['backface-visibility'], {
146
+ })
147
+ })
148
+
149
+ f(transforms3d, { match: /y\sx|y\s#2/ }, browsers =>
150
+ prefix(['backface-visibility'], {
127
151
  mistakes: ['-ms-', '-o-'],
128
152
  feature: 'transforms3d',
129
- browsers: browsers
130
- });
131
- }); // Gradients
132
-
133
- var gradients = require('caniuse-lite/data/features/css-gradients');
134
-
135
- f(gradients, {
136
- match: /y\sx/
137
- }, function (browsers) {
138
- return prefix(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], {
139
- props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
140
- mistakes: ['-ms-'],
141
- feature: 'css-gradients',
142
- browsers: browsers
143
- });
144
- });
145
- f(gradients, {
146
- match: /a\sx/
147
- }, function (browsers) {
148
- browsers = browsers.map(function (i) {
153
+ browsers
154
+ })
155
+ )
156
+
157
+ // Gradients
158
+ let gradients = require('caniuse-lite/data/features/css-gradients')
159
+
160
+ f(gradients, { match: /y\sx/ }, browsers =>
161
+ prefix(
162
+ [
163
+ 'linear-gradient',
164
+ 'repeating-linear-gradient',
165
+ 'radial-gradient',
166
+ 'repeating-radial-gradient'
167
+ ],
168
+ {
169
+ props: [
170
+ 'background',
171
+ 'background-image',
172
+ 'border-image',
173
+ 'mask',
174
+ 'list-style',
175
+ 'list-style-image',
176
+ 'content',
177
+ 'mask-image'
178
+ ],
179
+ mistakes: ['-ms-'],
180
+ feature: 'css-gradients',
181
+ browsers
182
+ }
183
+ )
184
+ )
185
+
186
+ f(gradients, { match: /a\sx/ }, browsers => {
187
+ browsers = browsers.map(i => {
149
188
  if (/firefox|op/.test(i)) {
150
- return i;
189
+ return i
151
190
  } else {
152
- return i + " old";
191
+ return `${i} old`
192
+ }
193
+ })
194
+ return add(
195
+ [
196
+ 'linear-gradient',
197
+ 'repeating-linear-gradient',
198
+ 'radial-gradient',
199
+ 'repeating-radial-gradient'
200
+ ],
201
+ {
202
+ feature: 'css-gradients',
203
+ browsers
153
204
  }
154
- });
155
- return add(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], {
156
- feature: 'css-gradients',
157
- browsers: browsers
158
- });
159
- }); // Box sizing
160
-
161
- f(require('caniuse-lite/data/features/css3-boxsizing'), function (browsers) {
162
- return prefix(['box-sizing'], {
205
+ )
206
+ })
207
+
208
+ // Box sizing
209
+ f(require('caniuse-lite/data/features/css3-boxsizing'), browsers =>
210
+ prefix(['box-sizing'], {
163
211
  feature: 'css3-boxsizing',
164
- browsers: browsers
165
- });
166
- }); // Filter Effects
212
+ browsers
213
+ })
214
+ )
167
215
 
168
- f(require('caniuse-lite/data/features/css-filters'), function (browsers) {
169
- return prefix(['filter'], {
216
+ // Filter Effects
217
+ f(require('caniuse-lite/data/features/css-filters'), browsers =>
218
+ prefix(['filter'], {
170
219
  feature: 'css-filters',
171
- browsers: browsers
172
- });
173
- }); // filter() function
174
-
175
- f(require('caniuse-lite/data/features/css-filter-function'), function (browsers) {
176
- return prefix(['filter-function'], {
177
- props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
220
+ browsers
221
+ })
222
+ )
223
+
224
+ // filter() function
225
+ f(require('caniuse-lite/data/features/css-filter-function'), browsers =>
226
+ prefix(['filter-function'], {
227
+ props: [
228
+ 'background',
229
+ 'background-image',
230
+ 'border-image',
231
+ 'mask',
232
+ 'list-style',
233
+ 'list-style-image',
234
+ 'content',
235
+ 'mask-image'
236
+ ],
178
237
  feature: 'css-filter-function',
179
- browsers: browsers
180
- });
181
- }); // Backdrop-filter
182
-
183
- var backdrop = require('caniuse-lite/data/features/css-backdrop-filter');
184
-
185
- f(backdrop, {
186
- match: /y\sx|y\s#2/
187
- }, function (browsers) {
188
- return prefix(['backdrop-filter'], {
238
+ browsers
239
+ })
240
+ )
241
+
242
+ // Backdrop-filter
243
+ let backdrop = require('caniuse-lite/data/features/css-backdrop-filter')
244
+ f(backdrop, { match: /y\sx|y\s#2/ }, browsers =>
245
+ prefix(['backdrop-filter'], {
189
246
  feature: 'css-backdrop-filter',
190
- browsers: browsers
191
- });
192
- }); // element() function
193
-
194
- f(require('caniuse-lite/data/features/css-element-function'), function (browsers) {
195
- return prefix(['element'], {
196
- props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
247
+ browsers
248
+ })
249
+ )
250
+
251
+ // element() function
252
+ f(require('caniuse-lite/data/features/css-element-function'), browsers =>
253
+ prefix(['element'], {
254
+ props: [
255
+ 'background',
256
+ 'background-image',
257
+ 'border-image',
258
+ 'mask',
259
+ 'list-style',
260
+ 'list-style-image',
261
+ 'content',
262
+ 'mask-image'
263
+ ],
197
264
  feature: 'css-element-function',
198
- browsers: browsers
199
- });
200
- }); // Multicolumns
265
+ browsers
266
+ })
267
+ )
268
+
269
+ // Multicolumns
270
+ f(require('caniuse-lite/data/features/multicolumn'), browsers => {
271
+ prefix(
272
+ [
273
+ 'columns',
274
+ 'column-width',
275
+ 'column-gap',
276
+ 'column-rule',
277
+ 'column-rule-color',
278
+ 'column-rule-width',
279
+ 'column-count',
280
+ 'column-rule-style',
281
+ 'column-span',
282
+ 'column-fill'
283
+ ],
284
+ {
285
+ feature: 'multicolumn',
286
+ browsers
287
+ }
288
+ )
201
289
 
202
- f(require('caniuse-lite/data/features/multicolumn'), function (browsers) {
203
- prefix(['columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-count', 'column-rule-style', 'column-span', 'column-fill'], {
204
- feature: 'multicolumn',
205
- browsers: browsers
206
- });
207
- var noff = browsers.filter(function (i) {
208
- return !/firefox/.test(i);
209
- });
290
+ let noff = browsers.filter(i => !/firefox/.test(i))
210
291
  prefix(['break-before', 'break-after', 'break-inside'], {
211
292
  feature: 'multicolumn',
212
293
  browsers: noff
213
- });
214
- }); // User select
294
+ })
295
+ })
215
296
 
216
- f(require('caniuse-lite/data/features/user-select-none'), function (browsers) {
217
- return prefix(['user-select'], {
297
+ // User select
298
+ f(require('caniuse-lite/data/features/user-select-none'), browsers =>
299
+ prefix(['user-select'], {
218
300
  mistakes: ['-khtml-'],
219
301
  feature: 'user-select-none',
220
- browsers: browsers
221
- });
222
- }); // Flexible Box Layout
223
-
224
- var flexbox = require('caniuse-lite/data/features/flexbox');
225
-
226
- f(flexbox, {
227
- match: /a\sx/
228
- }, function (browsers) {
229
- browsers = browsers.map(function (i) {
302
+ browsers
303
+ })
304
+ )
305
+
306
+ // Flexible Box Layout
307
+ let flexbox = require('caniuse-lite/data/features/flexbox')
308
+ f(flexbox, { match: /a\sx/ }, browsers => {
309
+ browsers = browsers.map(i => {
230
310
  if (/ie|firefox/.test(i)) {
231
- return i;
311
+ return i
232
312
  } else {
233
- return i + " 2009";
313
+ return `${i} 2009`
234
314
  }
235
- });
315
+ })
236
316
  prefix(['display-flex', 'inline-flex'], {
237
317
  props: ['display'],
238
318
  feature: 'flexbox',
239
- browsers: browsers
240
- });
319
+ browsers
320
+ })
241
321
  prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {
242
322
  feature: 'flexbox',
243
- browsers: browsers
244
- });
245
- prefix(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], {
246
- feature: 'flexbox',
247
- browsers: browsers
248
- });
249
- });
250
- f(flexbox, {
251
- match: /y\sx/
252
- }, function (browsers) {
323
+ browsers
324
+ })
325
+ prefix(
326
+ [
327
+ 'flex-direction',
328
+ 'flex-wrap',
329
+ 'flex-flow',
330
+ 'justify-content',
331
+ 'order',
332
+ 'align-items',
333
+ 'align-self',
334
+ 'align-content'
335
+ ],
336
+ {
337
+ feature: 'flexbox',
338
+ browsers
339
+ }
340
+ )
341
+ })
342
+
343
+ f(flexbox, { match: /y\sx/ }, browsers => {
253
344
  add(['display-flex', 'inline-flex'], {
254
345
  feature: 'flexbox',
255
- browsers: browsers
256
- });
346
+ browsers
347
+ })
257
348
  add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {
258
349
  feature: 'flexbox',
259
- browsers: browsers
260
- });
261
- add(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], {
262
- feature: 'flexbox',
263
- browsers: browsers
264
- });
265
- }); // calc() unit
350
+ browsers
351
+ })
352
+ add(
353
+ [
354
+ 'flex-direction',
355
+ 'flex-wrap',
356
+ 'flex-flow',
357
+ 'justify-content',
358
+ 'order',
359
+ 'align-items',
360
+ 'align-self',
361
+ 'align-content'
362
+ ],
363
+ {
364
+ feature: 'flexbox',
365
+ browsers
366
+ }
367
+ )
368
+ })
266
369
 
267
- f(require('caniuse-lite/data/features/calc'), function (browsers) {
268
- return prefix(['calc'], {
370
+ // calc() unit
371
+ f(require('caniuse-lite/data/features/calc'), browsers =>
372
+ prefix(['calc'], {
269
373
  props: ['*'],
270
374
  feature: 'calc',
271
- browsers: browsers
272
- });
273
- }); // Background options
375
+ browsers
376
+ })
377
+ )
274
378
 
275
- f(require('caniuse-lite/data/features/background-img-opts'), function (browsers) {
276
- return prefix(['background-origin', 'background-size'], {
379
+ // Background options
380
+ f(require('caniuse-lite/data/features/background-img-opts'), browsers =>
381
+ prefix(['background-origin', 'background-size'], {
277
382
  feature: 'background-img-opts',
278
- browsers: browsers
279
- });
280
- }); // background-clip: text
383
+ browsers
384
+ })
385
+ )
281
386
 
282
- f(require('caniuse-lite/data/features/background-clip-text'), function (browsers) {
283
- return prefix(['background-clip'], {
387
+ // background-clip: text
388
+ f(require('caniuse-lite/data/features/background-clip-text'), browsers =>
389
+ prefix(['background-clip'], {
284
390
  feature: 'background-clip-text',
285
- browsers: browsers
286
- });
287
- }); // Font feature settings
288
-
289
- f(require('caniuse-lite/data/features/font-feature'), function (browsers) {
290
- return prefix(['font-feature-settings', 'font-variant-ligatures', 'font-language-override'], {
291
- feature: 'font-feature',
292
- browsers: browsers
293
- });
294
- }); // CSS font-kerning property
295
-
296
- f(require('caniuse-lite/data/features/font-kerning'), function (browsers) {
297
- return prefix(['font-kerning'], {
391
+ browsers
392
+ })
393
+ )
394
+
395
+ // Font feature settings
396
+ f(require('caniuse-lite/data/features/font-feature'), browsers =>
397
+ prefix(
398
+ [
399
+ 'font-feature-settings',
400
+ 'font-variant-ligatures',
401
+ 'font-language-override'
402
+ ],
403
+ {
404
+ feature: 'font-feature',
405
+ browsers
406
+ }
407
+ )
408
+ )
409
+
410
+ // CSS font-kerning property
411
+ f(require('caniuse-lite/data/features/font-kerning'), browsers =>
412
+ prefix(['font-kerning'], {
298
413
  feature: 'font-kerning',
299
- browsers: browsers
300
- });
301
- }); // Border image
414
+ browsers
415
+ })
416
+ )
302
417
 
303
- f(require('caniuse-lite/data/features/border-image'), function (browsers) {
304
- return prefix(['border-image'], {
418
+ // Border image
419
+ f(require('caniuse-lite/data/features/border-image'), browsers =>
420
+ prefix(['border-image'], {
305
421
  feature: 'border-image',
306
- browsers: browsers
307
- });
308
- }); // Selection selector
422
+ browsers
423
+ })
424
+ )
309
425
 
310
- f(require('caniuse-lite/data/features/css-selection'), function (browsers) {
311
- return prefix(['::selection'], {
426
+ // Selection selector
427
+ f(require('caniuse-lite/data/features/css-selection'), browsers =>
428
+ prefix(['::selection'], {
312
429
  selector: true,
313
430
  feature: 'css-selection',
314
- browsers: browsers
315
- });
316
- }); // Placeholder selector
431
+ browsers
432
+ })
433
+ )
317
434
 
318
- f(require('caniuse-lite/data/features/css-placeholder'), function (browsers) {
435
+ // Placeholder selector
436
+ f(require('caniuse-lite/data/features/css-placeholder'), browsers => {
319
437
  prefix(['::placeholder'], {
320
438
  selector: true,
321
439
  feature: 'css-placeholder',
322
440
  browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old'])
323
- });
324
- }); // Placeholder-shown selector
441
+ })
442
+ })
325
443
 
326
- f(require('caniuse-lite/data/features/css-placeholder-shown'), function (browsers) {
444
+ // Placeholder-shown selector
445
+ f(require('caniuse-lite/data/features/css-placeholder-shown'), browsers => {
327
446
  prefix([':placeholder-shown'], {
328
447
  selector: true,
329
448
  feature: 'css-placeholder-shown',
330
- browsers: browsers
331
- });
332
- }); // Hyphenation
449
+ browsers
450
+ })
451
+ })
333
452
 
334
- f(require('caniuse-lite/data/features/css-hyphens'), function (browsers) {
335
- return prefix(['hyphens'], {
453
+ // Hyphenation
454
+ f(require('caniuse-lite/data/features/css-hyphens'), browsers =>
455
+ prefix(['hyphens'], {
336
456
  feature: 'css-hyphens',
337
- browsers: browsers
338
- });
339
- }); // Fullscreen selector
457
+ browsers
458
+ })
459
+ )
340
460
 
341
- var fullscreen = require('caniuse-lite/data/features/fullscreen');
461
+ // Fullscreen selector
462
+ let fullscreen = require('caniuse-lite/data/features/fullscreen')
342
463
 
343
- f(fullscreen, function (browsers) {
344
- return prefix([':fullscreen'], {
464
+ f(fullscreen, browsers =>
465
+ prefix([':fullscreen'], {
345
466
  selector: true,
346
467
  feature: 'fullscreen',
347
- browsers: browsers
348
- });
349
- });
350
- f(fullscreen, {
351
- match: /x(\s#2|$)/
352
- }, function (browsers) {
353
- return prefix(['::backdrop'], {
468
+ browsers
469
+ })
470
+ )
471
+
472
+ f(fullscreen, { match: /x(\s#2|$)/ }, browsers =>
473
+ prefix(['::backdrop'], {
354
474
  selector: true,
355
475
  feature: 'fullscreen',
356
- browsers: browsers
357
- });
358
- }); // Tab size
476
+ browsers
477
+ })
478
+ )
359
479
 
360
- f(require('caniuse-lite/data/features/css3-tabsize'), function (browsers) {
361
- return prefix(['tab-size'], {
480
+ // Tab size
481
+ f(require('caniuse-lite/data/features/css3-tabsize'), browsers =>
482
+ prefix(['tab-size'], {
362
483
  feature: 'css3-tabsize',
363
- browsers: browsers
364
- });
365
- }); // Intrinsic & extrinsic sizing
366
-
367
- var intrinsic = require('caniuse-lite/data/features/intrinsic-width');
368
-
369
- var sizeProps = ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size', 'grid', 'grid-template', 'grid-template-rows', 'grid-template-columns', 'grid-auto-columns', 'grid-auto-rows'];
370
- f(intrinsic, function (browsers) {
371
- return prefix(['max-content', 'min-content'], {
484
+ browsers
485
+ })
486
+ )
487
+
488
+ // Intrinsic & extrinsic sizing
489
+ let intrinsic = require('caniuse-lite/data/features/intrinsic-width')
490
+
491
+ let sizeProps = [
492
+ 'width',
493
+ 'min-width',
494
+ 'max-width',
495
+ 'height',
496
+ 'min-height',
497
+ 'max-height',
498
+ 'inline-size',
499
+ 'min-inline-size',
500
+ 'max-inline-size',
501
+ 'block-size',
502
+ 'min-block-size',
503
+ 'max-block-size',
504
+ 'grid',
505
+ 'grid-template',
506
+ 'grid-template-rows',
507
+ 'grid-template-columns',
508
+ 'grid-auto-columns',
509
+ 'grid-auto-rows'
510
+ ]
511
+
512
+ f(intrinsic, browsers =>
513
+ prefix(['max-content', 'min-content'], {
372
514
  props: sizeProps,
373
515
  feature: 'intrinsic-width',
374
- browsers: browsers
375
- });
376
- });
377
- f(intrinsic, {
378
- match: /x|\s#4/
379
- }, function (browsers) {
380
- return prefix(['fill', 'fill-available', 'stretch'], {
516
+ browsers
517
+ })
518
+ )
519
+
520
+ f(intrinsic, { match: /x|\s#4/ }, browsers =>
521
+ prefix(['fill', 'fill-available', 'stretch'], {
381
522
  props: sizeProps,
382
523
  feature: 'intrinsic-width',
383
- browsers: browsers
384
- });
385
- });
386
- f(intrinsic, {
387
- match: /x|\s#5/
388
- }, function (browsers) {
389
- return prefix(['fit-content'], {
524
+ browsers
525
+ })
526
+ )
527
+
528
+ f(intrinsic, { match: /x|\s#5/ }, browsers =>
529
+ prefix(['fit-content'], {
390
530
  props: sizeProps,
391
531
  feature: 'intrinsic-width',
392
- browsers: browsers
393
- });
394
- }); // Zoom cursors
532
+ browsers
533
+ })
534
+ )
395
535
 
396
- f(require('caniuse-lite/data/features/css3-cursors-newer'), function (browsers) {
397
- return prefix(['zoom-in', 'zoom-out'], {
536
+ // Zoom cursors
537
+ f(require('caniuse-lite/data/features/css3-cursors-newer'), browsers =>
538
+ prefix(['zoom-in', 'zoom-out'], {
398
539
  props: ['cursor'],
399
540
  feature: 'css3-cursors-newer',
400
- browsers: browsers
401
- });
402
- }); // Grab cursors
541
+ browsers
542
+ })
543
+ )
403
544
 
404
- f(require('caniuse-lite/data/features/css3-cursors-grab'), function (browsers) {
405
- return prefix(['grab', 'grabbing'], {
545
+ // Grab cursors
546
+ f(require('caniuse-lite/data/features/css3-cursors-grab'), browsers =>
547
+ prefix(['grab', 'grabbing'], {
406
548
  props: ['cursor'],
407
549
  feature: 'css3-cursors-grab',
408
- browsers: browsers
409
- });
410
- }); // Sticky position
550
+ browsers
551
+ })
552
+ )
411
553
 
412
- f(require('caniuse-lite/data/features/css-sticky'), function (browsers) {
413
- return prefix(['sticky'], {
554
+ // Sticky position
555
+ f(require('caniuse-lite/data/features/css-sticky'), browsers =>
556
+ prefix(['sticky'], {
414
557
  props: ['position'],
415
558
  feature: 'css-sticky',
416
- browsers: browsers
417
- });
418
- }); // Pointer Events
559
+ browsers
560
+ })
561
+ )
419
562
 
420
- f(require('caniuse-lite/data/features/pointer'), function (browsers) {
421
- return prefix(['touch-action'], {
563
+ // Pointer Events
564
+ f(require('caniuse-lite/data/features/pointer'), browsers =>
565
+ prefix(['touch-action'], {
422
566
  feature: 'pointer',
423
- browsers: browsers
424
- });
425
- }); // Text decoration
426
-
427
- var decoration = require('caniuse-lite/data/features/text-decoration');
567
+ browsers
568
+ })
569
+ )
570
+
571
+ // Text decoration
572
+ let decoration = require('caniuse-lite/data/features/text-decoration')
573
+
574
+ f(decoration, browsers =>
575
+ prefix(
576
+ [
577
+ 'text-decoration-style',
578
+ 'text-decoration-color',
579
+ 'text-decoration-line',
580
+ 'text-decoration'
581
+ ],
582
+ {
583
+ feature: 'text-decoration',
584
+ browsers
585
+ }
586
+ )
587
+ )
428
588
 
429
- f(decoration, function (browsers) {
430
- return prefix(['text-decoration-style', 'text-decoration-color', 'text-decoration-line', 'text-decoration'], {
589
+ f(decoration, { match: /x.*#[235]/ }, browsers =>
590
+ prefix(['text-decoration-skip', 'text-decoration-skip-ink'], {
431
591
  feature: 'text-decoration',
432
- browsers: browsers
433
- });
434
- });
435
- f(decoration, {
436
- match: /x.*#[235]/
437
- }, function (browsers) {
438
- return prefix(['text-decoration-skip', 'text-decoration-skip-ink'], {
439
- feature: 'text-decoration',
440
- browsers: browsers
441
- });
442
- }); // Text Size Adjust
592
+ browsers
593
+ })
594
+ )
443
595
 
444
- f(require('caniuse-lite/data/features/text-size-adjust'), function (browsers) {
445
- return prefix(['text-size-adjust'], {
596
+ // Text Size Adjust
597
+ f(require('caniuse-lite/data/features/text-size-adjust'), browsers =>
598
+ prefix(['text-size-adjust'], {
446
599
  feature: 'text-size-adjust',
447
- browsers: browsers
448
- });
449
- }); // CSS Masks
450
-
451
- f(require('caniuse-lite/data/features/css-masks'), function (browsers) {
452
- prefix(['mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source'], {
453
- feature: 'css-masks',
454
- browsers: browsers
455
- });
456
- prefix(['mask', 'mask-position', 'mask-size', 'mask-border', 'mask-border-outset', 'mask-border-width', 'mask-border-slice'], {
457
- feature: 'css-masks',
458
- browsers: browsers
459
- });
460
- }); // CSS clip-path property
461
-
462
- f(require('caniuse-lite/data/features/css-clip-path'), function (browsers) {
463
- return prefix(['clip-path'], {
600
+ browsers
601
+ })
602
+ )
603
+
604
+ // CSS Masks
605
+ f(require('caniuse-lite/data/features/css-masks'), browsers => {
606
+ prefix(
607
+ [
608
+ 'mask-clip',
609
+ 'mask-composite',
610
+ 'mask-image',
611
+ 'mask-origin',
612
+ 'mask-repeat',
613
+ 'mask-border-repeat',
614
+ 'mask-border-source'
615
+ ],
616
+ {
617
+ feature: 'css-masks',
618
+ browsers
619
+ }
620
+ )
621
+ prefix(
622
+ [
623
+ 'mask',
624
+ 'mask-position',
625
+ 'mask-size',
626
+ 'mask-border',
627
+ 'mask-border-outset',
628
+ 'mask-border-width',
629
+ 'mask-border-slice'
630
+ ],
631
+ {
632
+ feature: 'css-masks',
633
+ browsers
634
+ }
635
+ )
636
+ })
637
+
638
+ // CSS clip-path property
639
+ f(require('caniuse-lite/data/features/css-clip-path'), browsers =>
640
+ prefix(['clip-path'], {
464
641
  feature: 'css-clip-path',
465
- browsers: browsers
466
- });
467
- }); // Fragmented Borders and Backgrounds
642
+ browsers
643
+ })
644
+ )
468
645
 
469
- f(require('caniuse-lite/data/features/css-boxdecorationbreak'), function (browsers) {
470
- return prefix(['box-decoration-break'], {
646
+ // Fragmented Borders and Backgrounds
647
+ f(require('caniuse-lite/data/features/css-boxdecorationbreak'), browsers =>
648
+ prefix(['box-decoration-break'], {
471
649
  feature: 'css-boxdecorationbreak',
472
- browsers: browsers
473
- });
474
- }); // CSS3 object-fit/object-position
650
+ browsers
651
+ })
652
+ )
475
653
 
476
- f(require('caniuse-lite/data/features/object-fit'), function (browsers) {
477
- return prefix(['object-fit', 'object-position'], {
654
+ // CSS3 object-fit/object-position
655
+ f(require('caniuse-lite/data/features/object-fit'), browsers =>
656
+ prefix(['object-fit', 'object-position'], {
478
657
  feature: 'object-fit',
479
- browsers: browsers
480
- });
481
- }); // CSS Shapes
658
+ browsers
659
+ })
660
+ )
482
661
 
483
- f(require('caniuse-lite/data/features/css-shapes'), function (browsers) {
484
- return prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {
662
+ // CSS Shapes
663
+ f(require('caniuse-lite/data/features/css-shapes'), browsers =>
664
+ prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {
485
665
  feature: 'css-shapes',
486
- browsers: browsers
487
- });
488
- }); // CSS3 text-overflow
666
+ browsers
667
+ })
668
+ )
489
669
 
490
- f(require('caniuse-lite/data/features/text-overflow'), function (browsers) {
491
- return prefix(['text-overflow'], {
670
+ // CSS3 text-overflow
671
+ f(require('caniuse-lite/data/features/text-overflow'), browsers =>
672
+ prefix(['text-overflow'], {
492
673
  feature: 'text-overflow',
493
- browsers: browsers
494
- });
495
- }); // Viewport at-rule
674
+ browsers
675
+ })
676
+ )
496
677
 
497
- f(require('caniuse-lite/data/features/css-deviceadaptation'), function (browsers) {
498
- return prefix(['@viewport'], {
678
+ // Viewport at-rule
679
+ f(require('caniuse-lite/data/features/css-deviceadaptation'), browsers =>
680
+ prefix(['@viewport'], {
499
681
  feature: 'css-deviceadaptation',
500
- browsers: browsers
501
- });
502
- }); // Resolution Media Queries
503
-
504
- var resolut = require('caniuse-lite/data/features/css-media-resolution');
505
-
506
- f(resolut, {
507
- match: /( x($| )|a #2)/
508
- }, function (browsers) {
509
- return prefix(['@resolution'], {
682
+ browsers
683
+ })
684
+ )
685
+
686
+ // Resolution Media Queries
687
+ let resolut = require('caniuse-lite/data/features/css-media-resolution')
688
+ f(resolut, { match: /( x($| )|a #2)/ }, browsers =>
689
+ prefix(['@resolution'], {
510
690
  feature: 'css-media-resolution',
511
- browsers: browsers
512
- });
513
- }); // CSS text-align-last
691
+ browsers
692
+ })
693
+ )
514
694
 
515
- f(require('caniuse-lite/data/features/css-text-align-last'), function (browsers) {
516
- return prefix(['text-align-last'], {
695
+ // CSS text-align-last
696
+ f(require('caniuse-lite/data/features/css-text-align-last'), browsers =>
697
+ prefix(['text-align-last'], {
517
698
  feature: 'css-text-align-last',
518
- browsers: browsers
519
- });
520
- }); // Crisp Edges Image Rendering Algorithm
699
+ browsers
700
+ })
701
+ )
521
702
 
522
- var crispedges = require('caniuse-lite/data/features/css-crisp-edges');
703
+ // Crisp Edges Image Rendering Algorithm
704
+ let crispedges = require('caniuse-lite/data/features/css-crisp-edges')
523
705
 
524
- f(crispedges, {
525
- match: /y x|a x #1/
526
- }, function (browsers) {
527
- return prefix(['pixelated'], {
706
+ f(crispedges, { match: /y x|a x #1/ }, browsers =>
707
+ prefix(['pixelated'], {
528
708
  props: ['image-rendering'],
529
709
  feature: 'css-crisp-edges',
530
- browsers: browsers
531
- });
532
- });
533
- f(crispedges, {
534
- match: /a x #2/
535
- }, function (browsers) {
536
- return prefix(['image-rendering'], {
710
+ browsers
711
+ })
712
+ )
713
+
714
+ f(crispedges, { match: /a x #2/ }, browsers =>
715
+ prefix(['image-rendering'], {
537
716
  feature: 'css-crisp-edges',
538
- browsers: browsers
539
- });
540
- }); // Logical Properties
541
-
542
- var logicalProps = require('caniuse-lite/data/features/css-logical-props');
543
-
544
- f(logicalProps, function (browsers) {
545
- return prefix(['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end'], {
546
- feature: 'css-logical-props',
547
- browsers: browsers
548
- });
549
- });
550
- f(logicalProps, {
551
- match: /x\s#2/
552
- }, function (browsers) {
553
- return prefix(['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end'], {
554
- feature: 'css-logical-props',
555
- browsers: browsers
556
- });
557
- }); // CSS appearance
558
-
559
- var appearance = require('caniuse-lite/data/features/css-appearance');
560
-
561
- f(appearance, {
562
- match: /#2|x/
563
- }, function (browsers) {
564
- return prefix(['appearance'], {
717
+ browsers
718
+ })
719
+ )
720
+
721
+ // Logical Properties
722
+ let logicalProps = require('caniuse-lite/data/features/css-logical-props')
723
+
724
+ f(logicalProps, browsers =>
725
+ prefix(
726
+ [
727
+ 'border-inline-start',
728
+ 'border-inline-end',
729
+ 'margin-inline-start',
730
+ 'margin-inline-end',
731
+ 'padding-inline-start',
732
+ 'padding-inline-end'
733
+ ],
734
+ {
735
+ feature: 'css-logical-props',
736
+ browsers
737
+ }
738
+ )
739
+ )
740
+
741
+ f(logicalProps, { match: /x\s#2/ }, browsers =>
742
+ prefix(
743
+ [
744
+ 'border-block-start',
745
+ 'border-block-end',
746
+ 'margin-block-start',
747
+ 'margin-block-end',
748
+ 'padding-block-start',
749
+ 'padding-block-end'
750
+ ],
751
+ {
752
+ feature: 'css-logical-props',
753
+ browsers
754
+ }
755
+ )
756
+ )
757
+
758
+ // CSS appearance
759
+ let appearance = require('caniuse-lite/data/features/css-appearance')
760
+ f(appearance, { match: /#2|x/ }, browsers =>
761
+ prefix(['appearance'], {
565
762
  feature: 'css-appearance',
566
- browsers: browsers
567
- });
568
- }); // CSS Scroll snap points
569
-
570
- f(require('caniuse-lite/data/features/css-snappoints'), function (browsers) {
571
- return prefix(['scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y'], {
572
- feature: 'css-snappoints',
573
- browsers: browsers
574
- });
575
- }); // CSS Regions
576
-
577
- f(require('caniuse-lite/data/features/css-regions'), function (browsers) {
578
- return prefix(['flow-into', 'flow-from', 'region-fragment'], {
579
- feature: 'css-regions',
580
- browsers: browsers
581
- });
582
- }); // CSS image-set
763
+ browsers
764
+ })
765
+ )
766
+
767
+ // CSS Scroll snap points
768
+ f(require('caniuse-lite/data/features/css-snappoints'), browsers =>
769
+ prefix(
770
+ [
771
+ 'scroll-snap-type',
772
+ 'scroll-snap-coordinate',
773
+ 'scroll-snap-destination',
774
+ 'scroll-snap-points-x',
775
+ 'scroll-snap-points-y'
776
+ ],
777
+ {
778
+ feature: 'css-snappoints',
779
+ browsers
780
+ }
781
+ )
782
+ )
583
783
 
584
- f(require('caniuse-lite/data/features/css-image-set'), function (browsers) {
585
- return prefix(['image-set'], {
586
- props: ['background', 'background-image', 'border-image', 'cursor', 'mask', 'mask-image', 'list-style', 'list-style-image', 'content'],
784
+ // CSS Regions
785
+ f(require('caniuse-lite/data/features/css-regions'), browsers =>
786
+ prefix(['flow-into', 'flow-from', 'region-fragment'], {
787
+ feature: 'css-regions',
788
+ browsers
789
+ })
790
+ )
791
+
792
+ // CSS image-set
793
+ f(require('caniuse-lite/data/features/css-image-set'), browsers =>
794
+ prefix(['image-set'], {
795
+ props: [
796
+ 'background',
797
+ 'background-image',
798
+ 'border-image',
799
+ 'cursor',
800
+ 'mask',
801
+ 'mask-image',
802
+ 'list-style',
803
+ 'list-style-image',
804
+ 'content'
805
+ ],
587
806
  feature: 'css-image-set',
588
- browsers: browsers
589
- });
590
- }); // Writing Mode
591
-
592
- var writingMode = require('caniuse-lite/data/features/css-writing-mode');
593
-
594
- f(writingMode, {
595
- match: /a|x/
596
- }, function (browsers) {
597
- return prefix(['writing-mode'], {
807
+ browsers
808
+ })
809
+ )
810
+
811
+ // Writing Mode
812
+ let writingMode = require('caniuse-lite/data/features/css-writing-mode')
813
+ f(writingMode, { match: /a|x/ }, browsers =>
814
+ prefix(['writing-mode'], {
598
815
  feature: 'css-writing-mode',
599
- browsers: browsers
600
- });
601
- }); // Cross-Fade Function
602
-
603
- f(require('caniuse-lite/data/features/css-cross-fade'), function (browsers) {
604
- return prefix(['cross-fade'], {
605
- props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
816
+ browsers
817
+ })
818
+ )
819
+
820
+ // Cross-Fade Function
821
+ f(require('caniuse-lite/data/features/css-cross-fade'), browsers =>
822
+ prefix(['cross-fade'], {
823
+ props: [
824
+ 'background',
825
+ 'background-image',
826
+ 'border-image',
827
+ 'mask',
828
+ 'list-style',
829
+ 'list-style-image',
830
+ 'content',
831
+ 'mask-image'
832
+ ],
606
833
  feature: 'css-cross-fade',
607
- browsers: browsers
608
- });
609
- }); // Read Only selector
834
+ browsers
835
+ })
836
+ )
610
837
 
611
- f(require('caniuse-lite/data/features/css-read-only-write'), function (browsers) {
612
- return prefix([':read-only', ':read-write'], {
838
+ // Read Only selector
839
+ f(require('caniuse-lite/data/features/css-read-only-write'), browsers =>
840
+ prefix([':read-only', ':read-write'], {
613
841
  selector: true,
614
842
  feature: 'css-read-only-write',
615
- browsers: browsers
616
- });
617
- }); // Text Emphasize
618
-
619
- f(require('caniuse-lite/data/features/text-emphasis'), function (browsers) {
620
- return prefix(['text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color'], {
621
- feature: 'text-emphasis',
622
- browsers: browsers
623
- });
624
- }); // CSS Grid Layout
843
+ browsers
844
+ })
845
+ )
846
+
847
+ // Text Emphasize
848
+ f(require('caniuse-lite/data/features/text-emphasis'), browsers =>
849
+ prefix(
850
+ [
851
+ 'text-emphasis',
852
+ 'text-emphasis-position',
853
+ 'text-emphasis-style',
854
+ 'text-emphasis-color'
855
+ ],
856
+ {
857
+ feature: 'text-emphasis',
858
+ browsers
859
+ }
860
+ )
861
+ )
625
862
 
626
- var grid = require('caniuse-lite/data/features/css-grid');
863
+ // CSS Grid Layout
864
+ let grid = require('caniuse-lite/data/features/css-grid')
627
865
 
628
- f(grid, function (browsers) {
866
+ f(grid, browsers => {
629
867
  prefix(['display-grid', 'inline-grid'], {
630
868
  props: ['display'],
631
869
  feature: 'css-grid',
632
- browsers: browsers
633
- });
634
- prefix(['grid-template-columns', 'grid-template-rows', 'grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end', 'grid-row', 'grid-column', 'grid-area', 'grid-template', 'grid-template-areas', 'place-self'], {
635
- feature: 'css-grid',
636
- browsers: browsers
637
- });
638
- });
639
- f(grid, {
640
- match: /a x/
641
- }, function (browsers) {
642
- return prefix(['grid-column-align', 'grid-row-align'], {
870
+ browsers
871
+ })
872
+ prefix(
873
+ [
874
+ 'grid-template-columns',
875
+ 'grid-template-rows',
876
+ 'grid-row-start',
877
+ 'grid-column-start',
878
+ 'grid-row-end',
879
+ 'grid-column-end',
880
+ 'grid-row',
881
+ 'grid-column',
882
+ 'grid-area',
883
+ 'grid-template',
884
+ 'grid-template-areas',
885
+ 'place-self'
886
+ ],
887
+ {
888
+ feature: 'css-grid',
889
+ browsers
890
+ }
891
+ )
892
+ })
893
+
894
+ f(grid, { match: /a x/ }, browsers =>
895
+ prefix(['grid-column-align', 'grid-row-align'], {
643
896
  feature: 'css-grid',
644
- browsers: browsers
645
- });
646
- }); // CSS text-spacing
897
+ browsers
898
+ })
899
+ )
647
900
 
648
- f(require('caniuse-lite/data/features/css-text-spacing'), function (browsers) {
649
- return prefix(['text-spacing'], {
901
+ // CSS text-spacing
902
+ f(require('caniuse-lite/data/features/css-text-spacing'), browsers =>
903
+ prefix(['text-spacing'], {
650
904
  feature: 'css-text-spacing',
651
- browsers: browsers
652
- });
653
- }); // :any-link selector
905
+ browsers
906
+ })
907
+ )
654
908
 
655
- f(require('caniuse-lite/data/features/css-any-link'), function (browsers) {
656
- return prefix([':any-link'], {
909
+ // :any-link selector
910
+ f(require('caniuse-lite/data/features/css-any-link'), browsers =>
911
+ prefix([':any-link'], {
657
912
  selector: true,
658
913
  feature: 'css-any-link',
659
- browsers: browsers
660
- });
661
- }); // unicode-bidi
914
+ browsers
915
+ })
916
+ )
662
917
 
663
- var bidi = require('caniuse-lite/data/features/css-unicode-bidi');
918
+ // unicode-bidi
919
+ let bidi = require('caniuse-lite/data/features/css-unicode-bidi')
664
920
 
665
- f(bidi, function (browsers) {
666
- return prefix(['isolate'], {
921
+ f(bidi, browsers =>
922
+ prefix(['isolate'], {
667
923
  props: ['unicode-bidi'],
668
924
  feature: 'css-unicode-bidi',
669
- browsers: browsers
670
- });
671
- });
672
- f(bidi, {
673
- match: /y x|a x #2/
674
- }, function (browsers) {
675
- return prefix(['plaintext'], {
925
+ browsers
926
+ })
927
+ )
928
+
929
+ f(bidi, { match: /y x|a x #2/ }, browsers =>
930
+ prefix(['plaintext'], {
676
931
  props: ['unicode-bidi'],
677
932
  feature: 'css-unicode-bidi',
678
- browsers: browsers
679
- });
680
- });
681
- f(bidi, {
682
- match: /y x/
683
- }, function (browsers) {
684
- return prefix(['isolate-override'], {
933
+ browsers
934
+ })
935
+ )
936
+
937
+ f(bidi, { match: /y x/ }, browsers =>
938
+ prefix(['isolate-override'], {
685
939
  props: ['unicode-bidi'],
686
940
  feature: 'css-unicode-bidi',
687
- browsers: browsers
688
- });
689
- }); // overscroll-behavior selector
690
-
691
- var over = require('caniuse-lite/data/features/css-overscroll-behavior');
692
-
693
- f(over, {
694
- match: /a #1/
695
- }, function (browsers) {
696
- return prefix(['overscroll-behavior'], {
941
+ browsers
942
+ })
943
+ )
944
+
945
+ // overscroll-behavior selector
946
+ let over = require('caniuse-lite/data/features/css-overscroll-behavior')
947
+ f(over, { match: /a #1/ }, browsers =>
948
+ prefix(['overscroll-behavior'], {
697
949
  feature: 'css-overscroll-behavior',
698
- browsers: browsers
699
- });
700
- }); // color-adjust
950
+ browsers
951
+ })
952
+ )
701
953
 
702
- f(require('caniuse-lite/data/features/css-color-adjust'), function (browsers) {
703
- return prefix(['color-adjust'], {
954
+ // color-adjust
955
+ f(require('caniuse-lite/data/features/css-color-adjust'), browsers =>
956
+ prefix(['color-adjust'], {
704
957
  feature: 'css-color-adjust',
705
- browsers: browsers
706
- });
707
- }); // text-orientation
958
+ browsers
959
+ })
960
+ )
708
961
 
709
- f(require('caniuse-lite/data/features/css-text-orientation'), function (browsers) {
710
- return prefix(['text-orientation'], {
962
+ // text-orientation
963
+ f(require('caniuse-lite/data/features/css-text-orientation'), browsers =>
964
+ prefix(['text-orientation'], {
711
965
  feature: 'css-text-orientation',
712
- browsers: browsers
713
- });
714
- });
966
+ browsers
967
+ })
968
+ )