autoprefixer 9.1.1 → 9.1.5

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 (72) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +9 -7
  3. package/data/prefixes.js +128 -157
  4. package/lib/at-rule.js +15 -16
  5. package/lib/autoprefixer.js +22 -12
  6. package/lib/brackets.js +6 -8
  7. package/lib/browsers.js +17 -17
  8. package/lib/declaration.js +45 -45
  9. package/lib/hacks/align-content.js +28 -33
  10. package/lib/hacks/align-items.js +26 -31
  11. package/lib/hacks/align-self.js +26 -31
  12. package/lib/hacks/animation.js +12 -17
  13. package/lib/hacks/appearance.js +12 -15
  14. package/lib/hacks/background-clip.js +15 -16
  15. package/lib/hacks/background-size.js +14 -17
  16. package/lib/hacks/block-logical.js +13 -19
  17. package/lib/hacks/border-image.js +12 -17
  18. package/lib/hacks/border-radius.js +22 -34
  19. package/lib/hacks/break-props.js +17 -24
  20. package/lib/hacks/color-adjust.js +13 -19
  21. package/lib/hacks/cross-fade.js +20 -22
  22. package/lib/hacks/display-flex.js +20 -26
  23. package/lib/hacks/display-grid.js +14 -17
  24. package/lib/hacks/filter-value.js +11 -15
  25. package/lib/hacks/filter.js +12 -17
  26. package/lib/hacks/flex-basis.js +18 -23
  27. package/lib/hacks/flex-direction.js +24 -26
  28. package/lib/hacks/flex-flow.js +20 -20
  29. package/lib/hacks/flex-grow.js +15 -20
  30. package/lib/hacks/flex-shrink.js +18 -23
  31. package/lib/hacks/flex-spec.js +3 -2
  32. package/lib/hacks/flex-wrap.js +15 -17
  33. package/lib/hacks/flex.js +27 -31
  34. package/lib/hacks/fullscreen.js +13 -18
  35. package/lib/hacks/gradient.js +152 -146
  36. package/lib/hacks/grid-area.js +13 -20
  37. package/lib/hacks/grid-column-align.js +14 -21
  38. package/lib/hacks/grid-end.js +15 -22
  39. package/lib/hacks/grid-row-align.js +14 -21
  40. package/lib/hacks/grid-row-column.js +14 -21
  41. package/lib/hacks/grid-rows-columns.js +22 -23
  42. package/lib/hacks/grid-start.js +16 -21
  43. package/lib/hacks/grid-template-areas.js +55 -43
  44. package/lib/hacks/grid-template.js +18 -22
  45. package/lib/hacks/grid-utils.js +96 -108
  46. package/lib/hacks/image-rendering.js +16 -25
  47. package/lib/hacks/image-set.js +14 -17
  48. package/lib/hacks/inline-logical.js +13 -19
  49. package/lib/hacks/intrinsic.js +21 -22
  50. package/lib/hacks/justify-content.js +29 -33
  51. package/lib/hacks/mask-border.js +15 -19
  52. package/lib/hacks/order.js +17 -22
  53. package/lib/hacks/overscroll-behavior.js +15 -21
  54. package/lib/hacks/pixelated.js +14 -19
  55. package/lib/hacks/placeholder.js +14 -20
  56. package/lib/hacks/text-decoration.js +12 -17
  57. package/lib/hacks/text-emphasis-position.js +13 -17
  58. package/lib/hacks/transform-decl.js +22 -28
  59. package/lib/hacks/writing-mode.js +17 -25
  60. package/lib/info.js +45 -31
  61. package/lib/old-selector.js +18 -17
  62. package/lib/old-value.js +8 -8
  63. package/lib/prefixer.js +34 -45
  64. package/lib/prefixes.js +75 -49
  65. package/lib/processor.js +113 -74
  66. package/lib/resolution.js +35 -36
  67. package/lib/selector.js +32 -34
  68. package/lib/supports.js +65 -62
  69. package/lib/transition.js +70 -50
  70. package/lib/utils.js +9 -10
  71. package/lib/value.js +32 -34
  72. package/package.json +3 -3
package/data/prefixes.js CHANGED
@@ -1,10 +1,11 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  var unpack = require('caniuse-lite').feature;
4
4
 
