autoprefixer 10.2.3 → 10.3.0

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/README.md +4 -5
  2. package/data/prefixes.js +206 -91
  3. package/lib/at-rule.js +2 -2
  4. package/lib/autoprefixer.d.ts +3 -3
  5. package/lib/autoprefixer.js +28 -18
  6. package/lib/brackets.js +3 -3
  7. package/lib/browsers.js +6 -6
  8. package/lib/declaration.js +14 -14
  9. package/lib/hacks/align-content.js +3 -3
  10. package/lib/hacks/align-items.js +3 -3
  11. package/lib/hacks/align-self.js +4 -4
  12. package/lib/hacks/animation.js +1 -1
  13. package/lib/hacks/appearance.js +1 -1
  14. package/lib/hacks/backdrop-filter.js +1 -1
  15. package/lib/hacks/background-clip.js +2 -2
  16. package/lib/hacks/background-size.js +1 -1
  17. package/lib/hacks/block-logical.js +2 -2
  18. package/lib/hacks/border-image.js +1 -1
  19. package/lib/hacks/border-radius.js +2 -2
  20. package/lib/hacks/break-props.js +4 -4
  21. package/lib/hacks/color-adjust.js +2 -2
  22. package/lib/hacks/cross-fade.js +1 -1
  23. package/lib/hacks/display-flex.js +5 -5
  24. package/lib/hacks/display-grid.js +2 -2
  25. package/lib/hacks/file-selector-button.js +17 -0
  26. package/lib/hacks/filter-value.js +1 -1
  27. package/lib/hacks/filter.js +1 -1
  28. package/lib/hacks/flex-basis.js +3 -3
  29. package/lib/hacks/flex-direction.js +3 -3
  30. package/lib/hacks/flex-flow.js +1 -1
  31. package/lib/hacks/flex-grow.js +2 -2
  32. package/lib/hacks/flex-shrink.js +3 -3
  33. package/lib/hacks/flex-wrap.js +1 -1
  34. package/lib/hacks/flex.js +3 -3
  35. package/lib/hacks/fullscreen.js +1 -1
  36. package/lib/hacks/gradient.js +18 -18
  37. package/lib/hacks/grid-area.js +1 -1
  38. package/lib/hacks/grid-column-align.js +3 -3
  39. package/lib/hacks/grid-end.js +1 -1
  40. package/lib/hacks/grid-row-align.js +3 -3
  41. package/lib/hacks/grid-row-column.js +1 -1
  42. package/lib/hacks/grid-rows-columns.js +3 -3
  43. package/lib/hacks/grid-start.js +3 -3
  44. package/lib/hacks/grid-template-areas.js +2 -2
  45. package/lib/hacks/grid-template.js +1 -1
  46. package/lib/hacks/grid-utils.js +60 -48
  47. package/lib/hacks/image-rendering.js +5 -5
  48. package/lib/hacks/image-set.js +1 -1
  49. package/lib/hacks/inline-logical.js +2 -2
  50. package/lib/hacks/intrinsic.js +6 -6
  51. package/lib/hacks/justify-content.js +3 -3
  52. package/lib/hacks/mask-border.js +2 -2
  53. package/lib/hacks/mask-composite.js +1 -1
  54. package/lib/hacks/order.js +3 -3
  55. package/lib/hacks/overscroll-behavior.js +3 -3
  56. package/lib/hacks/pixelated.js +2 -2
  57. package/lib/hacks/place-self.js +1 -1
  58. package/lib/hacks/placeholder-shown.js +1 -1
  59. package/lib/hacks/placeholder.js +2 -2
  60. package/lib/hacks/text-decoration-skip-ink.js +1 -1
  61. package/lib/hacks/text-decoration.js +1 -1
  62. package/lib/hacks/text-emphasis-position.js +1 -1
  63. package/lib/hacks/transform-decl.js +4 -4
  64. package/lib/hacks/user-select.js +2 -2
  65. package/lib/hacks/writing-mode.js +1 -1
  66. package/lib/info.js +8 -4
  67. package/lib/old-selector.js +3 -3
  68. package/lib/old-value.js +2 -2
  69. package/lib/prefixer.js +13 -11
  70. package/lib/prefixes.js +126 -68
  71. package/lib/processor.js +14 -14
  72. package/lib/resolution.js +6 -6
  73. package/lib/selector.js +10 -10
  74. package/lib/supports.js +28 -20
  75. package/lib/transition.js +15 -15
  76. package/lib/utils.js +65 -67
  77. package/lib/value.js +7 -7
  78. package/lib/vendor.js +2 -2
  79. package/package.json +5 -5
  80. package/CHANGELOG.md +0 -1022
package/data/prefixes.js CHANGED
@@ -1,6 +1,6 @@
1
1
  let unpack = require('caniuse-lite').feature
2
2
 
