@emailens/engine 0.11.9 → 0.12.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/dist/index.js CHANGED
@@ -192,7 +192,30 @@ import * as cheerio2 from "cheerio";
192
192
  import * as csstree2 from "css-tree";
193
193
 
194
194
  // src/rules/css-support.ts
195
- var CSS_SUPPORT = {
195
+ var SUPPORT_CLIENTS = [
196
+ "gmail-web",
197
+ "gmail-android",
198
+ "gmail-ios",
199
+ "outlook-web",
200
+ "outlook-windows",
201
+ "outlook-windows-legacy",
202
+ "outlook-ios",
203
+ "outlook-android",
204
+ "outlook-macos",
205
+ "apple-mail-macos",
206
+ "apple-mail-ios",
207
+ "yahoo-mail",
208
+ "yahoo-mail-android",
209
+ "yahoo-mail-ios",
210
+ "samsung-mail",
211
+ "thunderbird",
212
+ "hey-mail",
213
+ "protonmail",
214
+ "aol",
215
+ "fastmail",
216
+ "superhuman"
217
+ ];
218
+ var CSS_SUPPORT_TABLE = {
196
219
  "<abbr>": {
197
220
  "gmail-web": "supported",
198
221
  "gmail-android": "supported",
@@ -303,7 +326,7 @@ var CSS_SUPPORT = {
303
326
  "samsung-mail": "supported",
304
327
  "thunderbird": "supported",
305
328
  "hey-mail": "partial",
306
- "protonmail": "partial",
329
+ "protonmail": "unsupported",
307
330
  "aol": "partial",
308
331
  "fastmail": "partial",
309
332
  "superhuman": "unknown"
@@ -373,10 +396,56 @@ var CSS_SUPPORT = {
373
396
  "thunderbird": "supported",
374
397
  "hey-mail": "partial",
375
398
  "protonmail": "unsupported",
376
- "aol": "partial",
399
+ "aol": "unsupported",
377
400
  "fastmail": "unsupported",
378
401
  "superhuman": "unknown"
379
402
  },
403
+ '<button type="reset">': {
404
+ "gmail-web": "supported",
405
+ "gmail-android": "supported",
406
+ "gmail-ios": "partial",
407
+ "outlook-web": "supported",
408
+ "outlook-windows": "unsupported",
409
+ "outlook-windows-legacy": "unsupported",
410
+ "outlook-ios": "unsupported",
411
+ "outlook-android": "supported",
412
+ "outlook-macos": "supported",
413
+ "apple-mail-macos": "supported",
414
+ "apple-mail-ios": "supported",
415
+ "yahoo-mail": "unsupported",
416
+ "yahoo-mail-android": "unsupported",
417
+ "yahoo-mail-ios": "unsupported",
418
+ "samsung-mail": "supported",
419
+ "thunderbird": "partial",
420
+ "hey-mail": "unsupported",
421
+ "protonmail": "unsupported",
422
+ "aol": "unsupported",
423
+ "fastmail": "supported",
424
+ "superhuman": "unknown"
425
+ },
426
+ '<button type="submit">': {
427
+ "gmail-web": "supported",
428
+ "gmail-android": "supported",
429
+ "gmail-ios": "partial",
430
+ "outlook-web": "unsupported",
431
+ "outlook-windows": "unsupported",
432
+ "outlook-windows-legacy": "unsupported",
433
+ "outlook-ios": "unsupported",
434
+ "outlook-android": "supported",
435
+ "outlook-macos": "unsupported",
436
+ "apple-mail-macos": "supported",
437
+ "apple-mail-ios": "supported",
438
+ "yahoo-mail": "supported",
439
+ "yahoo-mail-android": "supported",
440
+ "yahoo-mail-ios": "unsupported",
441
+ "samsung-mail": "supported",
442
+ "thunderbird": "supported",
443
+ "hey-mail": "unsupported",
444
+ "protonmail": "unsupported",
445
+ "aol": "supported",
446
+ "fastmail": "supported",
447
+ "superhuman": "unknown"
448
+ },
380
449
  "<code>": {
381
450
  "gmail-web": "supported",
382
451
  "gmail-android": "supported",
@@ -584,6 +653,144 @@ var CSS_SUPPORT = {
584
653
  "fastmail": "supported",
585
654
  "superhuman": "unknown"
586
655
  },
656
+ '<input type="checkbox">': {
657
+ "gmail-web": "supported",
658
+ "gmail-android": "supported",
659
+ "gmail-ios": "supported",
660
+ "outlook-web": "supported",
661
+ "outlook-windows": "unsupported",
662
+ "outlook-windows-legacy": "unsupported",
663
+ "outlook-ios": "supported",
664
+ "outlook-android": "supported",
665
+ "outlook-macos": "supported",
666
+ "apple-mail-macos": "supported",
667
+ "apple-mail-ios": "supported",
668
+ "yahoo-mail": "supported",
669
+ "yahoo-mail-android": "supported",
670
+ "yahoo-mail-ios": "supported",
671
+ "samsung-mail": "supported",
672
+ "thunderbird": "partial",
673
+ "hey-mail": "unsupported",
674
+ "protonmail": "unsupported",
675
+ "aol": "supported",
676
+ "fastmail": "supported",
677
+ "superhuman": "unknown"
678
+ },
679
+ '<input type="hidden">': {
680
+ "gmail-web": "supported",
681
+ "gmail-android": "supported",
682
+ "gmail-ios": "supported",
683
+ "outlook-web": "supported",
684
+ "outlook-windows": "unsupported",
685
+ "outlook-windows-legacy": "unsupported",
686
+ "outlook-ios": "supported",
687
+ "outlook-android": "supported",
688
+ "outlook-macos": "supported",
689
+ "apple-mail-macos": "supported",
690
+ "apple-mail-ios": "supported",
691
+ "yahoo-mail": "supported",
692
+ "yahoo-mail-android": "supported",
693
+ "yahoo-mail-ios": "supported",
694
+ "samsung-mail": "supported",
695
+ "thunderbird": "partial",
696
+ "hey-mail": "unsupported",
697
+ "protonmail": "unsupported",
698
+ "aol": "supported",
699
+ "fastmail": "supported",
700
+ "superhuman": "unknown"
701
+ },
702
+ '<input type="radio">': {
703
+ "gmail-web": "supported",
704
+ "gmail-android": "supported",
705
+ "gmail-ios": "supported",
706
+ "outlook-web": "supported",
707
+ "outlook-windows": "unsupported",
708
+ "outlook-windows-legacy": "unsupported",
709
+ "outlook-ios": "supported",
710
+ "outlook-android": "supported",
711
+ "outlook-macos": "supported",
712
+ "apple-mail-macos": "supported",
713
+ "apple-mail-ios": "supported",
714
+ "yahoo-mail": "supported",
715
+ "yahoo-mail-android": "supported",
716
+ "yahoo-mail-ios": "supported",
717
+ "samsung-mail": "supported",
718
+ "thunderbird": "partial",
719
+ "hey-mail": "unsupported",
720
+ "protonmail": "unsupported",
721
+ "aol": "supported",
722
+ "fastmail": "supported",
723
+ "superhuman": "unknown"
724
+ },
725
+ '<input type="reset">': {
726
+ "gmail-web": "supported",
727
+ "gmail-android": "supported",
728
+ "gmail-ios": "partial",
729
+ "outlook-web": "supported",
730
+ "outlook-windows": "unsupported",
731
+ "outlook-windows-legacy": "unsupported",
732
+ "outlook-ios": "supported",
733
+ "outlook-android": "supported",
734
+ "outlook-macos": "supported",
735
+ "apple-mail-macos": "supported",
736
+ "apple-mail-ios": "supported",
737
+ "yahoo-mail": "supported",
738
+ "yahoo-mail-android": "supported",
739
+ "yahoo-mail-ios": "supported",
740
+ "samsung-mail": "supported",
741
+ "thunderbird": "partial",
742
+ "hey-mail": "unsupported",
743
+ "protonmail": "unsupported",
744
+ "aol": "supported",
745
+ "fastmail": "supported",
746
+ "superhuman": "unknown"
747
+ },
748
+ '<input type="submit">': {
749
+ "gmail-web": "supported",
750
+ "gmail-android": "supported",
751
+ "gmail-ios": "partial",
752
+ "outlook-web": "unsupported",
753
+ "outlook-windows": "unsupported",
754
+ "outlook-windows-legacy": "unsupported",
755
+ "outlook-ios": "supported",
756
+ "outlook-android": "supported",
757
+ "outlook-macos": "unsupported",
758
+ "apple-mail-macos": "supported",
759
+ "apple-mail-ios": "supported",
760
+ "yahoo-mail": "supported",
761
+ "yahoo-mail-android": "supported",
762
+ "yahoo-mail-ios": "unsupported",
763
+ "samsung-mail": "supported",
764
+ "thunderbird": "supported",
765
+ "hey-mail": "unsupported",
766
+ "protonmail": "unsupported",
767
+ "aol": "supported",
768
+ "fastmail": "supported",
769
+ "superhuman": "unknown"
770
+ },
771
+ '<input type="text">': {
772
+ "gmail-web": "supported",
773
+ "gmail-android": "supported",
774
+ "gmail-ios": "supported",
775
+ "outlook-web": "supported",
776
+ "outlook-windows": "unsupported",
777
+ "outlook-windows-legacy": "unsupported",
778
+ "outlook-ios": "supported",
779
+ "outlook-android": "unsupported",
780
+ "outlook-macos": "supported",
781
+ "apple-mail-macos": "supported",
782
+ "apple-mail-ios": "supported",
783
+ "yahoo-mail": "supported",
784
+ "yahoo-mail-android": "unsupported",
785
+ "yahoo-mail-ios": "supported",
786
+ "samsung-mail": "unsupported",
787
+ "thunderbird": "partial",
788
+ "hey-mail": "unsupported",
789
+ "protonmail": "unsupported",
790
+ "aol": "supported",
791
+ "fastmail": "supported",
792
+ "superhuman": "unknown"
793
+ },
587
794
  "<link>": {
588
795
  "gmail-web": "unsupported",
589
796
  "gmail-android": "unsupported",
@@ -970,7 +1177,7 @@ var CSS_SUPPORT = {
970
1177
  "samsung-mail": "supported",
971
1178
  "thunderbird": "supported",
972
1179
  "hey-mail": "supported",
973
- "protonmail": "supported",
1180
+ "protonmail": "partial",
974
1181
  "aol": "supported",
975
1182
  "fastmail": "supported",
976
1183
  "superhuman": "supported"
@@ -1039,7 +1246,7 @@ var CSS_SUPPORT = {
1039
1246
  "samsung-mail": "unsupported",
1040
1247
  "thunderbird": "partial",
1041
1248
  "hey-mail": "unsupported",
1042
- "protonmail": "supported",
1249
+ "protonmail": "partial",
1043
1250
  "aol": "supported",
1044
1251
  "fastmail": "supported",
1045
1252
  "superhuman": "unknown"
@@ -1113,15 +1320,38 @@ var CSS_SUPPORT = {
1113
1320
  "fastmail": "supported",
1114
1321
  "superhuman": "unknown"
1115
1322
  },
1116
- "@font-face": {
1323
+ "[align]": {
1324
+ "gmail-web": "supported",
1325
+ "gmail-android": "supported",
1326
+ "gmail-ios": "supported",
1327
+ "outlook-web": "supported",
1328
+ "outlook-windows": "supported",
1329
+ "outlook-windows-legacy": "supported",
1330
+ "outlook-ios": "supported",
1331
+ "outlook-android": "supported",
1332
+ "outlook-macos": "partial",
1333
+ "apple-mail-macos": "supported",
1334
+ "apple-mail-ios": "supported",
1335
+ "yahoo-mail": "supported",
1336
+ "yahoo-mail-android": "supported",
1337
+ "yahoo-mail-ios": "supported",
1338
+ "samsung-mail": "supported",
1339
+ "thunderbird": "supported",
1340
+ "hey-mail": "partial",
1341
+ "protonmail": "partial",
1342
+ "aol": "supported",
1343
+ "fastmail": "supported",
1344
+ "superhuman": "unknown"
1345
+ },
1346
+ "[aria-describedby]": {
1117
1347
  "gmail-web": "unsupported",
1118
1348
  "gmail-android": "unsupported",
1119
1349
  "gmail-ios": "unsupported",
1120
- "outlook-web": "unsupported",
1121
- "outlook-windows": "partial",
1350
+ "outlook-web": "supported",
1351
+ "outlook-windows": "unsupported",
1122
1352
  "outlook-windows-legacy": "unsupported",
1123
- "outlook-ios": "unsupported",
1124
- "outlook-android": "unsupported",
1353
+ "outlook-ios": "supported",
1354
+ "outlook-android": "supported",
1125
1355
  "outlook-macos": "supported",
1126
1356
  "apple-mail-macos": "supported",
1127
1357
  "apple-mail-ios": "supported",
@@ -1129,37 +1359,382 @@ var CSS_SUPPORT = {
1129
1359
  "yahoo-mail-android": "unsupported",
1130
1360
  "yahoo-mail-ios": "unsupported",
1131
1361
  "samsung-mail": "supported",
1132
- "thunderbird": "supported",
1133
- "hey-mail": "supported",
1134
- "protonmail": "unsupported",
1362
+ "thunderbird": "unsupported",
1363
+ "hey-mail": "unsupported",
1364
+ "protonmail": "supported",
1135
1365
  "aol": "unsupported",
1136
1366
  "fastmail": "unsupported",
1137
- "superhuman": "supported"
1367
+ "superhuman": "unknown"
1138
1368
  },
1139
- "@import": {
1140
- "gmail-web": "unsupported",
1141
- "gmail-android": "unsupported",
1142
- "gmail-ios": "unsupported",
1143
- "outlook-web": "unsupported",
1369
+ "[aria-hidden]": {
1370
+ "gmail-web": "supported",
1371
+ "gmail-android": "supported",
1372
+ "gmail-ios": "supported",
1373
+ "outlook-web": "supported",
1144
1374
  "outlook-windows": "supported",
1145
- "outlook-windows-legacy": "supported",
1146
- "outlook-ios": "unsupported",
1147
- "outlook-android": "unsupported",
1375
+ "outlook-windows-legacy": "unsupported",
1376
+ "outlook-ios": "supported",
1377
+ "outlook-android": "supported",
1148
1378
  "outlook-macos": "supported",
1149
1379
  "apple-mail-macos": "supported",
1150
1380
  "apple-mail-ios": "supported",
1151
1381
  "yahoo-mail": "unsupported",
1152
1382
  "yahoo-mail-android": "unsupported",
1153
1383
  "yahoo-mail-ios": "unsupported",
1154
- "samsung-mail": "unsupported",
1384
+ "samsung-mail": "supported",
1155
1385
  "thunderbird": "unsupported",
1156
- "hey-mail": "supported",
1157
- "protonmail": "unsupported",
1386
+ "hey-mail": "unsupported",
1387
+ "protonmail": "supported",
1158
1388
  "aol": "unsupported",
1159
- "fastmail": "unsupported",
1160
- "superhuman": "unsupported"
1389
+ "fastmail": "supported",
1390
+ "superhuman": "unknown"
1161
1391
  },
1162
- "@keyframes": {
1392
+ "[aria-label]": {
1393
+ "gmail-web": "supported",
1394
+ "gmail-android": "supported",
1395
+ "gmail-ios": "supported",
1396
+ "outlook-web": "supported",
1397
+ "outlook-windows": "supported",
1398
+ "outlook-windows-legacy": "unsupported",
1399
+ "outlook-ios": "supported",
1400
+ "outlook-android": "supported",
1401
+ "outlook-macos": "supported",
1402
+ "apple-mail-macos": "supported",
1403
+ "apple-mail-ios": "supported",
1404
+ "yahoo-mail": "unsupported",
1405
+ "yahoo-mail-android": "unsupported",
1406
+ "yahoo-mail-ios": "unsupported",
1407
+ "samsung-mail": "supported",
1408
+ "thunderbird": "unsupported",
1409
+ "hey-mail": "unsupported",
1410
+ "protonmail": "supported",
1411
+ "aol": "unsupported",
1412
+ "fastmail": "supported",
1413
+ "superhuman": "unknown"
1414
+ },
1415
+ "[aria-labelledby]": {
1416
+ "gmail-web": "unsupported",
1417
+ "gmail-android": "unsupported",
1418
+ "gmail-ios": "unsupported",
1419
+ "outlook-web": "unsupported",
1420
+ "outlook-windows": "unsupported",
1421
+ "outlook-windows-legacy": "unsupported",
1422
+ "outlook-ios": "supported",
1423
+ "outlook-android": "supported",
1424
+ "outlook-macos": "supported",
1425
+ "apple-mail-macos": "supported",
1426
+ "apple-mail-ios": "supported",
1427
+ "yahoo-mail": "unsupported",
1428
+ "yahoo-mail-android": "unsupported",
1429
+ "yahoo-mail-ios": "unsupported",
1430
+ "samsung-mail": "supported",
1431
+ "thunderbird": "unsupported",
1432
+ "hey-mail": "unsupported",
1433
+ "protonmail": "supported",
1434
+ "aol": "unsupported",
1435
+ "fastmail": "unsupported",
1436
+ "superhuman": "unknown"
1437
+ },
1438
+ "[aria-live]": {
1439
+ "gmail-web": "supported",
1440
+ "gmail-android": "supported",
1441
+ "gmail-ios": "supported",
1442
+ "outlook-web": "unsupported",
1443
+ "outlook-windows": "partial",
1444
+ "outlook-windows-legacy": "unsupported",
1445
+ "outlook-ios": "unsupported",
1446
+ "outlook-android": "unsupported",
1447
+ "outlook-macos": "supported",
1448
+ "apple-mail-macos": "supported",
1449
+ "apple-mail-ios": "supported",
1450
+ "yahoo-mail": "unsupported",
1451
+ "yahoo-mail-android": "unsupported",
1452
+ "yahoo-mail-ios": "unsupported",
1453
+ "samsung-mail": "supported",
1454
+ "thunderbird": "unsupported",
1455
+ "hey-mail": "unsupported",
1456
+ "protonmail": "supported",
1457
+ "aol": "unsupported",
1458
+ "fastmail": "supported",
1459
+ "superhuman": "unknown"
1460
+ },
1461
+ "[background]": {
1462
+ "gmail-web": "supported",
1463
+ "gmail-android": "partial",
1464
+ "gmail-ios": "partial",
1465
+ "outlook-web": "supported",
1466
+ "outlook-windows": "partial",
1467
+ "outlook-windows-legacy": "unsupported",
1468
+ "outlook-ios": "supported",
1469
+ "outlook-android": "supported",
1470
+ "outlook-macos": "supported",
1471
+ "apple-mail-macos": "supported",
1472
+ "apple-mail-ios": "supported",
1473
+ "yahoo-mail": "supported",
1474
+ "yahoo-mail-android": "supported",
1475
+ "yahoo-mail-ios": "supported",
1476
+ "samsung-mail": "supported",
1477
+ "thunderbird": "supported",
1478
+ "hey-mail": "unsupported",
1479
+ "protonmail": "supported",
1480
+ "aol": "supported",
1481
+ "fastmail": "supported",
1482
+ "superhuman": "unknown"
1483
+ },
1484
+ "[cellpadding]": {
1485
+ "gmail-web": "supported",
1486
+ "gmail-android": "supported",
1487
+ "gmail-ios": "supported",
1488
+ "outlook-web": "supported",
1489
+ "outlook-windows": "supported",
1490
+ "outlook-windows-legacy": "supported",
1491
+ "outlook-ios": "supported",
1492
+ "outlook-android": "supported",
1493
+ "outlook-macos": "supported",
1494
+ "apple-mail-macos": "supported",
1495
+ "apple-mail-ios": "supported",
1496
+ "yahoo-mail": "supported",
1497
+ "yahoo-mail-android": "supported",
1498
+ "yahoo-mail-ios": "supported",
1499
+ "samsung-mail": "supported",
1500
+ "thunderbird": "supported",
1501
+ "hey-mail": "unknown",
1502
+ "protonmail": "supported",
1503
+ "aol": "supported",
1504
+ "fastmail": "unknown",
1505
+ "superhuman": "unknown"
1506
+ },
1507
+ "[cellspacing]": {
1508
+ "gmail-web": "supported",
1509
+ "gmail-android": "supported",
1510
+ "gmail-ios": "supported",
1511
+ "outlook-web": "supported",
1512
+ "outlook-windows": "supported",
1513
+ "outlook-windows-legacy": "supported",
1514
+ "outlook-ios": "supported",
1515
+ "outlook-android": "supported",
1516
+ "outlook-macos": "supported",
1517
+ "apple-mail-macos": "supported",
1518
+ "apple-mail-ios": "supported",
1519
+ "yahoo-mail": "supported",
1520
+ "yahoo-mail-android": "supported",
1521
+ "yahoo-mail-ios": "supported",
1522
+ "samsung-mail": "supported",
1523
+ "thunderbird": "supported",
1524
+ "hey-mail": "unknown",
1525
+ "protonmail": "supported",
1526
+ "aol": "supported",
1527
+ "fastmail": "unknown",
1528
+ "superhuman": "unknown"
1529
+ },
1530
+ "[command]": {
1531
+ "gmail-web": "unsupported",
1532
+ "gmail-android": "unsupported",
1533
+ "gmail-ios": "unsupported",
1534
+ "outlook-web": "unsupported",
1535
+ "outlook-windows": "unsupported",
1536
+ "outlook-windows-legacy": "unsupported",
1537
+ "outlook-ios": "unknown",
1538
+ "outlook-android": "unsupported",
1539
+ "outlook-macos": "unsupported",
1540
+ "apple-mail-macos": "supported",
1541
+ "apple-mail-ios": "supported",
1542
+ "yahoo-mail": "unsupported",
1543
+ "yahoo-mail-android": "unsupported",
1544
+ "yahoo-mail-ios": "unsupported",
1545
+ "samsung-mail": "partial",
1546
+ "thunderbird": "supported",
1547
+ "hey-mail": "unknown",
1548
+ "protonmail": "unsupported",
1549
+ "aol": "unsupported",
1550
+ "fastmail": "unknown",
1551
+ "superhuman": "unknown"
1552
+ },
1553
+ "[dir]": {
1554
+ "gmail-web": "supported",
1555
+ "gmail-android": "supported",
1556
+ "gmail-ios": "supported",
1557
+ "outlook-web": "supported",
1558
+ "outlook-windows": "partial",
1559
+ "outlook-windows-legacy": "partial",
1560
+ "outlook-ios": "supported",
1561
+ "outlook-android": "supported",
1562
+ "outlook-macos": "supported",
1563
+ "apple-mail-macos": "supported",
1564
+ "apple-mail-ios": "supported",
1565
+ "yahoo-mail": "supported",
1566
+ "yahoo-mail-android": "supported",
1567
+ "yahoo-mail-ios": "supported",
1568
+ "samsung-mail": "supported",
1569
+ "thunderbird": "supported",
1570
+ "hey-mail": "supported",
1571
+ "protonmail": "supported",
1572
+ "aol": "supported",
1573
+ "fastmail": "supported",
1574
+ "superhuman": "unknown"
1575
+ },
1576
+ "[height]": {
1577
+ "gmail-web": "supported",
1578
+ "gmail-android": "supported",
1579
+ "gmail-ios": "supported",
1580
+ "outlook-web": "supported",
1581
+ "outlook-windows": "partial",
1582
+ "outlook-windows-legacy": "supported",
1583
+ "outlook-ios": "supported",
1584
+ "outlook-android": "supported",
1585
+ "outlook-macos": "supported",
1586
+ "apple-mail-macos": "supported",
1587
+ "apple-mail-ios": "supported",
1588
+ "yahoo-mail": "supported",
1589
+ "yahoo-mail-android": "supported",
1590
+ "yahoo-mail-ios": "supported",
1591
+ "samsung-mail": "supported",
1592
+ "thunderbird": "supported",
1593
+ "hey-mail": "unsupported",
1594
+ "protonmail": "supported",
1595
+ "aol": "supported",
1596
+ "fastmail": "supported",
1597
+ "superhuman": "unknown"
1598
+ },
1599
+ "[hidden]": {
1600
+ "gmail-web": "unsupported",
1601
+ "gmail-android": "unsupported",
1602
+ "gmail-ios": "unsupported",
1603
+ "outlook-web": "unsupported",
1604
+ "outlook-windows": "unsupported",
1605
+ "outlook-windows-legacy": "unsupported",
1606
+ "outlook-ios": "unsupported",
1607
+ "outlook-android": "unsupported",
1608
+ "outlook-macos": "unsupported",
1609
+ "apple-mail-macos": "supported",
1610
+ "apple-mail-ios": "supported",
1611
+ "yahoo-mail": "unsupported",
1612
+ "yahoo-mail-android": "unsupported",
1613
+ "yahoo-mail-ios": "unsupported",
1614
+ "samsung-mail": "supported",
1615
+ "thunderbird": "supported",
1616
+ "hey-mail": "unknown",
1617
+ "protonmail": "supported",
1618
+ "aol": "unsupported",
1619
+ "fastmail": "unknown",
1620
+ "superhuman": "unknown"
1621
+ },
1622
+ "[lang]": {
1623
+ "gmail-web": "supported",
1624
+ "gmail-android": "supported",
1625
+ "gmail-ios": "supported",
1626
+ "outlook-web": "supported",
1627
+ "outlook-windows": "supported",
1628
+ "outlook-windows-legacy": "supported",
1629
+ "outlook-ios": "supported",
1630
+ "outlook-android": "supported",
1631
+ "outlook-macos": "supported",
1632
+ "apple-mail-macos": "supported",
1633
+ "apple-mail-ios": "supported",
1634
+ "yahoo-mail": "partial",
1635
+ "yahoo-mail-android": "partial",
1636
+ "yahoo-mail-ios": "partial",
1637
+ "samsung-mail": "supported",
1638
+ "thunderbird": "supported",
1639
+ "hey-mail": "unsupported",
1640
+ "protonmail": "supported",
1641
+ "aol": "partial",
1642
+ "fastmail": "supported",
1643
+ "superhuman": "unknown"
1644
+ },
1645
+ "[loading]": {
1646
+ "gmail-web": "unsupported",
1647
+ "gmail-android": "unsupported",
1648
+ "gmail-ios": "unsupported",
1649
+ "outlook-web": "unsupported",
1650
+ "outlook-windows": "unsupported",
1651
+ "outlook-windows-legacy": "unsupported",
1652
+ "outlook-ios": "unsupported",
1653
+ "outlook-android": "unsupported",
1654
+ "outlook-macos": "supported",
1655
+ "apple-mail-macos": "supported",
1656
+ "apple-mail-ios": "supported",
1657
+ "yahoo-mail": "unsupported",
1658
+ "yahoo-mail-android": "unsupported",
1659
+ "yahoo-mail-ios": "unsupported",
1660
+ "samsung-mail": "supported",
1661
+ "thunderbird": "supported",
1662
+ "hey-mail": "partial",
1663
+ "protonmail": "unsupported",
1664
+ "aol": "unsupported",
1665
+ "fastmail": "unsupported",
1666
+ "superhuman": "unknown"
1667
+ },
1668
+ "[popover]": {
1669
+ "gmail-web": "unsupported",
1670
+ "gmail-android": "unsupported",
1671
+ "gmail-ios": "unsupported",
1672
+ "outlook-web": "unsupported",
1673
+ "outlook-windows": "unsupported",
1674
+ "outlook-windows-legacy": "unsupported",
1675
+ "outlook-ios": "unsupported",
1676
+ "outlook-android": "unsupported",
1677
+ "outlook-macos": "unsupported",
1678
+ "apple-mail-macos": "supported",
1679
+ "apple-mail-ios": "supported",
1680
+ "yahoo-mail": "unsupported",
1681
+ "yahoo-mail-android": "unsupported",
1682
+ "yahoo-mail-ios": "unsupported",
1683
+ "samsung-mail": "partial",
1684
+ "thunderbird": "partial",
1685
+ "hey-mail": "unsupported",
1686
+ "protonmail": "supported",
1687
+ "aol": "unsupported",
1688
+ "fastmail": "unsupported",
1689
+ "superhuman": "unknown"
1690
+ },
1691
+ "[required]": {
1692
+ "gmail-web": "unsupported",
1693
+ "gmail-android": "partial",
1694
+ "gmail-ios": "unsupported",
1695
+ "outlook-web": "unsupported",
1696
+ "outlook-windows": "unsupported",
1697
+ "outlook-windows-legacy": "unsupported",
1698
+ "outlook-ios": "supported",
1699
+ "outlook-android": "supported",
1700
+ "outlook-macos": "supported",
1701
+ "apple-mail-macos": "supported",
1702
+ "apple-mail-ios": "supported",
1703
+ "yahoo-mail": "unsupported",
1704
+ "yahoo-mail-android": "unsupported",
1705
+ "yahoo-mail-ios": "unsupported",
1706
+ "samsung-mail": "supported",
1707
+ "thunderbird": "supported",
1708
+ "hey-mail": "unsupported",
1709
+ "protonmail": "unsupported",
1710
+ "aol": "unsupported",
1711
+ "fastmail": "supported",
1712
+ "superhuman": "unknown"
1713
+ },
1714
+ "[role]": {
1715
+ "gmail-web": "supported",
1716
+ "gmail-android": "supported",
1717
+ "gmail-ios": "supported",
1718
+ "outlook-web": "supported",
1719
+ "outlook-windows": "supported",
1720
+ "outlook-windows-legacy": "unsupported",
1721
+ "outlook-ios": "supported",
1722
+ "outlook-android": "supported",
1723
+ "outlook-macos": "supported",
1724
+ "apple-mail-macos": "supported",
1725
+ "apple-mail-ios": "supported",
1726
+ "yahoo-mail": "partial",
1727
+ "yahoo-mail-android": "partial",
1728
+ "yahoo-mail-ios": "partial",
1729
+ "samsung-mail": "supported",
1730
+ "thunderbird": "supported",
1731
+ "hey-mail": "unsupported",
1732
+ "protonmail": "supported",
1733
+ "aol": "partial",
1734
+ "fastmail": "supported",
1735
+ "superhuman": "unknown"
1736
+ },
1737
+ "[srcset]": {
1163
1738
  "gmail-web": "unsupported",
1164
1739
  "gmail-android": "unsupported",
1165
1740
  "gmail-ios": "unsupported",
@@ -1171,18 +1746,271 @@ var CSS_SUPPORT = {
1171
1746
  "outlook-macos": "supported",
1172
1747
  "apple-mail-macos": "supported",
1173
1748
  "apple-mail-ios": "supported",
1749
+ "yahoo-mail": "unsupported",
1750
+ "yahoo-mail-android": "unsupported",
1751
+ "yahoo-mail-ios": "unsupported",
1752
+ "samsung-mail": "supported",
1753
+ "thunderbird": "supported",
1754
+ "hey-mail": "unsupported",
1755
+ "protonmail": "unsupported",
1756
+ "aol": "unsupported",
1757
+ "fastmail": "unsupported",
1758
+ "superhuman": "unknown"
1759
+ },
1760
+ "[target]": {
1761
+ "gmail-web": "unsupported",
1762
+ "gmail-android": "unsupported",
1763
+ "gmail-ios": "unsupported",
1764
+ "outlook-web": "unsupported",
1765
+ "outlook-windows": "partial",
1766
+ "outlook-windows-legacy": "partial",
1767
+ "outlook-ios": "partial",
1768
+ "outlook-android": "partial",
1769
+ "outlook-macos": "partial",
1770
+ "apple-mail-macos": "partial",
1771
+ "apple-mail-ios": "partial",
1772
+ "yahoo-mail": "unsupported",
1773
+ "yahoo-mail-android": "unsupported",
1774
+ "yahoo-mail-ios": "unsupported",
1775
+ "samsung-mail": "partial",
1776
+ "thunderbird": "partial",
1777
+ "hey-mail": "unsupported",
1778
+ "protonmail": "unsupported",
1779
+ "aol": "unsupported",
1780
+ "fastmail": "unsupported",
1781
+ "superhuman": "unknown"
1782
+ },
1783
+ "[valign]": {
1784
+ "gmail-web": "supported",
1785
+ "gmail-android": "supported",
1786
+ "gmail-ios": "supported",
1787
+ "outlook-web": "supported",
1788
+ "outlook-windows": "supported",
1789
+ "outlook-windows-legacy": "supported",
1790
+ "outlook-ios": "supported",
1791
+ "outlook-android": "supported",
1792
+ "outlook-macos": "supported",
1793
+ "apple-mail-macos": "supported",
1794
+ "apple-mail-ios": "supported",
1795
+ "yahoo-mail": "supported",
1796
+ "yahoo-mail-android": "supported",
1797
+ "yahoo-mail-ios": "supported",
1798
+ "samsung-mail": "supported",
1799
+ "thunderbird": "supported",
1800
+ "hey-mail": "supported",
1801
+ "protonmail": "supported",
1802
+ "aol": "supported",
1803
+ "fastmail": "supported",
1804
+ "superhuman": "unknown"
1805
+ },
1806
+ "[width]": {
1807
+ "gmail-web": "supported",
1808
+ "gmail-android": "supported",
1809
+ "gmail-ios": "supported",
1810
+ "outlook-web": "supported",
1811
+ "outlook-windows": "partial",
1812
+ "outlook-windows-legacy": "supported",
1813
+ "outlook-ios": "supported",
1814
+ "outlook-android": "supported",
1815
+ "outlook-macos": "supported",
1816
+ "apple-mail-macos": "supported",
1817
+ "apple-mail-ios": "supported",
1174
1818
  "yahoo-mail": "supported",
1819
+ "yahoo-mail-android": "supported",
1820
+ "yahoo-mail-ios": "supported",
1821
+ "samsung-mail": "supported",
1822
+ "thunderbird": "supported",
1823
+ "hey-mail": "unsupported",
1824
+ "protonmail": "supported",
1825
+ "aol": "supported",
1826
+ "fastmail": "supported",
1827
+ "superhuman": "unknown"
1828
+ },
1829
+ "@font-face": {
1830
+ "gmail-web": "unsupported",
1831
+ "gmail-android": "unsupported",
1832
+ "gmail-ios": "unsupported",
1833
+ "outlook-web": "unsupported",
1834
+ "outlook-windows": "partial",
1835
+ "outlook-windows-legacy": "unsupported",
1836
+ "outlook-ios": "unsupported",
1837
+ "outlook-android": "unsupported",
1838
+ "outlook-macos": "supported",
1839
+ "apple-mail-macos": "supported",
1840
+ "apple-mail-ios": "supported",
1841
+ "yahoo-mail": "unsupported",
1175
1842
  "yahoo-mail-android": "unsupported",
1176
1843
  "yahoo-mail-ios": "unsupported",
1177
1844
  "samsung-mail": "supported",
1178
1845
  "thunderbird": "supported",
1179
1846
  "hey-mail": "supported",
1180
1847
  "protonmail": "unsupported",
1181
- "aol": "supported",
1848
+ "aol": "unsupported",
1849
+ "fastmail": "unsupported",
1850
+ "superhuman": "supported"
1851
+ },
1852
+ "@import": {
1853
+ "gmail-web": "unsupported",
1854
+ "gmail-android": "unsupported",
1855
+ "gmail-ios": "unsupported",
1856
+ "outlook-web": "unsupported",
1857
+ "outlook-windows": "supported",
1858
+ "outlook-windows-legacy": "supported",
1859
+ "outlook-ios": "unsupported",
1860
+ "outlook-android": "unsupported",
1861
+ "outlook-macos": "supported",
1862
+ "apple-mail-macos": "supported",
1863
+ "apple-mail-ios": "supported",
1864
+ "yahoo-mail": "unsupported",
1865
+ "yahoo-mail-android": "unsupported",
1866
+ "yahoo-mail-ios": "unsupported",
1867
+ "samsung-mail": "unsupported",
1868
+ "thunderbird": "unsupported",
1869
+ "hey-mail": "supported",
1870
+ "protonmail": "unsupported",
1871
+ "aol": "unsupported",
1872
+ "fastmail": "unsupported",
1873
+ "superhuman": "unsupported"
1874
+ },
1875
+ "@keyframes": {
1876
+ "gmail-web": "unsupported",
1877
+ "gmail-android": "unsupported",
1878
+ "gmail-ios": "unsupported",
1879
+ "outlook-web": "unsupported",
1880
+ "outlook-windows": "unsupported",
1881
+ "outlook-windows-legacy": "unsupported",
1882
+ "outlook-ios": "unsupported",
1883
+ "outlook-android": "unsupported",
1884
+ "outlook-macos": "supported",
1885
+ "apple-mail-macos": "supported",
1886
+ "apple-mail-ios": "supported",
1887
+ "yahoo-mail": "supported",
1888
+ "yahoo-mail-android": "unsupported",
1889
+ "yahoo-mail-ios": "unsupported",
1890
+ "samsung-mail": "supported",
1891
+ "thunderbird": "supported",
1892
+ "hey-mail": "supported",
1893
+ "protonmail": "unsupported",
1894
+ "aol": "unsupported",
1895
+ "fastmail": "supported",
1896
+ "superhuman": "partial"
1897
+ },
1898
+ "@media": {
1899
+ "gmail-web": "partial",
1900
+ "gmail-android": "partial",
1901
+ "gmail-ios": "partial",
1902
+ "outlook-web": "partial",
1903
+ "outlook-windows": "unsupported",
1904
+ "outlook-windows-legacy": "unsupported",
1905
+ "outlook-ios": "partial",
1906
+ "outlook-android": "partial",
1907
+ "outlook-macos": "supported",
1908
+ "apple-mail-macos": "supported",
1909
+ "apple-mail-ios": "supported",
1910
+ "yahoo-mail": "partial",
1911
+ "yahoo-mail-android": "partial",
1912
+ "yahoo-mail-ios": "partial",
1913
+ "samsung-mail": "partial",
1914
+ "thunderbird": "unsupported",
1915
+ "hey-mail": "supported",
1916
+ "protonmail": "partial",
1917
+ "aol": "partial",
1918
+ "fastmail": "supported",
1919
+ "superhuman": "supported"
1920
+ },
1921
+ "@media device-pixel-ratio": {
1922
+ "gmail-web": "unsupported",
1923
+ "gmail-android": "unsupported",
1924
+ "gmail-ios": "unsupported",
1925
+ "outlook-web": "supported",
1926
+ "outlook-windows": "unsupported",
1927
+ "outlook-windows-legacy": "unsupported",
1928
+ "outlook-ios": "supported",
1929
+ "outlook-android": "supported",
1930
+ "outlook-macos": "supported",
1931
+ "apple-mail-macos": "supported",
1932
+ "apple-mail-ios": "supported",
1933
+ "yahoo-mail": "unsupported",
1934
+ "yahoo-mail-android": "unsupported",
1935
+ "yahoo-mail-ios": "unsupported",
1936
+ "samsung-mail": "supported",
1937
+ "thunderbird": "unsupported",
1938
+ "hey-mail": "supported",
1939
+ "protonmail": "unsupported",
1940
+ "aol": "unsupported",
1941
+ "fastmail": "supported",
1942
+ "superhuman": "unknown"
1943
+ },
1944
+ "@media hover": {
1945
+ "gmail-web": "unsupported",
1946
+ "gmail-android": "unsupported",
1947
+ "gmail-ios": "unsupported",
1948
+ "outlook-web": "supported",
1949
+ "outlook-windows": "unsupported",
1950
+ "outlook-windows-legacy": "unsupported",
1951
+ "outlook-ios": "supported",
1952
+ "outlook-android": "supported",
1953
+ "outlook-macos": "supported",
1954
+ "apple-mail-macos": "supported",
1955
+ "apple-mail-ios": "supported",
1956
+ "yahoo-mail": "unsupported",
1957
+ "yahoo-mail-android": "unsupported",
1958
+ "yahoo-mail-ios": "unsupported",
1959
+ "samsung-mail": "supported",
1960
+ "thunderbird": "unknown",
1961
+ "hey-mail": "unknown",
1962
+ "protonmail": "supported",
1963
+ "aol": "unsupported",
1964
+ "fastmail": "unknown",
1965
+ "superhuman": "unknown"
1966
+ },
1967
+ "@media orientation": {
1968
+ "gmail-web": "supported",
1969
+ "gmail-android": "supported",
1970
+ "gmail-ios": "unsupported",
1971
+ "outlook-web": "supported",
1972
+ "outlook-windows": "unsupported",
1973
+ "outlook-windows-legacy": "unsupported",
1974
+ "outlook-ios": "supported",
1975
+ "outlook-android": "supported",
1976
+ "outlook-macos": "supported",
1977
+ "apple-mail-macos": "supported",
1978
+ "apple-mail-ios": "partial",
1979
+ "yahoo-mail": "unsupported",
1980
+ "yahoo-mail-android": "unsupported",
1981
+ "yahoo-mail-ios": "unsupported",
1982
+ "samsung-mail": "supported",
1983
+ "thunderbird": "unsupported",
1984
+ "hey-mail": "supported",
1985
+ "protonmail": "unsupported",
1986
+ "aol": "unsupported",
1987
+ "fastmail": "supported",
1988
+ "superhuman": "unknown"
1989
+ },
1990
+ "@media prefers-color-scheme": {
1991
+ "gmail-web": "unsupported",
1992
+ "gmail-android": "unsupported",
1993
+ "gmail-ios": "unsupported",
1994
+ "outlook-web": "supported",
1995
+ "outlook-windows": "unsupported",
1996
+ "outlook-windows-legacy": "unsupported",
1997
+ "outlook-ios": "supported",
1998
+ "outlook-android": "supported",
1999
+ "outlook-macos": "supported",
2000
+ "apple-mail-macos": "supported",
2001
+ "apple-mail-ios": "supported",
2002
+ "yahoo-mail": "unsupported",
2003
+ "yahoo-mail-android": "unsupported",
2004
+ "yahoo-mail-ios": "unsupported",
2005
+ "samsung-mail": "supported",
2006
+ "thunderbird": "unsupported",
2007
+ "hey-mail": "unsupported",
2008
+ "protonmail": "unsupported",
2009
+ "aol": "unsupported",
1182
2010
  "fastmail": "supported",
1183
- "superhuman": "partial"
2011
+ "superhuman": "unknown"
1184
2012
  },
1185
- "@media": {
2013
+ "@media prefers-reduced-motion": {
1186
2014
  "gmail-web": "unsupported",
1187
2015
  "gmail-android": "unsupported",
1188
2016
  "gmail-ios": "unsupported",
@@ -1200,10 +2028,10 @@ var CSS_SUPPORT = {
1200
2028
  "samsung-mail": "supported",
1201
2029
  "thunderbird": "unsupported",
1202
2030
  "hey-mail": "supported",
1203
- "protonmail": "unsupported",
2031
+ "protonmail": "partial",
1204
2032
  "aol": "unsupported",
1205
- "fastmail": "supported",
1206
- "superhuman": "supported"
2033
+ "fastmail": "unsupported",
2034
+ "superhuman": "unknown"
1207
2035
  },
1208
2036
  "@supports": {
1209
2037
  "gmail-web": "unsupported",
@@ -1297,6 +2125,52 @@ var CSS_SUPPORT = {
1297
2125
  "fastmail": "supported",
1298
2126
  "superhuman": "supported"
1299
2127
  },
2128
+ "amp4email": {
2129
+ "gmail-web": "supported",
2130
+ "gmail-android": "supported",
2131
+ "gmail-ios": "supported",
2132
+ "outlook-web": "unsupported",
2133
+ "outlook-windows": "unsupported",
2134
+ "outlook-windows-legacy": "unsupported",
2135
+ "outlook-ios": "unsupported",
2136
+ "outlook-android": "unsupported",
2137
+ "outlook-macos": "unsupported",
2138
+ "apple-mail-macos": "unsupported",
2139
+ "apple-mail-ios": "unsupported",
2140
+ "yahoo-mail": "supported",
2141
+ "yahoo-mail-android": "supported",
2142
+ "yahoo-mail-ios": "supported",
2143
+ "samsung-mail": "unsupported",
2144
+ "thunderbird": "unsupported",
2145
+ "hey-mail": "unsupported",
2146
+ "protonmail": "unsupported",
2147
+ "aol": "unsupported",
2148
+ "fastmail": "unsupported",
2149
+ "superhuman": "unknown"
2150
+ },
2151
+ "anchor-links": {
2152
+ "gmail-web": "supported",
2153
+ "gmail-android": "supported",
2154
+ "gmail-ios": "unsupported",
2155
+ "outlook-web": "supported",
2156
+ "outlook-windows": "supported",
2157
+ "outlook-windows-legacy": "supported",
2158
+ "outlook-ios": "supported",
2159
+ "outlook-android": "supported",
2160
+ "outlook-macos": "supported",
2161
+ "apple-mail-macos": "supported",
2162
+ "apple-mail-ios": "supported",
2163
+ "yahoo-mail": "partial",
2164
+ "yahoo-mail-android": "unsupported",
2165
+ "yahoo-mail-ios": "unsupported",
2166
+ "samsung-mail": "unsupported",
2167
+ "thunderbird": "supported",
2168
+ "hey-mail": "unsupported",
2169
+ "protonmail": "unsupported",
2170
+ "aol": "unsupported",
2171
+ "fastmail": "supported",
2172
+ "superhuman": "unknown"
2173
+ },
1300
2174
  "animation": {
1301
2175
  "gmail-web": "unsupported",
1302
2176
  "gmail-android": "unsupported",
@@ -2051,7 +2925,7 @@ var CSS_SUPPORT = {
2051
2925
  "samsung-mail": "supported",
2052
2926
  "thunderbird": "supported",
2053
2927
  "hey-mail": "unsupported",
2054
- "protonmail": "supported",
2928
+ "protonmail": "unsupported",
2055
2929
  "aol": "unsupported",
2056
2930
  "fastmail": "unsupported",
2057
2931
  "superhuman": "unknown"
@@ -2144,7 +3018,7 @@ var CSS_SUPPORT = {
2144
3018
  "thunderbird": "supported",
2145
3019
  "hey-mail": "unknown",
2146
3020
  "protonmail": "supported",
2147
- "aol": "supported",
3021
+ "aol": "partial",
2148
3022
  "fastmail": "unknown",
2149
3023
  "superhuman": "unknown"
2150
3024
  },
@@ -2240,6 +3114,29 @@ var CSS_SUPPORT = {
2240
3114
  "fastmail": "partial",
2241
3115
  "superhuman": "supported"
2242
3116
  },
3117
+ "doctype": {
3118
+ "gmail-web": "supported",
3119
+ "gmail-android": "supported",
3120
+ "gmail-ios": "supported",
3121
+ "outlook-web": "supported",
3122
+ "outlook-windows": "unsupported",
3123
+ "outlook-windows-legacy": "supported",
3124
+ "outlook-ios": "supported",
3125
+ "outlook-android": "supported",
3126
+ "outlook-macos": "supported",
3127
+ "apple-mail-macos": "supported",
3128
+ "apple-mail-ios": "supported",
3129
+ "yahoo-mail": "supported",
3130
+ "yahoo-mail-android": "unsupported",
3131
+ "yahoo-mail-ios": "supported",
3132
+ "samsung-mail": "unsupported",
3133
+ "thunderbird": "unsupported",
3134
+ "hey-mail": "unsupported",
3135
+ "protonmail": "unsupported",
3136
+ "aol": "unsupported",
3137
+ "fastmail": "supported",
3138
+ "superhuman": "unknown"
3139
+ },
2243
3140
  "empty-cells": {
2244
3141
  "gmail-web": "supported",
2245
3142
  "gmail-android": "supported",
@@ -2259,7 +3156,7 @@ var CSS_SUPPORT = {
2259
3156
  "thunderbird": "unknown",
2260
3157
  "hey-mail": "unknown",
2261
3158
  "protonmail": "supported",
2262
- "aol": "supported",
3159
+ "aol": "unsupported",
2263
3160
  "fastmail": "unknown",
2264
3161
  "superhuman": "supported"
2265
3162
  },
@@ -2608,6 +3505,52 @@ var CSS_SUPPORT = {
2608
3505
  "fastmail": "supported",
2609
3506
  "superhuman": "supported"
2610
3507
  },
3508
+ "html-comments": {
3509
+ "gmail-web": "supported",
3510
+ "gmail-android": "supported",
3511
+ "gmail-ios": "supported",
3512
+ "outlook-web": "supported",
3513
+ "outlook-windows": "supported",
3514
+ "outlook-windows-legacy": "supported",
3515
+ "outlook-ios": "supported",
3516
+ "outlook-android": "supported",
3517
+ "outlook-macos": "supported",
3518
+ "apple-mail-macos": "supported",
3519
+ "apple-mail-ios": "supported",
3520
+ "yahoo-mail": "supported",
3521
+ "yahoo-mail-android": "supported",
3522
+ "yahoo-mail-ios": "supported",
3523
+ "samsung-mail": "supported",
3524
+ "thunderbird": "supported",
3525
+ "hey-mail": "unknown",
3526
+ "protonmail": "supported",
3527
+ "aol": "supported",
3528
+ "fastmail": "unknown",
3529
+ "superhuman": "unknown"
3530
+ },
3531
+ "html5-semantics": {
3532
+ "gmail-web": "partial",
3533
+ "gmail-android": "partial",
3534
+ "gmail-ios": "partial",
3535
+ "outlook-web": "partial",
3536
+ "outlook-windows": "unsupported",
3537
+ "outlook-windows-legacy": "unsupported",
3538
+ "outlook-ios": "partial",
3539
+ "outlook-android": "partial",
3540
+ "outlook-macos": "supported",
3541
+ "apple-mail-macos": "supported",
3542
+ "apple-mail-ios": "supported",
3543
+ "yahoo-mail": "unsupported",
3544
+ "yahoo-mail-android": "unsupported",
3545
+ "yahoo-mail-ios": "unsupported",
3546
+ "samsung-mail": "supported",
3547
+ "thunderbird": "supported",
3548
+ "hey-mail": "partial",
3549
+ "protonmail": "supported",
3550
+ "aol": "unsupported",
3551
+ "fastmail": "supported",
3552
+ "superhuman": "unknown"
3553
+ },
2611
3554
  "hyphenate-character": {
2612
3555
  "gmail-web": "unsupported",
2613
3556
  "gmail-android": "unsupported",
@@ -2677,6 +3620,29 @@ var CSS_SUPPORT = {
2677
3620
  "fastmail": "unknown",
2678
3621
  "superhuman": "unknown"
2679
3622
  },
3623
+ "image-maps": {
3624
+ "gmail-web": "supported",
3625
+ "gmail-android": "supported",
3626
+ "gmail-ios": "supported",
3627
+ "outlook-web": "supported",
3628
+ "outlook-windows": "supported",
3629
+ "outlook-windows-legacy": "unsupported",
3630
+ "outlook-ios": "supported",
3631
+ "outlook-android": "supported",
3632
+ "outlook-macos": "supported",
3633
+ "apple-mail-macos": "supported",
3634
+ "apple-mail-ios": "supported",
3635
+ "yahoo-mail": "supported",
3636
+ "yahoo-mail-android": "unsupported",
3637
+ "yahoo-mail-ios": "supported",
3638
+ "samsung-mail": "supported",
3639
+ "thunderbird": "supported",
3640
+ "hey-mail": "unsupported",
3641
+ "protonmail": "unsupported",
3642
+ "aol": "unsupported",
3643
+ "fastmail": "supported",
3644
+ "superhuman": "unknown"
3645
+ },
2680
3646
  "inert": {
2681
3647
  "gmail-web": "unsupported",
2682
3648
  "gmail-android": "unsupported",
@@ -2695,7 +3661,7 @@ var CSS_SUPPORT = {
2695
3661
  "samsung-mail": "supported",
2696
3662
  "thunderbird": "unknown",
2697
3663
  "hey-mail": "unknown",
2698
- "protonmail": "partial",
3664
+ "protonmail": "unsupported",
2699
3665
  "aol": "unsupported",
2700
3666
  "fastmail": "unknown",
2701
3667
  "superhuman": "unknown"
@@ -2741,7 +3707,7 @@ var CSS_SUPPORT = {
2741
3707
  "samsung-mail": "unsupported",
2742
3708
  "thunderbird": "supported",
2743
3709
  "hey-mail": "unknown",
2744
- "protonmail": "unknown",
3710
+ "protonmail": "unsupported",
2745
3711
  "aol": "unsupported",
2746
3712
  "fastmail": "unknown",
2747
3713
  "superhuman": "unknown"
@@ -2902,7 +3868,7 @@ var CSS_SUPPORT = {
2902
3868
  "samsung-mail": "supported",
2903
3869
  "thunderbird": "supported",
2904
3870
  "hey-mail": "supported",
2905
- "protonmail": "partial",
3871
+ "protonmail": "unsupported",
2906
3872
  "aol": "partial",
2907
3873
  "fastmail": "supported",
2908
3874
  "superhuman": "supported"
@@ -2976,6 +3942,29 @@ var CSS_SUPPORT = {
2976
3942
  "fastmail": "supported",
2977
3943
  "superhuman": "supported"
2978
3944
  },
3945
+ "mailto-links": {
3946
+ "gmail-web": "supported",
3947
+ "gmail-android": "supported",
3948
+ "gmail-ios": "supported",
3949
+ "outlook-web": "supported",
3950
+ "outlook-windows": "supported",
3951
+ "outlook-windows-legacy": "supported",
3952
+ "outlook-ios": "supported",
3953
+ "outlook-android": "supported",
3954
+ "outlook-macos": "supported",
3955
+ "apple-mail-macos": "supported",
3956
+ "apple-mail-ios": "supported",
3957
+ "yahoo-mail": "supported",
3958
+ "yahoo-mail-android": "partial",
3959
+ "yahoo-mail-ios": "supported",
3960
+ "samsung-mail": "supported",
3961
+ "thunderbird": "supported",
3962
+ "hey-mail": "supported",
3963
+ "protonmail": "partial",
3964
+ "aol": "partial",
3965
+ "fastmail": "supported",
3966
+ "superhuman": "unknown"
3967
+ },
2979
3968
  "margin": {
2980
3969
  "gmail-web": "partial",
2981
3970
  "gmail-android": "partial",
@@ -3206,6 +4195,29 @@ var CSS_SUPPORT = {
3206
4195
  "fastmail": "supported",
3207
4196
  "superhuman": "supported"
3208
4197
  },
4198
+ "meta-color-scheme": {
4199
+ "gmail-web": "unsupported",
4200
+ "gmail-android": "unsupported",
4201
+ "gmail-ios": "unsupported",
4202
+ "outlook-web": "unsupported",
4203
+ "outlook-windows": "unsupported",
4204
+ "outlook-windows-legacy": "unsupported",
4205
+ "outlook-ios": "unsupported",
4206
+ "outlook-android": "unsupported",
4207
+ "outlook-macos": "unsupported",
4208
+ "apple-mail-macos": "supported",
4209
+ "apple-mail-ios": "unsupported",
4210
+ "yahoo-mail": "unsupported",
4211
+ "yahoo-mail-android": "unsupported",
4212
+ "yahoo-mail-ios": "unsupported",
4213
+ "samsung-mail": "unsupported",
4214
+ "thunderbird": "supported",
4215
+ "hey-mail": "unsupported",
4216
+ "protonmail": "unsupported",
4217
+ "aol": "unsupported",
4218
+ "fastmail": "unsupported",
4219
+ "superhuman": "unknown"
4220
+ },
3209
4221
  "min": {
3210
4222
  "gmail-web": "supported",
3211
4223
  "gmail-android": "partial",
@@ -3270,7 +4282,7 @@ var CSS_SUPPORT = {
3270
4282
  "samsung-mail": "supported",
3271
4283
  "thunderbird": "supported",
3272
4284
  "hey-mail": "supported",
3273
- "protonmail": "supported",
4285
+ "protonmail": "unsupported",
3274
4286
  "aol": "supported",
3275
4287
  "fastmail": "supported",
3276
4288
  "superhuman": "supported"
@@ -3362,7 +4374,7 @@ var CSS_SUPPORT = {
3362
4374
  "samsung-mail": "unsupported",
3363
4375
  "thunderbird": "unsupported",
3364
4376
  "hey-mail": "supported",
3365
- "protonmail": "supported",
4377
+ "protonmail": "unsupported",
3366
4378
  "aol": "unsupported",
3367
4379
  "fastmail": "supported",
3368
4380
  "superhuman": "unknown"
@@ -3385,7 +4397,7 @@ var CSS_SUPPORT = {
3385
4397
  "samsung-mail": "partial",
3386
4398
  "thunderbird": "supported",
3387
4399
  "hey-mail": "unknown",
3388
- "protonmail": "supported",
4400
+ "protonmail": "partial",
3389
4401
  "aol": "unsupported",
3390
4402
  "fastmail": "unknown",
3391
4403
  "superhuman": "unknown"
@@ -3569,7 +4581,7 @@ var CSS_SUPPORT = {
3569
4581
  "samsung-mail": "supported",
3570
4582
  "thunderbird": "unknown",
3571
4583
  "hey-mail": "unknown",
3572
- "protonmail": "supported",
4584
+ "protonmail": "partial",
3573
4585
  "aol": "unsupported",
3574
4586
  "fastmail": "unknown",
3575
4587
  "superhuman": "supported"
@@ -3708,7 +4720,7 @@ var CSS_SUPPORT = {
3708
4720
  "thunderbird": "supported",
3709
4721
  "hey-mail": "supported",
3710
4722
  "protonmail": "supported",
3711
- "aol": "supported",
4723
+ "aol": "unsupported",
3712
4724
  "fastmail": "supported",
3713
4725
  "superhuman": "unknown"
3714
4726
  },
@@ -3799,7 +4811,7 @@ var CSS_SUPPORT = {
3799
4811
  "samsung-mail": "supported",
3800
4812
  "thunderbird": "unknown",
3801
4813
  "hey-mail": "unknown",
3802
- "protonmail": "partial",
4814
+ "protonmail": "unsupported",
3803
4815
  "aol": "unsupported",
3804
4816
  "fastmail": "unknown",
3805
4817
  "superhuman": "unsupported"
@@ -3960,8 +4972,8 @@ var CSS_SUPPORT = {
3960
4972
  "samsung-mail": "partial",
3961
4973
  "thunderbird": "partial",
3962
4974
  "hey-mail": "supported",
3963
- "protonmail": "supported",
3964
- "aol": "supported",
4975
+ "protonmail": "partial",
4976
+ "aol": "partial",
3965
4977
  "fastmail": "supported",
3966
4978
  "superhuman": "unknown"
3967
4979
  },
@@ -4075,7 +5087,7 @@ var CSS_SUPPORT = {
4075
5087
  "samsung-mail": "supported",
4076
5088
  "thunderbird": "supported",
4077
5089
  "hey-mail": "supported",
4078
- "protonmail": "supported",
5090
+ "protonmail": "unsupported",
4079
5091
  "aol": "supported",
4080
5092
  "fastmail": "supported",
4081
5093
  "superhuman": "supported"
@@ -4122,7 +5134,7 @@ var CSS_SUPPORT = {
4122
5134
  "thunderbird": "supported",
4123
5135
  "hey-mail": "unknown",
4124
5136
  "protonmail": "supported",
4125
- "aol": "supported",
5137
+ "aol": "unsupported",
4126
5138
  "fastmail": "unknown",
4127
5139
  "superhuman": "unknown"
4128
5140
  },
@@ -4168,7 +5180,7 @@ var CSS_SUPPORT = {
4168
5180
  "thunderbird": "supported",
4169
5181
  "hey-mail": "unknown",
4170
5182
  "protonmail": "supported",
4171
- "aol": "supported",
5183
+ "aol": "unsupported",
4172
5184
  "fastmail": "unknown",
4173
5185
  "superhuman": "unknown"
4174
5186
  },
@@ -4282,7 +5294,7 @@ var CSS_SUPPORT = {
4282
5294
  "samsung-mail": "unsupported",
4283
5295
  "thunderbird": "unknown",
4284
5296
  "hey-mail": "unknown",
4285
- "protonmail": "partial",
5297
+ "protonmail": "unsupported",
4286
5298
  "aol": "unsupported",
4287
5299
  "fastmail": "unknown",
4288
5300
  "superhuman": "unknown"
@@ -4512,7 +5524,7 @@ var CSS_SUPPORT = {
4512
5524
  "samsung-mail": "partial",
4513
5525
  "thunderbird": "supported",
4514
5526
  "hey-mail": "partial",
4515
- "protonmail": "supported",
5527
+ "protonmail": "unsupported",
4516
5528
  "aol": "partial",
4517
5529
  "fastmail": "supported",
4518
5530
  "superhuman": "partial"
@@ -5064,7 +6076,7 @@ var CSS_SUPPORT = {
5064
6076
  "samsung-mail": "partial",
5065
6077
  "thunderbird": "supported",
5066
6078
  "hey-mail": "partial",
5067
- "protonmail": "supported",
6079
+ "protonmail": "partial",
5068
6080
  "aol": "unsupported",
5069
6081
  "fastmail": "supported",
5070
6082
  "superhuman": "supported"
@@ -5088,7 +6100,7 @@ var CSS_SUPPORT = {
5088
6100
  "thunderbird": "supported",
5089
6101
  "hey-mail": "unknown",
5090
6102
  "protonmail": "supported",
5091
- "aol": "partial",
6103
+ "aol": "unsupported",
5092
6104
  "fastmail": "unknown",
5093
6105
  "superhuman": "supported"
5094
6106
  },
@@ -5248,7 +6260,7 @@ var CSS_SUPPORT = {
5248
6260
  "samsung-mail": "supported",
5249
6261
  "thunderbird": "supported",
5250
6262
  "hey-mail": "supported",
5251
- "protonmail": "supported",
6263
+ "protonmail": "unsupported",
5252
6264
  "aol": "supported",
5253
6265
  "fastmail": "supported",
5254
6266
  "superhuman": "unknown"
@@ -5502,7 +6514,7 @@ var CSS_SUPPORT = {
5502
6514
  "thunderbird": "supported",
5503
6515
  "hey-mail": "supported",
5504
6516
  "protonmail": "supported",
5505
- "aol": "supported",
6517
+ "aol": "unsupported",
5506
6518
  "fastmail": "supported",
5507
6519
  "superhuman": "unknown"
5508
6520
  },
@@ -5616,7 +6628,7 @@ var CSS_SUPPORT = {
5616
6628
  "samsung-mail": "supported",
5617
6629
  "thunderbird": "unsupported",
5618
6630
  "hey-mail": "supported",
5619
- "protonmail": "supported",
6631
+ "protonmail": "unsupported",
5620
6632
  "aol": "unsupported",
5621
6633
  "fastmail": "supported",
5622
6634
  "superhuman": "unknown"
@@ -5640,7 +6652,7 @@ var CSS_SUPPORT = {
5640
6652
  "thunderbird": "supported",
5641
6653
  "hey-mail": "supported",
5642
6654
  "protonmail": "supported",
5643
- "aol": "supported",
6655
+ "aol": "unsupported",
5644
6656
  "fastmail": "supported",
5645
6657
  "superhuman": "unknown"
5646
6658
  },
@@ -5916,7 +6928,7 @@ var CSS_SUPPORT = {
5916
6928
  "thunderbird": "supported",
5917
6929
  "hey-mail": "unsupported",
5918
6930
  "protonmail": "unsupported",
5919
- "aol": "supported",
6931
+ "aol": "unsupported",
5920
6932
  "fastmail": "unsupported",
5921
6933
  "superhuman": "unknown"
5922
6934
  },
@@ -5985,7 +6997,7 @@ var CSS_SUPPORT = {
5985
6997
  "thunderbird": "supported",
5986
6998
  "hey-mail": "supported",
5987
6999
  "protonmail": "unsupported",
5988
- "aol": "supported",
7000
+ "aol": "unsupported",
5989
7001
  "fastmail": "supported",
5990
7002
  "superhuman": "unknown"
5991
7003
  },
@@ -6059,6 +7071,7 @@ var CSS_SUPPORT = {
6059
7071
  "superhuman": "supported"
6060
7072
  }
6061
7073
  };
7074
+ var CSS_SUPPORT = CSS_SUPPORT_TABLE;
6062
7075
  var CSS_SUPPORT_NOTES = {
6063
7076
  "<abbr>": {
6064
7077
  "outlook-windows": ["Buggy. Element's content are still kept."],
@@ -6100,16 +7113,46 @@ var CSS_SUPPORT_NOTES = {
6100
7113
  "outlook-ios": ["Partial. Replaced by a `<div>` with supported attributes."],
6101
7114
  "outlook-android": ["Partial. Replaced by a `<div>` with supported attributes."],
6102
7115
  "yahoo-mail": ["Partial. Replaced by a `<div>` with supported attributes."],
6103
- "hey-mail": ["Partial. Replaced by a `<div>` with supported attributes."],
6104
- "aol": ["Partial. Replaced by a `<div>` with supported attributes."]
7116
+ "hey-mail": ["Partial. Replaced by a `<div>` with supported attributes."]
7117
+ },
7118
+ '<button type="reset">': {
7119
+ "gmail-ios": ["Partial. Not supported with non Google accounts."],
7120
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
7121
+ },
7122
+ '<button type="submit">': {
7123
+ "gmail-ios": ["Partial. Not supported with non Google accounts."]
6105
7124
  },
6106
7125
  "<dfn>": {
6107
7126
  "outlook-windows": ["Partial. The `title` attribute is removed."],
6108
7127
  "outlook-windows-legacy": ["Partial. The `title` attribute is removed."]
6109
7128
  },
6110
- "<form>": {
6111
- "gmail-ios": ["Does not submit in iOS with non Google accounts."],
6112
- "outlook-web": ["Not supported. The `<form>` is there but values are not submitted."]
7129
+ "<form>": {
7130
+ "gmail-ios": ["Does not submit in iOS with non Google accounts."],
7131
+ "outlook-web": ["Not supported. The `<form>` is there but values are not submitted."],
7132
+ "protonmail": ["Not supported. The `<form>` and its entire content is removed."]
7133
+ },
7134
+ '<input type="checkbox">': {
7135
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
7136
+ },
7137
+ '<input type="hidden">': {
7138
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
7139
+ },
7140
+ '<input type="radio">': {
7141
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
7142
+ },
7143
+ '<input type="reset">': {
7144
+ "gmail-ios": ["Partial. Not supported with non Google accounts."],
7145
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
7146
+ },
7147
+ '<input type="submit">': {
7148
+ "gmail-ios": ["Partial. Not supported with non Google accounts."]
7149
+ },
7150
+ '<input type="text">': {
7151
+ "outlook-android": ["Buggy. A number of Android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
7152
+ "apple-mail-ios": ["Buggy. Screen jumps when input is in focus."],
7153
+ "yahoo-mail-android": ["Buggy. A number of Android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
7154
+ "samsung-mail": ["Buggy. A number of Android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
7155
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
6113
7156
  },
6114
7157
  "<marquee>": {
6115
7158
  "outlook-web": ["The `<marquee>` element is supported but not the `behavior` or `direction` attributes."],
@@ -6159,7 +7202,8 @@ var CSS_SUPPORT_NOTES = {
6159
7202
  "gmail-android": ["Partial. Not supported inside the `<body>`.", "Partial. Not supported with non Google accounts."],
6160
7203
  "gmail-ios": ["Partial. Not supported inside the `<body>`.", "Partial. Not supported with non Google accounts."],
6161
7204
  "outlook-windows": ["Buggy. `<style>` elements need to be declared before their rules are used."],
6162
- "outlook-windows-legacy": ["Buggy. `<style>` elements need to be declared before their rules are used."]
7205
+ "outlook-windows-legacy": ["Buggy. `<style>` elements need to be declared before their rules are used."],
7206
+ "protonmail": ["Partial. Not supported inside the `<body>`."]
6163
7207
  },
6164
7208
  "<svg>": {
6165
7209
  "apple-mail-macos": ["Buggy. Requires a background on the `<body>`. Can be any type of background, image or a color, can be set as attribute, inline style or in `<style>` block"]
@@ -6169,7 +7213,8 @@ var CSS_SUPPORT_NOTES = {
6169
7213
  "apple-mail-ios": ["Buggy. Screen jumps when input is in focus."],
6170
7214
  "yahoo-mail-android": ["Buggy. A number of android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
6171
7215
  "samsung-mail": ["Buggy. A number of android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
6172
- "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
7216
+ "thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."],
7217
+ "protonmail": ["Buggy. A number of android clients will not show the keyboard when the input is clicked. Copy and pasting text works."]
6173
7218
  },
6174
7219
  "<ul>": {
6175
7220
  "gmail-web": ["Partial. The `reversed` attribute on `<ol>` is not supported."],
@@ -6205,11 +7250,135 @@ var CSS_SUPPORT_NOTES = {
6205
7250
  "<wbr>": {
6206
7251
  "gmail-android": ["Partial. Supported with non Google accounts only."]
6207
7252
  },
7253
+ "[align]": {
7254
+ "outlook-macos": ["Partial. `left` and `right` do not work on `<table>` elements. Use `float:left` or `float:right` styles instead."],
7255
+ "hey-mail": ["Partial. Not supported on `<img>` elements."],
7256
+ "protonmail": ["Partial. `<img>` elements are wrapped in a `<span>` so `left` and `right` values have no effect."]
7257
+ },
7258
+ "[aria-describedby]": {
7259
+ "gmail-web": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-describedby` value."],
7260
+ "fastmail": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-describedby` value."]
7261
+ },
7262
+ "[aria-labelledby]": {
7263
+ "gmail-web": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
7264
+ "gmail-android": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
7265
+ "gmail-ios": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
7266
+ "outlook-web": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
7267
+ "outlook-windows": ["Buggy. `id` is removed."],
7268
+ "fastmail": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."]
7269
+ },
7270
+ "[aria-live]": {
7271
+ "outlook-windows": ["Code isn't stripped but can't trigger a live change."]
7272
+ },
7273
+ "[background]": {
7274
+ "gmail-android": ["Partial. Not supported with non Google accounts."],
7275
+ "gmail-ios": ["Partial. Not supported with non Google accounts."],
7276
+ "outlook-windows": ["Partial. Only supported on the `<body>` element."]
7277
+ },
7278
+ "[command]": {
7279
+ "samsung-mail": ["Partial. Not supported with Microsoft (Hotmail/Outlook) accounts."]
7280
+ },
7281
+ "[dir]": {
7282
+ "outlook-windows": ["Buggy on anchor `<a>` tags."],
7283
+ "outlook-windows-legacy": ["Buggy on anchor `<a>` tags."]
7284
+ },
7285
+ "[height]": {
7286
+ "outlook-windows": ["Buggy. Percentage width on `<img>` elements are based on the physical file's width, not on the parent element's width.", "Buggy. Sizes set in attributes don't scale in 120 dpi mode."]
7287
+ },
7288
+ "[lang]": {
7289
+ "yahoo-mail": ["Not supported on `<td>` elements."],
7290
+ "yahoo-mail-android": ["Not supported on `<td>` elements."],
7291
+ "yahoo-mail-ios": ["Not supported on `<td>` elements."],
7292
+ "aol": ["Not supported on `<td>` elements."]
7293
+ },
7294
+ "[loading]": {
7295
+ "outlook-macos": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
7296
+ "apple-mail-macos": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
7297
+ "apple-mail-ios": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
7298
+ "samsung-mail": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
7299
+ "thunderbird": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
7300
+ "hey-mail": ['Not supported. The webmail adds `loading="lazy"` to all images.']
7301
+ },
7302
+ "[popover]": {
7303
+ "samsung-mail": ["Partial. Not supported with Hotmail/Outlook accounts."],
7304
+ "thunderbird": ["Buggy. A button with just an image inside will trigger an image zoom rather than the popover."],
7305
+ "protonmail": ["Partial. Does not work with command/commandfor attributes only with popovertarget/popovertargetaction"]
7306
+ },
7307
+ "[required]": {
7308
+ "gmail-android": ["Partial. Only supported with non Google accounts."]
7309
+ },
7310
+ "[role]": {
7311
+ "outlook-windows": ["Not live tested, only looked at processed code on Litmus."],
7312
+ "yahoo-mail": ["Partial. Only works on the `<table>` tag."],
7313
+ "yahoo-mail-android": ["Partial. Only works on the `<table>` tag."],
7314
+ "yahoo-mail-ios": ["Partial. Only works on the `<table>` tag."],
7315
+ "aol": ["Partial. Only works on the `<table>` tag."]
7316
+ },
7317
+ "[srcset]": {
7318
+ "protonmail": ["The `sizes` attribute is supported but not `srcset`."],
7319
+ "fastmail": ["The `sizes` attribute is supported but not `srcset`."]
7320
+ },
7321
+ "[target]": {
7322
+ "gmail-web": ['Not supported. `target="_blank"` is forced on all links.'],
7323
+ "gmail-android": ['Not supported. `target="_blank"` is forced on all links.'],
7324
+ "gmail-ios": ['Not supported. `target="_blank"` is forced on all links.'],
7325
+ "outlook-web": ['Not supported. `target="_blank"` is forced on all links.'],
7326
+ "outlook-windows": ["The attribute is supported but links always open in a new window anyway."],
7327
+ "outlook-windows-legacy": ["The attribute is supported but links always open in a new window anyway."],
7328
+ "outlook-ios": ["The attribute is supported but links always open in a new window anyway."],
7329
+ "outlook-android": ["The attribute is supported but links always open in a new window anyway."],
7330
+ "outlook-macos": ["The attribute is supported but links always open in a new window anyway."],
7331
+ "apple-mail-macos": ["The attribute is supported but links always open in a new window anyway."],
7332
+ "apple-mail-ios": ["The attribute is supported but links always open in a new window anyway."],
7333
+ "yahoo-mail": ['Not supported. `target="_blank"` is forced on all links.'],
7334
+ "yahoo-mail-android": ['Not supported. `target="_blank"` is forced on all links.'],
7335
+ "yahoo-mail-ios": ['Not supported. `target="_blank"` is forced on all links.'],
7336
+ "samsung-mail": ["The attribute is supported but links always open in a new window anyway."],
7337
+ "thunderbird": ["The attribute is supported but links always open in a new window anyway."],
7338
+ "hey-mail": ['Not supported. `target="_blank"` is forced on all links.'],
7339
+ "protonmail": ['Not supported. `target="_blank"` is forced on all links.'],
7340
+ "aol": ['Not supported. `target="_blank"` is forced on all links.'],
7341
+ "fastmail": ['Not supported. `target="_blank"` is forced on all links.']
7342
+ },
7343
+ "[width]": {
7344
+ "outlook-windows": ["Buggy. Percentage width on `<img>` elements are based on the physical file's width, not on the parent element's width.", "Buggy. Sizes set in attributes don't scale in 120 dpi mode."],
7345
+ "apple-mail-macos": ["The `width` attribute is ignored on CID embedded images. See [#171](https://github.com/hteumeuleu/caniemail/issues/171)."]
7346
+ },
6208
7347
  "@font-face": {
6209
7348
  "gmail-web": ["Not supported. Roboto and Google Sans can be used, but only because they're embedded with the webmail's own styles."],
6210
7349
  "outlook-windows": ["Partial. The declaration is supported but distant fonts are ignored."],
6211
7350
  "samsung-mail": ["Not supported when using a Microsoft email address; outlook, live, hotmail, etc."]
6212
7351
  },
7352
+ "@media": {
7353
+ "gmail-web": ["Partial. Does not support height based media queries."],
7354
+ "gmail-android": ["Partial. Not supported with non Google accounts.", "Partial. Does not support height based media queries."],
7355
+ "gmail-ios": ["Partial. Not supported with non Google accounts.", "Partial. Does not support height based media queries."],
7356
+ "outlook-web": ["Partial. Does not support nested media queries.", "Partial. Nested media queries are removed."],
7357
+ "outlook-ios": ["Partial. Does not support nested media queries."],
7358
+ "outlook-android": ["Partial. Does not support nested media queries."],
7359
+ "yahoo-mail": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."],
7360
+ "yahoo-mail-android": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."],
7361
+ "yahoo-mail-ios": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."],
7362
+ "samsung-mail": ["Partial. Not supported with Hotmail/Outlook accounts."],
7363
+ "protonmail": ["Partial. Does not support landscape media query."],
7364
+ "aol": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."]
7365
+ },
7366
+ "@media orientation": {
7367
+ "apple-mail-ios": ["Partial. `orientation:portrait` is not supported."]
7368
+ },
7369
+ "@media prefers-color-scheme": {
7370
+ "outlook-web": ["Additional custom `data` attributes (`data-ogsc`, `data-ogac`, `data-ogsb`, `data-ogab`) are added when viewing an email in dark mode. See [this article](https://www.hteumeuleu.com/2021/emails-react-outlook-com-dark-mode/) for examples."],
7371
+ "outlook-ios": ["Additional custom `data` attributes (`data-ogsc`, `data-ogac`, `data-ogsb`, `data-ogab`) are added when viewing an email in dark mode. See [this article](https://www.hteumeuleu.com/2021/emails-react-outlook-com-dark-mode/) for examples."],
7372
+ "outlook-android": ["Additional custom `data` attributes (`data-ogsc`, `data-ogac`, `data-ogsb`, `data-ogab`) are added when viewing an email in dark mode. See [this article](https://www.hteumeuleu.com/2021/emails-react-outlook-com-dark-mode/) for examples."],
7373
+ "yahoo-mail": ["Not supported. `@media (prefers-color-scheme:dark)` is transformed into `@media ()`"],
7374
+ "hey-mail": ["Not supported. `@media (prefers-color-scheme:dark)` is transformed into `@media (false)`"],
7375
+ "aol": ["Not supported. `@media (prefers-color-scheme)` is transformed into `@media ( _filtered_a )`."],
7376
+ "fastmail": ["`@media (prefers-color-scheme:dark)` is transformed into `@media all` at run time if it applies."]
7377
+ },
7378
+ "@media prefers-reduced-motion": {
7379
+ "protonmail": ["Partially supported. Not supported on `picture`."],
7380
+ "fastmail": ["Not supported. `@media (prefers-reduced-motion:reduce)` is transformed into `@media none`."]
7381
+ },
6213
7382
  "@supports": {
6214
7383
  "yahoo-mail": ["Properties not supported by the client are replaced by `_filtered_a` inside the parenthesis."],
6215
7384
  "yahoo-mail-android": ["Properties not supported by the client are replaced by `_filtered_a` inside the parenthesis."],
@@ -6226,13 +7395,32 @@ var CSS_SUPPORT_NOTES = {
6226
7395
  "yahoo-mail": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"],
6227
7396
  "yahoo-mail-android": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"],
6228
7397
  "yahoo-mail-ios": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"],
6229
- "protonmail": ["Partial. Only supported in lowercase."],
7398
+ "protonmail": ["Partial. Only supported in lowercase.", "Partial. Only supported if not written in lowercase.", "Partial. Only supported inline due to the lack of `<style>` support."],
6230
7399
  "aol": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"]
6231
7400
  },
6232
7401
  "accent-color": {
6233
7402
  "apple-mail-ios": ["Supports `accent-color` but rendering depends on browser support."],
6234
7403
  "samsung-mail": ["Supports `accent-color` but rendering depends on browser support."]
6235
7404
  },
7405
+ "amp4email": {
7406
+ "gmail-web": ["Supported on compatible browsers. Refer to \u2018supported platforms\u2019 links listed below under resources."],
7407
+ "yahoo-mail": ["Supported on compatible browsers. Refer to \u2018supported platforms\u2019 links listed below under resources."]
7408
+ },
7409
+ "anchor-links": {
7410
+ "gmail-web": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
7411
+ "gmail-android": ["Buggy. Targeted content is partially hidden by the application UI on top."],
7412
+ "gmail-ios": ["Buggy. Clicking an anchor link does nothing."],
7413
+ "outlook-windows": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
7414
+ "outlook-windows-legacy": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
7415
+ "apple-mail-macos": ["Buggy. Targeted content is partially hidden by the application UI on top."],
7416
+ "yahoo-mail": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
7417
+ "yahoo-mail-android": ["Buggy. Clicking an anchor link does nothing."],
7418
+ "yahoo-mail-ios": ["Buggy. Opens a new in-app browser window on yahoo.com with the anchor appended to the URL."],
7419
+ "samsung-mail": ["Buggy. Clicking an anchor link does nothing."]
7420
+ },
7421
+ "aspect-ratio": {
7422
+ "protonmail": ["Requires iOS 15."]
7423
+ },
6236
7424
  "backdrop-filter": {
6237
7425
  "apple-mail-macos": ["Works with prefix `-webkit`"],
6238
7426
  "apple-mail-ios": ["Works with prefix `-webkit`"]
@@ -6305,6 +7493,9 @@ var CSS_SUPPORT_NOTES = {
6305
7493
  "yahoo-mail-ios": ["Partial support. Shorthand for setting elliptical borders with the slash `/` notation is not supported e.g. `border-radius: 27% 73% 70% 30% / 30% 34% 66% 70%;`."],
6306
7494
  "aol": ["Partial support. Shorthand for setting elliptical borders with the slash `/` notation is not supported e.g. `border-radius: 27% 73% 70% 30% / 30% 34% 66% 70%;`."]
6307
7495
  },
7496
+ "bottom": {
7497
+ "samsung-mail": ["Partial. Percentages values are not supported."]
7498
+ },
6308
7499
  "box-shadow": {
6309
7500
  "gmail-android": ["Partial. Only supported with non Google accounts."],
6310
7501
  "gmail-ios": ["Partial. Only supported with non Google accounts."]
@@ -6339,7 +7530,8 @@ var CSS_SUPPORT_NOTES = {
6339
7530
  "css-comments": {
6340
7531
  "gmail-android": ["Partial. `<style>` tag not supported with non-google account. Comment inside `style:` attribute works."],
6341
7532
  "yahoo-mail-android": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."],
6342
- "yahoo-mail-ios": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."]
7533
+ "yahoo-mail-ios": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."],
7534
+ "aol": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."]
6343
7535
  },
6344
7536
  "cursor": {
6345
7537
  "gmail-web": ["Cursor property is removed."],
@@ -6370,12 +7562,17 @@ var CSS_SUPPORT_NOTES = {
6370
7562
  "aol": ["Partial. `flow-root`, `inline-flex`, `inline-grid`, `inline flow`, `contents`, `revert` are not supported."],
6371
7563
  "fastmail": ["Partial. Two-value syntax are combined into a single one with a dash."]
6372
7564
  },
7565
+ "doctype": {
7566
+ "outlook-windows": ["Not supported. The HTML5 doctype has no impact here."],
7567
+ "thunderbird": ["Buggy. Renders as if there was no doctype with an Outlook email, and in HTML5 otherwise."]
7568
+ },
6373
7569
  "fit-content": {
6374
7570
  "gmail-ios": ["Partial. Not supported with non Google accounts."],
6375
7571
  "outlook-ios": ["Partial. Supports `min-content` and `fit-content` only."],
6376
7572
  "outlook-android": ["Partial. Supports `min-content` and `fit-content` only."],
6377
7573
  "apple-mail-macos": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."],
6378
- "apple-mail-ios": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."]
7574
+ "apple-mail-ios": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."],
7575
+ "protonmail": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."]
6379
7576
  },
6380
7577
  "float": {
6381
7578
  "gmail-android": ["Partial. Logical property values `inline-start` and `inline-end` are not supported."],
@@ -6432,8 +7629,24 @@ var CSS_SUPPORT_NOTES = {
6432
7629
  "yahoo-mail-ios": ["Buggy. Replaces `height` by `min-height`."],
6433
7630
  "aol": ["Buggy. Replaces `height` by `min-height`."]
6434
7631
  },
6435
- "inert": {
6436
- "protonmail": ["Works except on form tag"]
7632
+ "html5-semantics": {
7633
+ "gmail-web": ["Partial. `<details>`, `<main>`, `<nav>` and `<summary>` are not supported. Opening and closing tags are replaced by `<u></u>`."],
7634
+ "gmail-android": ["Partial. `<details>`, `<main>`, `<nav>` and `<summary>` are not supported. Opening and closing tags are replaced by `<u></u>`."],
7635
+ "gmail-ios": ["Partial. `<details>`, `<main>`, `<nav>` and `<summary>` are not supported. Opening and closing tags are replaced by `<u></u>`."],
7636
+ "outlook-web": ["Partial. Only `<time>` is supported.", "Unsupported opening and closing tags are stripped."],
7637
+ "outlook-ios": ["Partial. Only `<time>` is supported.", "Unsupported opening and closing tags are stripped."],
7638
+ "outlook-android": ["Partial. Only `<time>` is supported.", "Unsupported opening and closing tags are stripped."],
7639
+ "yahoo-mail": ["Unsupported opening and closing tags are stripped."],
7640
+ "yahoo-mail-android": ["Unsupported opening and closing tags are stripped."],
7641
+ "yahoo-mail-ios": ["Unsupported opening and closing tags are stripped."],
7642
+ "hey-mail": ["Partial. `<article>`, `<aside>`, `<header>`, `<main>` `<nav>`, `<section>`, `<summary>` are not supported."],
7643
+ "aol": ["Unsupported opening and closing tags are stripped."]
7644
+ },
7645
+ "hyphens": {
7646
+ "protonmail": ["Applies an equivalent behaviour of `word-wrap: break-word` for mobile."]
7647
+ },
7648
+ "inset": {
7649
+ "protonmail": ["Buggy. Almost all values are replaced by `unset`."]
6437
7650
  },
6438
7651
  "left": {
6439
7652
  "samsung-mail": ["Partial. Percentages values are not supported."]
@@ -6466,7 +7679,6 @@ var CSS_SUPPORT_NOTES = {
6466
7679
  "yahoo-mail": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."],
6467
7680
  "yahoo-mail-android": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."],
6468
7681
  "yahoo-mail-ios": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."],
6469
- "protonmail": ["`url()` is transformed into `proton-url()` for `list-style-type` values, invalidating the entire property."],
6470
7682
  "aol": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."]
6471
7683
  },
6472
7684
  "list-style-image": {
@@ -6481,6 +7693,11 @@ var CSS_SUPPORT_NOTES = {
6481
7693
  "outlook-windows": ["Not supported, but the proprietary `mso-text-indent-alt` property can be used instead."],
6482
7694
  "outlook-windows-legacy": ["Not supported, but the proprietary `mso-text-indent-alt` property can be used instead."]
6483
7695
  },
7696
+ "mailto-links": {
7697
+ "yahoo-mail-android": ["Partial. `bcc` is not supported."],
7698
+ "protonmail": ["Partial. `bcc` is not supported."],
7699
+ "aol": ["Partial. `bcc` is not supported."]
7700
+ },
6484
7701
  "margin": {
6485
7702
  "gmail-web": ["Partial. Negative values are not supported."],
6486
7703
  "gmail-android": ["Partial. Negative values are not supported."],
@@ -6521,7 +7738,6 @@ var CSS_SUPPORT_NOTES = {
6521
7738
  "gmail-android": ["Using this syntax for an inline style will remove all inline styles applied to that element."],
6522
7739
  "gmail-ios": ["Using this syntax for an inline style will remove all inline styles applied to that element."],
6523
7740
  "hey-mail": ["Depends on browser support."],
6524
- "protonmail": ["Depends on browser support."],
6525
7741
  "fastmail": ["Depends on browser support."]
6526
7742
  },
6527
7743
  "nesting": {
@@ -6530,6 +7746,7 @@ var CSS_SUPPORT_NOTES = {
6530
7746
  "yahoo-mail-android": ["Not supported. The nested selectors are removed, making the nested properties apply to the parent selector."],
6531
7747
  "yahoo-mail-ios": ["Not supported. The nested selectors are removed, making the nested properties apply to the parent selector."],
6532
7748
  "samsung-mail": ["Partial. Not supported with Hotmail/Outlook accounts."],
7749
+ "protonmail": ["Partial. `@media` is not fully supported, and `& & &` syntax not supported"],
6533
7750
  "aol": ["Not supported. The nested selectors are removed, making the nested properties apply to the parent selector."]
6534
7751
  },
6535
7752
  "object-fit": {
@@ -6559,12 +7776,14 @@ var CSS_SUPPORT_NOTES = {
6559
7776
  "yahoo-mail-android": ["Buggy. Cannot scroll through to hidden content.", "Partial. `overflow-block` & `overflow-inline` not supported."],
6560
7777
  "yahoo-mail-ios": ["Partial. `overflow-block` & `overflow-inline` not supported."],
6561
7778
  "samsung-mail": ["Partial. `overflow-block` & `overflow-inline` not supported."],
6562
- "protonmail": ["Partial. Support for `overflow-block` & `overflow-inline` depends on browser support."],
6563
- "aol": ["Partial. `overflow-block` & `overflow-inline` not supported."]
7779
+ "protonmail": ["Partial. Support for `overflow-block` & `overflow-inline` depends on browser support.", "Buggy. Cannot scroll through to hidden content."],
7780
+ "aol": ["Partial. `overflow-block` & `overflow-inline` not supported.", "Buggy. Cannot scroll through to hidden content."]
6564
7781
  },
6565
7782
  "overflow-wrap": {
7783
+ "outlook-windows": ["Does not honor any wrapping, including `word-wrap`, `overflow-wrap`, and `word-break`. Using an equivalent MSO breakdown (`-ms-word-break: break-all` and `mso-hyphenate: none` together) does not work."],
6566
7784
  "apple-mail-macos": ["Buggy. Requires `word-break:normal` to reset Apple Mail default style (See [issue#394](https://github.com/hteumeuleu/caniemail/issues/394).)"],
6567
- "apple-mail-ios": ["Buggy. Requires `word-break:normal` to reset Apple Mail default style (See [issue#394](https://github.com/hteumeuleu/caniemail/issues/394).)"]
7785
+ "apple-mail-ios": ["Buggy. Requires `word-break:normal` to reset Apple Mail default style (See [issue#394](https://github.com/hteumeuleu/caniemail/issues/394).)"],
7786
+ "protonmail": ["`word-wrap` is correctly supported, however `word-break` seems to break for all values"]
6568
7787
  },
6569
7788
  "padding": {
6570
7789
  "outlook-windows": ["Partial. Only supported on table cells.", "Buggy. Vertical padding will be the same for all cells of a same row, adopting the biggest value."],
@@ -6581,7 +7800,8 @@ var CSS_SUPPORT_NOTES = {
6581
7800
  "samsung-mail": ["Partial. Supports `relative`, `absolute` but not `sticky` and `fixed`."],
6582
7801
  "hey-mail": ["Partial. Supports `relative` and `sticky` but not `absolute` and `fixed`."],
6583
7802
  "aol": ["Partial. Supports `relative` but not `absolute`, `sticky` and `fixed`."],
6584
- "fastmail": ["Partial. Supports `relative`, `absolute` but not `sticky` and `fixed`.", "Buggy. `fixed` is replaced by `absolute`."]
7803
+ "fastmail": ["Partial. Supports `relative`, `absolute` but not `sticky` and `fixed`.", "Buggy. `fixed` is replaced by `absolute`."],
7804
+ "superhuman": ["Partial. Supports `relative` and `absolute` but not `fixed` and `sticky`."]
6585
7805
  },
6586
7806
  "pseudo-class-active": {
6587
7807
  "outlook-web": ["Partial. Only supported on type selectors."],
@@ -6608,7 +7828,6 @@ var CSS_SUPPORT_NOTES = {
6608
7828
  "outlook-macos": ["`resize` property is stripped from style tag"],
6609
7829
  "apple-mail-macos": ["Does not support `inline` and `block` values"],
6610
7830
  "yahoo-mail": ["`resize` property is stripped from style tag"],
6611
- "protonmail": ["Supported but depends of browser support"],
6612
7831
  "aol": ["`resize` property is stripped from style tag"]
6613
7832
  },
6614
7833
  "rgb": {
@@ -6631,6 +7850,9 @@ var CSS_SUPPORT_NOTES = {
6631
7850
  "yahoo-mail-ios": ["Whitespace syntax is not supported (`rgb(0 128 0 / 1)`)."],
6632
7851
  "aol": ["Whitespace syntax is not supported (`rgb(0 128 0 / 1)`)."]
6633
7852
  },
7853
+ "right": {
7854
+ "samsung-mail": ["Partial. Percentages values are not supported."]
7855
+ },
6634
7856
  "system-ui": {
6635
7857
  "gmail-web": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."],
6636
7858
  "gmail-android": ["Partial. Supports `system-ui` only."],
@@ -6641,8 +7863,8 @@ var CSS_SUPPORT_NOTES = {
6641
7863
  "samsung-mail": ["Partial. Supports `system-ui` only."],
6642
7864
  "thunderbird": ["Partial. Supports `system-ui` only."],
6643
7865
  "hey-mail": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."],
6644
- "protonmail": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."],
6645
- "aol": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."],
7866
+ "protonmail": ["Partial. Supports `system-ui` only."],
7867
+ "aol": ["Partial. Supports `system-ui` only."],
6646
7868
  "fastmail": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."]
6647
7869
  },
6648
7870
  "tab-size": {
@@ -6703,8 +7925,7 @@ var CSS_SUPPORT_NOTES = {
6703
7925
  "yahoo-mail-android": ["Buggy. `text-justify` is stripped"],
6704
7926
  "yahoo-mail-ios": ["Buggy. `text-justify` is stripped"],
6705
7927
  "samsung-mail": ["Buggy. `text-justify` is stripped"],
6706
- "protonmail": ["Partial. Depends on browser support"],
6707
- "aol": ["Partial. Depends on browser support", "Partial. `text-justify` is stripped except when the value is `inter-word` or `distribute`"]
7928
+ "aol": ["Partial. Depends on browser support", "Partial. `text-justify` is stripped except when the value is `inter-word` or `distribute`", "Buggy. `text-justify` is stripped"]
6708
7929
  },
6709
7930
  "text-overflow": {
6710
7931
  "gmail-android": ["Partial. Not supported with non Google accounts."],
@@ -6720,6 +7941,9 @@ var CSS_SUPPORT_NOTES = {
6720
7941
  "apple-mail-macos": ["Partial. Supports `under` but not `right` and `left`"],
6721
7942
  "apple-mail-ios": ["Partial. Supports `under` but not `right` and `left`"]
6722
7943
  },
7944
+ "top": {
7945
+ "samsung-mail": ["Partial. Percentages values are not supported."]
7946
+ },
6723
7947
  "transition": {
6724
7948
  "yahoo-mail": ["Partial. Longhand properties are not supported.", "Buggy. The `all` keyword is not supported."],
6725
7949
  "yahoo-mail-android": ["Partial. Longhand properties are not supported.", "Buggy. The `all` keyword is not supported."],
@@ -6727,7 +7951,8 @@ var CSS_SUPPORT_NOTES = {
6727
7951
  "samsung-mail": ["Partial. Not supported with Outlook accounts."],
6728
7952
  "hey-mail": ["Buggy. `transition-duration` is forced to `0` on a global reset style."],
6729
7953
  "aol": ["Partial. Longhand properties are not supported.", "Buggy. The `all` keyword is not supported."],
6730
- "fastmail": ["Transition properties are supported but pseudo-classes like `:hover` are not."]
7954
+ "fastmail": ["Transition properties are supported but pseudo-classes like `:hover` are not."],
7955
+ "superhuman": ["Partial. Blink runs transitions, but the user's reduced-motion setting may disable them."]
6731
7956
  },
6732
7957
  "unit-initial": {
6733
7958
  "gmail-web": ["Partial. Webmail rendering doesn't work in IE."],
@@ -6760,7 +7985,8 @@ var CSS_SUPPORT_NOTES = {
6760
7985
  "outlook-macos": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
6761
7986
  "apple-mail-macos": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
6762
7987
  "apple-mail-ios": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
6763
- "yahoo-mail-ios": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.']
7988
+ "yahoo-mail-ios": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
7989
+ "protonmail": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.']
6764
7990
  },
6765
7991
  "white-space": {
6766
7992
  "gmail-android": ["Partial. Not supported with non Google accounts.", "Partial. `pre` value is not supported."],
@@ -6795,13 +8021,13 @@ var CSS_SUPPORT_NOTES = {
6795
8021
  "apple-mail-macos": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."],
6796
8022
  "apple-mail-ios": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."],
6797
8023
  "samsung-mail": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."],
6798
- "hey-mail": ["Buggy. Every value is replaced by `break-word`."]
8024
+ "hey-mail": ["Buggy. Every value is replaced by `break-word`."],
8025
+ "protonmail": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."]
6799
8026
  },
6800
8027
  "word-spacing": {
6801
8028
  "yahoo-mail": ["Does not support `rem` and `ch` values."],
6802
8029
  "yahoo-mail-android": ["Does not support `rem` and `ch` values."],
6803
- "yahoo-mail-ios": ["Does not support `rem` and `ch` values."],
6804
- "aol": ["Does not support `rem` and `ch` values."]
8030
+ "yahoo-mail-ios": ["Does not support `rem` and `ch` values."]
6805
8031
  },
6806
8032
  "writing-mode": {
6807
8033
  "gmail-android": ["Partial. Not supported with non Google accounts."],
@@ -6953,28 +8179,421 @@ var CSS_SUPPORT_NOTES = {
6953
8179
  "gmail-android": ["Partial. Not supported with non Google accounts."],
6954
8180
  "gmail-ios": ["Partial. Not supported with non Google accounts."]
6955
8181
  },
6956
- ":universal-selector": {
6957
- "gmail-android": ["Partial. Not supported with non Google accounts."],
6958
- "gmail-ios": ["Partial. Not supported with non Google accounts."]
8182
+ ":universal-selector": {
8183
+ "gmail-android": ["Partial. Not supported with non Google accounts."],
8184
+ "gmail-ios": ["Partial. Not supported with non Google accounts."]
8185
+ },
8186
+ ":visited": {
8187
+ "outlook-web": ["Partial. Only supported on type selectors."]
8188
+ },
8189
+ "display:flex": {
8190
+ "gmail-android": ["Not supported with non Google accounts."],
8191
+ "gmail-ios": ["Not supported with non Google accounts."],
8192
+ "yahoo-mail": ["`display:inline-flex` is not supported."],
8193
+ "yahoo-mail-android": ["`display:inline-flex` is not supported."],
8194
+ "yahoo-mail-ios": ["`display:inline-flex` is not supported."],
8195
+ "aol": ["`display:inline-flex` is not supported."]
8196
+ },
8197
+ "display:grid": {
8198
+ "gmail-android": ["Not supported with non Google accounts."],
8199
+ "gmail-ios": ["Not supported with non Google accounts."]
8200
+ },
8201
+ "display:none": {
8202
+ "outlook-windows": ["Partial. Does not inherit onto nested `<table>` elements.", "Partial. Does not work when applied directly to an `<img>` element."],
8203
+ "outlook-windows-legacy": ["Partial. Does not inherit onto nested `<table>` elements.", "Partial. Does not work when applied directly to an `<img>` element."]
8204
+ }
8205
+ };
8206
+ var IMAGE_FORMATS = [
8207
+ "apng",
8208
+ "avif",
8209
+ "base64",
8210
+ "bmp",
8211
+ "gif",
8212
+ "hdr",
8213
+ "heif",
8214
+ "ico",
8215
+ "jpg",
8216
+ "mp4",
8217
+ "png",
8218
+ "svg",
8219
+ "tiff",
8220
+ "webp"
8221
+ ];
8222
+ var IMAGE_SUPPORT_TABLE = {
8223
+ "apng": {
8224
+ "gmail-web": "unsupported",
8225
+ "gmail-android": "unsupported",
8226
+ "gmail-ios": "supported",
8227
+ "outlook-web": "supported",
8228
+ "outlook-windows": "unsupported",
8229
+ "outlook-windows-legacy": "unsupported",
8230
+ "outlook-ios": "supported",
8231
+ "outlook-android": "unsupported",
8232
+ "outlook-macos": "supported",
8233
+ "apple-mail-macos": "supported",
8234
+ "apple-mail-ios": "supported",
8235
+ "yahoo-mail": "supported",
8236
+ "yahoo-mail-android": "supported",
8237
+ "yahoo-mail-ios": "supported",
8238
+ "samsung-mail": "supported",
8239
+ "thunderbird": "supported",
8240
+ "hey-mail": "supported",
8241
+ "protonmail": "supported",
8242
+ "aol": "supported",
8243
+ "fastmail": "supported",
8244
+ "superhuman": "unknown"
8245
+ },
8246
+ "avif": {
8247
+ "gmail-web": "partial",
8248
+ "gmail-android": "partial",
8249
+ "gmail-ios": "partial",
8250
+ "outlook-web": "supported",
8251
+ "outlook-windows": "unsupported",
8252
+ "outlook-windows-legacy": "unsupported",
8253
+ "outlook-ios": "supported",
8254
+ "outlook-android": "supported",
8255
+ "outlook-macos": "supported",
8256
+ "apple-mail-macos": "supported",
8257
+ "apple-mail-ios": "supported",
8258
+ "yahoo-mail": "supported",
8259
+ "yahoo-mail-android": "supported",
8260
+ "yahoo-mail-ios": "supported",
8261
+ "samsung-mail": "supported",
8262
+ "thunderbird": "supported",
8263
+ "hey-mail": "supported",
8264
+ "protonmail": "supported",
8265
+ "aol": "supported",
8266
+ "fastmail": "unsupported",
8267
+ "superhuman": "unknown"
8268
+ },
8269
+ "base64": {
8270
+ "gmail-web": "unsupported",
8271
+ "gmail-android": "unsupported",
8272
+ "gmail-ios": "unsupported",
8273
+ "outlook-web": "supported",
8274
+ "outlook-windows": "partial",
8275
+ "outlook-windows-legacy": "unsupported",
8276
+ "outlook-ios": "supported",
8277
+ "outlook-android": "supported",
8278
+ "outlook-macos": "supported",
8279
+ "apple-mail-macos": "supported",
8280
+ "apple-mail-ios": "supported",
8281
+ "yahoo-mail": "supported",
8282
+ "yahoo-mail-android": "supported",
8283
+ "yahoo-mail-ios": "supported",
8284
+ "samsung-mail": "supported",
8285
+ "thunderbird": "supported",
8286
+ "hey-mail": "unsupported",
8287
+ "protonmail": "supported",
8288
+ "aol": "supported",
8289
+ "fastmail": "supported",
8290
+ "superhuman": "unknown"
8291
+ },
8292
+ "bmp": {
8293
+ "gmail-web": "partial",
8294
+ "gmail-android": "partial",
8295
+ "gmail-ios": "supported",
8296
+ "outlook-web": "supported",
8297
+ "outlook-windows": "supported",
8298
+ "outlook-windows-legacy": "supported",
8299
+ "outlook-ios": "supported",
8300
+ "outlook-android": "supported",
8301
+ "outlook-macos": "supported",
8302
+ "apple-mail-macos": "supported",
8303
+ "apple-mail-ios": "supported",
8304
+ "yahoo-mail": "supported",
8305
+ "yahoo-mail-android": "supported",
8306
+ "yahoo-mail-ios": "supported",
8307
+ "samsung-mail": "supported",
8308
+ "thunderbird": "supported",
8309
+ "hey-mail": "supported",
8310
+ "protonmail": "supported",
8311
+ "aol": "supported",
8312
+ "fastmail": "supported",
8313
+ "superhuman": "unknown"
8314
+ },
8315
+ "gif": {
8316
+ "gmail-web": "supported",
8317
+ "gmail-android": "supported",
8318
+ "gmail-ios": "supported",
8319
+ "outlook-web": "supported",
8320
+ "outlook-windows": "partial",
8321
+ "outlook-windows-legacy": "supported",
8322
+ "outlook-ios": "supported",
8323
+ "outlook-android": "supported",
8324
+ "outlook-macos": "supported",
8325
+ "apple-mail-macos": "supported",
8326
+ "apple-mail-ios": "supported",
8327
+ "yahoo-mail": "supported",
8328
+ "yahoo-mail-android": "supported",
8329
+ "yahoo-mail-ios": "supported",
8330
+ "samsung-mail": "supported",
8331
+ "thunderbird": "supported",
8332
+ "hey-mail": "supported",
8333
+ "protonmail": "supported",
8334
+ "aol": "supported",
8335
+ "fastmail": "supported",
8336
+ "superhuman": "unknown"
8337
+ },
8338
+ "hdr": {
8339
+ "gmail-web": "unsupported",
8340
+ "gmail-android": "unsupported",
8341
+ "gmail-ios": "unsupported",
8342
+ "outlook-web": "unsupported",
8343
+ "outlook-windows": "unsupported",
8344
+ "outlook-windows-legacy": "unsupported",
8345
+ "outlook-ios": "unsupported",
8346
+ "outlook-android": "unsupported",
8347
+ "outlook-macos": "unsupported",
8348
+ "apple-mail-macos": "unsupported",
8349
+ "apple-mail-ios": "unsupported",
8350
+ "yahoo-mail": "unsupported",
8351
+ "yahoo-mail-android": "unsupported",
8352
+ "yahoo-mail-ios": "unsupported",
8353
+ "samsung-mail": "unsupported",
8354
+ "thunderbird": "unsupported",
8355
+ "hey-mail": "unsupported",
8356
+ "protonmail": "unsupported",
8357
+ "aol": "unsupported",
8358
+ "fastmail": "unsupported",
8359
+ "superhuman": "unknown"
8360
+ },
8361
+ "heif": {
8362
+ "gmail-web": "partial",
8363
+ "gmail-android": "partial",
8364
+ "gmail-ios": "partial",
8365
+ "outlook-web": "unsupported",
8366
+ "outlook-windows": "unsupported",
8367
+ "outlook-windows-legacy": "unsupported",
8368
+ "outlook-ios": "supported",
8369
+ "outlook-android": "unsupported",
8370
+ "outlook-macos": "unsupported",
8371
+ "apple-mail-macos": "supported",
8372
+ "apple-mail-ios": "supported",
8373
+ "yahoo-mail": "partial",
8374
+ "yahoo-mail-android": "unsupported",
8375
+ "yahoo-mail-ios": "supported",
8376
+ "samsung-mail": "unsupported",
8377
+ "thunderbird": "unsupported",
8378
+ "hey-mail": "unsupported",
8379
+ "protonmail": "unsupported",
8380
+ "aol": "unsupported",
8381
+ "fastmail": "unsupported",
8382
+ "superhuman": "unknown"
8383
+ },
8384
+ "ico": {
8385
+ "gmail-web": "supported",
8386
+ "gmail-android": "supported",
8387
+ "gmail-ios": "supported",
8388
+ "outlook-web": "supported",
8389
+ "outlook-windows": "unsupported",
8390
+ "outlook-windows-legacy": "supported",
8391
+ "outlook-ios": "supported",
8392
+ "outlook-android": "supported",
8393
+ "outlook-macos": "supported",
8394
+ "apple-mail-macos": "supported",
8395
+ "apple-mail-ios": "supported",
8396
+ "yahoo-mail": "supported",
8397
+ "yahoo-mail-android": "supported",
8398
+ "yahoo-mail-ios": "supported",
8399
+ "samsung-mail": "supported",
8400
+ "thunderbird": "supported",
8401
+ "hey-mail": "supported",
8402
+ "protonmail": "supported",
8403
+ "aol": "supported",
8404
+ "fastmail": "supported",
8405
+ "superhuman": "unknown"
8406
+ },
8407
+ "jpg": {
8408
+ "gmail-web": "supported",
8409
+ "gmail-android": "supported",
8410
+ "gmail-ios": "supported",
8411
+ "outlook-web": "supported",
8412
+ "outlook-windows": "supported",
8413
+ "outlook-windows-legacy": "supported",
8414
+ "outlook-ios": "supported",
8415
+ "outlook-android": "supported",
8416
+ "outlook-macos": "supported",
8417
+ "apple-mail-macos": "supported",
8418
+ "apple-mail-ios": "supported",
8419
+ "yahoo-mail": "supported",
8420
+ "yahoo-mail-android": "supported",
8421
+ "yahoo-mail-ios": "supported",
8422
+ "samsung-mail": "supported",
8423
+ "thunderbird": "supported",
8424
+ "hey-mail": "supported",
8425
+ "protonmail": "supported",
8426
+ "aol": "supported",
8427
+ "fastmail": "supported",
8428
+ "superhuman": "unknown"
8429
+ },
8430
+ "mp4": {
8431
+ "gmail-web": "unsupported",
8432
+ "gmail-android": "unsupported",
8433
+ "gmail-ios": "unsupported",
8434
+ "outlook-web": "supported",
8435
+ "outlook-windows": "unsupported",
8436
+ "outlook-windows-legacy": "unsupported",
8437
+ "outlook-ios": "supported",
8438
+ "outlook-android": "unsupported",
8439
+ "outlook-macos": "supported",
8440
+ "apple-mail-macos": "supported",
8441
+ "apple-mail-ios": "supported",
8442
+ "yahoo-mail": "supported",
8443
+ "yahoo-mail-android": "unsupported",
8444
+ "yahoo-mail-ios": "supported",
8445
+ "samsung-mail": "unsupported",
8446
+ "thunderbird": "unsupported",
8447
+ "hey-mail": "unsupported",
8448
+ "protonmail": "unsupported",
8449
+ "aol": "unsupported",
8450
+ "fastmail": "unsupported",
8451
+ "superhuman": "unknown"
6959
8452
  },
6960
- ":visited": {
6961
- "outlook-web": ["Partial. Only supported on type selectors."]
8453
+ "png": {
8454
+ "gmail-web": "supported",
8455
+ "gmail-android": "supported",
8456
+ "gmail-ios": "supported",
8457
+ "outlook-web": "supported",
8458
+ "outlook-windows": "supported",
8459
+ "outlook-windows-legacy": "supported",
8460
+ "outlook-ios": "supported",
8461
+ "outlook-android": "supported",
8462
+ "outlook-macos": "supported",
8463
+ "apple-mail-macos": "supported",
8464
+ "apple-mail-ios": "supported",
8465
+ "yahoo-mail": "supported",
8466
+ "yahoo-mail-android": "supported",
8467
+ "yahoo-mail-ios": "supported",
8468
+ "samsung-mail": "supported",
8469
+ "thunderbird": "supported",
8470
+ "hey-mail": "supported",
8471
+ "protonmail": "supported",
8472
+ "aol": "supported",
8473
+ "fastmail": "supported",
8474
+ "superhuman": "unknown"
6962
8475
  },
6963
- "display:flex": {
6964
- "gmail-android": ["Not supported with non Google accounts."],
6965
- "gmail-ios": ["Not supported with non Google accounts."],
6966
- "yahoo-mail": ["`display:inline-flex` is not supported."],
6967
- "yahoo-mail-android": ["`display:inline-flex` is not supported."],
6968
- "yahoo-mail-ios": ["`display:inline-flex` is not supported."],
6969
- "aol": ["`display:inline-flex` is not supported."]
8476
+ "svg": {
8477
+ "gmail-web": "unsupported",
8478
+ "gmail-android": "partial",
8479
+ "gmail-ios": "partial",
8480
+ "outlook-web": "supported",
8481
+ "outlook-windows": "supported",
8482
+ "outlook-windows-legacy": "supported",
8483
+ "outlook-ios": "supported",
8484
+ "outlook-android": "supported",
8485
+ "outlook-macos": "unsupported",
8486
+ "apple-mail-macos": "supported",
8487
+ "apple-mail-ios": "supported",
8488
+ "yahoo-mail": "supported",
8489
+ "yahoo-mail-android": "supported",
8490
+ "yahoo-mail-ios": "supported",
8491
+ "samsung-mail": "supported",
8492
+ "thunderbird": "supported",
8493
+ "hey-mail": "supported",
8494
+ "protonmail": "supported",
8495
+ "aol": "supported",
8496
+ "fastmail": "supported",
8497
+ "superhuman": "unknown"
6970
8498
  },
6971
- "display:grid": {
6972
- "gmail-android": ["Not supported with non Google accounts."],
6973
- "gmail-ios": ["Not supported with non Google accounts."]
8499
+ "tiff": {
8500
+ "gmail-web": "partial",
8501
+ "gmail-android": "partial",
8502
+ "gmail-ios": "supported",
8503
+ "outlook-web": "unsupported",
8504
+ "outlook-windows": "unsupported",
8505
+ "outlook-windows-legacy": "supported",
8506
+ "outlook-ios": "supported",
8507
+ "outlook-android": "unsupported",
8508
+ "outlook-macos": "supported",
8509
+ "apple-mail-macos": "supported",
8510
+ "apple-mail-ios": "supported",
8511
+ "yahoo-mail": "unsupported",
8512
+ "yahoo-mail-android": "unsupported",
8513
+ "yahoo-mail-ios": "supported",
8514
+ "samsung-mail": "unsupported",
8515
+ "thunderbird": "unsupported",
8516
+ "hey-mail": "supported",
8517
+ "protonmail": "unsupported",
8518
+ "aol": "unsupported",
8519
+ "fastmail": "unsupported",
8520
+ "superhuman": "unknown"
6974
8521
  },
6975
- "display:none": {
6976
- "outlook-windows": ["Partial. Does not inherit onto nested `<table>` elements.", "Partial. Does not work when applied directly to an `<img>` element."],
6977
- "outlook-windows-legacy": ["Partial. Does not inherit onto nested `<table>` elements.", "Partial. Does not work when applied directly to an `<img>` element."]
8522
+ "webp": {
8523
+ "gmail-web": "partial",
8524
+ "gmail-android": "partial",
8525
+ "gmail-ios": "partial",
8526
+ "outlook-web": "supported",
8527
+ "outlook-windows": "unsupported",
8528
+ "outlook-windows-legacy": "supported",
8529
+ "outlook-ios": "supported",
8530
+ "outlook-android": "supported",
8531
+ "outlook-macos": "unsupported",
8532
+ "apple-mail-macos": "supported",
8533
+ "apple-mail-ios": "supported",
8534
+ "yahoo-mail": "supported",
8535
+ "yahoo-mail-android": "supported",
8536
+ "yahoo-mail-ios": "supported",
8537
+ "samsung-mail": "supported",
8538
+ "thunderbird": "supported",
8539
+ "hey-mail": "supported",
8540
+ "protonmail": "supported",
8541
+ "aol": "supported",
8542
+ "fastmail": "supported",
8543
+ "superhuman": "unknown"
8544
+ }
8545
+ };
8546
+ var IMAGE_SUPPORT = IMAGE_SUPPORT_TABLE;
8547
+ var IMAGE_SUPPORT_NOTES = {
8548
+ "avif": {
8549
+ "gmail-web": ["Converts still AVIF into a jpg and animated AVIF into a gif."],
8550
+ "gmail-android": ["Converts still AVIF into a jpg and animated AVIF into a gif."],
8551
+ "gmail-ios": ["Converts still AVIF into a jpg and animated AVIF into a gif."],
8552
+ "outlook-web": ["Support depends on browser and operating system support."],
8553
+ "outlook-android": ["Support depends on browser and operating system support."],
8554
+ "yahoo-mail": ["Support depends on browser and operating system support."],
8555
+ "yahoo-mail-android": ["Support depends on browser and operating system support."],
8556
+ "thunderbird": ["Does not support animated AVIF."],
8557
+ "protonmail": ["Support depends on browser and operating system support."],
8558
+ "aol": ["Support depends on browser and operating system support."]
8559
+ },
8560
+ "base64": {
8561
+ "outlook-windows": ["Partial: Does not render Base 64 gif format."]
8562
+ },
8563
+ "bmp": {
8564
+ "gmail-web": ["Buggy. An image renders but the colours are incorrect."],
8565
+ "gmail-android": ["Buggy. An image renders but the colours are incorrect."]
8566
+ },
8567
+ "gif": {
8568
+ "outlook-windows": ["Partial: Does not support animated gif images.", "Partial: With an Office 365 account, it plays the animation 3 times then stops and shows a play button to reactivate the animation."]
8569
+ },
8570
+ "heif": {
8571
+ "gmail-web": ["Partial: Converts file to jpg."],
8572
+ "gmail-android": ["Partial: Converts file to jpg."],
8573
+ "gmail-ios": ["Partial: Converts file to jpg."],
8574
+ "apple-mail-macos": ["Supported on macOS 14 Sonoma."],
8575
+ "yahoo-mail": ["Partial. Webmail rendering depends on browser support."]
8576
+ },
8577
+ "mp4": {
8578
+ "outlook-web": ["Only supported in Safari."],
8579
+ "yahoo-mail": ["Only supported in Safari."]
8580
+ },
8581
+ "svg": {
8582
+ "gmail-android": ["Partially supported. Only works with non Google accounts."],
8583
+ "gmail-ios": ["Partially supported. Only works with non Google accounts."]
8584
+ },
8585
+ "tiff": {
8586
+ "gmail-web": ["Buggy. An image renders but the colours are incorrect."],
8587
+ "gmail-android": ["Buggy. An image renders but the colours are incorrect.", "Partial. Does not render with non Google accounts."]
8588
+ },
8589
+ "webp": {
8590
+ "gmail-web": ["Partial: Converts file to jpg.", "Partial. Does not support animation."],
8591
+ "gmail-android": ["Partial: Converts file to jpg.", "Partial. Does not support animation."],
8592
+ "gmail-ios": ["Partial: Converts file to jpg.", "Partial. Does not support animation."],
8593
+ "outlook-web": ["Partial. Webmail rendering depends on browser support."],
8594
+ "outlook-windows-legacy": ["Partial. Does not support animation."],
8595
+ "yahoo-mail": ["Partial. Webmail rendering depends on browser support."],
8596
+ "aol": ["Partial. Webmail rendering depends on browser support."]
6978
8597
  }
6979
8598
  };
6980
8599
  var GMAIL_STRIPPED_PROPERTIES = /* @__PURE__ */ new Set([
@@ -6990,6 +8609,21 @@ var GMAIL_STRIPPED_PROPERTIES = /* @__PURE__ */ new Set([
6990
8609
  "clip-path",
6991
8610
  "backdrop-filter"
6992
8611
  ]);
8612
+ var GRACEFUL_FEATURES = /* @__PURE__ */ new Set([
8613
+ "doctype",
8614
+ "meta-color-scheme",
8615
+ "[target]",
8616
+ "[loading]",
8617
+ "[srcset]",
8618
+ "[role]",
8619
+ "[aria-describedby]",
8620
+ "[aria-hidden]",
8621
+ "[aria-label]",
8622
+ "[aria-labelledby]",
8623
+ "[aria-live]",
8624
+ "[lang]",
8625
+ "[dir]"
8626
+ ]);
6993
8627
  var OUTLOOK_WORD_UNSUPPORTED = /* @__PURE__ */ new Set([
6994
8628
  "border-radius",
6995
8629
  "box-shadow",
@@ -7048,6 +8682,8 @@ var HTML_ELEMENT_FEATURES = [
7048
8682
  "<bdi>",
7049
8683
  "<blockquote>",
7050
8684
  "<body>",
8685
+ '<button type="reset">',
8686
+ '<button type="submit">',
7051
8687
  "<code>",
7052
8688
  "<del>",
7053
8689
  "<dfn>",
@@ -7057,6 +8693,12 @@ var HTML_ELEMENT_FEATURES = [
7057
8693
  "<h1>",
7058
8694
  "<hr>",
7059
8695
  "<img>",
8696
+ '<input type="checkbox">',
8697
+ '<input type="hidden">',
8698
+ '<input type="radio">',
8699
+ '<input type="reset">',
8700
+ '<input type="submit">',
8701
+ '<input type="text">',
7060
8702
  "<link>",
7061
8703
  "<marquee>",
7062
8704
  "<meter>",
@@ -7081,14 +8723,58 @@ var HTML_ELEMENT_FEATURES = [
7081
8723
  "<video>",
7082
8724
  "<wbr>"
7083
8725
  ];
8726
+ var HTML_ATTRIBUTE_FEATURES = [
8727
+ "[align]",
8728
+ "[aria-describedby]",
8729
+ "[aria-hidden]",
8730
+ "[aria-label]",
8731
+ "[aria-labelledby]",
8732
+ "[aria-live]",
8733
+ "[background]",
8734
+ "[cellpadding]",
8735
+ "[cellspacing]",
8736
+ "[command]",
8737
+ "[dir]",
8738
+ "[height]",
8739
+ "[hidden]",
8740
+ "[lang]",
8741
+ "[loading]",
8742
+ "[popover]",
8743
+ "[required]",
8744
+ "[role]",
8745
+ "[srcset]",
8746
+ "[target]",
8747
+ "[valign]",
8748
+ "[width]"
8749
+ ];
8750
+ var HTML_MISC_FEATURES = [
8751
+ "amp4email",
8752
+ "anchor-links",
8753
+ "doctype",
8754
+ "html-comments",
8755
+ "html5-semantics",
8756
+ "image-maps",
8757
+ "mailto-links",
8758
+ "meta-color-scheme"
8759
+ ];
7084
8760
  var AT_RULE_FEATURES = [
7085
8761
  "@font-face",
7086
8762
  "@import",
7087
8763
  "@keyframes",
7088
8764
  "@media",
8765
+ "@media device-pixel-ratio",
8766
+ "@media hover",
8767
+ "@media orientation",
8768
+ "@media prefers-color-scheme",
8769
+ "@media prefers-reduced-motion",
7089
8770
  "@supports"
7090
8771
  ];
7091
8772
  var COMPOUND_VALUE_FEATURES = [
8773
+ "display:flex",
8774
+ "display:grid",
8775
+ "display:none"
8776
+ ];
8777
+ var SELECTOR_FEATURES = [
7092
8778
  "::after",
7093
8779
  "::before",
7094
8780
  "::first-letter",
@@ -7125,10 +8811,7 @@ var COMPOUND_VALUE_FEATURES = [
7125
8811
  ":target",
7126
8812
  ":type-selector",
7127
8813
  ":universal-selector",
7128
- ":visited",
7129
- "display:flex",
7130
- "display:grid",
7131
- "display:none"
8814
+ ":visited"
7132
8815
  ];
7133
8816
  var CSS_FUNCTION_FEATURES = [
7134
8817
  "calc",
@@ -7140,6 +8823,482 @@ var CSS_FUNCTION_FEATURES = [
7140
8823
  "min",
7141
8824
  "radial-gradient"
7142
8825
  ];
8826
+ var CSS_PROPERTY_FEATURES = [
8827
+ "!important",
8828
+ "accent-color",
8829
+ "align-items",
8830
+ "animation",
8831
+ "aspect-ratio",
8832
+ "backdrop-filter",
8833
+ "background",
8834
+ "background-blend-mode",
8835
+ "background-clip",
8836
+ "background-color",
8837
+ "background-image",
8838
+ "background-origin",
8839
+ "background-position",
8840
+ "background-repeat",
8841
+ "background-size",
8842
+ "bimi",
8843
+ "block-size",
8844
+ "border",
8845
+ "border-collapse",
8846
+ "border-image",
8847
+ "border-inline",
8848
+ "border-inline-individual",
8849
+ "border-inline-longhand",
8850
+ "border-radius",
8851
+ "border-radius-logical",
8852
+ "border-spacing",
8853
+ "bottom",
8854
+ "box-shadow",
8855
+ "box-sizing",
8856
+ "caption-side",
8857
+ "clear",
8858
+ "clip-path",
8859
+ "color",
8860
+ "color-scheme",
8861
+ "column-count",
8862
+ "columns",
8863
+ "css-comments",
8864
+ "cursor",
8865
+ "custom-properties",
8866
+ "direction",
8867
+ "display",
8868
+ "empty-cells",
8869
+ "filter",
8870
+ "flex-direction",
8871
+ "flex-wrap",
8872
+ "float",
8873
+ "font",
8874
+ "font-family",
8875
+ "font-kerning",
8876
+ "font-size",
8877
+ "font-size-adjust",
8878
+ "font-stretch",
8879
+ "font-weight",
8880
+ "gap",
8881
+ "grid-template-columns",
8882
+ "height",
8883
+ "hyphenate-character",
8884
+ "hyphenate-limit-chars",
8885
+ "hyphens",
8886
+ "inert",
8887
+ "inline-size",
8888
+ "inset",
8889
+ "justify-content",
8890
+ "left",
8891
+ "letter-spacing",
8892
+ "light-dark",
8893
+ "line-height",
8894
+ "list-style",
8895
+ "list-style-image",
8896
+ "list-style-position",
8897
+ "list-style-type",
8898
+ "margin",
8899
+ "margin-block-start-end",
8900
+ "margin-inline-block",
8901
+ "margin-inline-start-end",
8902
+ "mask-image",
8903
+ "max-block-size",
8904
+ "max-height",
8905
+ "max-inline-size",
8906
+ "max-width",
8907
+ "min-block-size",
8908
+ "min-height",
8909
+ "min-inline-size",
8910
+ "min-width",
8911
+ "mix-blend-mode",
8912
+ "modern-color",
8913
+ "nesting",
8914
+ "object-fit",
8915
+ "object-position",
8916
+ "opacity",
8917
+ "orphans",
8918
+ "outline",
8919
+ "outline-offset",
8920
+ "overflow",
8921
+ "overflow-wrap",
8922
+ "padding",
8923
+ "padding-block-start-end",
8924
+ "padding-inline-block",
8925
+ "padding-inline-start-end",
8926
+ "position",
8927
+ "pseudo-class-active",
8928
+ "pseudo-class-default",
8929
+ "pseudo-class-nth-last-of-type",
8930
+ "resize",
8931
+ "rgb",
8932
+ "rgba",
8933
+ "right",
8934
+ "scroll-snap",
8935
+ "shape-margin",
8936
+ "shape-outside",
8937
+ "system-ui",
8938
+ "tab-size",
8939
+ "table-layout",
8940
+ "text-align",
8941
+ "text-align-last",
8942
+ "text-decoration",
8943
+ "text-decoration-color",
8944
+ "text-decoration-line",
8945
+ "text-decoration-skip-ink",
8946
+ "text-decoration-style",
8947
+ "text-decoration-thickness",
8948
+ "text-emphasis",
8949
+ "text-emphasis-position",
8950
+ "text-indent",
8951
+ "text-justify",
8952
+ "text-orientation",
8953
+ "text-overflow",
8954
+ "text-shadow",
8955
+ "text-transform",
8956
+ "text-underline-offset",
8957
+ "text-underline-position",
8958
+ "text-wrap",
8959
+ "top",
8960
+ "transform",
8961
+ "transition",
8962
+ "unit-ch",
8963
+ "unit-cm",
8964
+ "unit-em",
8965
+ "unit-ex",
8966
+ "unit-in",
8967
+ "unit-initial",
8968
+ "unit-mm",
8969
+ "unit-pc",
8970
+ "unit-percent",
8971
+ "unit-pt",
8972
+ "unit-px",
8973
+ "unit-rem",
8974
+ "unit-vh",
8975
+ "unit-vmax",
8976
+ "unit-vmin",
8977
+ "unit-vw",
8978
+ "user-select",
8979
+ "vertical-align",
8980
+ "visibility",
8981
+ "white-space",
8982
+ "white-space-collapse",
8983
+ "widows",
8984
+ "width",
8985
+ "word-break",
8986
+ "word-spacing",
8987
+ "writing-mode",
8988
+ "z-index"
8989
+ ];
8990
+ var FEATURE_LAST_TESTED = {
8991
+ "<abbr>": "2023-09-13",
8992
+ "<acronym>": "2024-01-03",
8993
+ "<address>": "2021-01-17",
8994
+ "<audio>": "2020-04-21",
8995
+ "<base>": "2021-12-01",
8996
+ "<bdi>": "2019-02-28",
8997
+ "<blockquote>": "2020-05-08",
8998
+ "<body>": "2021-11-30",
8999
+ '<button type="reset">': "2019-09-10",
9000
+ '<button type="submit">': "2019-09-10",
9001
+ "<code>": "2023-04-25",
9002
+ "<del>": "2019-02-28",
9003
+ "<dfn>": "2023-09-11",
9004
+ "<dialog>": "2019-02-28",
9005
+ "<div>": "2020-05-08",
9006
+ "<form>": "2019-09-10",
9007
+ "<h1>": "2020-05-08",
9008
+ "<hr>": "2023-09-08",
9009
+ "<img>": "2023-12-16",
9010
+ '<input type="checkbox">': "2019-09-10",
9011
+ '<input type="hidden">': "2019-09-10",
9012
+ '<input type="radio">': "2019-09-10",
9013
+ '<input type="reset">': "2019-09-10",
9014
+ '<input type="submit">': "2019-09-10",
9015
+ '<input type="text">': "2019-09-10",
9016
+ "<link>": "2023-12-21",
9017
+ "<marquee>": "2020-04-21",
9018
+ "<meter>": "2019-02-28",
9019
+ "<object>": "2021-02-20",
9020
+ "<p>": "2020-05-08",
9021
+ "<picture>": "2024-04-15",
9022
+ "<pre>": "2023-04-25",
9023
+ "<progress>": "2019-02-28",
9024
+ "<rp>": "2019-02-28",
9025
+ "<rt>": "2019-02-28",
9026
+ "<ruby>": "2019-02-28",
9027
+ "<select>": "2019-09-10",
9028
+ "<small>": "2021-11-13",
9029
+ "<span>": "2020-05-08",
9030
+ "<strike>": "2019-02-28",
9031
+ "<strong>": "2020-05-08",
9032
+ "<style>": "2023-07-27",
9033
+ "<svg>": "2020-02-06",
9034
+ "<table>": "2019-09-15",
9035
+ "<textarea>": "2019-09-10",
9036
+ "<ul>": "2024-02-17",
9037
+ "<video>": "2019-09-16",
9038
+ "<wbr>": "2019-02-28",
9039
+ "[align]": "2021-11-10",
9040
+ "[aria-describedby]": "2019-02-28",
9041
+ "[aria-hidden]": "2019-02-28",
9042
+ "[aria-label]": "2019-02-28",
9043
+ "[aria-labelledby]": "2022-04-08",
9044
+ "[aria-live]": "2019-02-28",
9045
+ "[background]": "2019-02-28",
9046
+ "[cellpadding]": "2024-05-01",
9047
+ "[cellspacing]": "2024-05-01",
9048
+ "[command]": "2026-07-13",
9049
+ "[dir]": "2021-11-01",
9050
+ "[height]": "2019-09-27",
9051
+ "[hidden]": "2024-01-26",
9052
+ "[lang]": "2020-10-25",
9053
+ "[loading]": "2021-10-27",
9054
+ "[popover]": "2026-07-13",
9055
+ "[required]": "2019-09-10",
9056
+ "[role]": "2020-02-04",
9057
+ "[srcset]": "2019-05-29",
9058
+ "[target]": "2021-12-28",
9059
+ "[valign]": "2020-12-21",
9060
+ "[width]": "2019-09-27",
9061
+ "@font-face": "2023-12-19",
9062
+ "@import": "2019-02-28",
9063
+ "@keyframes": "2021-05-25",
9064
+ "@media": "2023-12-13",
9065
+ "@media device-pixel-ratio": "2019-08-20",
9066
+ "@media hover": "2022-08-29",
9067
+ "@media orientation": "2019-08-20",
9068
+ "@media prefers-color-scheme": "2023-03-08",
9069
+ "@media prefers-reduced-motion": "2021-02-20",
9070
+ "@supports": "2020-05-25",
9071
+ "!important": "2021-11-30",
9072
+ "accent-color": "2023-12-19",
9073
+ "align-items": "2023-12-19",
9074
+ "amp4email": "2020-03-31",
9075
+ "anchor-links": "2019-08-08",
9076
+ "animation": "2026-04-07",
9077
+ "aspect-ratio": "2023-12-19",
9078
+ "backdrop-filter": "2024-01-17",
9079
+ "background": "2023-07-24",
9080
+ "background-blend-mode": "2019-02-28",
9081
+ "background-clip": "2019-02-28",
9082
+ "background-color": "2019-02-28",
9083
+ "background-image": "2023-07-24",
9084
+ "background-origin": "2019-02-28",
9085
+ "background-position": "2019-02-28",
9086
+ "background-repeat": "2019-02-28",
9087
+ "background-size": "2019-02-28",
9088
+ "bimi": "2022-12-29",
9089
+ "block-size": "2022-07-14",
9090
+ "border": "2021-07-22",
9091
+ "border-collapse": "2023-12-20",
9092
+ "border-image": "2019-02-28",
9093
+ "border-inline": "2022-07-13",
9094
+ "border-inline-individual": "2022-07-14",
9095
+ "border-inline-longhand": "2022-07-14",
9096
+ "border-radius": "2021-03-09",
9097
+ "border-radius-logical": "2022-08-16",
9098
+ "border-spacing": "2023-12-20",
9099
+ "bottom": "2021-05-16",
9100
+ "box-shadow": "2023-12-20",
9101
+ "box-sizing": "2019-02-28",
9102
+ "calc": "2020-02-25",
9103
+ "caption-side": "2021-05-13",
9104
+ "clamp": "2021-05-07",
9105
+ "clear": "2024-09-06",
9106
+ "clip-path": "2021-03-09",
9107
+ "color-scheme": "2023-09-18",
9108
+ "column-count": "2019-02-28",
9109
+ "columns": "2022-08-02",
9110
+ "conic-gradient": "2023-01-02",
9111
+ "css-comments": "2024-04-25",
9112
+ "cursor": "2025-07-02",
9113
+ "custom-properties": "2020-02-25",
9114
+ "direction": "2021-10-05",
9115
+ "display": "2021-12-01",
9116
+ "doctype": "2019-07-25",
9117
+ "empty-cells": "2024-08-23",
9118
+ "filter": "2024-01-03",
9119
+ "fit-content": "2022-12-31",
9120
+ "flex-direction": "2023-01-17",
9121
+ "flex-wrap": "2023-01-16",
9122
+ "float": "2024-05-08",
9123
+ "font": "2019-02-28",
9124
+ "font-kerning": "2022-08-01",
9125
+ "font-size": "2024-02-28",
9126
+ "font-size-adjust": "2026-04-16",
9127
+ "font-stretch": "2023-09-23",
9128
+ "font-weight": "2022-06-23",
9129
+ "gap": "2022-12-28",
9130
+ "grid-template-columns": "2023-01-09",
9131
+ "height": "2019-09-27",
9132
+ "html-comments": "2024-05-01",
9133
+ "html5-semantics": "2019-07-29",
9134
+ "hyphenate-character": "2024-06-19",
9135
+ "hyphenate-limit-chars": "2024-08-08",
9136
+ "hyphens": "2022-08-03",
9137
+ "image-maps": "2021-09-29",
9138
+ "inert": "2026-04-16",
9139
+ "inline-size": "2019-02-28",
9140
+ "inset": "2024-05-29",
9141
+ "justify-content": "2021-03-09",
9142
+ "left": "2021-05-16",
9143
+ "letter-spacing": "2020-01-19",
9144
+ "light-dark": "2024-08-14",
9145
+ "line-height": "2021-10-02",
9146
+ "linear-gradient": "2021-12-29",
9147
+ "list-style": "2020-04-20",
9148
+ "list-style-image": "2020-04-20",
9149
+ "list-style-position": "2020-04-20",
9150
+ "list-style-type": "2020-04-20",
9151
+ "mailto-links": "2021-05-20",
9152
+ "margin": "2019-10-01",
9153
+ "margin-block-start-end": "2022-07-13",
9154
+ "margin-inline-block": "2022-07-12",
9155
+ "margin-inline-start-end": "2022-07-13",
9156
+ "mask-image": "2024-11-27",
9157
+ "max": "2021-05-07",
9158
+ "max-block-size": "2022-09-01",
9159
+ "max-height": "2021-11-29",
9160
+ "max-inline-size": "2024-05-31",
9161
+ "max-width": "2019-08-02",
9162
+ "meta-color-scheme": "2023-09-18",
9163
+ "min": "2021-05-07",
9164
+ "min-block-size": "2024-05-31",
9165
+ "min-height": "2021-11-29",
9166
+ "min-inline-size": "2022-08-30",
9167
+ "min-width": "2021-11-29",
9168
+ "mix-blend-mode": "2020-12-12",
9169
+ "modern-color": "2023-01-18",
9170
+ "nesting": "2023-08-31",
9171
+ "object-fit": "2021-07-15",
9172
+ "object-position": "2021-07-15",
9173
+ "opacity": "2019-02-28",
9174
+ "orphans": "2024-06-13",
9175
+ "outline": "2022-03-17",
9176
+ "outline-offset": "2022-12-26",
9177
+ "overflow": "2025-05-27",
9178
+ "overflow-wrap": "2022-08-03",
9179
+ "padding": "2019-07-25",
9180
+ "padding-block-start-end": "2022-07-13",
9181
+ "padding-inline-block": "2022-07-13",
9182
+ "padding-inline-start-end": "2022-07-13",
9183
+ "position": "2021-05-16",
9184
+ "pseudo-class-active": "2019-10-28",
9185
+ "pseudo-class-default": "2026-02-05",
9186
+ "pseudo-class-nth-last-of-type": "2019-10-19",
9187
+ "radial-gradient": "2021-12-29",
9188
+ "resize": "2024-01-17",
9189
+ "rgb": "2021-05-14",
9190
+ "rgba": "2021-05-14",
9191
+ "right": "2021-05-16",
9192
+ "scroll-snap": "2023-02-27",
9193
+ "shape-margin": "2024-03-13",
9194
+ "shape-outside": "2024-02-28",
9195
+ "system-ui": "2022-12-30",
9196
+ "tab-size": "2022-07-21",
9197
+ "table-layout": "2022-07-20",
9198
+ "text-align": "2025-11-14",
9199
+ "text-align-last": "2022-08-31",
9200
+ "text-decoration": "2019-02-28",
9201
+ "text-decoration-color": "2020-04-30",
9202
+ "text-decoration-line": "2023-12-06",
9203
+ "text-decoration-skip-ink": "2023-12-08",
9204
+ "text-decoration-style": "2023-12-06",
9205
+ "text-decoration-thickness": "2023-01-16",
9206
+ "text-emphasis": "2022-07-07",
9207
+ "text-emphasis-position": "2022-07-07",
9208
+ "text-indent": "2021-01-31",
9209
+ "text-justify": "2024-04-17",
9210
+ "text-orientation": "2023-12-08",
9211
+ "text-overflow": "2019-02-28",
9212
+ "text-shadow": "2019-02-28",
9213
+ "text-transform": "2021-09-19",
9214
+ "text-underline-offset": "2023-01-16",
9215
+ "text-underline-position": "2023-12-08",
9216
+ "text-wrap": "2024-04-03",
9217
+ "top": "2021-05-16",
9218
+ "transform": "2019-02-28",
9219
+ "transition": "2024-03-29",
9220
+ "unit-ch": "2020-02-25",
9221
+ "unit-cm": "2020-02-25",
9222
+ "unit-em": "2020-02-25",
9223
+ "unit-ex": "2020-02-25",
9224
+ "unit-in": "2020-02-25",
9225
+ "unit-initial": "2020-02-25",
9226
+ "unit-mm": "2020-02-25",
9227
+ "unit-pc": "2020-02-25",
9228
+ "unit-percent": "2020-02-25",
9229
+ "unit-pt": "2020-02-25",
9230
+ "unit-px": "2020-02-25",
9231
+ "unit-rem": "2020-02-25",
9232
+ "unit-vh": "2023-10-01",
9233
+ "unit-vmax": "2020-02-25",
9234
+ "unit-vmin": "2020-02-25",
9235
+ "unit-vw": "2020-02-25",
9236
+ "user-select": "2024-02-14",
9237
+ "vertical-align": "2020-12-21",
9238
+ "visibility": "2019-02-28",
9239
+ "white-space": "2019-02-28",
9240
+ "white-space-collapse": "2024-09-04",
9241
+ "widows": "2024-05-03",
9242
+ "width": "2019-09-27",
9243
+ "word-break": "2022-02-15",
9244
+ "word-spacing": "2024-03-13",
9245
+ "writing-mode": "2022-05-04",
9246
+ "z-index": "2021-05-16",
9247
+ "::after": "2020-05-21",
9248
+ "::before": "2020-05-21",
9249
+ "::first-letter": "2020-05-21",
9250
+ "::first-line": "2020-05-21",
9251
+ "::marker": "2022-12-28",
9252
+ "::placeholder": "2020-05-21",
9253
+ ":adjacent-sibling": "2020-03-11",
9254
+ ":attribute-selector": "2020-12-15",
9255
+ ":chaining": "2019-10-13",
9256
+ ":checked": "2020-03-10",
9257
+ ":child-combinator": "2019-10-13",
9258
+ ":class-selector": "2019-10-13",
9259
+ ":descendant-combinator": "2019-10-13",
9260
+ ":first-child": "2019-10-16",
9261
+ ":first-of-type": "2019-10-16",
9262
+ ":focus": "2019-10-28",
9263
+ ":focus-visible": "2026-04-14",
9264
+ ":focus-within": "2026-04-14",
9265
+ ":general-sibling": "2020-03-11",
9266
+ ":grouping": "2019-10-13",
9267
+ ":has": "2022-03-15",
9268
+ ":hover": "2019-10-23",
9269
+ ":id-selector": "2019-10-13",
9270
+ ":lang": "2022-07-12",
9271
+ ":last-child": "2019-10-19",
9272
+ ":last-of-type": "2019-10-19",
9273
+ ":link": "2019-10-23",
9274
+ ":not": "2019-10-23",
9275
+ ":nth-child": "2019-10-19",
9276
+ ":nth-last-child": "2019-10-19",
9277
+ ":nth-of-type": "2019-10-19",
9278
+ ":only-child": "2019-10-19",
9279
+ ":only-of-type": "2019-10-19",
9280
+ ":target": "2019-10-28",
9281
+ ":type-selector": "2019-10-13",
9282
+ ":universal-selector": "2019-10-13",
9283
+ ":visited": "2019-10-28",
9284
+ "display:flex": "2021-11-02",
9285
+ "display:grid": "2019-02-28",
9286
+ "display:none": "2019-02-28",
9287
+ "apng": "2020-02-06",
9288
+ "avif": "2023-01-14",
9289
+ "base64": "2020-02-06",
9290
+ "bmp": "2020-02-06",
9291
+ "gif": "2020-02-06",
9292
+ "hdr": "2020-02-06",
9293
+ "heif": "2020-02-06",
9294
+ "ico": "2020-02-06",
9295
+ "jpg": "2020-02-06",
9296
+ "mp4": "2021-05-13",
9297
+ "png": "2020-02-06",
9298
+ "svg": "2023-01-15",
9299
+ "tiff": "2020-02-06",
9300
+ "webp": "2021-02-06"
9301
+ };
7143
9302
 
7144
9303
  // src/fix-snippets/html-fixes.ts
7145
9304
  var HTML_FIX_DATABASE = {
@@ -8816,6 +10975,11 @@ function getClientPrefix(clientId) {
8816
10975
  if (clientId === "samsung-mail") return "samsung";
8817
10976
  return null;
8818
10977
  }
10978
+ function describeFeature(property) {
10979
+ if (property.startsWith("[")) return `The ${property.slice(1, -1)} attribute`;
10980
+ if (property.startsWith("<") || property.startsWith("@")) return `\`${property}\``;
10981
+ return `"${property}"`;
10982
+ }
8819
10983
  function getSuggestion(property, clientId, framework) {
8820
10984
  const clientPrefix = getClientPrefix(clientId);
8821
10985
  if (framework && clientPrefix) {
@@ -8833,7 +10997,7 @@ function getSuggestion(property, clientId, framework) {
8833
10997
  const tier4 = SUGGESTION_DATABASE[property];
8834
10998
  if (tier4) return { text: tier4, isGenericFallback: !!framework };
8835
10999
  return {
8836
- text: `"${property}" is not supported in this email client.`,
11000
+ text: `${describeFeature(property)} is not supported in this email client.`,
8837
11001
  isGenericFallback: !!framework
8838
11002
  };
8839
11003
  }
@@ -10828,6 +12992,7 @@ function triggers(prop, value, note, noteLc) {
10828
12992
  if (noteLc.includes("multiple values")) {
10829
12993
  return topLevelSplit(value, ",").length > 1 || topLevelSplit(value, "/").length > 1;
10830
12994
  }
12995
+ if (noteLc.includes("shorthand")) return topLevelSplit(value, "/").length > 1;
10831
12996
  return true;
10832
12997
  }
10833
12998
  case "letter-spacing": {
@@ -11542,8 +13707,34 @@ var HTML_ELEMENT_SELECTORS = {
11542
13707
  "<textarea>": "textarea",
11543
13708
  "<marquee>": "marquee",
11544
13709
  "<object>": "object",
11545
- "<base>": "base"
13710
+ "<base>": "base",
13711
+ // Every email has a <body>, so grading its presence would put the same nine
13712
+ // warnings on every report forever, which is a constant rather than a
13713
+ // finding. What these clients actually drop is the styling on it: they
13714
+ // rewrite <body> into a <div>, or hoist its content out. So look for a body
13715
+ // that carries something to lose.
13716
+ "<body>": "body[style], body[bgcolor], body[background], body[class], body[id]",
13717
+ '<input type="checkbox">': "input[type='checkbox']",
13718
+ '<input type="hidden">': "input[type='hidden']",
13719
+ '<input type="radio">': "input[type='radio']",
13720
+ '<input type="reset">': "input[type='reset']",
13721
+ '<input type="submit">': "input[type='submit']",
13722
+ '<input type="text">': "input[type='text']",
13723
+ '<button type="reset">': "button[type='reset']",
13724
+ '<button type="submit">': "button[type='submit']"
11546
13725
  };
13726
+ function htmlElementSelector(feature) {
13727
+ var _a;
13728
+ const explicit = HTML_ELEMENT_SELECTORS[feature];
13729
+ if (explicit) return explicit;
13730
+ const tag = (_a = /^<([a-z][a-z0-9]*)>$/.exec(feature)) == null ? void 0 : _a[1];
13731
+ return tag;
13732
+ }
13733
+ function isActionable(feature) {
13734
+ const row = CSS_SUPPORT[feature];
13735
+ if (!row) return false;
13736
+ return Object.values(row).some((l) => l === "unsupported" || l === "partial");
13737
+ }
11547
13738
  var HTML_ELEMENT_SEVERITY = {
11548
13739
  "<style>": "error",
11549
13740
  "<link>": "error",
@@ -11578,6 +13769,41 @@ var CSS_FUNCTION_DETECTORS = CSS_FUNCTION_FEATURES.map((fn) => ({
11578
13769
  pattern: `${fn}(`
11579
13770
  // require opening paren, matches "min(" but not "Minion"
11580
13771
  }));
13772
+ var CSS_PROPERTY_SET = new Set(CSS_PROPERTY_FEATURES);
13773
+ var MEDIA_FEATURE_DETECTORS = [
13774
+ ["@media prefers-color-scheme", /prefers-color-scheme/],
13775
+ ["@media prefers-reduced-motion", /prefers-reduced-motion/],
13776
+ // `(hover: hover)`, never the `:hover` pseudo-class.
13777
+ ["@media hover", /\(\s*(?:any-)?hover\s*[:)]/],
13778
+ ["@media orientation", /\borientation\s*:/],
13779
+ ["@media device-pixel-ratio", /device-pixel-ratio|\bresolution\s*:/]
13780
+ ];
13781
+ var HTML_MISC_SELECTORS = {
13782
+ // `href="#"` is a placeholder for a link nobody has written yet, not a
13783
+ // local anchor, and it is all over half-built templates.
13784
+ "anchor-links": 'a[href^="#"]:not([href="#"])',
13785
+ "mailto-links": 'a[href^="mailto:"]',
13786
+ "image-maps": "map, area",
13787
+ "meta-color-scheme": 'meta[name="color-scheme"]',
13788
+ "html5-semantics": "article, aside, figcaption, figure, footer, header, main, nav, section"
13789
+ };
13790
+ var MISC_FEATURE_LABELS = {
13791
+ "amp4email": "AMP for Email",
13792
+ "anchor-links": "local anchor links",
13793
+ "doctype": "the HTML5 doctype",
13794
+ "html-comments": "HTML comments",
13795
+ "html5-semantics": "HTML5 semantic elements",
13796
+ "image-maps": "image maps",
13797
+ "mailto-links": "mailto: links",
13798
+ "meta-color-scheme": "the color-scheme meta tag"
13799
+ };
13800
+ var MISC_LABEL_LOOKUP = MISC_FEATURE_LABELS;
13801
+ function featureLabel(prop) {
13802
+ const misc = MISC_LABEL_LOOKUP[prop];
13803
+ if (misc) return misc;
13804
+ if (prop.startsWith("[")) return `the ${prop.slice(1, -1)} attribute`;
13805
+ return `"${prop}"`;
13806
+ }
11581
13807
  function analyzeEmailFromDom($, framework, source) {
11582
13808
  const warnings = [];
11583
13809
  const seenWarnings = /* @__PURE__ */ new Map();
@@ -11612,7 +13838,8 @@ function analyzeEmailFromDom($, framework, source) {
11612
13838
  return tag;
11613
13839
  }
11614
13840
  for (const feature of HTML_ELEMENT_FEATURES) {
11615
- const selector = HTML_ELEMENT_SELECTORS[feature];
13841
+ if (!isActionable(feature)) continue;
13842
+ const selector = htmlElementSelector(feature);
11616
13843
  if (!selector) continue;
11617
13844
  const matches = $(selector);
11618
13845
  if (matches.length === 0) continue;
@@ -11655,6 +13882,42 @@ function analyzeEmailFromDom($, framework, source) {
11655
13882
  }
11656
13883
  }
11657
13884
  }
13885
+ function occurrencesOfNodes(nodes) {
13886
+ const found = nodes.map((m) => locOfElement(m)).filter((l) => l !== void 0);
13887
+ if (!found.length) return void 0;
13888
+ return __spreadValues({
13889
+ locs: found.slice(0, MAX_WARNING_LOCATIONS)
13890
+ }, found.length > MAX_WARNING_LOCATIONS ? { truncated: true } : {});
13891
+ }
13892
+ for (const feature of HTML_ATTRIBUTE_FEATURES) {
13893
+ if (!isActionable(feature)) continue;
13894
+ const matches = $(feature).toArray();
13895
+ if (!matches.length) continue;
13896
+ checkPropertySupport(
13897
+ feature,
13898
+ addWarning,
13899
+ framework,
13900
+ void 0,
13901
+ void 0,
13902
+ void 0,
13903
+ occurrencesOfNodes(matches)
13904
+ );
13905
+ }
13906
+ for (const feature of HTML_MISC_FEATURES) {
13907
+ if (!isActionable(feature)) continue;
13908
+ const selector = HTML_MISC_SELECTORS[feature];
13909
+ const matches = selector ? $(selector).toArray() : miscNodes($, feature);
13910
+ if (!matches.length) continue;
13911
+ checkPropertySupport(
13912
+ feature,
13913
+ addWarning,
13914
+ framework,
13915
+ void 0,
13916
+ void 0,
13917
+ void 0,
13918
+ occurrencesOfNodes(matches)
13919
+ );
13920
+ }
11658
13921
  const parsedAtRules = /* @__PURE__ */ new Set();
11659
13922
  const selectorLocs = /* @__PURE__ */ new Map();
11660
13923
  const parsedProperties = /* @__PURE__ */ new Set();
@@ -11700,13 +13963,26 @@ function analyzeEmailFromDom($, framework, source) {
11700
13963
  $("style").each((_, el) => {
11701
13964
  const cssText = $(el).text();
11702
13965
  blockAnchor = cssBlockAnchor(el, cssText, source);
13966
+ let ast;
11703
13967
  try {
11704
- const ast = csstree5.parse(cssText, { parseCustomProperty: true, positions: true });
13968
+ ast = csstree5.parse(cssText, { parseCustomProperty: true, positions: true });
13969
+ } catch (e) {
13970
+ return;
13971
+ }
13972
+ {
11705
13973
  csstree5.walk(ast, {
11706
13974
  enter(node) {
11707
13975
  if (node.type === "Atrule") {
11708
13976
  parsedAtRules.add(`@${node.name}`);
11709
13977
  recordSelectorLoc(`@${node.name}`, node.loc);
13978
+ if (node.name === "media" && node.prelude) {
13979
+ const prelude = csstree5.generate(node.prelude).toLowerCase();
13980
+ for (const [feature, pattern] of MEDIA_FEATURE_DETECTORS) {
13981
+ if (!pattern.test(prelude)) continue;
13982
+ parsedAtRules.add(feature);
13983
+ recordSelectorLoc(feature, node.loc);
13984
+ }
13985
+ }
11710
13986
  }
11711
13987
  if (node.type === "PseudoClassSelector") {
11712
13988
  detectedPseudoClasses.add(`:${node.name}`);
@@ -11748,16 +14024,12 @@ function analyzeEmailFromDom($, framework, source) {
11748
14024
  }
11749
14025
  }
11750
14026
  });
11751
- } catch (e) {
11752
14027
  }
11753
14028
  });
11754
14029
  for (const atRule of AT_RULE_FEATURES) {
11755
14030
  if (!parsedAtRules.has(atRule)) continue;
11756
14031
  checkPropertySupport(atRule, addWarning, framework, void 0, void 0, void 0, selectorLocs.get(atRule));
11757
14032
  }
11758
- const cssPropertiesToCheck = Object.keys(CSS_SUPPORT).filter(
11759
- (k) => !k.startsWith("<") && !k.startsWith("@")
11760
- );
11761
14033
  $("[style]").each((_, el) => {
11762
14034
  const style = $(el).attr("style") || "";
11763
14035
  const props = parseStyleProperties(style);
@@ -11785,7 +14057,7 @@ function analyzeEmailFromDom($, framework, source) {
11785
14057
  }
11786
14058
  }
11787
14059
  }
11788
- if (cssPropertiesToCheck.includes(prop)) {
14060
+ if (CSS_PROPERTY_SET.has(prop)) {
11789
14061
  const declared = getStyleValues(style, prop);
11790
14062
  const placed = [];
11791
14063
  declared.forEach((value2, i) => {
@@ -11823,7 +14095,7 @@ function analyzeEmailFromDom($, framework, source) {
11823
14095
  });
11824
14096
  for (const prop of parsedProperties) {
11825
14097
  if (prop.includes(":")) continue;
11826
- if (!cssPropertiesToCheck.includes(prop)) continue;
14098
+ if (!CSS_PROPERTY_SET.has(prop)) continue;
11827
14099
  const values = propertyValues.get(prop);
11828
14100
  checkPropertySupport(
11829
14101
  prop,
@@ -11836,7 +14108,6 @@ function analyzeEmailFromDom($, framework, source) {
11836
14108
  );
11837
14109
  }
11838
14110
  for (const compound of COMPOUND_VALUE_FEATURES) {
11839
- if (compound.startsWith(":") || compound.startsWith("::")) continue;
11840
14111
  if (parsedProperties.has(compound)) {
11841
14112
  checkPropertySupport(compound, addWarning, framework, void 0, propertyLines.get(compound), void 0, propertyLocs.get(compound));
11842
14113
  }
@@ -11895,6 +14166,7 @@ function withOutlookBranch(html, warnings, framework) {
11895
14166
  return [...kept, ...merged];
11896
14167
  }
11897
14168
  function getFixType(prop) {
14169
+ if (prop.startsWith("[") || MISC_LABEL_LOOKUP[prop]) return "structural";
11898
14170
  return STRUCTURAL_FIX_PROPERTIES.has(prop) ? "structural" : "css";
11899
14171
  }
11900
14172
  function noteSuffix(notes) {
@@ -11902,6 +14174,39 @@ function noteSuffix(notes) {
11902
14174
  const cleaned = notes.map((n) => n.replace(/^(?:Partial|Buggy|Not supported)\.\s*/i, "").trim()).filter(Boolean);
11903
14175
  return cleaned.length ? ` ${cleaned.join(" ")}` : "";
11904
14176
  }
14177
+ function miscNodes($, feature) {
14178
+ var _a;
14179
+ if (feature === "doctype") {
14180
+ const root = $.root()[0];
14181
+ return ((_a = root == null ? void 0 : root.children) != null ? _a : []).filter(
14182
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14183
+ (c) => c.type === "directive" && String(c.name).toLowerCase() === "!doctype"
14184
+ );
14185
+ }
14186
+ if (feature === "html-comments") return ordinaryComments($.root()[0]);
14187
+ if (feature === "amp4email") {
14188
+ return $("html").toArray().filter(
14189
+ (el) => {
14190
+ var _a2;
14191
+ return Object.keys((_a2 = el.attribs) != null ? _a2 : {}).some(
14192
+ (a) => a === "amp4email" || a === "\u26A14email"
14193
+ );
14194
+ }
14195
+ );
14196
+ }
14197
+ return [];
14198
+ }
14199
+ function ordinaryComments(node, out = []) {
14200
+ var _a, _b;
14201
+ for (const child of (_a = node == null ? void 0 : node.children) != null ? _a : []) {
14202
+ if (child.type === "comment") {
14203
+ const data = String((_b = child.data) != null ? _b : "").trim();
14204
+ if (!/^\[if\b/i.test(data) && !/^<!\[endif\]/i.test(data)) out.push(child);
14205
+ }
14206
+ if (child.children) ordinaryComments(child, out);
14207
+ }
14208
+ return out;
14209
+ }
11905
14210
  function checkPropertySupport(prop, addWarning, framework, selector, line, values, occurrences) {
11906
14211
  var _a, _b, _c, _d, _e, _f;
11907
14212
  const loc = occurrences == null ? void 0 : occurrences.locs[0];
@@ -11915,11 +14220,12 @@ function checkPropertySupport(prop, addWarning, framework, selector, line, value
11915
14220
  if (support === "unsupported") {
11916
14221
  const sug = getSuggestion(prop, client.id, framework);
11917
14222
  const fix = getCodeFix(prop, client.id, framework);
14223
+ const graceful = GRACEFUL_FEATURES.has(prop);
11918
14224
  addWarning(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
11919
- severity: "warning",
14225
+ severity: graceful ? "info" : "warning",
11920
14226
  client: client.id,
11921
14227
  property: prop,
11922
- message: `${client.name} does not support "${prop}".${noteSuffix(notes)}`,
14228
+ message: graceful ? `${client.name} ignores ${featureLabel(prop)}.${noteSuffix(notes)}` : `${client.name} does not support ${featureLabel(prop)}.${noteSuffix(notes)}`,
11923
14229
  suggestion: sug.text,
11924
14230
  fix,
11925
14231
  fixType
@@ -11933,7 +14239,7 @@ function checkPropertySupport(prop, addWarning, framework, selector, line, value
11933
14239
  severity: "info",
11934
14240
  client: client.id,
11935
14241
  property: prop,
11936
- message: `${client.name} has partial support for "${prop}".${noteSuffix(notes)}`,
14242
+ message: `${client.name} has partial support for ${featureLabel(prop)}.${noteSuffix(notes)}`,
11937
14243
  suggestion: sug.text,
11938
14244
  fix,
11939
14245
  fixType
@@ -12357,6 +14663,8 @@ var FEATURE_URLS = {
12357
14663
  "<bdi>": "https://www.caniemail.com/features/html-bdi/",
12358
14664
  "<blockquote>": "https://www.caniemail.com/features/html-blockquote/",
12359
14665
  "<body>": "https://www.caniemail.com/features/html-body/",
14666
+ '<button type="reset">': "https://www.caniemail.com/features/html-button-reset/",
14667
+ '<button type="submit">': "https://www.caniemail.com/features/html-button-submit/",
12360
14668
  "<code>": "https://www.caniemail.com/features/html-code/",
12361
14669
  "<del>": "https://www.caniemail.com/features/html-del/",
12362
14670
  "<dfn>": "https://www.caniemail.com/features/html-dfn/",
@@ -12366,6 +14674,12 @@ var FEATURE_URLS = {
12366
14674
  "<h1>": "https://www.caniemail.com/features/html-h1-h6/",
12367
14675
  "<hr>": "https://www.caniemail.com/features/html-hr/",
12368
14676
  "<img>": "https://www.caniemail.com/features/html-img/",
14677
+ '<input type="checkbox">': "https://www.caniemail.com/features/html-input-checkbox/",
14678
+ '<input type="hidden">': "https://www.caniemail.com/features/html-input-hidden/",
14679
+ '<input type="radio">': "https://www.caniemail.com/features/html-input-radio/",
14680
+ '<input type="reset">': "https://www.caniemail.com/features/html-input-reset/",
14681
+ '<input type="submit">': "https://www.caniemail.com/features/html-input-submit/",
14682
+ '<input type="text">': "https://www.caniemail.com/features/html-input-text/",
12369
14683
  "<link>": "https://www.caniemail.com/features/html-link/",
12370
14684
  "<marquee>": "https://www.caniemail.com/features/html-marquee/",
12371
14685
  "<meter>": "https://www.caniemail.com/features/html-meter/",
@@ -12393,9 +14707,38 @@ var FEATURE_URLS = {
12393
14707
  "@import": "https://www.caniemail.com/features/css-at-import/",
12394
14708
  "@keyframes": "https://www.caniemail.com/features/css-at-keyframes/",
12395
14709
  "@media": "https://www.caniemail.com/features/css-at-media/",
14710
+ "@media device-pixel-ratio": "https://www.caniemail.com/features/css-at-media-device-pixel-ratio/",
14711
+ "@media hover": "https://www.caniemail.com/features/css-at-media-hover/",
14712
+ "@media orientation": "https://www.caniemail.com/features/css-at-media-orientation/",
14713
+ "@media prefers-color-scheme": "https://www.caniemail.com/features/css-at-media-prefers-color-scheme/",
14714
+ "@media prefers-reduced-motion": "https://www.caniemail.com/features/css-at-media-prefers-reduced-motion/",
12396
14715
  "@supports": "https://www.caniemail.com/features/css-at-supports/",
14716
+ "[align]": "https://www.caniemail.com/features/html-align/",
14717
+ "[aria-describedby]": "https://www.caniemail.com/features/html-aria-describedby/",
14718
+ "[aria-hidden]": "https://www.caniemail.com/features/html-aria-hidden/",
14719
+ "[aria-label]": "https://www.caniemail.com/features/html-aria-label/",
14720
+ "[aria-labelledby]": "https://www.caniemail.com/features/html-aria-labelledby/",
14721
+ "[aria-live]": "https://www.caniemail.com/features/html-aria-live/",
14722
+ "[background]": "https://www.caniemail.com/features/html-background/",
14723
+ "[cellpadding]": "https://www.caniemail.com/features/html-cellpadding/",
14724
+ "[cellspacing]": "https://www.caniemail.com/features/html-cellspacing/",
14725
+ "[command]": "https://www.caniemail.com/features/html-command-attribute/",
14726
+ "[dir]": "https://www.caniemail.com/features/html-dir/",
14727
+ "[height]": "https://www.caniemail.com/features/html-height/",
14728
+ "[hidden]": "https://www.caniemail.com/features/html-hidden/",
14729
+ "[lang]": "https://www.caniemail.com/features/html-lang/",
14730
+ "[loading]": "https://www.caniemail.com/features/html-loading-attribute/",
14731
+ "[popover]": "https://www.caniemail.com/features/html-popover/",
14732
+ "[required]": "https://www.caniemail.com/features/html-required/",
14733
+ "[role]": "https://www.caniemail.com/features/html-role/",
14734
+ "[srcset]": "https://www.caniemail.com/features/html-srcset/",
14735
+ "[target]": "https://www.caniemail.com/features/html-target/",
14736
+ "[valign]": "https://www.caniemail.com/features/html-valign/",
14737
+ "[width]": "https://www.caniemail.com/features/html-width/",
12397
14738
  "accent-color": "https://www.caniemail.com/features/css-accent-color/",
12398
14739
  "align-items": "https://www.caniemail.com/features/css-align-items/",
14740
+ "amp4email": "https://www.caniemail.com/features/amp/",
14741
+ "anchor-links": "https://www.caniemail.com/features/html-anchor-links/",
12399
14742
  "animation": "https://www.caniemail.com/features/css-animation/",
12400
14743
  "aspect-ratio": "https://www.caniemail.com/features/css-aspect-ratio/",
12401
14744
  "backdrop-filter": "https://www.caniemail.com/features/css-backdrop-filter/",
@@ -12438,6 +14781,7 @@ var FEATURE_URLS = {
12438
14781
  "display:flex": "https://www.caniemail.com/features/css-display-flex/",
12439
14782
  "display:grid": "https://www.caniemail.com/features/css-display-grid/",
12440
14783
  "display:none": "https://www.caniemail.com/features/css-display-none/",
14784
+ "doctype": "https://www.caniemail.com/features/html-doctype/",
12441
14785
  "empty-cells": "https://www.caniemail.com/features/css-empty-cells/",
12442
14786
  "filter": "https://www.caniemail.com/features/css-filter/",
12443
14787
  "fit-content": "https://www.caniemail.com/features/css-intrinsic-size/",
@@ -12453,9 +14797,12 @@ var FEATURE_URLS = {
12453
14797
  "gap": "https://www.caniemail.com/features/css-gap/",
12454
14798
  "grid-template-columns": "https://www.caniemail.com/features/css-grid-template/",
12455
14799
  "height": "https://www.caniemail.com/features/css-height/",
14800
+ "html-comments": "https://www.caniemail.com/features/html-comments/",
14801
+ "html5-semantics": "https://www.caniemail.com/features/html-semantics/",
12456
14802
  "hyphenate-character": "https://www.caniemail.com/features/css-hyphenate-character/",
12457
14803
  "hyphenate-limit-chars": "https://www.caniemail.com/features/css-hyphenate-limit-chars/",
12458
14804
  "hyphens": "https://www.caniemail.com/features/css-hyphens/",
14805
+ "image-maps": "https://www.caniemail.com/features/html-image-maps/",
12459
14806
  "inert": "https://www.caniemail.com/features/css-inert-attribute/",
12460
14807
  "inline-size": "https://www.caniemail.com/features/css-inline-size/",
12461
14808
  "inset": "https://www.caniemail.com/features/css-inset/",
@@ -12469,6 +14816,7 @@ var FEATURE_URLS = {
12469
14816
  "list-style-image": "https://www.caniemail.com/features/css-list-style-image/",
12470
14817
  "list-style-position": "https://www.caniemail.com/features/css-list-style-position/",
12471
14818
  "list-style-type": "https://www.caniemail.com/features/css-list-style-type/",
14819
+ "mailto-links": "https://www.caniemail.com/features/html-mailto-links/",
12472
14820
  "margin": "https://www.caniemail.com/features/css-margin/",
12473
14821
  "margin-block-start-end": "https://www.caniemail.com/features/css-margin-block-start-end/",
12474
14822
  "margin-inline-block": "https://www.caniemail.com/features/css-margin-inline-block/",
@@ -12479,6 +14827,7 @@ var FEATURE_URLS = {
12479
14827
  "max-height": "https://www.caniemail.com/features/css-max-height/",
12480
14828
  "max-inline-size": "https://www.caniemail.com/features/css-max-inline-size/",
12481
14829
  "max-width": "https://www.caniemail.com/features/css-max-width/",
14830
+ "meta-color-scheme": "https://www.caniemail.com/features/html-meta-color-scheme/",
12482
14831
  "min": "https://www.caniemail.com/features/css-function-min/",
12483
14832
  "min-block-size": "https://www.caniemail.com/features/css-min-block-size/",
12484
14833
  "min-height": "https://www.caniemail.com/features/css-min-height/",
@@ -13903,6 +16252,97 @@ function estimateBase64Bytes(dataUri) {
13903
16252
  const payload = dataUri.slice(commaIdx + 1);
13904
16253
  return Math.floor(payload.length * 3 / 4);
13905
16254
  }
16255
+ var IMAGE_FORMAT_BY_EXTENSION = {
16256
+ apng: "apng",
16257
+ avif: "avif",
16258
+ bmp: "bmp",
16259
+ gif: "gif",
16260
+ hdr: "hdr",
16261
+ heic: "heif",
16262
+ heif: "heif",
16263
+ ico: "ico",
16264
+ jfif: "jpg",
16265
+ jpeg: "jpg",
16266
+ jpg: "jpg",
16267
+ mp4: "mp4",
16268
+ png: "png",
16269
+ svg: "svg",
16270
+ tif: "tiff",
16271
+ tiff: "tiff",
16272
+ webp: "webp"
16273
+ };
16274
+ var DATA_URI_MIME_ALIAS = {
16275
+ "svg+xml": "svg",
16276
+ "x-icon": "ico",
16277
+ "vnd.microsoft.icon": "ico",
16278
+ "x-png": "png"
16279
+ };
16280
+ var IMAGE_FORMAT_LABEL = {
16281
+ apng: "Animated PNG",
16282
+ avif: "AVIF",
16283
+ base64: "Base64 (data URI)",
16284
+ bmp: "BMP",
16285
+ gif: "GIF",
16286
+ hdr: "HDR",
16287
+ heif: "HEIF",
16288
+ ico: "ICO",
16289
+ jpg: "JPEG",
16290
+ mp4: "Video-as-image (MP4)",
16291
+ png: "PNG",
16292
+ svg: "SVG",
16293
+ tiff: "TIFF",
16294
+ webp: "WebP"
16295
+ };
16296
+ var IMAGE_FORMAT_ADVICE = {
16297
+ apng: "Use a GIF for animation, or a static PNG.",
16298
+ avif: "Use PNG or JPEG.",
16299
+ base64: "Host the image and reference it by URL.",
16300
+ bmp: "Use PNG or JPEG.",
16301
+ hdr: "Use PNG or JPEG.",
16302
+ heif: "Use PNG or JPEG.",
16303
+ ico: "Use PNG.",
16304
+ mp4: "Use an animated GIF, or a static image linking to the video.",
16305
+ svg: "Use PNG instead.",
16306
+ tiff: "Use PNG or JPEG.",
16307
+ webp: "Use PNG or JPEG."
16308
+ };
16309
+ function imageFormats(src) {
16310
+ var _a, _b, _c;
16311
+ const formats = [];
16312
+ const lower = src.toLowerCase();
16313
+ if (lower.startsWith("data:")) {
16314
+ if (lower.includes(";base64")) formats.push("base64");
16315
+ const mime = (_a = /^data:image\/([a-z0-9.+-]+)/.exec(lower)) == null ? void 0 : _a[1];
16316
+ const fromMime = mime && ((_b = IMAGE_FORMAT_BY_EXTENSION[mime]) != null ? _b : DATA_URI_MIME_ALIAS[mime]);
16317
+ if (fromMime) formats.push(fromMime);
16318
+ return formats;
16319
+ }
16320
+ const path = lower.split(/[?#]/)[0];
16321
+ const ext = (_c = /\.([a-z0-9]+)$/.exec(path)) == null ? void 0 : _c[1];
16322
+ const fromExt = ext ? IMAGE_FORMAT_BY_EXTENSION[ext] : void 0;
16323
+ if (fromExt) formats.push(fromExt);
16324
+ return formats;
16325
+ }
16326
+ function clientsWithout(format) {
16327
+ const row = IMAGE_SUPPORT[format];
16328
+ const broken = [];
16329
+ const partial = [];
16330
+ if (!row) return { broken, partial };
16331
+ for (const client of EMAIL_CLIENTS) {
16332
+ if (row[client.id] === "unsupported") broken.push(client.name);
16333
+ else if (row[client.id] === "partial") partial.push(client.name);
16334
+ }
16335
+ return { broken, partial };
16336
+ }
16337
+ function nameList(names, max = 4) {
16338
+ if (!names.length) return "no clients";
16339
+ if (names.length === 1) return names[0];
16340
+ if (names.length <= max) {
16341
+ return `${names.slice(0, -1).join(", ")} and ${names[names.length - 1]}`;
16342
+ }
16343
+ const rest = names.length - max;
16344
+ return `${names.slice(0, max).join(", ")} and ${rest} other${rest === 1 ? "" : "s"}`;
16345
+ }
13906
16346
  function isTrackingPixel(el) {
13907
16347
  const width = el.attr("width");
13908
16348
  const height = el.attr("height");
@@ -13929,7 +16369,7 @@ function analyzeImagesFromDom($) {
13929
16369
  const images = [];
13930
16370
  let totalDataUriBytes = 0;
13931
16371
  $("img").each((_, el) => {
13932
- var _a, _b, _c;
16372
+ var _a, _b, _c, _d;
13933
16373
  const img = $(el);
13934
16374
  const src = img.attr("src") || "";
13935
16375
  const alt = (_a = img.attr("alt")) != null ? _a : null;
@@ -13989,21 +16429,16 @@ function analyzeImagesFromDom($) {
13989
16429
  src: truncateSrc(src)
13990
16430
  }, elLoc ? { loc: elLoc } : {}));
13991
16431
  }
13992
- if (src.toLowerCase().endsWith(".webp") || src.includes("image/webp")) {
13993
- imgIssues.push("webp-format");
13994
- issues.push(__spreadValues({
13995
- rule: "webp-format",
13996
- severity: "info",
13997
- message: "WebP format detected, not supported by all email clients. Consider PNG or JPEG.",
13998
- src: truncateSrc(src)
13999
- }, srcLoc ? { loc: srcLoc } : {}));
14000
- }
14001
- if (src.toLowerCase().endsWith(".svg") || src.includes("image/svg")) {
14002
- imgIssues.push("svg-format");
16432
+ for (const format of imageFormats(src)) {
16433
+ const { broken, partial } = clientsWithout(format);
16434
+ if (!broken.length) continue;
16435
+ const label = (_d = IMAGE_FORMAT_LABEL[format]) != null ? _d : format.toUpperCase();
16436
+ const advice = IMAGE_FORMAT_ADVICE[format];
16437
+ imgIssues.push(`${format}-format`);
14003
16438
  issues.push(__spreadValues({
14004
- rule: "svg-format",
16439
+ rule: `${format}-format`,
14005
16440
  severity: "info",
14006
- message: "SVG format detected, not supported by most email clients. Use PNG instead.",
16441
+ message: `${label} is not supported by ${nameList(broken)} (${broken.length} of ${EMAIL_CLIENTS.length} clients${partial.length ? `, partial in ${partial.length} more` : ""}).${advice ? ` ${advice}` : ""}`,
14007
16442
  src: truncateSrc(src)
14008
16443
  }, srcLoc ? { loc: srcLoc } : {}));
14009
16444
  }
@@ -15368,17 +17803,27 @@ export {
15368
17803
  AT_RULE_FEATURES,
15369
17804
  COMPOUND_VALUE_FEATURES,
15370
17805
  CSS_FUNCTION_FEATURES,
17806
+ CSS_PROPERTY_FEATURES,
15371
17807
  CSS_SUPPORT,
15372
17808
  CSS_SUPPORT_NOTES,
15373
17809
  CompileError,
15374
17810
  EMAIL_CLIENTS,
15375
17811
  EMPTY_DELIVERABILITY,
17812
+ FEATURE_LAST_TESTED,
15376
17813
  FEATURE_URLS,
15377
17814
  GENERIC_LINK_TEXT,
17815
+ GRACEFUL_FEATURES,
17816
+ HTML_ATTRIBUTE_FEATURES,
15378
17817
  HTML_ELEMENT_FEATURES,
17818
+ HTML_MISC_FEATURES,
17819
+ IMAGE_FORMATS,
17820
+ IMAGE_SUPPORT,
17821
+ IMAGE_SUPPORT_NOTES,
15379
17822
  MAX_HTML_SIZE,
15380
17823
  MAX_WARNING_LOCATIONS,
17824
+ SELECTOR_FEATURES,
15381
17825
  STRUCTURAL_FIX_PROPERTIES,
17826
+ SUPPORT_CLIENTS,
15382
17827
  VALUE_CAVEAT_PROPS,
15383
17828
  alphaBlend,
15384
17829
  analyzeEmail,