5
5
  function browsersSort(a, b) {
6
6
  a = a.split(' ');
7
7
  b = b.split(' ');
8
+
8
9
  if (a[0] > b[0]) {
9
10
  return 1;
10
11
  } else if (a[0] < b[0]) {
@@ -12,9 +13,9 @@ function browsersSort(a, b) {
12
13
  } else {
13
14
  return Math.sign(parseFloat(a[1]) - parseFloat(b[1]));
14
15
  }
15
- }
16
+ } // Convert Can I Use data
17
+
16
18
 
17
- // Convert Can I Use data
18
19
  function f(data, opts, callback) {
19
20
  data = unpack(data);
20
21
 
@@ -29,8 +30,10 @@ function f(data, opts, callback) {
29
30
 
30
31
  for (var browser in data.stats) {
31
32
  var versions = data.stats[browser];
33
+
32
34
  for (var version in versions) {
33
35
  var support = versions[version];
36
+
34
37
  if (support.match(match)) {
35
38
  need.push(browser + ' ' + version);
36
39
  }
@@ -38,9 +41,9 @@ function f(data, opts, callback) {
38
41
  }
39
42
 
40
43
  callback(need.sort(browsersSort));
41
- }
44
+ } // Add data for all properties
45
+
42
46
 
43
- // Add data for all properties
44
47
  var result = {};
45
48
 
46
49
  function prefix(names, data) {
@@ -57,7 +60,6 @@ function prefix(names, data) {
57
60
  }
58
61
 
59
62
  var name = _ref2;
60
-
61
63
  result[name] = Object.assign({}, data);
62
64
  }
63
65
  }
@@ -76,58 +78,51 @@ function add(names, data) {
76
78
  }
77
79
 
78
80
  var name = _ref3;
79
-
80
81
  result[name].browsers = result[name].browsers.concat(data.browsers).sort(browsersSort);
81
82
  }
82
83
  }
83
84
 
84
- module.exports = result;
85
+ module.exports = result; // Border Radius
85
86
 
86
- // Border Radius
87
87
  f(require('caniuse-lite/data/features/border-radius'), function (browsers) {
88
88
  return prefix(['border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius'], {
89
89
  mistakes: ['-khtml-', '-ms-', '-o-'],
90
90
  feature: 'border-radius',
91
91
  browsers: browsers
92
92
  });
93
- });
93
+ }); // Box Shadow
94
94
 
95
- // Box Shadow
96
95
  f(require('caniuse-lite/data/features/css-boxshadow'), function (browsers) {
97
96
  return prefix(['box-shadow'], {
98
97
  mistakes: ['-khtml-'],
99
98
  feature: 'css-boxshadow',
100
99
  browsers: browsers
101
100
  });
102
- });
101
+ }); // Animation
103
102
 
104
- // Animation
105
103
  f(require('caniuse-lite/data/features/css-animation'), function (browsers) {
106
104
  return prefix(['animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes'], {
107
105
  mistakes: ['-khtml-', '-ms-'],
108
106
  feature: 'css-animation',
109
107
  browsers: browsers
110
108
  });
111
- });
109
+ }); // Transition
112
110
 
113
- // Transition
114
111
  f(require('caniuse-lite/data/features/css-transitions'), function (browsers) {
115
112
  return prefix(['transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function'], {
116
113
  mistakes: ['-khtml-', '-ms-'],
117
114
  browsers: browsers,
118
115
  feature: 'css-transitions'
119
116
  });
120
- });
117
+ }); // Transform 2D
121
118
 
122
- // Transform 2D
123
119
  f(require('caniuse-lite/data/features/transforms2d'), function (browsers) {
124
120
  return prefix(['transform', 'transform-origin'], {
125
121
  feature: 'transforms2d',
126
122
  browsers: browsers
127
123
  });
128
- });
124
+ }); // Transform 3D
129
125
 
130
- // Transform 3D
131
126
  var transforms3d = require('caniuse-lite/data/features/transforms3d');
132
127
 
133
128
  f(transforms3d, function (browsers) {
@@ -141,19 +136,21 @@ f(transforms3d, function (browsers) {
141
136
  feature: 'transforms3d'
142
137
  });
143
138
  });