3
- function browsersSort (a, b) {
3
+ function browsersSort(a, b) {
4
4
  a = a.split(' ')
5
5
  b = b.split(' ')
6
6
  if (a[0] > b[0]) {
@@ -13,7 +13,7 @@ function browsersSort (a, b) {
13
13
  }
14
14
 
15
15
  // Convert Can I Use data
16
- function f (data, opts, callback) {
16
+ function f(data, opts, callback) {
17
17
  data = unpack(data)
18
18
 
19
19
  if (!callback) {
@@ -39,13 +39,13 @@ function f (data, opts, callback) {
39
39
  // Add data for all properties
40
40
  let result = {}
41
41
 
42
- function prefix (names, data) {
42
+ function prefix(names, data) {
43
43
  for (let name of names) {
44
44
  result[name] = Object.assign({}, data)
45
45
  }
46
46
  }
47
47
 
48
- function add (names, data) {
48
+ function add(names, data) {
49
49
  for (let name of names) {
50
50
  result[name].browsers = result[name].browsers
51
51
  .concat(data.browsers)
@@ -56,7 +56,9 @@ function add (names, data) {
56
56
  module.exports = result
57
57
 
58
58
  // Border Radius
59
- f(require('caniuse-lite/data/features/border-radius'), browsers =>
59
+ let prefixBorderRadius = require('caniuse-lite/data/features/border-radius')
60
+
61
+ f(prefixBorderRadius, browsers =>
60
62
  prefix(
61
63
  [
62
64
  'border-radius',
@@ -74,7 +76,9 @@ f(require('caniuse-lite/data/features/border-radius'), browsers =>
74
76
  )
75
77
 
76
78
  // Box Shadow
77
- f(require('caniuse-lite/data/features/css-boxshadow'), browsers =>
79
+ let prefixBoxshadow = require('caniuse-lite/data/features/css-boxshadow')
80
+
81
+ f(prefixBoxshadow, browsers =>
78
82
  prefix(['box-shadow'], {
79
83
  mistakes: ['-khtml-'],
80
84
  feature: 'css-boxshadow',
@@ -83,7 +87,9 @@ f(require('caniuse-lite/data/features/css-boxshadow'), browsers =>
83
87
  )
84
88
 
85
89
  // Animation
86
- f(require('caniuse-lite/data/features/css-animation'), browsers =>
90
+ let prefixAnimation = require('caniuse-lite/data/features/css-animation')
91
+
92
+ f(prefixAnimation, browsers =>
87
93
  prefix(
88
94
  [
89
95
  'animation',
@@ -106,7 +112,9 @@ f(require('caniuse-lite/data/features/css-animation'), browsers =>
106
112
  )
107
113
 
108
114
  // Transition
109
- f(require('caniuse-lite/data/features/css-transitions'), browsers =>
115
+ let prefixTransition = require('caniuse-lite/data/features/css-transitions')
116
+
117
+ f(prefixTransition, browsers =>
110
118
  prefix(
111
119
  [
112
120
  'transition',
@@ -124,7 +132,9 @@ f(require('caniuse-lite/data/features/css-transitions'), browsers =>
124
132
  )
125
133
 
126
134
  // Transform 2D
127
- f(require('caniuse-lite/data/features/transforms2d'), browsers =>
135
+ let prefixTransform2d = require('caniuse-lite/data/features/transforms2d')
136
+
137
+ f(prefixTransform2d, browsers =>
128
138
  prefix(['transform', 'transform-origin'], {
129
139
  feature: 'transforms2d',
130
140
  browsers
@@ -132,9 +142,9 @@ f(require('caniuse-lite/data/features/transforms2d'), browsers =>
132
142
  )
133
143
 
134
144
  // Transform 3D
135
- let transforms3d = require('caniuse-lite/data/features/transforms3d')
145
+ let prefixTransforms3d = require('caniuse-lite/data/features/transforms3d')
136
146
 
137
- f(transforms3d, browsers => {
147
+ f(prefixTransforms3d, browsers => {
138
148
  prefix(['perspective', 'perspective-origin'], {
139
149
  feature: 'transforms3d',
140
150
  browsers
@@ -146,7 +156,7 @@ f(transforms3d, browsers => {
146
156
  })
147
157
  })
148
158
 
149
- f(transforms3d, { match: /y\sx|y\s#2/ }, browsers =>
159
+ f(prefixTransforms3d, { match: /y\sx|y\s#2/ }, browsers =>
150
160
  prefix(['backface-visibility'], {
151
161
  mistakes: ['-ms-', '-o-'],
152
162
  feature: 'transforms3d',
@@ -155,9 +165,9 @@ f(transforms3d, { match: /y\sx|y\s#2/ }, browsers =>
155
165
  )
156
166
 
157
167
  // Gradients
158
- let gradients = require('caniuse-lite/data/features/css-gradients')
168
+ let prefixGradients = require('caniuse-lite/data/features/css-gradients')
159
169
 
160
- f(gradients, { match: /y\sx/ }, browsers =>
170
+ f(prefixGradients, { match: /y\sx/ }, browsers =>
161
171
  prefix(
162
172
  [
163
173
  'linear-gradient',
@@ -183,7 +193,7 @@ f(gradients, { match: /y\sx/ }, browsers =>
183
193
  )
184
194
  )
185
195
 
186
- f(gradients, { match: /a\sx/ }, browsers => {
196
+ f(prefixGradients, { match: /a\sx/ }, browsers => {
187
197
  browsers = browsers.map(i => {
188
198
  if (/firefox|op/.test(i)) {
189
199
  return i
@@ -206,7 +216,9 @@ f(gradients, { match: /a\sx/ }, browsers => {
206
216
  })
207
217
 
208
218
  // Box sizing
209
- f(require('caniuse-lite/data/features/css3-boxsizing'), browsers =>
219
+ let prefixBoxsizing = require('caniuse-lite/data/features/css3-boxsizing')
220
+
221
+ f(prefixBoxsizing, browsers =>
210
222
  prefix(['box-sizing'], {
211
223
  feature: 'css3-boxsizing',
212
224
  browsers
@@ -214,7 +226,9 @@ f(require('caniuse-lite/data/features/css3-boxsizing'), browsers =>
214
226
  )
215
227
 
216
228
  // Filter Effects
217
- f(require('caniuse-lite/data/features/css-filters'), browsers =>
229
+ let prefixFilters = require('caniuse-lite/data/features/css-filters')
230
+
231
+ f(prefixFilters, browsers =>
218
232
  prefix(['filter'], {
219
233
  feature: 'css-filters',
220
234
  browsers
@@ -222,7 +236,9 @@ f(require('caniuse-lite/data/features/css-filters'), browsers =>
222
236
  )
223
237
 
224
238
  // filter() function
225
- f(require('caniuse-lite/data/features/css-filter-function'), browsers =>
239
+ let prefixFilterFunction = require('caniuse-lite/data/features/css-filter-function')
240
+
241
+ f(prefixFilterFunction, browsers =>
226
242
  prefix(['filter-function'], {
227
243
  props: [
228
244
  'background',
@@ -240,8 +256,9 @@ f(require('caniuse-lite/data/features/css-filter-function'), browsers =>
240
256
  )
241
257
 
242
258
  // Backdrop-filter
243
- let backdrop = require('caniuse-lite/data/features/css-backdrop-filter')
244
- f(backdrop, { match: /y\sx|y\s#2/ }, browsers =>
259
+ let prefixBackdrop = require('caniuse-lite/data/features/css-backdrop-filter')
260
+
261
+ f(prefixBackdrop, { match: /y\sx|y\s#2/ }, browsers =>
245
262
  prefix(['backdrop-filter'], {
246
263
  feature: 'css-backdrop-filter',
247
264
  browsers
@@ -249,7 +266,9 @@ f(backdrop, { match: /y\sx|y\s#2/ }, browsers =>
249
266
  )
250
267
 
251
268
  // element() function
252
- f(require('caniuse-lite/data/features/css-element-function'), browsers =>
269
+ let prefixElementFunction = require('caniuse-lite/data/features/css-element-function')
270
+
271
+ f(prefixElementFunction, browsers =>
253
272
  prefix(['element'], {
254
273
  props: [
255
274
  'background',
@@ -267,7 +286,9 @@ f(require('caniuse-lite/data/features/css-element-function'), browsers =>
267
286
  )
268
287
 
269
288
  // Multicolumns
270
- f(require('caniuse-lite/data/features/multicolumn'), browsers => {
289
+ let prefixMulticolumns = require('caniuse-lite/data/features/multicolumn')
290
+
291
+ f(prefixMulticolumns, browsers => {
271
292
  prefix(
272
293
  [
273
294
  'columns',
@@ -295,7 +316,9 @@ f(require('caniuse-lite/data/features/multicolumn'), browsers => {
295
316
  })
296
317
 
297
318
  // User select
298
- f(require('caniuse-lite/data/features/user-select-none'), browsers =>
319
+ let prefixUserSelect = require('caniuse-lite/data/features/user-select-none')
320
+
321
+ f(prefixUserSelect, browsers =>
299
322
  prefix(['user-select'], {
300
323
  mistakes: ['-khtml-'],
301
324
  feature: 'user-select-none',
@@ -304,8 +327,9 @@ f(require('caniuse-lite/data/features/user-select-none'), browsers =>
304
327
  )
305
328
 
306
329
  // Flexible Box Layout
307
- let flexbox = require('caniuse-lite/data/features/flexbox')
308
- f(flexbox, { match: /a\sx/ }, browsers => {
330
+ let prefixFlexbox = require('caniuse-lite/data/features/flexbox')
331
+
332
+ f(prefixFlexbox, { match: /a\sx/ }, browsers => {
309
333
  browsers = browsers.map(i => {
310
334
  if (/ie|firefox/.test(i)) {
311
335
  return i
@@ -340,7 +364,7 @@ f(flexbox, { match: /a\sx/ }, browsers => {
340
364
  )
341
365
  })
342
366
 
343
- f(flexbox, { match: /y\sx/ }, browsers => {
367
+ f(prefixFlexbox, { match: /y\sx/ }, browsers => {
344
368
  add(['display-flex', 'inline-flex'], {
345
369
  feature: 'flexbox',
346
370
  browsers
@@ -368,7 +392,9 @@ f(flexbox, { match: /y\sx/ }, browsers => {
368
392
  })
369
393
 
370
394
  // calc() unit
371
- f(require('caniuse-lite/data/features/calc'), browsers =>
395
+ let prefixCalc = require('caniuse-lite/data/features/calc')
396
+
397
+ f(prefixCalc, browsers =>
372
398
  prefix(['calc'], {
373
399
  props: ['*'],
374
400
  feature: 'calc',
@@ -377,7 +403,9 @@ f(require('caniuse-lite/data/features/calc'), browsers =>
377
403
  )
378
404
 
379
405
  // Background options
380
- f(require('caniuse-lite/data/features/background-img-opts'), browsers =>
406
+ let prefixBackgroundOptions = require('caniuse-lite/data/features/background-img-opts')
407
+
408
+ f(prefixBackgroundOptions, browsers =>
381
409
  prefix(['background-origin', 'background-size'], {
382
410
  feature: 'background-img-opts',
383
411
  browsers
@@ -385,7 +413,9 @@ f(require('caniuse-lite/data/features/background-img-opts'), browsers =>
385
413
  )
386
414
 
387
415
  // background-clip: text
388
- f(require('caniuse-lite/data/features/background-clip-text'), browsers =>
416
+ let prefixBackgroundClipText = require('caniuse-lite/data/features/background-clip-text')
417
+
418
+ f(prefixBackgroundClipText, browsers =>
389
419
  prefix(['background-clip'], {
390
420
  feature: 'background-clip-text',
391
421
  browsers
@@ -393,7 +423,9 @@ f(require('caniuse-lite/data/features/background-clip-text'), browsers =>
393
423
  )
394
424
 
395
425
  // Font feature settings
396
- f(require('caniuse-lite/data/features/font-feature'), browsers =>
426
+ let prefixFontFeature = require('caniuse-lite/data/features/font-feature')
427
+
428
+ f(prefixFontFeature, browsers =>
397
429
  prefix(
398
430
  [
399
431
  'font-feature-settings',
@@ -408,7 +440,9 @@ f(require('caniuse-lite/data/features/font-feature'), browsers =>
408
440
  )
409
441
 
410
442
  // CSS font-kerning property
411
- f(require('caniuse-lite/data/features/font-kerning'), browsers =>
443
+ let prefixFontKerning = require('caniuse-lite/data/features/font-kerning')
444
+
445
+ f(prefixFontKerning, browsers =>
412
446
  prefix(['font-kerning'], {
413
447
  feature: 'font-kerning',
414
448
  browsers
@@ -416,7 +450,9 @@ f(require('caniuse-lite/data/features/font-kerning'), browsers =>
416
450
  )
417
451
 
418
452
  // Border image
419
- f(require('caniuse-lite/data/features/border-image'), browsers =>
453
+ let prefixBorderImage = require('caniuse-lite/data/features/border-image')
454
+
455
+ f(prefixBorderImage, browsers =>
420
456
  prefix(['border-image'], {
421
457
  feature: 'border-image',
422
458
  browsers
@@ -424,7 +460,9 @@ f(require('caniuse-lite/data/features/border-image'), browsers =>
424
460
  )
425
461
 
426
462
  // Selection selector
427
- f(require('caniuse-lite/data/features/css-selection'), browsers =>
463
+ let prefixSelection = require('caniuse-lite/data/features/css-selection')
464
+
465
+ f(prefixSelection, browsers =>
428
466
  prefix(['::selection'], {
429
467
  selector: true,
430
468
  feature: 'css-selection',
@@ -433,7 +471,9 @@ f(require('caniuse-lite/data/features/css-selection'), browsers =>
433
471
  )
434
472
 
435
473
  // Placeholder selector
436
- f(require('caniuse-lite/data/features/css-placeholder'), browsers => {
474
+ let prefixPlaceholder = require('caniuse-lite/data/features/css-placeholder')
475
+
476
+ f(prefixPlaceholder, browsers => {
437
477
  prefix(['::placeholder'], {
438
478
  selector: true,
439
479
  feature: 'css-placeholder',
@@ -442,7 +482,9 @@ f(require('caniuse-lite/data/features/css-placeholder'), browsers => {
442
482
  })
443
483
 
444
484
  // Placeholder-shown selector
445
- f(require('caniuse-lite/data/features/css-placeholder-shown'), browsers => {
485
+ let prefixPlaceholderShown = require('caniuse-lite/data/features/css-placeholder-shown')
486
+
487
+ f(prefixPlaceholderShown, browsers => {
446
488
  prefix([':placeholder-shown'], {
447
489
  selector: true,
448
490
  feature: 'css-placeholder-shown',
@@ -451,7 +493,9 @@ f(require('caniuse-lite/data/features/css-placeholder-shown'), browsers => {
451
493
  })
452
494
 
453
495
  // Hyphenation
454
- f(require('caniuse-lite/data/features/css-hyphens'), browsers =>
496
+ let prefixHyphens = require('caniuse-lite/data/features/css-hyphens')
497
+
498
+ f(prefixHyphens, browsers =>
455
499
  prefix(['hyphens'], {
456
500
  feature: 'css-hyphens',
457
501
  browsers
@@ -459,9 +503,9 @@ f(require('caniuse-lite/data/features/css-hyphens'), browsers =>
459
503
  )
460
504
 
461
505
  // Fullscreen selector
462
- let fullscreen = require('caniuse-lite/data/features/fullscreen')
506
+ let prefixFullscreen = require('caniuse-lite/data/features/fullscreen')
463
507
 
464
- f(fullscreen, browsers =>
508
+ f(prefixFullscreen, browsers =>
465
509
  prefix([':fullscreen'], {
466
510
  selector: true,
467
511
  feature: 'fullscreen',
@@ -469,7 +513,7 @@ f(fullscreen, browsers =>
469
513
  })
470
514
  )
471
515
 
472
- f(fullscreen, { match: /x(\s#2|$)/ }, browsers =>
516
+ f(prefixFullscreen, { match: /x(\s#2|$)/ }, browsers =>
473
517
  prefix(['::backdrop'], {
474
518
  selector: true,
475
519
  feature: 'fullscreen',
@@ -477,8 +521,29 @@ f(fullscreen, { match: /x(\s#2|$)/ }, browsers =>
477
521
  })
478
522
  )
479
523
 
524
+ // File selector button
525
+ prefix(['::file-selector-button'], {
526
+ selector: true,
527
+ feature: 'fullscreen',
528
+ browsers: [
529
+ 'chrome 89',
530
+ 'edge 89',
531
+ 'firefox 82',
532
+ 'opera 75',
533
+ 'safari 14.1',
534
+ 'android 89',
535
+ 'and_chr 89',
536
+ 'op_mob 63',
537
+ 'and_ff 82',
538
+ 'ios_saf 14.5',
539
+ 'samsung 15.0'
540
+ ]
541
+ })
542
+
480
543
  // Tab size
481
- f(require('caniuse-lite/data/features/css3-tabsize'), browsers =>
544
+ let prefixTabsize = require('caniuse-lite/data/features/css3-tabsize')
545
+
546
+ f(prefixTabsize, browsers =>
482
547
  prefix(['tab-size'], {
483
548
  feature: 'css3-tabsize',
484
549
  browsers
@@ -486,7 +551,7 @@ f(require('caniuse-lite/data/features/css3-tabsize'), browsers =>
486
551
  )
487
552
 
488
553
  // Intrinsic & extrinsic sizing
489
- let intrinsic = require('caniuse-lite/data/features/intrinsic-width')
554
+ let prefixIntrinsic = require('caniuse-lite/data/features/intrinsic-width')
490
555
 
491
556
  let sizeProps = [
492
557
  'width',
@@ -509,7 +574,7 @@ let sizeProps = [
509
574
  'grid-auto-rows'
510
575
  ]
511
576
 
512
- f(intrinsic, browsers =>
577
+ f(prefixIntrinsic, browsers =>
513
578
  prefix(['max-content', 'min-content'], {
514
579
  props: sizeProps,
515
580
  feature: 'intrinsic-width',
@@ -517,7 +582,7 @@ f(intrinsic, browsers =>
517
582
  })
518
583
  )
519
584
 
520
- f(intrinsic, { match: /x|\s#4/ }, browsers =>
585
+ f(prefixIntrinsic, { match: /x|\s#4/ }, browsers =>
521
586
  prefix(['fill', 'fill-available', 'stretch'], {
522
587
  props: sizeProps,
523
588
  feature: 'intrinsic-width',
@@ -525,7 +590,7 @@ f(intrinsic, { match: /x|\s#4/ }, browsers =>
525
590
  })
526
591
  )
527
592
 
528
- f(intrinsic, { match: /x|\s#5/ }, browsers =>
593
+ f(prefixIntrinsic, { match: /x|\s#5/ }, browsers =>
529
594
  prefix(['fit-content'], {
530
595
  props: sizeProps,
531
596
  feature: 'intrinsic-width',
@@ -534,7 +599,9 @@ f(intrinsic, { match: /x|\s#5/ }, browsers =>
534
599
  )
535
600
 
536
601
  // Zoom cursors
537
- f(require('caniuse-lite/data/features/css3-cursors-newer'), browsers =>
602
+ let prefixCursorsNewer = require('caniuse-lite/data/features/css3-cursors-newer')
603
+
604
+ f(prefixCursorsNewer, browsers =>
538
605
  prefix(['zoom-in', 'zoom-out'], {
539
606
  props: ['cursor'],
540
607
  feature: 'css3-cursors-newer',
@@ -543,7 +610,9 @@ f(require('caniuse-lite/data/features/css3-cursors-newer'), browsers =>
543
610
  )
544
611
 
545
612
  // Grab cursors
546
- f(require('caniuse-lite/data/features/css3-cursors-grab'), browsers =>
613
+ let prefixCursorsGrab = require('caniuse-lite/data/features/css3-cursors-grab')
614
+
615
+ f(prefixCursorsGrab, browsers =>
547
616
  prefix(['grab', 'grabbing'], {
548
617
  props: ['cursor'],
549
618
  feature: 'css3-cursors-grab',
@@ -552,7 +621,9 @@ f(require('caniuse-lite/data/features/css3-cursors-grab'), browsers =>
552
621
  )
553
622
 
554
623
  // Sticky position
555
- f(require('caniuse-lite/data/features/css-sticky'), browsers =>
624
+ let prefixSticky = require('caniuse-lite/data/features/css-sticky')
625
+
626
+ f(prefixSticky, browsers =>
556
627
  prefix(['sticky'], {
557
628
  props: ['position'],
558
629
  feature: 'css-sticky',
@@ -561,7 +632,9 @@ f(require('caniuse-lite/data/features/css-sticky'), browsers =>
561
632
  )
562
633
 
563
634
  // Pointer Events
564
- f(require('caniuse-lite/data/features/pointer'), browsers =>
635
+ let prefixPointer = require('caniuse-lite/data/features/pointer')
636
+
637
+ f(prefixPointer, browsers =>
565
638
  prefix(['touch-action'], {
566
639
  feature: 'pointer',
567
640
  browsers
@@ -569,9 +642,9 @@ f(require('caniuse-lite/data/features/pointer'), browsers =>
569
642
  )
570
643
 
571
644
  // Text decoration
572
- let decoration = require('caniuse-lite/data/features/text-decoration')
645
+ let prefixDecoration = require('caniuse-lite/data/features/text-decoration')
573
646
 
574
- f(decoration, browsers =>
647
+ f(prefixDecoration, browsers =>
575
648
  prefix(
576
649
  [
577
650
  'text-decoration-style',
@@ -586,7 +659,7 @@ f(decoration, browsers =>
586
659
  )
587
660
  )
588
661
 
589
- f(decoration, { match: /x.*#[235]/ }, browsers =>
662
+ f(prefixDecoration, { match: /x.*#[235]/ }, browsers =>
590
663
  prefix(['text-decoration-skip', 'text-decoration-skip-ink'], {
591
664
  feature: 'text-decoration',
592
665
  browsers
@@ -594,7 +667,9 @@ f(decoration, { match: /x.*#[235]/ }, browsers =>
594
667
  )
595
668
 
596
669
  // Text Size Adjust
597
- f(require('caniuse-lite/data/features/text-size-adjust'), browsers =>
670
+ let prefixTextSizeAdjust = require('caniuse-lite/data/features/text-size-adjust')
671
+
672
+ f(prefixTextSizeAdjust, browsers =>
598
673
  prefix(['text-size-adjust'], {
599
674
  feature: 'text-size-adjust',
600
675
  browsers
@@ -602,7 +677,9 @@ f(require('caniuse-lite/data/features/text-size-adjust'), browsers =>
602
677
  )
603
678
 
604
679
  // CSS Masks
605
- f(require('caniuse-lite/data/features/css-masks'), browsers => {
680
+ let prefixCssMasks = require('caniuse-lite/data/features/css-masks')
681
+
682
+ f(prefixCssMasks, browsers => {
606
683
  prefix(
607
684
  [
608
685
  'mask-clip',
@@ -636,7 +713,9 @@ f(require('caniuse-lite/data/features/css-masks'), browsers => {
636
713
  })
637
714
 
638
715
  // CSS clip-path property
639
- f(require('caniuse-lite/data/features/css-clip-path'), browsers =>
716
+ let prefixClipPath = require('caniuse-lite/data/features/css-clip-path')
717
+
718
+ f(prefixClipPath, browsers =>
640
719
  prefix(['clip-path'], {
641
720
  feature: 'css-clip-path',
642
721
  browsers
@@ -644,7 +723,9 @@ f(require('caniuse-lite/data/features/css-clip-path'), browsers =>
644
723
  )
645
724
 
646
725
  // Fragmented Borders and Backgrounds
647
- f(require('caniuse-lite/data/features/css-boxdecorationbreak'), browsers =>
726
+ let prefixBoxdecoration = require('caniuse-lite/data/features/css-boxdecorationbreak')
727
+
728
+ f(prefixBoxdecoration, browsers =>
648
729
  prefix(['box-decoration-break'], {
649
730
  feature: 'css-boxdecorationbreak',
650
731
  browsers
@@ -652,7 +733,9 @@ f(require('caniuse-lite/data/features/css-boxdecorationbreak'), browsers =>
652
733
  )
653
734
 
654
735
  // CSS3 object-fit/object-position
655
- f(require('caniuse-lite/data/features/object-fit'), browsers =>
736
+ let prefixObjectFit = require('caniuse-lite/data/features/object-fit')
737
+
738
+ f(prefixObjectFit, browsers =>
656
739
  prefix(['object-fit', 'object-position'], {
657
740
  feature: 'object-fit',
658
741
  browsers
@@ -660,7 +743,9 @@ f(require('caniuse-lite/data/features/object-fit'), browsers =>
660
743
  )
661
744
 
662
745
  // CSS Shapes
663
- f(require('caniuse-lite/data/features/css-shapes'), browsers =>
746
+ let prefixShapes = require('caniuse-lite/data/features/css-shapes')
747
+
748
+ f(prefixShapes, browsers =>
664
749
  prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {
665
750
  feature: 'css-shapes',
666
751
  browsers
@@ -668,7 +753,9 @@ f(require('caniuse-lite/data/features/css-shapes'), browsers =>
668
753
  )
669
754
 
670
755
  // CSS3 text-overflow
671
- f(require('caniuse-lite/data/features/text-overflow'), browsers =>
756
+ let prefixTextOverflow = require('caniuse-lite/data/features/text-overflow')
757
+
758
+ f(prefixTextOverflow, browsers =>
672
759
  prefix(['text-overflow'], {
673
760
  feature: 'text-overflow',
674
761
  browsers
@@ -676,7 +763,9 @@ f(require('caniuse-lite/data/features/text-overflow'), browsers =>
676
763
  )
677
764
 
678
765
  // Viewport at-rule
679
- f(require('caniuse-lite/data/features/css-deviceadaptation'), browsers =>
766
+ let prefixDeviceadaptation = require('caniuse-lite/data/features/css-deviceadaptation')
767
+
768
+ f(prefixDeviceadaptation, browsers =>
680
769
  prefix(['@viewport'], {
681
770
  feature: 'css-deviceadaptation',
682
771
  browsers
@@ -684,8 +773,9 @@ f(require('caniuse-lite/data/features/css-deviceadaptation'), browsers =>
684
773
  )
685
774
 
686
775
  // Resolution Media Queries
687
- let resolut = require('caniuse-lite/data/features/css-media-resolution')
688
- f(resolut, { match: /( x($| )|a #2)/ }, browsers =>
776
+ let prefixResolut = require('caniuse-lite/data/features/css-media-resolution')
777
+
778
+ f(prefixResolut, { match: /( x($| )|a #2)/ }, browsers =>
689
779
  prefix(['@resolution'], {
690
780
  feature: 'css-media-resolution',
691
781
  browsers
@@ -693,7 +783,9 @@ f(resolut, { match: /( x($| )|a #2)/ }, browsers =>
693
783
  )
694
784
 
695
785
  // CSS text-align-last
696
- f(require('caniuse-lite/data/features/css-text-align-last'), browsers =>
786
+ let prefixTextAlignLast = require('caniuse-lite/data/features/css-text-align-last')
787
+
788
+ f(prefixTextAlignLast, browsers =>
697
789
  prefix(['text-align-last'], {
698
790
  feature: 'css-text-align-last',
699
791
  browsers
@@ -701,9 +793,9 @@ f(require('caniuse-lite/data/features/css-text-align-last'), browsers =>
701
793
  )
702
794
 
703
795
  // Crisp Edges Image Rendering Algorithm
704
- let crispedges = require('caniuse-lite/data/features/css-crisp-edges')
796
+ let prefixCrispedges = require('caniuse-lite/data/features/css-crisp-edges')
705
797
 
706
- f(crispedges, { match: /y x|a x #1/ }, browsers =>
798
+ f(prefixCrispedges, { match: /y x|a x #1/ }, browsers =>
707
799
  prefix(['pixelated'], {
708
800
  props: ['image-rendering'],
709
801
  feature: 'css-crisp-edges',
@@ -711,7 +803,7 @@ f(crispedges, { match: /y x|a x #1/ }, browsers =>
711
803
  })
712
804
  )
713
805
 
714
- f(crispedges, { match: /a x #2/ }, browsers =>
806
+ f(prefixCrispedges, { match: /a x #2/ }, browsers =>
715
807
  prefix(['image-rendering'], {
716
808
  feature: 'css-crisp-edges',
717
809
  browsers
@@ -719,9 +811,9 @@ f(crispedges, { match: /a x #2/ }, browsers =>
719
811
  )
720
812
 
721
813
  // Logical Properties
722
- let logicalProps = require('caniuse-lite/data/features/css-logical-props')
814
+ let prefixLogicalProps = require('caniuse-lite/data/features/css-logical-props')
723
815
 
724
- f(logicalProps, browsers =>
816
+ f(prefixLogicalProps, browsers =>
725
817
  prefix(
726
818
  [
727
819
  'border-inline-start',
@@ -738,7 +830,7 @@ f(logicalProps, browsers =>
738
830
  )
739
831
  )
740
832
 
741
- f(logicalProps, { match: /x\s#2/ }, browsers =>
833
+ f(prefixLogicalProps, { match: /x\s#2/ }, browsers =>
742
834
  prefix(
743
835
  [
744
836
  'border-block-start',
@@ -756,8 +848,9 @@ f(logicalProps, { match: /x\s#2/ }, browsers =>
756
848
  )
757
849
 
758
850
  // CSS appearance
759
- let appearance = require('caniuse-lite/data/features/css-appearance')
760
- f(appearance, { match: /#2|x/ }, browsers =>
851
+ let prefixAppearance = require('caniuse-lite/data/features/css-appearance')
852
+
853
+ f(prefixAppearance, { match: /#2|x/ }, browsers =>
761
854
  prefix(['appearance'], {
762
855
  feature: 'css-appearance',
763
856
  browsers
@@ -765,7 +858,9 @@ f(appearance, { match: /#2|x/ }, browsers =>
765
858
  )
766
859
 
767
860
  // CSS Scroll snap points
768
- f(require('caniuse-lite/data/features/css-snappoints'), browsers =>
861
+ let prefixSnappoints = require('caniuse-lite/data/features/css-snappoints')
862
+
863
+ f(prefixSnappoints, browsers =>
769
864
  prefix(
770
865
  [
771
866
  'scroll-snap-type',
@@ -782,7 +877,9 @@ f(require('caniuse-lite/data/features/css-snappoints'), browsers =>
782
877
  )
783
878
 
784
879
  // CSS Regions
785
- f(require('caniuse-lite/data/features/css-regions'), browsers =>
880
+ let prefixRegions = require('caniuse-lite/data/features/css-regions')
881
+
882
+ f(prefixRegions, browsers =>
786
883
  prefix(['flow-into', 'flow-from', 'region-fragment'], {
787
884
  feature: 'css-regions',
788
885
  browsers
@@ -790,7 +887,9 @@ f(require('caniuse-lite/data/features/css-regions'), browsers =>
790
887
  )
791
888
 
792
889
  // CSS image-set
793
- f(require('caniuse-lite/data/features/css-image-set'), browsers =>
890
+ let prefixImageSet = require('caniuse-lite/data/features/css-image-set')
891
+
892
+ f(prefixImageSet, browsers =>
794
893
  prefix(['image-set'], {
795
894
  props: [
796
895
  'background',
@@ -809,8 +908,9 @@ f(require('caniuse-lite/data/features/css-image-set'), browsers =>
809
908
  )
810
909
 
811
910
  // Writing Mode
812
- let writingMode = require('caniuse-lite/data/features/css-writing-mode')
813
- f(writingMode, { match: /a|x/ }, browsers =>
911
+ let prefixWritingMode = require('caniuse-lite/data/features/css-writing-mode')
912
+
913
+ f(prefixWritingMode, { match: /a|x/ }, browsers =>
814
914
  prefix(['writing-mode'], {
815
915
  feature: 'css-writing-mode',
816
916
  browsers
@@ -818,7 +918,9 @@ f(writingMode, { match: /a|x/ }, browsers =>
818
918
  )
819
919
 
820
920
  // Cross-Fade Function
821
- f(require('caniuse-lite/data/features/css-cross-fade'), browsers =>
921
+ let prefixCrossFade = require('caniuse-lite/data/features/css-cross-fade')
922
+
923
+ f(prefixCrossFade, browsers =>
822
924
  prefix(['cross-fade'], {
823
925
  props: [
824
926
  'background',
@@ -836,7 +938,9 @@ f(require('caniuse-lite/data/features/css-cross-fade'), browsers =>
836
938
  )
837
939
 
838
940
  // Read Only selector
839
- f(require('caniuse-lite/data/features/css-read-only-write'), browsers =>
941
+ let prefixReadOnly = require('caniuse-lite/data/features/css-read-only-write')
942
+
943
+ f(prefixReadOnly, browsers =>
840
944
  prefix([':read-only', ':read-write'], {
841
945
  selector: true,
842
946
  feature: 'css-read-only-write',
@@ -845,7 +949,9 @@ f(require('caniuse-lite/data/features/css-read-only-write'), browsers =>
845
949
  )
846
950
 
847
951
  // Text Emphasize
848
- f(require('caniuse-lite/data/features/text-emphasis'), browsers =>
952
+ let prefixTextEmphasis = require('caniuse-lite/data/features/text-emphasis')
953
+
954
+ f(prefixTextEmphasis, browsers =>
849
955
  prefix(
850
956
  [
851
957
  'text-emphasis',
@@ -861,9 +967,9 @@ f(require('caniuse-lite/data/features/text-emphasis'), browsers =>
861
967
  )
862
968
 
863
969
  // CSS Grid Layout
864
- let grid = require('caniuse-lite/data/features/css-grid')
970
+ let prefixGrid = require('caniuse-lite/data/features/css-grid')
865
971
 
866
- f(grid, browsers => {
972
+ f(prefixGrid, browsers => {
867
973
  prefix(['display-grid', 'inline-grid'], {
868
974
  props: ['display'],
869
975
  feature: 'css-grid',
@@ -891,7 +997,7 @@ f(grid, browsers => {
891
997
  )
892
998
  })
893
999
 
894
- f(grid, { match: /a x/ }, browsers =>
1000
+ f(prefixGrid, { match: /a x/ }, browsers =>
895
1001
  prefix(['grid-column-align', 'grid-row-align'], {
896
1002
  feature: 'css-grid',
897
1003
  browsers
@@ -899,7 +1005,9 @@ f(grid, { match: /a x/ }, browsers =>
899
1005
  )
900
1006
 
901
1007
  // CSS text-spacing
902
- f(require('caniuse-lite/data/features/css-text-spacing'), browsers =>
1008
+ let prefixTextSpacing = require('caniuse-lite/data/features/css-text-spacing')
1009
+
1010
+ f(prefixTextSpacing, browsers =>
903
1011
  prefix(['text-spacing'], {
904
1012
  feature: 'css-text-spacing',
905
1013
  browsers
@@ -907,7 +1015,9 @@ f(require('caniuse-lite/data/features/css-text-spacing'), browsers =>
907
1015
  )
908
1016
 
909
1017
  // :any-link selector
910
- f(require('caniuse-lite/data/features/css-any-link'), browsers =>
1018
+ let prefixAnyLink = require('caniuse-lite/data/features/css-any-link')
1019
+
1020
+ f(prefixAnyLink, browsers =>
911
1021
  prefix([':any-link'], {
912
1022
  selector: true,
913
1023
  feature: 'css-any-link',
@@ -916,9 +1026,9 @@ f(require('caniuse-lite/data/features/css-any-link'), browsers =>
916
1026
  )
917
1027
 
918
1028
  // unicode-bidi
919
- let bidi = require('caniuse-lite/data/features/css-unicode-bidi')
1029
+ let prefixBidi = require('caniuse-lite/data/features/css-unicode-bidi')
920
1030
 
921
- f(bidi, browsers =>
1031
+ f(prefixBidi, browsers =>
922
1032
  prefix(['isolate'], {
923
1033
  props: ['unicode-bidi'],
924
1034
  feature: 'css-unicode-bidi',
@@ -926,7 +1036,7 @@ f(bidi, browsers =>
926
1036
  })
927
1037
  )
928
1038
 
929
- f(bidi, { match: /y x|a x #2/ }, browsers =>
1039
+ f(prefixBidi, { match: /y x|a x #2/ }, browsers =>
930
1040
  prefix(['plaintext'], {
931
1041
  props: ['unicode-bidi'],
932
1042
  feature: 'css-unicode-bidi',
@@ -934,7 +1044,7 @@ f(bidi, { match: /y x|a x #2/ }, browsers =>
934
1044
  })
935
1045
  )
936
1046
 
937
- f(bidi, { match: /y x/ }, browsers =>
1047
+ f(prefixBidi, { match: /y x/ }, browsers =>
938
1048
  prefix(['isolate-override'], {
939
1049
  props: ['unicode-bidi'],
940
1050
  feature: 'css-unicode-bidi',
@@ -943,8 +1053,9 @@ f(bidi, { match: /y x/ }, browsers =>
943
1053
  )
944
1054
 
945
1055
  // overscroll-behavior selector
946
- let over = require('caniuse-lite/data/features/css-overscroll-behavior')
947
- f(over, { match: /a #1/ }, browsers =>
1056
+ let prefixOverscroll = require('caniuse-lite/data/features/css-overscroll-behavior')
1057
+
1058
+ f(prefixOverscroll, { match: /a #1/ }, browsers =>
948
1059
  prefix(['overscroll-behavior'], {
949
1060
  feature: 'css-overscroll-behavior',
950
1061
  browsers
@@ -952,7 +1063,9 @@ f(over, { match: /a #1/ }, browsers =>
952
1063
  )
953
1064
 
954
1065
  // color-adjust
955
- f(require('caniuse-lite/data/features/css-color-adjust'), browsers =>
1066
+ let prefixColorAdjust = require('caniuse-lite/data/features/css-color-adjust')
1067
+
1068
+ f(prefixColorAdjust, browsers =>
956
1069
  prefix(['color-adjust'], {
957
1070
  feature: 'css-color-adjust',
958
1071
  browsers
@@ -960,7 +1073,9 @@ f(require('caniuse-lite/data/features/css-color-adjust'), browsers =>
960
1073
  )
961
1074
 
962
1075
  // text-orientation
963
- f(require('caniuse-lite/data/features/css-text-orientation'), browsers =>
1076
+ let prefixTextOrientation = require('caniuse-lite/data/features/css-text-orientation')
1077
+
1078
+ f(prefixTextOrientation, browsers =>
964
1079
  prefix(['text-orientation'], {
965
1080
  feature: 'css-text-orientation',
966
1081
  browsers