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.
- package/README.md +4 -5
- package/data/prefixes.js +206 -91
- package/lib/at-rule.js +2 -2
- package/lib/autoprefixer.d.ts +3 -3
- package/lib/autoprefixer.js +28 -18
- package/lib/brackets.js +3 -3
- package/lib/browsers.js +6 -6
- package/lib/declaration.js +14 -14
- package/lib/hacks/align-content.js +3 -3
- package/lib/hacks/align-items.js +3 -3
- package/lib/hacks/align-self.js +4 -4
- package/lib/hacks/animation.js +1 -1
- package/lib/hacks/appearance.js +1 -1
- package/lib/hacks/backdrop-filter.js +1 -1
- package/lib/hacks/background-clip.js +2 -2
- package/lib/hacks/background-size.js +1 -1
- package/lib/hacks/block-logical.js +2 -2
- package/lib/hacks/border-image.js +1 -1
- package/lib/hacks/border-radius.js +2 -2
- package/lib/hacks/break-props.js +4 -4
- package/lib/hacks/color-adjust.js +2 -2
- package/lib/hacks/cross-fade.js +1 -1
- package/lib/hacks/display-flex.js +5 -5
- package/lib/hacks/display-grid.js +2 -2
- package/lib/hacks/file-selector-button.js +17 -0
- package/lib/hacks/filter-value.js +1 -1
- package/lib/hacks/filter.js +1 -1
- package/lib/hacks/flex-basis.js +3 -3
- package/lib/hacks/flex-direction.js +3 -3
- package/lib/hacks/flex-flow.js +1 -1
- package/lib/hacks/flex-grow.js +2 -2
- package/lib/hacks/flex-shrink.js +3 -3
- package/lib/hacks/flex-wrap.js +1 -1
- package/lib/hacks/flex.js +3 -3
- package/lib/hacks/fullscreen.js +1 -1
- package/lib/hacks/gradient.js +18 -18
- package/lib/hacks/grid-area.js +1 -1
- package/lib/hacks/grid-column-align.js +3 -3
- package/lib/hacks/grid-end.js +1 -1
- package/lib/hacks/grid-row-align.js +3 -3
- package/lib/hacks/grid-row-column.js +1 -1
- package/lib/hacks/grid-rows-columns.js +3 -3
- package/lib/hacks/grid-start.js +3 -3
- package/lib/hacks/grid-template-areas.js +2 -2
- package/lib/hacks/grid-template.js +1 -1
- package/lib/hacks/grid-utils.js +60 -48
- package/lib/hacks/image-rendering.js +5 -5
- package/lib/hacks/image-set.js +1 -1
- package/lib/hacks/inline-logical.js +2 -2
- package/lib/hacks/intrinsic.js +6 -6
- package/lib/hacks/justify-content.js +3 -3
- package/lib/hacks/mask-border.js +2 -2
- package/lib/hacks/mask-composite.js +1 -1
- package/lib/hacks/order.js +3 -3
- package/lib/hacks/overscroll-behavior.js +3 -3
- package/lib/hacks/pixelated.js +2 -2
- package/lib/hacks/place-self.js +1 -1
- package/lib/hacks/placeholder-shown.js +1 -1
- package/lib/hacks/placeholder.js +2 -2
- package/lib/hacks/text-decoration-skip-ink.js +1 -1
- package/lib/hacks/text-decoration.js +1 -1
- package/lib/hacks/text-emphasis-position.js +1 -1
- package/lib/hacks/transform-decl.js +4 -4
- package/lib/hacks/user-select.js +2 -2
- package/lib/hacks/writing-mode.js +1 -1
- package/lib/info.js +8 -4
- package/lib/old-selector.js +3 -3
- package/lib/old-value.js +2 -2
- package/lib/prefixer.js +13 -11
- package/lib/prefixes.js +126 -68
- package/lib/processor.js +14 -14
- package/lib/resolution.js +6 -6
- package/lib/selector.js +10 -10
- package/lib/supports.js +28 -20
- package/lib/transition.js +15 -15
- package/lib/utils.js +65 -67
- package/lib/value.js +7 -7
- package/lib/vendor.js +2 -2
- package/package.json +5 -5
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
145
|
+
let prefixTransforms3d = require('caniuse-lite/data/features/transforms3d')
|
|
136
146
|
|
|
137
|
-
f(
|
|
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(
|
|
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
|
|
168
|
+
let prefixGradients = require('caniuse-lite/data/features/css-gradients')
|
|
159
169
|
|
|
160
|
-
f(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
244
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
308
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
506
|
+
let prefixFullscreen = require('caniuse-lite/data/features/fullscreen')
|
|
463
507
|
|
|
464
|
-
f(
|
|
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(
|
|
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
|
-
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
645
|
+
let prefixDecoration = require('caniuse-lite/data/features/text-decoration')
|
|
573
646
|
|
|
574
|
-
f(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
688
|
-
|
|
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
|
-
|
|
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
|
|
796
|
+
let prefixCrispedges = require('caniuse-lite/data/features/css-crisp-edges')
|
|
705
797
|
|
|
706
|
-
f(
|
|
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(
|
|
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
|
|
814
|
+
let prefixLogicalProps = require('caniuse-lite/data/features/css-logical-props')
|
|
723
815
|
|
|
724
|
-
f(
|
|
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(
|
|
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
|
|
760
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
813
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
970
|
+
let prefixGrid = require('caniuse-lite/data/features/css-grid')
|
|
865
971
|
|
|
866
|
-
f(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
1029
|
+
let prefixBidi = require('caniuse-lite/data/features/css-unicode-bidi')
|
|
920
1030
|
|
|
921
|
-
f(
|
|
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(
|
|
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(
|
|
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
|
|
947
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|