144
-
145
- f(transforms3d, { match: /y\sx|y\s#2/ }, function (browsers) {
139
+ f(transforms3d, {
140
+ match: /y\sx|y\s#2/
141
+ }, function (browsers) {
146
142
  return prefix(['backface-visibility'], {
147
143
  mistakes: ['-ms-', '-o-'],
148
144
  feature: 'transforms3d',
149
145
  browsers: browsers
150
146
  });
151
- });
147
+ }); // Gradients
152
148
 
153
- // Gradients
154
149
  var gradients = require('caniuse-lite/data/features/css-gradients');
155
150
 
156
- f(gradients, { match: /y\sx/ }, function (browsers) {
151
+ f(gradients, {
152
+ match: /y\sx/
153
+ }, function (browsers) {
157
154
  return prefix(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], {
158
155
  props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
159
156
  mistakes: ['-ms-'],
@@ -161,70 +158,64 @@ f(gradients, { match: /y\sx/ }, function (browsers) {
161
158
  browsers: browsers
162
159
  });
163
160
  });
164
-
165
- f(gradients, { match: /a\sx/ }, function (browsers) {
161
+ f(gradients, {
162
+ match: /a\sx/
163
+ }, function (browsers) {
166
164
  browsers = browsers.map(function (i) {
167
- if (/op/.test(i)) {
165
+ if (/firefox|op/.test(i)) {
168
166
  return i;
169
167
  } else {
170
- return i + ' old';
168
+ return i + " old";
171
169
  }
172
170
  });
173
171
  return add(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], {
174
172
  feature: 'css-gradients',
175
173
  browsers: browsers
176
174
  });
177
- });
175
+ }); // Box sizing
178
176
 
179
- // Box sizing
180
177
  f(require('caniuse-lite/data/features/css3-boxsizing'), function (browsers) {
181
178
  return prefix(['box-sizing'], {
182
179
  feature: 'css3-boxsizing',
183
180
  browsers: browsers
184
181
  });
185
- });
182
+ }); // Filter Effects
186
183
 
187
- // Filter Effects
188
184
  f(require('caniuse-lite/data/features/css-filters'), function (browsers) {
189
185
  return prefix(['filter'], {
190
186
  feature: 'css-filters',
191
187
  browsers: browsers
192
188
  });
193
- });
189
+ }); // filter() function
194
190
 
195
- // filter() function
196
191
  f(require('caniuse-lite/data/features/css-filter-function'), function (browsers) {
197
192
  return prefix(['filter-function'], {
198
193
  props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
199
194
  feature: 'css-filter-function',
200
195
  browsers: browsers
201
196
  });
202
- });
197
+ }); // Backdrop-filter
203
198
 
204
- // Backdrop-filter
205
199
  f(require('caniuse-lite/data/features/css-backdrop-filter'), function (browsers) {
206
200
  return prefix(['backdrop-filter'], {
207
201
  feature: 'css-backdrop-filter',
208
202
  browsers: browsers
209
203
  });
210
- });
204
+ }); // element() function
211
205
 
212
- // element() function
213
206
  f(require('caniuse-lite/data/features/css-element-function'), function (browsers) {
214
207
  return prefix(['element'], {
215
208
  props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
216
209
  feature: 'css-element-function',
217
210
  browsers: browsers
218
211
  });
219
- });
212
+ }); // Multicolumns
220
213
 
221
- // Multicolumns
222
214
  f(require('caniuse-lite/data/features/multicolumn'), function (browsers) {
223
215
  prefix(['columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-count', 'column-rule-style', 'column-span', 'column-fill'], {
224
216
  feature: 'multicolumn',
225
217
  browsers: browsers
226
218
  });
227
-
228
219
  var noff = browsers.filter(function (i) {
229
220
  return !/firefox/.test(i);
230
221
  });
@@ -232,25 +223,26 @@ f(require('caniuse-lite/data/features/multicolumn'), function (browsers) {
232
223
  feature: 'multicolumn',
233
224
  browsers: noff
234
225
  });
235
- });
226
+ }); // User select
236
227
 
237
- // User select
238
228
  f(require('caniuse-lite/data/features/user-select-none'), function (browsers) {
239
229
  return prefix(['user-select'], {
240
230
  mistakes: ['-khtml-'],
241
231
  feature: 'user-select-none',
242
232
  browsers: browsers
243
233
  });
244
- });
234
+ }); // Flexible Box Layout
245
235
 
246
- // Flexible Box Layout
247
236
  var flexbox = require('caniuse-lite/data/features/flexbox');
248
- f(flexbox, { match: /a\sx/ }, function (browsers) {
237
+
238
+ f(flexbox, {
239
+ match: /a\sx/
240
+ }, function (browsers) {
249
241
  browsers = browsers.map(function (i) {
250
242
  if (/ie|firefox/.test(i)) {
251
243
  return i;
252
244
  } else {
253
- return i + ' 2009';
245
+ return i + " 2009";
254
246
  }
255
247
  });
256
248
  prefix(['display-flex', 'inline-flex'], {
@@ -267,8 +259,9 @@ f(flexbox, { match: /a\sx/ }, function (browsers) {
267
259
  browsers: browsers
268
260
  });
269
261
  });
270
-
271
- f(flexbox, { match: /y\sx/ }, function (browsers) {
262
+ f(flexbox, {
263
+ match: /y\sx/
264
+ }, function (browsers) {
272
265
  add(['display-flex', 'inline-flex'], {
273
266
  feature: 'flexbox',
274
267
  browsers: browsers
@@ -281,67 +274,59 @@ f(flexbox, { match: /y\sx/ }, function (browsers) {
281
274
  feature: 'flexbox',
282
275
  browsers: browsers
283
276
  });
284
- });
277
+ }); // calc() unit
285
278
 
286
- // calc() unit
287
279
  f(require('caniuse-lite/data/features/calc'), function (browsers) {
288
280
  return prefix(['calc'], {
289
281
  props: ['*'],
290
282
  feature: 'calc',
291
283
  browsers: browsers
292
284
  });
293
- });
285
+ }); // Background options
294
286
 
295
- // Background options
296
287
  f(require('caniuse-lite/data/features/background-img-opts'), function (browsers) {
297
288
  return prefix(['background-origin', 'background-size'], {
298
289
  feature: 'background-img-opts',
299
290
  browsers: browsers
300
291
  });
301
- });
292
+ }); // background-clip: text
302
293
 
303
- // background-clip: text
304
294
  f(require('caniuse-lite/data/features/background-clip-text'), function (browsers) {
305
295
  return prefix(['background-clip'], {
306
296
  feature: 'background-clip-text',
307
297
  browsers: browsers
308
298
  });
309
- });
299
+ }); // Font feature settings
310
300
 
311
- // Font feature settings
312
301
  f(require('caniuse-lite/data/features/font-feature'), function (browsers) {
313
302
  return prefix(['font-feature-settings', 'font-variant-ligatures', 'font-language-override'], {
314
303
  feature: 'font-feature',
315
304
  browsers: browsers
316
305
  });
317
- });
306
+ }); // CSS font-kerning property
318
307
 
319
- // CSS font-kerning property
320
308
  f(require('caniuse-lite/data/features/font-kerning'), function (browsers) {
321
309
  return prefix(['font-kerning'], {
322
310
  feature: 'font-kerning',
323
311
  browsers: browsers
324
312
  });
325
- });
313
+ }); // Border image
326
314
 
327
- // Border image
328
315
  f(require('caniuse-lite/data/features/border-image'), function (browsers) {
329
316
  return prefix(['border-image'], {
330
317
  feature: 'border-image',
331
318
  browsers: browsers
332
319
  });
333
- });
320
+ }); // Selection selector
334
321
 
335
- // Selection selector
336
322
  f(require('caniuse-lite/data/features/css-selection'), function (browsers) {
337
323
  return prefix(['::selection'], {
338
324
  selector: true,
339
325
  feature: 'css-selection',
340
326
  browsers: browsers
341
327
  });
342
- });
328
+ }); // Placeholder selector
343
329
 
344
- // Placeholder selector
345
330
  f(require('caniuse-lite/data/features/css-placeholder'), function (browsers) {
346
331
  browsers = browsers.map(function (i) {
347
332
  var _i$split = i.split(' '),
@@ -356,23 +341,20 @@ f(require('caniuse-lite/data/features/css-placeholder'), function (browsers) {
356
341
  return i;
357
342
  }
358
343
  });
359
-
360
344
  prefix(['::placeholder'], {
361
345
  selector: true,
362
346
  feature: 'css-placeholder',
363
347
  browsers: browsers
364
348
  });
365
- });
349
+ }); // Hyphenation
366
350
 
367
- // Hyphenation
368
351
  f(require('caniuse-lite/data/features/css-hyphens'), function (browsers) {
369
352
  return prefix(['hyphens'], {
370
353
  feature: 'css-hyphens',
371
354
  browsers: browsers
372
355
  });
373
- });
356
+ }); // Fullscreen selector
374
357
 
375
- // Fullscreen selector
376
358
  var fullscreen = require('caniuse-lite/data/features/fullscreen');
377
359
 
378
360
  f(fullscreen, function (browsers) {
@@ -382,24 +364,23 @@ f(fullscreen, function (browsers) {
382
364
  browsers: browsers
383
365
  });
384
366
  });
385
-
386
- f(fullscreen, { match: /x(\s#2|$)/ }, function (browsers) {
367
+ f(fullscreen, {
368
+ match: /x(\s#2|$)/
369
+ }, function (browsers) {
387
370
  return prefix(['::backdrop'], {
388
371
  selector: true,
389
372
  feature: 'fullscreen',
390
373
  browsers: browsers
391
374
  });
392
- });
375
+ }); // Tab size
393
376
 
394
- // Tab size
395
377
  f(require('caniuse-lite/data/features/css3-tabsize'), function (browsers) {
396
378
  return prefix(['tab-size'], {
397
379
  feature: 'css3-tabsize',
398
380
  browsers: browsers
399
381
  });
400
- });
382
+ }); // Intrinsic & extrinsic sizing
401
383
 
402
- // Intrinsic & extrinsic sizing
403
384
  var intrinsic = require('caniuse-lite/data/features/intrinsic-width');
404
385
 
405
386
  f(intrinsic, function (browsers) {
@@ -409,51 +390,47 @@ f(intrinsic, function (browsers) {
409
390
  browsers: browsers
410
391
  });
411
392
  });
412
-
413
- f(intrinsic, { match: /x|\s#4/ }, function (browsers) {
393
+ f(intrinsic, {
394
+ match: /x|\s#4/
395
+ }, function (browsers) {
414
396
  return prefix(['fill', 'fill-available', 'stretch'], {
415
397
  props: ['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'],
416
398
  feature: 'intrinsic-width',
417
399
  browsers: browsers
418
400
  });
419
- });
401
+ }); // Zoom cursors
420
402
 
421
- // Zoom cursors
422
403
  f(require('caniuse-lite/data/features/css3-cursors-newer'), function (browsers) {
423
404
  return prefix(['zoom-in', 'zoom-out'], {
424
405
  props: ['cursor'],
425
406
  feature: 'css3-cursors-newer',
426
407
  browsers: browsers
427
408
  });
428
- });
409
+ }); // Grab cursors
429
410
 
430
- // Grab cursors
431
411
  f(require('caniuse-lite/data/features/css3-cursors-grab'), function (browsers) {
432
412
  return prefix(['grab', 'grabbing'], {
433
413
  props: ['cursor'],
434
414
  feature: 'css3-cursors-grab',
435
415
  browsers: browsers
436
416
  });
437
- });
417
+ }); // Sticky position
438
418
 
439
- // Sticky position
440
419
  f(require('caniuse-lite/data/features/css-sticky'), function (browsers) {
441
420
  return prefix(['sticky'], {
442
421
  props: ['position'],
443
422
  feature: 'css-sticky',
444
423
  browsers: browsers
445
424
  });
446
- });
425
+ }); // Pointer Events
447
426
 
448
- // Pointer Events
449
427
  f(require('caniuse-lite/data/features/pointer'), function (browsers) {
450
428
  return prefix(['touch-action'], {
451
429
  feature: 'pointer',
452
430
  browsers: browsers
453
431
  });
454
- });
432
+ }); // Text decoration
455
433
 
456
- // Text decoration
457
434
  var decoration = require('caniuse-lite/data/features/text-decoration');
458
435
 
459
436
  f(decoration, function (browsers) {
@@ -462,23 +439,22 @@ f(decoration, function (browsers) {
462
439
  browsers: browsers
463
440
  });
464
441
  });
465
-
466
- f(decoration, { match: /x.*#[23]/ }, function (browsers) {
442
+ f(decoration, {
443
+ match: /x.*#[23]/
444
+ }, function (browsers) {
467
445
  return prefix(['text-decoration-skip'], {
468
446
  feature: 'text-decoration',
469
447
  browsers: browsers
470
448
  });
471
- });
449
+ }); // Text Size Adjust
472
450
 
473
- // Text Size Adjust
474
451
  f(require('caniuse-lite/data/features/text-size-adjust'), function (browsers) {
475
452
  return prefix(['text-size-adjust'], {
476
453
  feature: 'text-size-adjust',
477
454
  browsers: browsers
478
455
  });
479
- });
456
+ }); // CSS Masks
480
457
 
481
- // CSS Masks
482
458
  f(require('caniuse-lite/data/features/css-masks'), function (browsers) {
483
459
  prefix(['mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source'], {
484
460
  feature: 'css-masks',
@@ -488,92 +464,88 @@ f(require('caniuse-lite/data/features/css-masks'), function (browsers) {
488
464
  feature: 'css-masks',
489
465
  browsers: browsers
490
466
  });
491
- });
467
+ }); // CSS clip-path property
492
468
 
493
- // CSS clip-path property
494
469
  f(require('caniuse-lite/data/features/css-clip-path'), function (browsers) {
495
470
  return prefix(['clip-path'], {
496
471
  feature: 'css-clip-path',
497
472
  browsers: browsers
498
473
  });
499
- });
474
+ }); // Fragmented Borders and Backgrounds
500
475
 
501
- // Fragmented Borders and Backgrounds
502
476
  f(require('caniuse-lite/data/features/css-boxdecorationbreak'), function (browsers) {
503
477
  return prefix(['box-decoration-break'], {
504
478
  feature: 'css-boxdecorationbreak',
505
479
  browsers: browsers
506
480
  });
507
- });
481
+ }); // CSS3 object-fit/object-position
508
482
 
509
- // CSS3 object-fit/object-position
510
483
  f(require('caniuse-lite/data/features/object-fit'), function (browsers) {
511
484
  return prefix(['object-fit', 'object-position'], {
512
485
  feature: 'object-fit',
513
486
  browsers: browsers
514
487
  });
515
- });
488
+ }); // CSS Shapes
516
489
 
517
- // CSS Shapes
518
490
  f(require('caniuse-lite/data/features/css-shapes'), function (browsers) {
519
491
  return prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {
520
492
  feature: 'css-shapes',
521
493
  browsers: browsers
522
494
  });
523
- });
495
+ }); // CSS3 text-overflow
524
496
 
525
- // CSS3 text-overflow
526
497
  f(require('caniuse-lite/data/features/text-overflow'), function (browsers) {
527
498
  return prefix(['text-overflow'], {
528
499
  feature: 'text-overflow',
529
500
  browsers: browsers
530
501
  });
531
- });
502
+ }); // Viewport at-rule
532
503
 
533
- // Viewport at-rule
534
504
  f(require('caniuse-lite/data/features/css-deviceadaptation'), function (browsers) {
535
505
  return prefix(['@viewport'], {
536
506
  feature: 'css-deviceadaptation',
537
507
  browsers: browsers
538
508
  });
539
- });
509
+ }); // Resolution Media Queries
540
510
 
541
- // Resolution Media Queries
542
511
  var resolut = require('caniuse-lite/data/features/css-media-resolution');
543
- f(resolut, { match: /( x($| )|a #3)/ }, function (browsers) {
512
+
513
+ f(resolut, {
514
+ match: /( x($| )|a #3)/
515
+ }, function (browsers) {
544
516
  return prefix(['@resolution'], {
545
517
  feature: 'css-media-resolution',
546
518
  browsers: browsers
547
519
  });
548
- });
520
+ }); // CSS text-align-last
549
521
 
550
- // CSS text-align-last
551
522
  f(require('caniuse-lite/data/features/css-text-align-last'), function (browsers) {
552
523
  return prefix(['text-align-last'], {
553
524
  feature: 'css-text-align-last',
554
525
  browsers: browsers
555
526
  });
556
- });
527
+ }); // Crisp Edges Image Rendering Algorithm
557
528
 
558
- // Crisp Edges Image Rendering Algorithm
559
529
  var crispedges = require('caniuse-lite/data/features/css-crisp-edges');
560
530
 
561
- f(crispedges, { match: /y x|a x #1/ }, function (browsers) {
531
+ f(crispedges, {
532
+ match: /y x|a x #1/
533
+ }, function (browsers) {
562
534
  return prefix(['pixelated'], {
563
535
  props: ['image-rendering'],
564
536
  feature: 'css-crisp-edges',
565
537
  browsers: browsers
566
538
  });
567
539
  });
568
-
569
- f(crispedges, { match: /a x #2/ }, function (browsers) {
540
+ f(crispedges, {
541
+ match: /a x #2/
542
+ }, function (browsers) {
570
543
  return prefix(['image-rendering'], {
571
544
  feature: 'css-crisp-edges',
572
545
  browsers: browsers
573
546
  });
574
- });
547
+ }); // Logical Properties
575
548
 
576
- // Logical Properties
577
549
  var logicalProps = require('caniuse-lite/data/features/css-logical-props');
578
550
 
579
551
  f(logicalProps, function (browsers) {
@@ -582,84 +554,82 @@ f(logicalProps, function (browsers) {
582
554
  browsers: browsers
583
555
  });
584
556
  });
585
-
586
- f(logicalProps, { match: /x\s#2/ }, function (browsers) {
557
+ f(logicalProps, {
558
+ match: /x\s#2/
559
+ }, function (browsers) {
587
560
  return prefix(['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end'], {
588
561
  feature: 'css-logical-props',
589
562
  browsers: browsers
590
563
  });
591
- });
564
+ }); // CSS appearance
592
565
 
593
- // CSS appearance
594
566
  var appearance = require('caniuse-lite/data/features/css-appearance');
595
- f(appearance, { match: /#2|x/ }, function (browsers) {
567
+
568
+ f(appearance, {
569
+ match: /#2|x/
570
+ }, function (browsers) {
596
571
  return prefix(['appearance'], {
597
572
  feature: 'css-appearance',
598
573
  browsers: browsers
599
574
  });
600
- });
575
+ }); // CSS Scroll snap points
601
576
 
602
- // CSS Scroll snap points
603
577
  f(require('caniuse-lite/data/features/css-snappoints'), function (browsers) {
604
578
  return prefix(['scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y'], {
605
579
  feature: 'css-snappoints',
606
580
  browsers: browsers
607
581
  });
608
- });
582
+ }); // CSS Regions
609
583
 
610
- // CSS Regions
611
584
  f(require('caniuse-lite/data/features/css-regions'), function (browsers) {
612
585
  return prefix(['flow-into', 'flow-from', 'region-fragment'], {
613
586
  feature: 'css-regions',
614
587
  browsers: browsers
615
588
  });
616
- });
589
+ }); // CSS image-set
617
590
 
618
- // CSS image-set
619
591
  f(require('caniuse-lite/data/features/css-image-set'), function (browsers) {
620
592
  return prefix(['image-set'], {
621
593
  props: ['background', 'background-image', 'border-image', 'cursor', 'mask', 'mask-image', 'list-style', 'list-style-image', 'content'],
622
594
  feature: 'css-image-set',
623
595
  browsers: browsers
624
596
  });
625
- });
597
+ }); // Writing Mode
626
598
 
627
- // Writing Mode
628
599
  var writingMode = require('caniuse-lite/data/features/css-writing-mode');
629
- f(writingMode, { match: /a|x/ }, function (browsers) {
600
+
601
+ f(writingMode, {
602
+ match: /a|x/
603
+ }, function (browsers) {
630
604
  return prefix(['writing-mode'], {
631
605
  feature: 'css-writing-mode',
632
606
  browsers: browsers
633
607
  });
634
- });
608
+ }); // Cross-Fade Function
635
609
 
636
- // Cross-Fade Function
637
610
  f(require('caniuse-lite/data/features/css-cross-fade'), function (browsers) {
638
611
  return prefix(['cross-fade'], {
639
612
  props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
640
613
  feature: 'css-cross-fade',
641
614
  browsers: browsers
642
615
  });
643
- });
616
+ }); // Read Only selector
644
617
 
645
- // Read Only selector
646
618
  f(require('caniuse-lite/data/features/css-read-only-write'), function (browsers) {
647
619
  return prefix([':read-only', ':read-write'], {
648
620
  selector: true,
649
621
  feature: 'css-read-only-write',
650
622
  browsers: browsers
651
623
  });
652
- });
624
+ }); // Text Emphasize
653
625
 
654
- // Text Emphasize
655
626
  f(require('caniuse-lite/data/features/text-emphasis'), function (browsers) {
656
627
  return prefix(['text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color'], {
657
628
  feature: 'text-emphasis',
658
629
  browsers: browsers
659
630
  });
660
- });
631
+ }); // CSS Grid Layout
661
632
 
662
- // CSS Grid Layout
663
633
  var grid = require('caniuse-lite/data/features/css-grid');
664
634
 
665
635
  f(grid, function (browsers) {
@@ -673,32 +643,30 @@ f(grid, function (browsers) {
673
643
  browsers: browsers
674
644
  });
675
645
  });
676
-
677
- f(grid, { match: /a x/ }, function (browsers) {
646
+ f(grid, {
647
+ match: /a x/
648
+ }, function (browsers) {
678
649
  return prefix(['grid-column-align', 'grid-row-align'], {
679
650
  feature: 'css-grid',
680
651
  browsers: browsers
681
652
  });
682
- });
653
+ }); // CSS text-spacing
683
654
 
684
- // CSS text-spacing
685
655
  f(require('caniuse-lite/data/features/css-text-spacing'), function (browsers) {
686
656
  return prefix(['text-spacing'], {
687
657
  feature: 'css-text-spacing',
688
658
  browsers: browsers
689
659
  });
690
- });
660
+ }); // :any-link selector
691
661
 
692
- // :any-link selector
693
662
  f(require('caniuse-lite/data/features/css-any-link'), function (browsers) {
694
663
  return prefix([':any-link'], {
695
664
  selector: true,
696
665
  feature: 'css-any-link',
697
666
  browsers: browsers
698
667
  });
699
- });
668
+ }); // unicode-bidi
700
669
 
701
- // unicode-bidi
702
670
  var bidi = require('caniuse-lite/data/features/css-unicode-bidi');
703
671
 
704
672
  f(bidi, function (browsers) {
@@ -708,33 +676,36 @@ f(bidi, function (browsers) {
708
676
  browsers: browsers
709
677
  });
710
678
  });
711
-
712
- f(bidi, { match: /y x|a x #2/ }, function (browsers) {
679
+ f(bidi, {
680
+ match: /y x|a x #2/
681
+ }, function (browsers) {
713
682
  return prefix(['plaintext'], {
714
683
  props: ['unicode-bidi'],
715
684
  feature: 'css-unicode-bidi',
716
685
  browsers: browsers
717
686
  });
718
687
  });
719
-
720
- f(bidi, { match: /y x/ }, function (browsers) {
688
+ f(bidi, {
689
+ match: /y x/
690
+ }, function (browsers) {
721
691
  return prefix(['isolate-override'], {
722
692
  props: ['unicode-bidi'],
723
693
  feature: 'css-unicode-bidi',
724
694
  browsers: browsers
725
695
  });
726
- });
696
+ }); // overscroll-behavior selector
727
697
 
728
- // overscroll-behavior selector
729
698
  var over = require('caniuse-lite/data/features/css-overscroll-behavior');
730
- f(over, { match: /a #1/ }, function (browsers) {
699
+
700
+ f(over, {
701
+ match: /a #1/
702
+ }, function (browsers) {
731
703
  return prefix(['overscroll-behavior'], {
732
704
  feature: 'css-overscroll-behavior',
733
705
  browsers: browsers
734
706
  });
735
- });
707
+ }); // color-adjust
736
708
 
737
- // color-adjust
738
709
  f(require('caniuse-lite/data/features/css-color-adjust'), function (browsers) {
739
710
  return prefix(['color-adjust'], {
740
711
  feature: 'css-color-adjust',