@mapbox/mapbox-gl-style-spec 14.1.0-beta.1 → 14.2.0-beta.1

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.cjs CHANGED
@@ -100,13 +100,13 @@
100
100
  "basic functionality": {
101
101
  js: "3.0.0",
102
102
  android: "11.0.0",
103
- ios: "11.0.0",
104
- macos: "11.0.0"
103
+ ios: "11.0.0"
105
104
  }
106
105
  }
107
106
  },
108
107
  terrain: {
109
108
  type: "terrain",
109
+ optional: true,
110
110
  doc: "A global modifier that elevates layers and markers based on a DEM data source."
111
111
  },
112
112
  fog: {
@@ -125,8 +125,7 @@
125
125
  "basic functionality": {
126
126
  js: "3.0.0",
127
127
  android: "11.0.0",
128
- ios: "11.0.0",
129
- macos: "11.0.0"
128
+ ios: "11.0.0"
130
129
  }
131
130
  }
132
131
  },
@@ -137,8 +136,7 @@
137
136
  "basic functionality": {
138
137
  js: "3.0.0",
139
138
  android: "11.0.0",
140
- ios: "11.0.0",
141
- macos: "11.0.0"
139
+ ios: "11.0.0"
142
140
  }
143
141
  }
144
142
  },
@@ -589,12 +587,12 @@
589
587
  },
590
588
  url: {
591
589
  type: "string",
592
- doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
590
+ doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`. Required if `tiles` is not provided."
593
591
  },
594
592
  tiles: {
595
593
  type: "array",
596
594
  value: "string",
597
- doc: "An array of one or more tile source URLs, as in the TileJSON spec."
595
+ doc: "An array of one or more tile source URLs, as in the TileJSON spec. Required if `url` is not provided."
598
596
  },
599
597
  bounds: {
600
598
  type: "array",
@@ -668,12 +666,12 @@
668
666
  },
669
667
  url: {
670
668
  type: "string",
671
- doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
669
+ doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`. Required if `tiles` is not provided."
672
670
  },
673
671
  tiles: {
674
672
  type: "array",
675
673
  value: "string",
676
- doc: "An array of one or more tile source URLs, as in the TileJSON spec."
674
+ doc: "An array of one or more tile source URLs, as in the TileJSON spec. Required if `url` is not provided."
677
675
  },
678
676
  bounds: {
679
677
  type: "array",
@@ -749,12 +747,12 @@
749
747
  },
750
748
  url: {
751
749
  type: "string",
752
- doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
750
+ doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`. Required if `tiles` is not provided."
753
751
  },
754
752
  tiles: {
755
753
  type: "array",
756
754
  value: "string",
757
- doc: "An array of one or more tile source URLs, as in the TileJSON spec."
755
+ doc: "An array of one or more tile source URLs, as in the TileJSON spec. Required if `url` is not provided."
758
756
  },
759
757
  bounds: {
760
758
  type: "array",
@@ -830,12 +828,12 @@
830
828
  },
831
829
  url: {
832
830
  type: "string",
833
- doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
831
+ doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`. Required if `tiles` is not provided."
834
832
  },
835
833
  tiles: {
836
834
  type: "array",
837
835
  value: "string",
838
- doc: "An array of one or more tile source URLs, as in the TileJSON spec."
836
+ doc: "An array of one or more tile source URLs, as in the TileJSON spec. Required if `url` is not provided."
839
837
  },
840
838
  bounds: {
841
839
  type: "array",
@@ -1060,8 +1058,7 @@
1060
1058
  "basic functionality": {
1061
1059
  js: "0.10.0",
1062
1060
  android: "2.0.1",
1063
- ios: "2.0.0",
1064
- macos: "0.1.0"
1061
+ ios: "2.0.0"
1065
1062
  }
1066
1063
  }
1067
1064
  },
@@ -1071,8 +1068,7 @@
1071
1068
  "basic functionality": {
1072
1069
  js: "0.10.0",
1073
1070
  android: "2.0.1",
1074
- ios: "2.0.0",
1075
- macos: "0.1.0"
1071
+ ios: "2.0.0"
1076
1072
  }
1077
1073
  }
1078
1074
  },
@@ -1082,8 +1078,7 @@
1082
1078
  "basic functionality": {
1083
1079
  js: "0.10.0",
1084
1080
  android: "2.0.1",
1085
- ios: "2.0.0",
1086
- macos: "0.1.0"
1081
+ ios: "2.0.0"
1087
1082
  }
1088
1083
  }
1089
1084
  },
@@ -1093,8 +1088,7 @@
1093
1088
  "basic functionality": {
1094
1089
  js: "0.10.0",
1095
1090
  android: "2.0.1",
1096
- ios: "2.0.0",
1097
- macos: "0.1.0"
1091
+ ios: "2.0.0"
1098
1092
  }
1099
1093
  }
1100
1094
  },
@@ -1104,8 +1098,7 @@
1104
1098
  "basic functionality": {
1105
1099
  js: "0.41.0",
1106
1100
  android: "6.0.0",
1107
- ios: "4.0.0",
1108
- macos: "0.7.0"
1101
+ ios: "4.0.0"
1109
1102
  }
1110
1103
  }
1111
1104
  },
@@ -1115,8 +1108,7 @@
1115
1108
  "basic functionality": {
1116
1109
  js: "0.27.0",
1117
1110
  android: "5.1.0",
1118
- ios: "3.6.0",
1119
- macos: "0.5.0"
1111
+ ios: "3.6.0"
1120
1112
  }
1121
1113
  }
1122
1114
  },
@@ -1126,8 +1118,7 @@
1126
1118
  "basic functionality": {
1127
1119
  js: "0.10.0",
1128
1120
  android: "2.0.1",
1129
- ios: "2.0.0",
1130
- macos: "0.1.0"
1121
+ ios: "2.0.0"
1131
1122
  }
1132
1123
  }
1133
1124
  },
@@ -1137,8 +1128,7 @@
1137
1128
  "basic functionality": {
1138
1129
  js: "0.43.0",
1139
1130
  android: "6.0.0",
1140
- ios: "4.0.0",
1141
- macos: "0.7.0"
1131
+ ios: "4.0.0"
1142
1132
  }
1143
1133
  }
1144
1134
  },
@@ -1158,8 +1148,7 @@
1158
1148
  "basic functionality": {
1159
1149
  js: "0.10.0",
1160
1150
  android: "2.0.1",
1161
- ios: "2.0.0",
1162
- macos: "0.1.0"
1151
+ ios: "2.0.0"
1163
1152
  }
1164
1153
  }
1165
1154
  },
@@ -1179,8 +1168,7 @@
1179
1168
  "basic functionality": {
1180
1169
  js: "3.0.0",
1181
1170
  android: "11.0.0",
1182
- ios: "11.0.0",
1183
- macos: "11.0.0"
1171
+ ios: "11.0.0"
1184
1172
  }
1185
1173
  }
1186
1174
  }
@@ -1198,7 +1186,7 @@
1198
1186
  },
1199
1187
  "source-layer": {
1200
1188
  type: "string",
1201
- doc: "Layer to use from a vector tile source. Required for vector tile sources; prohibited for all other source types, including GeoJSON sources."
1189
+ doc: "Layer to use from a vector tile source. Required for vector and raster-array sources; prohibited for all other source types, including GeoJSON sources."
1202
1190
  },
1203
1191
  slot: {
1204
1192
  type: "string",
@@ -1207,8 +1195,7 @@
1207
1195
  "basic functionality": {
1208
1196
  js: "3.0.0",
1209
1197
  android: "11.0.0",
1210
- ios: "11.0.0",
1211
- macos: "11.0.0"
1198
+ ios: "11.0.0"
1212
1199
  }
1213
1200
  }
1214
1201
  },
@@ -1267,14 +1254,12 @@
1267
1254
  "basic functionality": {
1268
1255
  js: "0.10.0",
1269
1256
  android: "2.0.1",
1270
- ios: "2.0.0",
1271
- macos: "0.1.0"
1257
+ ios: "2.0.0"
1272
1258
  },
1273
1259
  "expressions support": {
1274
1260
  js: "3.0.0",
1275
1261
  android: "11.0.0",
1276
- ios: "11.0.0",
1277
- macos: "11.0.0"
1262
+ ios: "11.0.0"
1278
1263
  }
1279
1264
  },
1280
1265
  expression: {
@@ -1305,8 +1290,7 @@
1305
1290
  "expressions support": {
1306
1291
  js: "3.0.0",
1307
1292
  android: "11.0.0",
1308
- ios: "11.0.0",
1309
- macos: "11.0.0"
1293
+ ios: "11.0.0"
1310
1294
  }
1311
1295
  },
1312
1296
  expression: {
@@ -1332,8 +1316,7 @@
1332
1316
  "basic functionality": {
1333
1317
  js: "3.0.0",
1334
1318
  android: "11.0.0",
1335
- ios: "11.0.0",
1336
- macos: "11.0.0"
1319
+ ios: "11.0.0"
1337
1320
  }
1338
1321
  },
1339
1322
  expression: {
@@ -1384,14 +1367,12 @@
1384
1367
  "basic functionality": {
1385
1368
  js: "1.2.0",
1386
1369
  android: "9.1.0",
1387
- ios: "5.8.0",
1388
- macos: "0.15.0"
1370
+ ios: "5.8.0"
1389
1371
  },
1390
1372
  "data-driven styling": {
1391
1373
  js: "1.2.0",
1392
1374
  android: "9.1.0",
1393
- ios: "5.8.0",
1394
- macos: "0.15.0"
1375
+ ios: "5.8.0"
1395
1376
  }
1396
1377
  },
1397
1378
  expression: {
@@ -1419,14 +1400,12 @@
1419
1400
  "basic functionality": {
1420
1401
  js: "0.10.0",
1421
1402
  android: "2.0.1",
1422
- ios: "2.0.0",
1423
- macos: "0.1.0"
1403
+ ios: "2.0.0"
1424
1404
  },
1425
1405
  "expressions support": {
1426
1406
  js: "3.0.0",
1427
1407
  android: "11.0.0",
1428
- ios: "11.0.0",
1429
- macos: "11.0.0"
1408
+ ios: "11.0.0"
1430
1409
  }
1431
1410
  },
1432
1411
  expression: {
@@ -1443,14 +1422,12 @@
1443
1422
  "basic functionality": {
1444
1423
  js: "1.2.0",
1445
1424
  android: "9.2.0",
1446
- ios: "5.9.0",
1447
- macos: "0.16.0"
1425
+ ios: "5.9.0"
1448
1426
  },
1449
1427
  "data-driven styling": {
1450
1428
  js: "1.2.0",
1451
1429
  android: "9.2.0",
1452
- ios: "5.9.0",
1453
- macos: "0.16.0"
1430
+ ios: "5.9.0"
1454
1431
  }
1455
1432
  },
1456
1433
  expression: {
@@ -1478,14 +1455,12 @@
1478
1455
  "basic functionality": {
1479
1456
  js: "0.10.0",
1480
1457
  android: "2.0.1",
1481
- ios: "2.0.0",
1482
- macos: "0.1.0"
1458
+ ios: "2.0.0"
1483
1459
  },
1484
1460
  "expressions support": {
1485
1461
  js: "3.0.0",
1486
1462
  android: "11.0.0",
1487
- ios: "11.0.0",
1488
- macos: "11.0.0"
1463
+ ios: "11.0.0"
1489
1464
  }
1490
1465
  },
1491
1466
  expression: {
@@ -1511,14 +1486,12 @@
1511
1486
  "basic functionality": {
1512
1487
  js: "0.41.0",
1513
1488
  android: "6.0.0",
1514
- ios: "4.0.0",
1515
- macos: "0.7.0"
1489
+ ios: "4.0.0"
1516
1490
  },
1517
1491
  "expressions support": {
1518
1492
  js: "3.0.0",
1519
1493
  android: "11.0.0",
1520
- ios: "11.0.0",
1521
- macos: "11.0.0"
1494
+ ios: "11.0.0"
1522
1495
  }
1523
1496
  },
1524
1497
  expression: {
@@ -1547,8 +1520,7 @@
1547
1520
  "basic functionality": {
1548
1521
  js: "0.10.0",
1549
1522
  android: "2.0.1",
1550
- ios: "2.0.0",
1551
- macos: "0.1.0"
1523
+ ios: "2.0.0"
1552
1524
  },
1553
1525
  "data-driven styling": {
1554
1526
  js: "2.3.0"
@@ -1582,14 +1554,12 @@
1582
1554
  "basic functionality": {
1583
1555
  js: "0.10.0",
1584
1556
  android: "2.0.1",
1585
- ios: "2.0.0",
1586
- macos: "0.1.0"
1557
+ ios: "2.0.0"
1587
1558
  },
1588
1559
  "data-driven styling": {
1589
1560
  js: "0.40.0",
1590
1561
  android: "5.2.0",
1591
- ios: "3.7.0",
1592
- macos: "0.6.0"
1562
+ ios: "3.7.0"
1593
1563
  }
1594
1564
  },
1595
1565
  expression: {
@@ -1614,8 +1584,7 @@
1614
1584
  "basic functionality": {
1615
1585
  js: "0.10.0",
1616
1586
  android: "2.0.1",
1617
- ios: "2.0.0",
1618
- macos: "0.1.0"
1587
+ ios: "2.0.0"
1619
1588
  }
1620
1589
  },
1621
1590
  expression: {
@@ -1639,8 +1608,7 @@
1639
1608
  "basic functionality": {
1640
1609
  js: "0.10.0",
1641
1610
  android: "2.0.1",
1642
- ios: "2.0.0",
1643
- macos: "0.1.0"
1611
+ ios: "2.0.0"
1644
1612
  }
1645
1613
  },
1646
1614
  expression: {
@@ -1658,14 +1626,12 @@
1658
1626
  "basic functionality": {
1659
1627
  js: "1.2.0",
1660
1628
  android: "9.1.0",
1661
- ios: "5.8.0",
1662
- macos: "0.15.0"
1629
+ ios: "5.8.0"
1663
1630
  },
1664
1631
  "data-driven styling": {
1665
1632
  js: "1.2.0",
1666
1633
  android: "9.1.0",
1667
- ios: "5.8.0",
1668
- macos: "0.15.0"
1634
+ ios: "5.8.0"
1669
1635
  }
1670
1636
  },
1671
1637
  expression: {
@@ -1693,14 +1659,12 @@
1693
1659
  "basic functionality": {
1694
1660
  js: "0.10.0",
1695
1661
  android: "2.0.1",
1696
- ios: "2.0.0",
1697
- macos: "0.1.0"
1662
+ ios: "2.0.0"
1698
1663
  },
1699
1664
  "expressions support": {
1700
1665
  js: "3.0.0",
1701
1666
  android: "11.0.0",
1702
- ios: "11.0.0",
1703
- macos: "11.0.0"
1667
+ ios: "11.0.0"
1704
1668
  }
1705
1669
  },
1706
1670
  expression: {
@@ -1729,14 +1693,12 @@
1729
1693
  "basic functionality": {
1730
1694
  js: "0.10.0",
1731
1695
  android: "2.0.1",
1732
- ios: "2.0.0",
1733
- macos: "0.1.0"
1696
+ ios: "2.0.0"
1734
1697
  },
1735
1698
  "`line-center` value": {
1736
1699
  js: "0.47.0",
1737
1700
  android: "6.4.0",
1738
- ios: "4.3.0",
1739
- macos: "0.10.0"
1701
+ ios: "4.3.0"
1740
1702
  }
1741
1703
  },
1742
1704
  expression: {
@@ -1762,8 +1724,7 @@
1762
1724
  "basic functionality": {
1763
1725
  js: "0.10.0",
1764
1726
  android: "2.0.1",
1765
- ios: "2.0.0",
1766
- macos: "0.1.0"
1727
+ ios: "2.0.0"
1767
1728
  }
1768
1729
  },
1769
1730
  expression: {
@@ -1782,8 +1743,7 @@
1782
1743
  "basic functionality": {
1783
1744
  js: "0.10.0",
1784
1745
  android: "2.0.1",
1785
- ios: "2.0.0",
1786
- macos: "0.1.0"
1746
+ ios: "2.0.0"
1787
1747
  }
1788
1748
  },
1789
1749
  expression: {
@@ -1801,14 +1761,12 @@
1801
1761
  "basic functionality": {
1802
1762
  js: "0.53.0",
1803
1763
  android: "7.4.0",
1804
- ios: "4.11.0",
1805
- macos: "0.14.0"
1764
+ ios: "4.11.0"
1806
1765
  },
1807
1766
  "data-driven styling": {
1808
1767
  js: "0.53.0",
1809
1768
  android: "7.4.0",
1810
- ios: "4.11.0",
1811
- macos: "0.14.0"
1769
+ ios: "4.11.0"
1812
1770
  }
1813
1771
  },
1814
1772
  expression: {
@@ -1839,8 +1797,7 @@
1839
1797
  "basic functionality": {
1840
1798
  js: "0.49.0",
1841
1799
  android: "6.6.0",
1842
- ios: "4.5.0",
1843
- macos: "0.12.0"
1800
+ ios: "4.5.0"
1844
1801
  }
1845
1802
  },
1846
1803
  expression: {
@@ -1893,8 +1850,7 @@
1893
1850
  "basic functionality": {
1894
1851
  js: "0.10.0",
1895
1852
  android: "2.0.1",
1896
- ios: "2.0.0",
1897
- macos: "0.1.0"
1853
+ ios: "2.0.0"
1898
1854
  }
1899
1855
  },
1900
1856
  expression: {
@@ -1916,8 +1872,7 @@
1916
1872
  "basic functionality": {
1917
1873
  js: "0.10.0",
1918
1874
  android: "2.0.1",
1919
- ios: "2.0.0",
1920
- macos: "0.1.0"
1875
+ ios: "2.0.0"
1921
1876
  }
1922
1877
  },
1923
1878
  expression: {
@@ -1940,8 +1895,7 @@
1940
1895
  "basic functionality": {
1941
1896
  js: "0.10.0",
1942
1897
  android: "2.0.1",
1943
- ios: "2.0.0",
1944
- macos: "0.1.0"
1898
+ ios: "2.0.0"
1945
1899
  }
1946
1900
  },
1947
1901
  expression: {
@@ -1974,14 +1928,12 @@
1974
1928
  "basic functionality": {
1975
1929
  js: "0.10.0",
1976
1930
  android: "2.0.1",
1977
- ios: "2.0.0",
1978
- macos: "0.1.0"
1931
+ ios: "2.0.0"
1979
1932
  },
1980
1933
  "`auto` value": {
1981
1934
  js: "0.25.0",
1982
1935
  android: "4.2.0",
1983
- ios: "3.4.0",
1984
- macos: "0.3.0"
1936
+ ios: "3.4.0"
1985
1937
  }
1986
1938
  },
1987
1939
  expression: {
@@ -2005,14 +1957,12 @@
2005
1957
  "basic functionality": {
2006
1958
  js: "0.10.0",
2007
1959
  android: "2.0.1",
2008
- ios: "2.0.0",
2009
- macos: "0.1.0"
1960
+ ios: "2.0.0"
2010
1961
  },
2011
1962
  "data-driven styling": {
2012
1963
  js: "0.35.0",
2013
1964
  android: "5.1.0",
2014
- ios: "3.6.0",
2015
- macos: "0.5.0"
1965
+ ios: "3.6.0"
2016
1966
  }
2017
1967
  },
2018
1968
  expression: {
@@ -2050,14 +2000,12 @@
2050
2000
  "basic functionality": {
2051
2001
  js: "0.21.0",
2052
2002
  android: "4.2.0",
2053
- ios: "3.4.0",
2054
- macos: "0.2.1"
2003
+ ios: "3.4.0"
2055
2004
  },
2056
2005
  "stretchable icons": {
2057
2006
  js: "1.6.0",
2058
2007
  android: "9.2.0",
2059
- ios: "5.8.0",
2060
- macos: "0.15.0"
2008
+ ios: "5.8.0"
2061
2009
  },
2062
2010
  "data-driven styling": {
2063
2011
  js: "3.0.0",
@@ -2101,8 +2049,7 @@
2101
2049
  "basic functionality": {
2102
2050
  js: "0.21.0",
2103
2051
  android: "4.2.0",
2104
- ios: "3.4.0",
2105
- macos: "0.2.1"
2052
+ ios: "3.4.0"
2106
2053
  },
2107
2054
  "data-driven styling": {
2108
2055
  js: "3.0.0",
@@ -2127,14 +2074,12 @@
2127
2074
  "basic functionality": {
2128
2075
  js: "0.10.0",
2129
2076
  android: "2.0.1",
2130
- ios: "2.0.0",
2131
- macos: "0.1.0"
2077
+ ios: "2.0.0"
2132
2078
  },
2133
2079
  "data-driven styling": {
2134
2080
  js: "0.35.0",
2135
2081
  android: "5.1.0",
2136
- ios: "3.6.0",
2137
- macos: "0.5.0"
2082
+ ios: "3.6.0"
2138
2083
  }
2139
2084
  },
2140
2085
  expression: {
@@ -2159,14 +2104,12 @@
2159
2104
  "basic functionality": {
2160
2105
  js: "0.10.0",
2161
2106
  android: "2.0.1",
2162
- ios: "2.0.0",
2163
- macos: "0.1.0"
2107
+ ios: "2.0.0"
2164
2108
  },
2165
2109
  "data-driven styling": {
2166
2110
  js: "0.21.0",
2167
2111
  android: "5.0.0",
2168
- ios: "3.5.0",
2169
- macos: "0.4.0"
2112
+ ios: "3.5.0"
2170
2113
  }
2171
2114
  },
2172
2115
  expression: {
@@ -2191,8 +2134,7 @@
2191
2134
  "basic functionality": {
2192
2135
  js: "0.10.0",
2193
2136
  android: "2.0.1",
2194
- ios: "2.0.0",
2195
- macos: "0.1.0"
2137
+ ios: "2.0.0"
2196
2138
  }
2197
2139
  },
2198
2140
  expression: {
@@ -2223,8 +2165,7 @@
2223
2165
  "basic functionality": {
2224
2166
  js: "0.10.0",
2225
2167
  android: "2.0.1",
2226
- ios: "2.0.0",
2227
- macos: "0.1.0"
2168
+ ios: "2.0.0"
2228
2169
  }
2229
2170
  },
2230
2171
  expression: {
@@ -2251,14 +2192,12 @@
2251
2192
  "basic functionality": {
2252
2193
  js: "0.10.0",
2253
2194
  android: "2.0.1",
2254
- ios: "2.0.0",
2255
- macos: "0.1.0"
2195
+ ios: "2.0.0"
2256
2196
  },
2257
2197
  "data-driven styling": {
2258
2198
  js: "0.29.0",
2259
2199
  android: "5.0.0",
2260
- ios: "3.5.0",
2261
- macos: "0.4.0"
2200
+ ios: "3.5.0"
2262
2201
  }
2263
2202
  },
2264
2203
  expression: {
@@ -2310,14 +2249,12 @@
2310
2249
  "basic functionality": {
2311
2250
  js: "0.40.0",
2312
2251
  android: "5.2.0",
2313
- ios: "3.7.0",
2314
- macos: "0.6.0"
2252
+ ios: "3.7.0"
2315
2253
  },
2316
2254
  "data-driven styling": {
2317
2255
  js: "0.40.0",
2318
2256
  android: "5.2.0",
2319
- ios: "3.7.0",
2320
- macos: "0.6.0"
2257
+ ios: "3.7.0"
2321
2258
  }
2322
2259
  },
2323
2260
  expression: {
@@ -2351,8 +2288,7 @@
2351
2288
  "basic functionality": {
2352
2289
  js: "0.39.0",
2353
2290
  android: "5.2.0",
2354
- ios: "3.7.0",
2355
- macos: "0.6.0"
2291
+ ios: "3.7.0"
2356
2292
  }
2357
2293
  },
2358
2294
  expression: {
@@ -2385,14 +2321,12 @@
2385
2321
  "basic functionality": {
2386
2322
  js: "0.21.0",
2387
2323
  android: "4.2.0",
2388
- ios: "3.4.0",
2389
- macos: "0.2.1"
2324
+ ios: "3.4.0"
2390
2325
  },
2391
2326
  "`auto` value": {
2392
2327
  js: "0.25.0",
2393
2328
  android: "4.2.0",
2394
- ios: "3.4.0",
2395
- macos: "0.3.0"
2329
+ ios: "3.4.0"
2396
2330
  }
2397
2331
  },
2398
2332
  expression: {
@@ -2425,14 +2359,12 @@
2425
2359
  "basic functionality": {
2426
2360
  js: "0.10.0",
2427
2361
  android: "2.0.1",
2428
- ios: "2.0.0",
2429
- macos: "0.1.0"
2362
+ ios: "2.0.0"
2430
2363
  },
2431
2364
  "`auto` value": {
2432
2365
  js: "0.25.0",
2433
2366
  android: "4.2.0",
2434
- ios: "3.4.0",
2435
- macos: "0.3.0"
2367
+ ios: "3.4.0"
2436
2368
  }
2437
2369
  },
2438
2370
  expression: {
@@ -2452,14 +2384,12 @@
2452
2384
  "basic functionality": {
2453
2385
  js: "0.10.0",
2454
2386
  android: "2.0.1",
2455
- ios: "2.0.0",
2456
- macos: "0.1.0"
2387
+ ios: "2.0.0"
2457
2388
  },
2458
2389
  "data-driven styling": {
2459
2390
  js: "0.33.0",
2460
2391
  android: "5.0.0",
2461
- ios: "3.5.0",
2462
- macos: "0.4.0"
2392
+ ios: "3.5.0"
2463
2393
  }
2464
2394
  },
2465
2395
  expression: {
@@ -2486,14 +2416,12 @@
2486
2416
  "basic functionality": {
2487
2417
  js: "0.10.0",
2488
2418
  android: "2.0.1",
2489
- ios: "2.0.0",
2490
- macos: "0.1.0"
2419
+ ios: "2.0.0"
2491
2420
  },
2492
2421
  "data-driven styling": {
2493
2422
  js: "0.43.0",
2494
2423
  android: "6.0.0",
2495
- ios: "4.0.0",
2496
- macos: "0.7.0"
2424
+ ios: "4.0.0"
2497
2425
  }
2498
2426
  },
2499
2427
  expression: {
@@ -2518,14 +2446,12 @@
2518
2446
  "basic functionality": {
2519
2447
  js: "0.10.0",
2520
2448
  android: "2.0.1",
2521
- ios: "2.0.0",
2522
- macos: "0.1.0"
2449
+ ios: "2.0.0"
2523
2450
  },
2524
2451
  "data-driven styling": {
2525
2452
  js: "0.35.0",
2526
2453
  android: "5.1.0",
2527
- ios: "3.6.0",
2528
- macos: "0.5.0"
2454
+ ios: "3.6.0"
2529
2455
  }
2530
2456
  },
2531
2457
  expression: {
@@ -2555,14 +2481,12 @@
2555
2481
  "basic functionality": {
2556
2482
  js: "0.10.0",
2557
2483
  android: "2.0.1",
2558
- ios: "2.0.0",
2559
- macos: "0.1.0"
2484
+ ios: "2.0.0"
2560
2485
  },
2561
2486
  "data-driven styling": {
2562
2487
  js: "0.40.0",
2563
2488
  android: "5.2.0",
2564
- ios: "3.7.0",
2565
- macos: "0.6.0"
2489
+ ios: "3.7.0"
2566
2490
  }
2567
2491
  },
2568
2492
  expression: {
@@ -2586,8 +2510,7 @@
2586
2510
  "basic functionality": {
2587
2511
  js: "0.10.0",
2588
2512
  android: "2.0.1",
2589
- ios: "2.0.0",
2590
- macos: "0.1.0"
2513
+ ios: "2.0.0"
2591
2514
  },
2592
2515
  "data-driven styling": {
2593
2516
  js: "2.3.0",
@@ -2616,14 +2539,12 @@
2616
2539
  "basic functionality": {
2617
2540
  js: "0.10.0",
2618
2541
  android: "2.0.1",
2619
- ios: "2.0.0",
2620
- macos: "0.1.0"
2542
+ ios: "2.0.0"
2621
2543
  },
2622
2544
  "data-driven styling": {
2623
2545
  js: "0.40.0",
2624
2546
  android: "5.2.0",
2625
- ios: "3.7.0",
2626
- macos: "0.6.0"
2547
+ ios: "3.7.0"
2627
2548
  }
2628
2549
  },
2629
2550
  expression: {
@@ -2660,20 +2581,17 @@
2660
2581
  "basic functionality": {
2661
2582
  js: "0.10.0",
2662
2583
  android: "2.0.1",
2663
- ios: "2.0.0",
2664
- macos: "0.1.0"
2584
+ ios: "2.0.0"
2665
2585
  },
2666
2586
  "data-driven styling": {
2667
2587
  js: "0.39.0",
2668
2588
  android: "5.2.0",
2669
- ios: "3.7.0",
2670
- macos: "0.6.0"
2589
+ ios: "3.7.0"
2671
2590
  },
2672
2591
  auto: {
2673
2592
  js: "0.54.0",
2674
2593
  android: "7.4.0",
2675
- ios: "4.10.0",
2676
- macos: "0.14.0"
2594
+ ios: "4.10.0"
2677
2595
  }
2678
2596
  },
2679
2597
  expression: {
@@ -2694,14 +2612,12 @@
2694
2612
  "basic functionality": {
2695
2613
  js: "0.54.0",
2696
2614
  android: "7.4.0",
2697
- ios: "4.10.0",
2698
- macos: "0.14.0"
2615
+ ios: "4.10.0"
2699
2616
  },
2700
2617
  "data-driven styling": {
2701
2618
  js: "0.54.0",
2702
2619
  android: "7.4.0",
2703
- ios: "4.10.0",
2704
- macos: "0.14.0"
2620
+ ios: "4.10.0"
2705
2621
  }
2706
2622
  },
2707
2623
  requires: [
@@ -2761,8 +2677,7 @@
2761
2677
  "basic functionality": {
2762
2678
  js: "0.54.0",
2763
2679
  android: "7.4.0",
2764
- ios: "4.10.0",
2765
- macos: "0.14.0"
2680
+ ios: "4.10.0"
2766
2681
  }
2767
2682
  },
2768
2683
  expression: {
@@ -2816,14 +2731,12 @@
2816
2731
  "basic functionality": {
2817
2732
  js: "0.10.0",
2818
2733
  android: "2.0.1",
2819
- ios: "2.0.0",
2820
- macos: "0.1.0"
2734
+ ios: "2.0.0"
2821
2735
  },
2822
2736
  "data-driven styling": {
2823
2737
  js: "0.39.0",
2824
2738
  android: "5.2.0",
2825
- ios: "3.7.0",
2826
- macos: "0.6.0"
2739
+ ios: "3.7.0"
2827
2740
  }
2828
2741
  },
2829
2742
  expression: {
@@ -2853,8 +2766,7 @@
2853
2766
  "basic functionality": {
2854
2767
  js: "0.10.0",
2855
2768
  android: "2.0.1",
2856
- ios: "2.0.0",
2857
- macos: "0.1.0"
2769
+ ios: "2.0.0"
2858
2770
  }
2859
2771
  },
2860
2772
  expression: {
@@ -2884,8 +2796,7 @@
2884
2796
  "basic functionality": {
2885
2797
  js: "1.3.0",
2886
2798
  android: "8.3.0",
2887
- ios: "5.3.0",
2888
- macos: "0.15.0"
2799
+ ios: "5.3.0"
2889
2800
  }
2890
2801
  },
2891
2802
  expression: {
@@ -2909,14 +2820,12 @@
2909
2820
  "basic functionality": {
2910
2821
  js: "0.10.0",
2911
2822
  android: "2.0.1",
2912
- ios: "2.0.0",
2913
- macos: "0.1.0"
2823
+ ios: "2.0.0"
2914
2824
  },
2915
2825
  "data-driven styling": {
2916
2826
  js: "0.35.0",
2917
2827
  android: "5.1.0",
2918
- ios: "3.6.0",
2919
- macos: "0.5.0"
2828
+ ios: "3.6.0"
2920
2829
  }
2921
2830
  },
2922
2831
  expression: {
@@ -2941,8 +2850,7 @@
2941
2850
  "basic functionality": {
2942
2851
  js: "0.10.0",
2943
2852
  android: "2.0.1",
2944
- ios: "2.0.0",
2945
- macos: "0.1.0"
2853
+ ios: "2.0.0"
2946
2854
  }
2947
2855
  },
2948
2856
  expression: {
@@ -2973,8 +2881,7 @@
2973
2881
  "basic functionality": {
2974
2882
  js: "0.10.0",
2975
2883
  android: "2.0.1",
2976
- ios: "2.0.0",
2977
- macos: "0.1.0"
2884
+ ios: "2.0.0"
2978
2885
  }
2979
2886
  },
2980
2887
  expression: {
@@ -3007,14 +2914,12 @@
3007
2914
  "basic functionality": {
3008
2915
  js: "0.10.0",
3009
2916
  android: "2.0.1",
3010
- ios: "2.0.0",
3011
- macos: "0.1.0"
2917
+ ios: "2.0.0"
3012
2918
  },
3013
2919
  "data-driven styling": {
3014
2920
  js: "0.33.0",
3015
2921
  android: "5.0.0",
3016
- ios: "3.5.0",
3017
- macos: "0.4.0"
2922
+ ios: "3.5.0"
3018
2923
  }
3019
2924
  },
3020
2925
  expression: {
@@ -3046,14 +2951,12 @@
3046
2951
  "basic functionality": {
3047
2952
  js: "0.10.0",
3048
2953
  android: "2.0.1",
3049
- ios: "2.0.0",
3050
- macos: "0.1.0"
2954
+ ios: "2.0.0"
3051
2955
  },
3052
2956
  "data-driven styling": {
3053
2957
  js: "0.35.0",
3054
2958
  android: "5.1.0",
3055
- ios: "3.6.0",
3056
- macos: "0.5.0"
2959
+ ios: "3.6.0"
3057
2960
  }
3058
2961
  },
3059
2962
  expression: {
@@ -3076,8 +2979,7 @@
3076
2979
  "basic functionality": {
3077
2980
  js: "0.10.0",
3078
2981
  android: "2.0.1",
3079
- ios: "2.0.0",
3080
- macos: "0.1.0"
2982
+ ios: "2.0.0"
3081
2983
  }
3082
2984
  },
3083
2985
  expression: {
@@ -3099,8 +3001,7 @@
3099
3001
  "basic functionality": {
3100
3002
  js: "0.10.0",
3101
3003
  android: "2.0.1",
3102
- ios: "2.0.0",
3103
- macos: "0.1.0"
3004
+ ios: "2.0.0"
3104
3005
  }
3105
3006
  },
3106
3007
  expression: {
@@ -3123,8 +3024,7 @@
3123
3024
  "basic functionality": {
3124
3025
  js: "0.10.0",
3125
3026
  android: "2.0.1",
3126
- ios: "2.0.0",
3127
- macos: "0.1.0"
3027
+ ios: "2.0.0"
3128
3028
  }
3129
3029
  },
3130
3030
  expression: {
@@ -3151,14 +3051,12 @@
3151
3051
  "basic functionality": {
3152
3052
  js: "0.10.0",
3153
3053
  android: "2.0.1",
3154
- ios: "2.0.0",
3155
- macos: "0.1.0"
3054
+ ios: "2.0.0"
3156
3055
  },
3157
3056
  "expressions support": {
3158
3057
  js: "3.0.0",
3159
3058
  android: "11.0.0",
3160
- ios: "11.0.0",
3161
- macos: "11.0.0"
3059
+ ios: "11.0.0"
3162
3060
  }
3163
3061
  },
3164
3062
  expression: {
@@ -3184,14 +3082,12 @@
3184
3082
  "basic functionality": {
3185
3083
  js: "0.10.0",
3186
3084
  android: "2.0.1",
3187
- ios: "2.0.0",
3188
- macos: "0.1.0"
3085
+ ios: "2.0.0"
3189
3086
  },
3190
3087
  "expressions support": {
3191
3088
  js: "3.0.0",
3192
3089
  android: "11.0.0",
3193
- ios: "11.0.0",
3194
- macos: "11.0.0"
3090
+ ios: "11.0.0"
3195
3091
  }
3196
3092
  },
3197
3093
  expression: {
@@ -3217,14 +3113,12 @@
3217
3113
  "basic functionality": {
3218
3114
  js: "0.43.0",
3219
3115
  android: "6.0.0",
3220
- ios: "4.0.0",
3221
- macos: "0.7.0"
3116
+ ios: "4.0.0"
3222
3117
  },
3223
3118
  "expressions support": {
3224
3119
  js: "3.0.0",
3225
3120
  android: "11.0.0",
3226
- ios: "11.0.0",
3227
- macos: "11.0.0"
3121
+ ios: "11.0.0"
3228
3122
  }
3229
3123
  },
3230
3124
  expression: {
@@ -3398,8 +3292,7 @@
3398
3292
  "basic functionality": {
3399
3293
  js: "0.41.0",
3400
3294
  android: "6.0.0",
3401
- ios: "4.0.0",
3402
- macos: "0.7.0"
3295
+ ios: "4.0.0"
3403
3296
  }
3404
3297
  }
3405
3298
  },
@@ -3410,8 +3303,7 @@
3410
3303
  "basic functionality": {
3411
3304
  js: "0.41.0",
3412
3305
  android: "6.0.0",
3413
- ios: "4.0.0",
3414
- macos: "0.7.0"
3306
+ ios: "4.0.0"
3415
3307
  }
3416
3308
  }
3417
3309
  },
@@ -3422,8 +3314,7 @@
3422
3314
  "basic functionality": {
3423
3315
  js: "3.0.0",
3424
3316
  android: "11.0.0",
3425
- ios: "11.0.0",
3426
- macos: "11.0.0"
3317
+ ios: "11.0.0"
3427
3318
  }
3428
3319
  }
3429
3320
  },
@@ -3434,8 +3325,7 @@
3434
3325
  "basic functionality": {
3435
3326
  js: "0.41.0",
3436
3327
  android: "6.0.0",
3437
- ios: "4.0.0",
3438
- macos: "0.7.0"
3328
+ ios: "4.0.0"
3439
3329
  }
3440
3330
  }
3441
3331
  },
@@ -3446,8 +3336,7 @@
3446
3336
  "basic functionality": {
3447
3337
  js: "0.41.0",
3448
3338
  android: "6.0.0",
3449
- ios: "4.0.0",
3450
- macos: "0.7.0"
3339
+ ios: "4.0.0"
3451
3340
  }
3452
3341
  }
3453
3342
  },
@@ -3458,8 +3347,7 @@
3458
3347
  "basic functionality": {
3459
3348
  js: "0.41.0",
3460
3349
  android: "6.0.0",
3461
- ios: "4.0.0",
3462
- macos: "0.7.0"
3350
+ ios: "4.0.0"
3463
3351
  }
3464
3352
  }
3465
3353
  },
@@ -3470,8 +3358,7 @@
3470
3358
  "basic functionality": {
3471
3359
  js: "1.6.0",
3472
3360
  android: "9.1.0",
3473
- ios: "5.8.0",
3474
- macos: "0.15.0"
3361
+ ios: "5.8.0"
3475
3362
  }
3476
3363
  }
3477
3364
  },
@@ -3504,8 +3391,7 @@
3504
3391
  "basic functionality": {
3505
3392
  js: "0.41.0",
3506
3393
  android: "6.0.0",
3507
- ios: "4.0.0",
3508
- macos: "0.7.0"
3394
+ ios: "4.0.0"
3509
3395
  }
3510
3396
  }
3511
3397
  },
@@ -3516,8 +3402,7 @@
3516
3402
  "basic functionality": {
3517
3403
  js: "0.41.0",
3518
3404
  android: "6.0.0",
3519
- ios: "4.0.0",
3520
- macos: "0.7.0"
3405
+ ios: "4.0.0"
3521
3406
  }
3522
3407
  }
3523
3408
  },
@@ -3528,8 +3413,7 @@
3528
3413
  "basic functionality": {
3529
3414
  js: "0.41.0",
3530
3415
  android: "6.0.0",
3531
- ios: "4.0.0",
3532
- macos: "0.7.0"
3416
+ ios: "4.0.0"
3533
3417
  }
3534
3418
  }
3535
3419
  },
@@ -3540,8 +3424,7 @@
3540
3424
  "basic functionality": {
3541
3425
  js: "0.42.0",
3542
3426
  android: "6.0.0",
3543
- ios: "4.0.0",
3544
- macos: "0.7.0"
3427
+ ios: "4.0.0"
3545
3428
  }
3546
3429
  }
3547
3430
  },
@@ -3552,8 +3435,7 @@
3552
3435
  "basic functionality": {
3553
3436
  js: "0.42.0",
3554
3437
  android: "6.0.0",
3555
- ios: "4.0.0",
3556
- macos: "0.7.0"
3438
+ ios: "4.0.0"
3557
3439
  }
3558
3440
  }
3559
3441
  },
@@ -3582,8 +3464,7 @@
3582
3464
  "basic functionality": {
3583
3465
  js: "0.41.0",
3584
3466
  android: "6.0.0",
3585
- ios: "4.0.0",
3586
- macos: "0.7.0"
3467
+ ios: "4.0.0"
3587
3468
  }
3588
3469
  }
3589
3470
  },
@@ -3594,8 +3475,7 @@
3594
3475
  "basic functionality": {
3595
3476
  js: "0.41.0",
3596
3477
  android: "6.0.0",
3597
- ios: "4.0.0",
3598
- macos: "0.7.0"
3478
+ ios: "4.0.0"
3599
3479
  }
3600
3480
  }
3601
3481
  },
@@ -3606,8 +3486,7 @@
3606
3486
  "basic functionality": {
3607
3487
  js: "0.41.0",
3608
3488
  android: "6.0.0",
3609
- ios: "4.0.0",
3610
- macos: "0.7.0"
3489
+ ios: "4.0.0"
3611
3490
  }
3612
3491
  }
3613
3492
  },
@@ -3618,8 +3497,7 @@
3618
3497
  "basic functionality": {
3619
3498
  js: "0.41.0",
3620
3499
  android: "6.0.0",
3621
- ios: "4.0.0",
3622
- macos: "0.7.0"
3500
+ ios: "4.0.0"
3623
3501
  }
3624
3502
  }
3625
3503
  },
@@ -3630,8 +3508,7 @@
3630
3508
  "basic functionality": {
3631
3509
  js: "0.41.0",
3632
3510
  android: "6.0.0",
3633
- ios: "4.0.0",
3634
- macos: "0.7.0"
3511
+ ios: "4.0.0"
3635
3512
  }
3636
3513
  }
3637
3514
  },
@@ -3642,8 +3519,7 @@
3642
3519
  "basic functionality": {
3643
3520
  js: "0.41.0",
3644
3521
  android: "6.0.0",
3645
- ios: "4.0.0",
3646
- macos: "0.7.0"
3522
+ ios: "4.0.0"
3647
3523
  }
3648
3524
  }
3649
3525
  },
@@ -3654,8 +3530,7 @@
3654
3530
  "basic functionality": {
3655
3531
  js: "0.41.0",
3656
3532
  android: "6.0.0",
3657
- ios: "4.0.0",
3658
- macos: "0.7.0"
3533
+ ios: "4.0.0"
3659
3534
  }
3660
3535
  }
3661
3536
  },
@@ -3666,8 +3541,7 @@
3666
3541
  "basic functionality": {
3667
3542
  js: "0.41.0",
3668
3543
  android: "6.0.0",
3669
- ios: "4.0.0",
3670
- macos: "0.7.0"
3544
+ ios: "4.0.0"
3671
3545
  }
3672
3546
  }
3673
3547
  },
@@ -3678,8 +3552,7 @@
3678
3552
  "basic functionality": {
3679
3553
  js: "0.45.0",
3680
3554
  android: "6.5.0",
3681
- ios: "4.2.0",
3682
- macos: "0.9.0"
3555
+ ios: "4.2.0"
3683
3556
  }
3684
3557
  }
3685
3558
  },
@@ -3690,32 +3563,27 @@
3690
3563
  "basic functionality": {
3691
3564
  js: "0.48.0",
3692
3565
  android: "6.7.0",
3693
- ios: "4.6.0",
3694
- macos: "0.12.0"
3566
+ ios: "4.6.0"
3695
3567
  },
3696
3568
  "text-font": {
3697
3569
  js: "0.48.0",
3698
3570
  android: "6.7.0",
3699
- ios: "4.6.0",
3700
- macos: "0.12.0"
3571
+ ios: "4.6.0"
3701
3572
  },
3702
3573
  "font-scale": {
3703
3574
  js: "0.48.0",
3704
3575
  android: "6.7.0",
3705
- ios: "4.6.0",
3706
- macos: "0.12.0"
3576
+ ios: "4.6.0"
3707
3577
  },
3708
3578
  "text-color": {
3709
3579
  js: "1.3.0",
3710
3580
  android: "7.3.0",
3711
- ios: "4.10.0",
3712
- macos: "0.14.0"
3581
+ ios: "4.10.0"
3713
3582
  },
3714
3583
  image: {
3715
3584
  js: "1.6.0",
3716
3585
  android: "8.6.0",
3717
- ios: "5.7.0",
3718
- macos: "0.15.0"
3586
+ ios: "5.7.0"
3719
3587
  }
3720
3588
  }
3721
3589
  },
@@ -3726,8 +3594,7 @@
3726
3594
  "basic functionality": {
3727
3595
  js: "1.4.0",
3728
3596
  android: "8.6.0",
3729
- ios: "5.7.0",
3730
- macos: "0.15.0"
3597
+ ios: "5.7.0"
3731
3598
  }
3732
3599
  }
3733
3600
  },
@@ -3738,8 +3605,7 @@
3738
3605
  "basic functionality": {
3739
3606
  js: "0.54.0",
3740
3607
  android: "8.4.0",
3741
- ios: "5.4.0",
3742
- macos: "0.15.0"
3608
+ ios: "5.4.0"
3743
3609
  }
3744
3610
  }
3745
3611
  },
@@ -3750,8 +3616,7 @@
3750
3616
  "basic functionality": {
3751
3617
  js: "0.41.0",
3752
3618
  android: "6.0.0",
3753
- ios: "4.0.0",
3754
- macos: "0.7.0"
3619
+ ios: "4.0.0"
3755
3620
  }
3756
3621
  }
3757
3622
  },
@@ -3762,8 +3627,7 @@
3762
3627
  "basic functionality": {
3763
3628
  js: "0.41.0",
3764
3629
  android: "6.0.0",
3765
- ios: "4.0.0",
3766
- macos: "0.7.0"
3630
+ ios: "4.0.0"
3767
3631
  }
3768
3632
  }
3769
3633
  },
@@ -3774,8 +3638,7 @@
3774
3638
  "basic functionality": {
3775
3639
  js: "0.41.0",
3776
3640
  android: "6.0.0",
3777
- ios: "4.0.0",
3778
- macos: "0.7.0"
3641
+ ios: "4.0.0"
3779
3642
  }
3780
3643
  }
3781
3644
  },
@@ -3786,8 +3649,7 @@
3786
3649
  "basic functionality": {
3787
3650
  js: "0.41.0",
3788
3651
  android: "6.0.0",
3789
- ios: "4.0.0",
3790
- macos: "0.7.0"
3652
+ ios: "4.0.0"
3791
3653
  }
3792
3654
  }
3793
3655
  },
@@ -3798,8 +3660,7 @@
3798
3660
  "basic functionality": {
3799
3661
  js: "0.41.0",
3800
3662
  android: "6.0.0",
3801
- ios: "4.0.0",
3802
- macos: "0.7.0"
3663
+ ios: "4.0.0"
3803
3664
  }
3804
3665
  }
3805
3666
  },
@@ -3810,8 +3671,7 @@
3810
3671
  "basic functionality": {
3811
3672
  js: "0.41.0",
3812
3673
  android: "6.0.0",
3813
- ios: "4.0.0",
3814
- macos: "0.7.0"
3674
+ ios: "4.0.0"
3815
3675
  }
3816
3676
  }
3817
3677
  },
@@ -3822,8 +3682,7 @@
3822
3682
  "basic functionality": {
3823
3683
  js: "0.41.0",
3824
3684
  android: "6.0.0",
3825
- ios: "4.0.0",
3826
- macos: "0.7.0"
3685
+ ios: "4.0.0"
3827
3686
  }
3828
3687
  }
3829
3688
  },
@@ -3856,8 +3715,7 @@
3856
3715
  "basic functionality": {
3857
3716
  js: "0.41.0",
3858
3717
  android: "6.0.0",
3859
- ios: "4.0.0",
3860
- macos: "0.7.0"
3718
+ ios: "4.0.0"
3861
3719
  }
3862
3720
  }
3863
3721
  },
@@ -3868,8 +3726,7 @@
3868
3726
  "basic functionality": {
3869
3727
  js: "0.41.0",
3870
3728
  android: "6.0.0",
3871
- ios: "4.0.0",
3872
- macos: "0.7.0"
3729
+ ios: "4.0.0"
3873
3730
  }
3874
3731
  }
3875
3732
  },
@@ -3880,8 +3737,7 @@
3880
3737
  "basic functionality": {
3881
3738
  js: "0.41.0",
3882
3739
  android: "6.0.0",
3883
- ios: "4.0.0",
3884
- macos: "0.7.0"
3740
+ ios: "4.0.0"
3885
3741
  }
3886
3742
  }
3887
3743
  },
@@ -3892,8 +3748,7 @@
3892
3748
  "basic functionality": {
3893
3749
  js: "0.41.0",
3894
3750
  android: "6.0.0",
3895
- ios: "4.0.0",
3896
- macos: "0.7.0"
3751
+ ios: "4.0.0"
3897
3752
  }
3898
3753
  }
3899
3754
  },
@@ -3915,8 +3770,7 @@
3915
3770
  "basic functionality": {
3916
3771
  js: "0.41.0",
3917
3772
  android: "6.0.0",
3918
- ios: "4.0.0",
3919
- macos: "0.7.0"
3773
+ ios: "4.0.0"
3920
3774
  }
3921
3775
  }
3922
3776
  },
@@ -3927,8 +3781,7 @@
3927
3781
  "basic functionality": {
3928
3782
  js: "0.41.0",
3929
3783
  android: "6.0.0",
3930
- ios: "4.0.0",
3931
- macos: "0.7.0"
3784
+ ios: "4.0.0"
3932
3785
  }
3933
3786
  }
3934
3787
  },
@@ -3939,8 +3792,7 @@
3939
3792
  "basic functionality": {
3940
3793
  js: "0.41.0",
3941
3794
  android: "6.0.0",
3942
- ios: "4.0.0",
3943
- macos: "0.7.0"
3795
+ ios: "4.0.0"
3944
3796
  }
3945
3797
  }
3946
3798
  },
@@ -3984,8 +3836,7 @@
3984
3836
  "basic functionality": {
3985
3837
  js: "0.41.0",
3986
3838
  android: "6.0.0",
3987
- ios: "4.0.0",
3988
- macos: "0.7.0"
3839
+ ios: "4.0.0"
3989
3840
  }
3990
3841
  }
3991
3842
  },
@@ -3996,8 +3847,7 @@
3996
3847
  "basic functionality": {
3997
3848
  js: "0.45.0",
3998
3849
  android: "6.5.0",
3999
- ios: "4.6.0",
4000
- macos: "0.12.0"
3850
+ ios: "4.6.0"
4001
3851
  }
4002
3852
  }
4003
3853
  },
@@ -4019,8 +3869,7 @@
4019
3869
  "basic functionality": {
4020
3870
  js: "0.53.0",
4021
3871
  android: "8.4.0",
4022
- ios: "5.5.0",
4023
- macos: "0.15.0"
3872
+ ios: "5.5.0"
4024
3873
  }
4025
3874
  }
4026
3875
  },
@@ -4031,8 +3880,7 @@
4031
3880
  "basic functionality": {
4032
3881
  js: "0.41.0",
4033
3882
  android: "6.0.0",
4034
- ios: "4.0.0",
4035
- macos: "0.7.0"
3883
+ ios: "4.0.0"
4036
3884
  }
4037
3885
  }
4038
3886
  },
@@ -4043,8 +3891,7 @@
4043
3891
  "basic functionality": {
4044
3892
  js: "0.41.0",
4045
3893
  android: "6.0.0",
4046
- ios: "4.0.0",
4047
- macos: "0.7.0"
3894
+ ios: "4.0.0"
4048
3895
  }
4049
3896
  }
4050
3897
  },
@@ -4055,8 +3902,7 @@
4055
3902
  "basic functionality": {
4056
3903
  js: "0.41.0",
4057
3904
  android: "6.0.0",
4058
- ios: "4.0.0",
4059
- macos: "0.7.0"
3905
+ ios: "4.0.0"
4060
3906
  }
4061
3907
  }
4062
3908
  },
@@ -4067,8 +3913,7 @@
4067
3913
  "basic functionality": {
4068
3914
  js: "0.41.0",
4069
3915
  android: "6.0.0",
4070
- ios: "4.0.0",
4071
- macos: "0.7.0"
3916
+ ios: "4.0.0"
4072
3917
  }
4073
3918
  }
4074
3919
  },
@@ -4079,8 +3924,7 @@
4079
3924
  "basic functionality": {
4080
3925
  js: "0.41.0",
4081
3926
  android: "6.0.0",
4082
- ios: "4.0.0",
4083
- macos: "0.7.0"
3927
+ ios: "4.0.0"
4084
3928
  }
4085
3929
  }
4086
3930
  },
@@ -4091,8 +3935,7 @@
4091
3935
  "basic functionality": {
4092
3936
  js: "0.41.0",
4093
3937
  android: "6.0.0",
4094
- ios: "4.0.0",
4095
- macos: "0.7.0"
3938
+ ios: "4.0.0"
4096
3939
  }
4097
3940
  }
4098
3941
  },
@@ -4103,8 +3946,7 @@
4103
3946
  "basic functionality": {
4104
3947
  js: "0.42.0",
4105
3948
  android: "6.0.0",
4106
- ios: "4.0.0",
4107
- macos: "0.7.0"
3949
+ ios: "4.0.0"
4108
3950
  }
4109
3951
  }
4110
3952
  },
@@ -4115,8 +3957,7 @@
4115
3957
  "basic functionality": {
4116
3958
  js: "0.41.0",
4117
3959
  android: "6.0.0",
4118
- ios: "4.0.0",
4119
- macos: "0.7.0"
3960
+ ios: "4.0.0"
4120
3961
  }
4121
3962
  }
4122
3963
  },
@@ -4127,8 +3968,7 @@
4127
3968
  "basic functionality": {
4128
3969
  js: "0.41.0",
4129
3970
  android: "6.0.0",
4130
- ios: "4.0.0",
4131
- macos: "0.7.0"
3971
+ ios: "4.0.0"
4132
3972
  }
4133
3973
  }
4134
3974
  },
@@ -4139,8 +3979,7 @@
4139
3979
  "basic functionality": {
4140
3980
  js: "0.41.0",
4141
3981
  android: "6.0.0",
4142
- ios: "4.0.0",
4143
- macos: "0.7.0"
3982
+ ios: "4.0.0"
4144
3983
  }
4145
3984
  }
4146
3985
  },
@@ -4151,8 +3990,7 @@
4151
3990
  "basic functionality": {
4152
3991
  js: "0.41.0",
4153
3992
  android: "6.0.0",
4154
- ios: "4.0.0",
4155
- macos: "0.7.0"
3993
+ ios: "4.0.0"
4156
3994
  }
4157
3995
  }
4158
3996
  },
@@ -4163,8 +4001,7 @@
4163
4001
  "basic functionality": {
4164
4002
  js: "0.41.0",
4165
4003
  android: "6.0.0",
4166
- ios: "4.0.0",
4167
- macos: "0.7.0"
4004
+ ios: "4.0.0"
4168
4005
  }
4169
4006
  }
4170
4007
  },
@@ -4175,8 +4012,7 @@
4175
4012
  "basic functionality": {
4176
4013
  js: "0.41.0",
4177
4014
  android: "6.0.0",
4178
- ios: "4.0.0",
4179
- macos: "0.7.0"
4015
+ ios: "4.0.0"
4180
4016
  }
4181
4017
  }
4182
4018
  },
@@ -4187,8 +4023,7 @@
4187
4023
  "basic functionality": {
4188
4024
  js: "0.41.0",
4189
4025
  android: "6.0.0",
4190
- ios: "4.0.0",
4191
- macos: "0.7.0"
4026
+ ios: "4.0.0"
4192
4027
  }
4193
4028
  }
4194
4029
  },
@@ -4199,8 +4034,7 @@
4199
4034
  "basic functionality": {
4200
4035
  js: "0.41.0",
4201
4036
  android: "6.0.0",
4202
- ios: "4.0.0",
4203
- macos: "0.7.0"
4037
+ ios: "4.0.0"
4204
4038
  }
4205
4039
  }
4206
4040
  },
@@ -4211,8 +4045,7 @@
4211
4045
  "basic functionality": {
4212
4046
  js: "0.41.0",
4213
4047
  android: "6.0.0",
4214
- ios: "4.0.0",
4215
- macos: "0.7.0"
4048
+ ios: "4.0.0"
4216
4049
  }
4217
4050
  }
4218
4051
  },
@@ -4223,8 +4056,7 @@
4223
4056
  "basic functionality": {
4224
4057
  js: "0.41.0",
4225
4058
  android: "6.0.0",
4226
- ios: "4.0.0",
4227
- macos: "0.7.0"
4059
+ ios: "4.0.0"
4228
4060
  }
4229
4061
  }
4230
4062
  },
@@ -4235,8 +4067,7 @@
4235
4067
  "basic functionality": {
4236
4068
  js: "0.41.0",
4237
4069
  android: "6.0.0",
4238
- ios: "4.0.0",
4239
- macos: "0.7.0"
4070
+ ios: "4.0.0"
4240
4071
  }
4241
4072
  }
4242
4073
  },
@@ -4247,8 +4078,7 @@
4247
4078
  "basic functionality": {
4248
4079
  js: "0.45.0",
4249
4080
  android: "6.0.0",
4250
- ios: "4.0.0",
4251
- macos: "0.7.0"
4081
+ ios: "4.0.0"
4252
4082
  }
4253
4083
  }
4254
4084
  },
@@ -4259,8 +4089,7 @@
4259
4089
  "basic functionality": {
4260
4090
  js: "0.45.0",
4261
4091
  android: "6.0.0",
4262
- ios: "4.0.0",
4263
- macos: "0.7.0"
4092
+ ios: "4.0.0"
4264
4093
  }
4265
4094
  }
4266
4095
  },
@@ -4271,8 +4100,7 @@
4271
4100
  "basic functionality": {
4272
4101
  js: "0.45.0",
4273
4102
  android: "6.0.0",
4274
- ios: "4.0.0",
4275
- macos: "0.7.0"
4103
+ ios: "4.0.0"
4276
4104
  }
4277
4105
  }
4278
4106
  },
@@ -4283,8 +4111,7 @@
4283
4111
  "basic functionality": {
4284
4112
  js: "0.45.0",
4285
4113
  android: "6.0.0",
4286
- ios: "4.0.0",
4287
- macos: "0.7.0"
4114
+ ios: "4.0.0"
4288
4115
  }
4289
4116
  }
4290
4117
  },
@@ -4295,8 +4122,7 @@
4295
4122
  "basic functionality": {
4296
4123
  js: "3.0.0",
4297
4124
  android: "9.2.0",
4298
- ios: "5.9.0",
4299
- macos: "0.16.0"
4125
+ ios: "5.9.0"
4300
4126
  }
4301
4127
  }
4302
4128
  },
@@ -4307,14 +4133,12 @@
4307
4133
  "basic functionality": {
4308
4134
  js: "0.41.0",
4309
4135
  android: "6.0.0",
4310
- ios: "4.0.0",
4311
- macos: "0.7.0"
4136
+ ios: "4.0.0"
4312
4137
  },
4313
4138
  collator: {
4314
4139
  js: "0.45.0",
4315
4140
  android: "6.5.0",
4316
- ios: "4.2.0",
4317
- macos: "0.9.0"
4141
+ ios: "4.2.0"
4318
4142
  }
4319
4143
  }
4320
4144
  },
@@ -4325,14 +4149,12 @@
4325
4149
  "basic functionality": {
4326
4150
  js: "0.41.0",
4327
4151
  android: "6.0.0",
4328
- ios: "4.0.0",
4329
- macos: "0.7.0"
4152
+ ios: "4.0.0"
4330
4153
  },
4331
4154
  collator: {
4332
4155
  js: "0.45.0",
4333
4156
  android: "6.5.0",
4334
- ios: "4.2.0",
4335
- macos: "0.9.0"
4157
+ ios: "4.2.0"
4336
4158
  }
4337
4159
  }
4338
4160
  },
@@ -4343,14 +4165,12 @@
4343
4165
  "basic functionality": {
4344
4166
  js: "0.41.0",
4345
4167
  android: "6.0.0",
4346
- ios: "4.0.0",
4347
- macos: "0.7.0"
4168
+ ios: "4.0.0"
4348
4169
  },
4349
4170
  collator: {
4350
4171
  js: "0.45.0",
4351
4172
  android: "6.5.0",
4352
- ios: "4.2.0",
4353
- macos: "0.9.0"
4173
+ ios: "4.2.0"
4354
4174
  }
4355
4175
  }
4356
4176
  },
@@ -4361,14 +4181,12 @@
4361
4181
  "basic functionality": {
4362
4182
  js: "0.41.0",
4363
4183
  android: "6.0.0",
4364
- ios: "4.0.0",
4365
- macos: "0.7.0"
4184
+ ios: "4.0.0"
4366
4185
  },
4367
4186
  collator: {
4368
4187
  js: "0.45.0",
4369
4188
  android: "6.5.0",
4370
- ios: "4.2.0",
4371
- macos: "0.9.0"
4189
+ ios: "4.2.0"
4372
4190
  }
4373
4191
  }
4374
4192
  },
@@ -4379,14 +4197,12 @@
4379
4197
  "basic functionality": {
4380
4198
  js: "0.41.0",
4381
4199
  android: "6.0.0",
4382
- ios: "4.0.0",
4383
- macos: "0.7.0"
4200
+ ios: "4.0.0"
4384
4201
  },
4385
4202
  collator: {
4386
4203
  js: "0.45.0",
4387
4204
  android: "6.5.0",
4388
- ios: "4.2.0",
4389
- macos: "0.9.0"
4205
+ ios: "4.2.0"
4390
4206
  }
4391
4207
  }
4392
4208
  },
@@ -4397,14 +4213,12 @@
4397
4213
  "basic functionality": {
4398
4214
  js: "0.41.0",
4399
4215
  android: "6.0.0",
4400
- ios: "4.0.0",
4401
- macos: "0.7.0"
4216
+ ios: "4.0.0"
4402
4217
  },
4403
4218
  collator: {
4404
4219
  js: "0.45.0",
4405
4220
  android: "6.5.0",
4406
- ios: "4.2.0",
4407
- macos: "0.9.0"
4221
+ ios: "4.2.0"
4408
4222
  }
4409
4223
  }
4410
4224
  },
@@ -4415,8 +4229,7 @@
4415
4229
  "basic functionality": {
4416
4230
  js: "0.41.0",
4417
4231
  android: "6.0.0",
4418
- ios: "4.0.0",
4419
- macos: "0.7.0"
4232
+ ios: "4.0.0"
4420
4233
  }
4421
4234
  }
4422
4235
  },
@@ -4427,8 +4240,7 @@
4427
4240
  "basic functionality": {
4428
4241
  js: "0.41.0",
4429
4242
  android: "6.0.0",
4430
- ios: "4.0.0",
4431
- macos: "0.7.0"
4243
+ ios: "4.0.0"
4432
4244
  }
4433
4245
  }
4434
4246
  },
@@ -4439,8 +4251,7 @@
4439
4251
  "basic functionality": {
4440
4252
  js: "0.41.0",
4441
4253
  android: "6.0.0",
4442
- ios: "4.0.0",
4443
- macos: "0.7.0"
4254
+ ios: "4.0.0"
4444
4255
  }
4445
4256
  }
4446
4257
  },
@@ -4451,8 +4262,7 @@
4451
4262
  "basic functionality": {
4452
4263
  js: "1.9.0",
4453
4264
  android: "9.1.0",
4454
- ios: "5.8.0",
4455
- macos: "0.15.0"
4265
+ ios: "5.8.0"
4456
4266
  }
4457
4267
  }
4458
4268
  },
@@ -4463,8 +4273,7 @@
4463
4273
  "basic functionality": {
4464
4274
  js: "0.45.0",
4465
4275
  android: "6.6.0",
4466
- ios: "4.1.0",
4467
- macos: "0.8.0"
4276
+ ios: "4.1.0"
4468
4277
  }
4469
4278
  }
4470
4279
  },
@@ -4475,8 +4284,7 @@
4475
4284
  "basic functionality": {
4476
4285
  js: "0.41.0",
4477
4286
  android: "6.0.0",
4478
- ios: "4.0.0",
4479
- macos: "0.7.0"
4287
+ ios: "4.0.0"
4480
4288
  }
4481
4289
  }
4482
4290
  },
@@ -4487,8 +4295,7 @@
4487
4295
  "basic functionality": {
4488
4296
  js: "0.41.0",
4489
4297
  android: "6.0.0",
4490
- ios: "4.0.0",
4491
- macos: "0.7.0"
4298
+ ios: "4.0.0"
4492
4299
  }
4493
4300
  }
4494
4301
  },
@@ -4499,8 +4306,7 @@
4499
4306
  "basic functionality": {
4500
4307
  js: "0.41.0",
4501
4308
  android: "6.0.0",
4502
- ios: "4.0.0",
4503
- macos: "0.7.0"
4309
+ ios: "4.0.0"
4504
4310
  }
4505
4311
  }
4506
4312
  },
@@ -4511,8 +4317,7 @@
4511
4317
  "basic functionality": {
4512
4318
  js: "0.45.0",
4513
4319
  android: "6.5.0",
4514
- ios: "4.2.0",
4515
- macos: "0.9.0"
4320
+ ios: "4.2.0"
4516
4321
  }
4517
4322
  }
4518
4323
  },
@@ -4809,8 +4614,7 @@
4809
4614
  "basic functionality": {
4810
4615
  js: "0.27.0",
4811
4616
  android: "5.1.0",
4812
- ios: "3.6.0",
4813
- macos: "0.5.0"
4617
+ ios: "3.6.0"
4814
4618
  }
4815
4619
  }
4816
4620
  },
@@ -4841,8 +4645,7 @@
4841
4645
  "basic functionality": {
4842
4646
  js: "0.27.0",
4843
4647
  android: "5.1.0",
4844
- ios: "3.6.0",
4845
- macos: "0.5.0"
4648
+ ios: "3.6.0"
4846
4649
  }
4847
4650
  }
4848
4651
  },
@@ -4862,8 +4665,7 @@
4862
4665
  "basic functionality": {
4863
4666
  js: "0.27.0",
4864
4667
  android: "5.1.0",
4865
- ios: "3.6.0",
4866
- macos: "0.5.0"
4668
+ ios: "3.6.0"
4867
4669
  }
4868
4670
  }
4869
4671
  },
@@ -4885,8 +4687,7 @@
4885
4687
  "basic functionality": {
4886
4688
  js: "0.27.0",
4887
4689
  android: "5.1.0",
4888
- ios: "3.6.0",
4889
- macos: "0.5.0"
4690
+ ios: "3.6.0"
4890
4691
  }
4891
4692
  }
4892
4693
  }
@@ -5059,8 +4860,7 @@
5059
4860
  "basic functionality": {
5060
4861
  js: "0.10.0",
5061
4862
  android: "2.0.1",
5062
- ios: "2.0.0",
5063
- macos: "0.1.0"
4863
+ ios: "2.0.0"
5064
4864
  }
5065
4865
  },
5066
4866
  expression: {
@@ -5082,14 +4882,12 @@
5082
4882
  "basic functionality": {
5083
4883
  js: "0.10.0",
5084
4884
  android: "2.0.1",
5085
- ios: "2.0.0",
5086
- macos: "0.1.0"
4885
+ ios: "2.0.0"
5087
4886
  },
5088
4887
  "data-driven styling": {
5089
4888
  js: "0.21.0",
5090
4889
  android: "5.0.0",
5091
- ios: "3.5.0",
5092
- macos: "0.4.0"
4890
+ ios: "3.5.0"
5093
4891
  }
5094
4892
  },
5095
4893
  expression: {
@@ -5117,14 +4915,12 @@
5117
4915
  "basic functionality": {
5118
4916
  js: "0.10.0",
5119
4917
  android: "2.0.1",
5120
- ios: "2.0.0",
5121
- macos: "0.1.0"
4918
+ ios: "2.0.0"
5122
4919
  },
5123
4920
  "data-driven styling": {
5124
4921
  js: "0.19.0",
5125
4922
  android: "5.0.0",
5126
- ios: "3.5.0",
5127
- macos: "0.4.0"
4923
+ ios: "3.5.0"
5128
4924
  }
5129
4925
  },
5130
4926
  expression: {
@@ -5154,14 +4950,12 @@
5154
4950
  "basic functionality": {
5155
4951
  js: "0.10.0",
5156
4952
  android: "2.0.1",
5157
- ios: "2.0.0",
5158
- macos: "0.1.0"
4953
+ ios: "2.0.0"
5159
4954
  },
5160
4955
  "data-driven styling": {
5161
4956
  js: "0.19.0",
5162
4957
  android: "5.0.0",
5163
- ios: "3.5.0",
5164
- macos: "0.4.0"
4958
+ ios: "3.5.0"
5165
4959
  }
5166
4960
  },
5167
4961
  expression: {
@@ -5190,8 +4984,7 @@
5190
4984
  "basic functionality": {
5191
4985
  js: "0.10.0",
5192
4986
  android: "2.0.1",
5193
- ios: "2.0.0",
5194
- macos: "0.1.0"
4987
+ ios: "2.0.0"
5195
4988
  }
5196
4989
  },
5197
4990
  expression: {
@@ -5221,8 +5014,7 @@
5221
5014
  "basic functionality": {
5222
5015
  js: "0.10.0",
5223
5016
  android: "2.0.1",
5224
- ios: "2.0.0",
5225
- macos: "0.1.0"
5017
+ ios: "2.0.0"
5226
5018
  }
5227
5019
  },
5228
5020
  expression: {
@@ -5241,13 +5033,11 @@
5241
5033
  "basic functionality": {
5242
5034
  js: "0.10.0",
5243
5035
  android: "2.0.1",
5244
- ios: "2.0.0",
5245
- macos: "0.1.0"
5036
+ ios: "2.0.0"
5246
5037
  },
5247
5038
  "data-driven styling": {
5248
5039
  js: "0.49.0",
5249
5040
  android: "6.5.0",
5250
- macos: "0.11.0",
5251
5041
  ios: "4.4.0"
5252
5042
  }
5253
5043
  },
@@ -5299,14 +5089,12 @@
5299
5089
  "basic functionality": {
5300
5090
  js: "0.10.0",
5301
5091
  android: "2.0.1",
5302
- ios: "2.0.0",
5303
- macos: "0.1.0"
5092
+ ios: "2.0.0"
5304
5093
  },
5305
5094
  "data-driven styling": {
5306
5095
  js: "0.29.0",
5307
5096
  android: "5.0.0",
5308
- ios: "3.5.0",
5309
- macos: "0.4.0"
5097
+ ios: "3.5.0"
5310
5098
  }
5311
5099
  },
5312
5100
  expression: {
@@ -5334,14 +5122,12 @@
5334
5122
  "basic functionality": {
5335
5123
  js: "0.10.0",
5336
5124
  android: "2.0.1",
5337
- ios: "2.0.0",
5338
- macos: "0.1.0"
5125
+ ios: "2.0.0"
5339
5126
  },
5340
5127
  "data-driven styling": {
5341
5128
  js: "0.23.0",
5342
5129
  android: "5.0.0",
5343
- ios: "3.5.0",
5344
- macos: "0.4.0"
5130
+ ios: "3.5.0"
5345
5131
  }
5346
5132
  },
5347
5133
  expression: {
@@ -5370,8 +5156,7 @@
5370
5156
  "basic functionality": {
5371
5157
  js: "0.10.0",
5372
5158
  android: "2.0.1",
5373
- ios: "2.0.0",
5374
- macos: "0.1.0"
5159
+ ios: "2.0.0"
5375
5160
  }
5376
5161
  },
5377
5162
  expression: {
@@ -5401,8 +5186,7 @@
5401
5186
  "basic functionality": {
5402
5187
  js: "0.10.0",
5403
5188
  android: "2.0.1",
5404
- ios: "2.0.0",
5405
- macos: "0.1.0"
5189
+ ios: "2.0.0"
5406
5190
  }
5407
5191
  },
5408
5192
  expression: {
@@ -5424,14 +5208,12 @@
5424
5208
  "basic functionality": {
5425
5209
  js: "0.10.0",
5426
5210
  android: "2.0.1",
5427
- ios: "2.0.0",
5428
- macos: "0.1.0"
5211
+ ios: "2.0.0"
5429
5212
  },
5430
5213
  "data-driven styling": {
5431
5214
  js: "0.39.0",
5432
5215
  android: "5.2.0",
5433
- ios: "3.7.0",
5434
- macos: "0.6.0"
5216
+ ios: "3.7.0"
5435
5217
  }
5436
5218
  },
5437
5219
  expression: {
@@ -5456,14 +5238,12 @@
5456
5238
  "basic functionality": {
5457
5239
  js: "0.10.0",
5458
5240
  android: "2.0.1",
5459
- ios: "2.0.0",
5460
- macos: "0.1.0"
5241
+ ios: "2.0.0"
5461
5242
  },
5462
5243
  "data-driven styling": {
5463
5244
  js: "0.29.0",
5464
5245
  android: "5.0.0",
5465
- ios: "3.5.0",
5466
- macos: "0.4.0"
5246
+ ios: "3.5.0"
5467
5247
  }
5468
5248
  },
5469
5249
  expression: {
@@ -5487,14 +5267,12 @@
5487
5267
  "basic functionality": {
5488
5268
  js: "0.12.1",
5489
5269
  android: "3.0.0",
5490
- ios: "3.1.0",
5491
- macos: "0.1.0"
5270
+ ios: "3.1.0"
5492
5271
  },
5493
5272
  "data-driven styling": {
5494
5273
  js: "0.29.0",
5495
5274
  android: "5.0.0",
5496
- ios: "3.5.0",
5497
- macos: "0.4.0"
5275
+ ios: "3.5.0"
5498
5276
  }
5499
5277
  },
5500
5278
  expression: {
@@ -5519,14 +5297,12 @@
5519
5297
  "basic functionality": {
5520
5298
  js: "0.10.0",
5521
5299
  android: "2.0.1",
5522
- ios: "2.0.0",
5523
- macos: "0.1.0"
5300
+ ios: "2.0.0"
5524
5301
  },
5525
5302
  "data-driven styling": {
5526
5303
  js: "0.29.0",
5527
5304
  android: "5.0.0",
5528
- ios: "3.5.0",
5529
- macos: "0.4.0"
5305
+ ios: "3.5.0"
5530
5306
  }
5531
5307
  },
5532
5308
  expression: {
@@ -5556,8 +5332,7 @@
5556
5332
  "basic functionality": {
5557
5333
  js: "0.10.0",
5558
5334
  android: "2.0.1",
5559
- ios: "2.0.0",
5560
- macos: "0.1.0"
5335
+ ios: "2.0.0"
5561
5336
  },
5562
5337
  "data-driven styling": {
5563
5338
  js: "2.3.0"
@@ -5580,13 +5355,11 @@
5580
5355
  "basic functionality": {
5581
5356
  js: "0.10.0",
5582
5357
  android: "2.0.1",
5583
- ios: "2.0.0",
5584
- macos: "0.1.0"
5358
+ ios: "2.0.0"
5585
5359
  },
5586
5360
  "data-driven styling": {
5587
5361
  js: "0.49.0",
5588
5362
  android: "6.5.0",
5589
- macos: "0.11.0",
5590
5363
  ios: "4.4.0"
5591
5364
  }
5592
5365
  },
@@ -5639,8 +5412,7 @@
5639
5412
  "basic functionality": {
5640
5413
  js: "0.45.0",
5641
5414
  android: "6.5.0",
5642
- ios: "4.4.0",
5643
- macos: "0.11.0"
5415
+ ios: "4.4.0"
5644
5416
  },
5645
5417
  "data-driven styling": {
5646
5418
  }
@@ -5683,8 +5455,7 @@
5683
5455
  "basic functionality": {
5684
5456
  js: "2.9.0",
5685
5457
  android: "10.5.0",
5686
- ios: "10.5.0",
5687
- macos: "10.5.0"
5458
+ ios: "10.5.0"
5688
5459
  }
5689
5460
  },
5690
5461
  "property-type": "constant"
@@ -5785,14 +5556,12 @@
5785
5556
  "basic functionality": {
5786
5557
  js: "0.10.0",
5787
5558
  android: "2.0.1",
5788
- ios: "2.0.0",
5789
- macos: "0.1.0"
5559
+ ios: "2.0.0"
5790
5560
  },
5791
5561
  "data-driven styling": {
5792
5562
  js: "0.18.0",
5793
5563
  android: "5.0.0",
5794
- ios: "3.5.0",
5795
- macos: "0.4.0"
5564
+ ios: "3.5.0"
5796
5565
  }
5797
5566
  },
5798
5567
  expression: {
@@ -5815,14 +5584,12 @@
5815
5584
  "basic functionality": {
5816
5585
  js: "0.10.0",
5817
5586
  android: "2.0.1",
5818
- ios: "2.0.0",
5819
- macos: "0.1.0"
5587
+ ios: "2.0.0"
5820
5588
  },
5821
5589
  "data-driven styling": {
5822
5590
  js: "0.18.0",
5823
5591
  android: "5.0.0",
5824
- ios: "3.5.0",
5825
- macos: "0.4.0"
5592
+ ios: "3.5.0"
5826
5593
  }
5827
5594
  },
5828
5595
  expression: {
@@ -5845,14 +5612,12 @@
5845
5612
  "basic functionality": {
5846
5613
  js: "0.10.0",
5847
5614
  android: "2.0.1",
5848
- ios: "2.0.0",
5849
- macos: "0.1.0"
5615
+ ios: "2.0.0"
5850
5616
  },
5851
5617
  "data-driven styling": {
5852
5618
  js: "0.20.0",
5853
5619
  android: "5.0.0",
5854
- ios: "3.5.0",
5855
- macos: "0.4.0"
5620
+ ios: "3.5.0"
5856
5621
  }
5857
5622
  },
5858
5623
  expression: {
@@ -5877,14 +5642,12 @@
5877
5642
  "basic functionality": {
5878
5643
  js: "0.10.0",
5879
5644
  android: "2.0.1",
5880
- ios: "2.0.0",
5881
- macos: "0.1.0"
5645
+ ios: "2.0.0"
5882
5646
  },
5883
5647
  "data-driven styling": {
5884
5648
  js: "0.20.0",
5885
5649
  android: "5.0.0",
5886
- ios: "3.5.0",
5887
- macos: "0.4.0"
5650
+ ios: "3.5.0"
5888
5651
  }
5889
5652
  },
5890
5653
  expression: {
@@ -5913,8 +5676,7 @@
5913
5676
  "basic functionality": {
5914
5677
  js: "0.10.0",
5915
5678
  android: "2.0.1",
5916
- ios: "2.0.0",
5917
- macos: "0.1.0"
5679
+ ios: "2.0.0"
5918
5680
  }
5919
5681
  },
5920
5682
  expression: {
@@ -5944,8 +5706,7 @@
5944
5706
  "basic functionality": {
5945
5707
  js: "0.10.0",
5946
5708
  android: "2.0.1",
5947
- ios: "2.0.0",
5948
- macos: "0.1.0"
5709
+ ios: "2.0.0"
5949
5710
  }
5950
5711
  },
5951
5712
  expression: {
@@ -5972,8 +5733,7 @@
5972
5733
  "basic functionality": {
5973
5734
  js: "0.21.0",
5974
5735
  android: "4.2.0",
5975
- ios: "3.4.0",
5976
- macos: "0.2.1"
5736
+ ios: "3.4.0"
5977
5737
  }
5978
5738
  },
5979
5739
  expression: {
@@ -6000,8 +5760,7 @@
6000
5760
  "basic functionality": {
6001
5761
  js: "0.39.0",
6002
5762
  android: "5.2.0",
6003
- ios: "3.7.0",
6004
- macos: "0.6.0"
5763
+ ios: "3.7.0"
6005
5764
  }
6006
5765
  },
6007
5766
  expression: {
@@ -6023,14 +5782,12 @@
6023
5782
  "basic functionality": {
6024
5783
  js: "0.29.0",
6025
5784
  android: "5.0.0",
6026
- ios: "3.5.0",
6027
- macos: "0.4.0"
5785
+ ios: "3.5.0"
6028
5786
  },
6029
5787
  "data-driven styling": {
6030
5788
  js: "0.29.0",
6031
5789
  android: "5.0.0",
6032
- ios: "3.5.0",
6033
- macos: "0.4.0"
5790
+ ios: "3.5.0"
6034
5791
  }
6035
5792
  },
6036
5793
  expression: {
@@ -6053,14 +5810,12 @@
6053
5810
  "basic functionality": {
6054
5811
  js: "0.29.0",
6055
5812
  android: "5.0.0",
6056
- ios: "3.5.0",
6057
- macos: "0.4.0"
5813
+ ios: "3.5.0"
6058
5814
  },
6059
5815
  "data-driven styling": {
6060
5816
  js: "0.29.0",
6061
5817
  android: "5.0.0",
6062
- ios: "3.5.0",
6063
- macos: "0.4.0"
5818
+ ios: "3.5.0"
6064
5819
  }
6065
5820
  },
6066
5821
  expression: {
@@ -6085,14 +5840,12 @@
6085
5840
  "basic functionality": {
6086
5841
  js: "0.29.0",
6087
5842
  android: "5.0.0",
6088
- ios: "3.5.0",
6089
- macos: "0.4.0"
5843
+ ios: "3.5.0"
6090
5844
  },
6091
5845
  "data-driven styling": {
6092
5846
  js: "0.29.0",
6093
5847
  android: "5.0.0",
6094
- ios: "3.5.0",
6095
- macos: "0.4.0"
5848
+ ios: "3.5.0"
6096
5849
  }
6097
5850
  },
6098
5851
  expression: {
@@ -6145,14 +5898,12 @@
6145
5898
  "basic functionality": {
6146
5899
  js: "0.41.0",
6147
5900
  android: "6.0.0",
6148
- ios: "4.0.0",
6149
- macos: "0.7.0"
5901
+ ios: "4.0.0"
6150
5902
  },
6151
5903
  "data-driven styling": {
6152
5904
  js: "0.43.0",
6153
5905
  android: "6.0.0",
6154
- ios: "4.0.0",
6155
- macos: "0.7.0"
5906
+ ios: "4.0.0"
6156
5907
  }
6157
5908
  },
6158
5909
  expression: {
@@ -6176,14 +5927,12 @@
6176
5927
  "basic functionality": {
6177
5928
  js: "0.41.0",
6178
5929
  android: "6.0.0",
6179
- ios: "4.0.0",
6180
- macos: "0.7.0"
5930
+ ios: "4.0.0"
6181
5931
  },
6182
5932
  "data-driven styling": {
6183
5933
  js: "0.41.0",
6184
5934
  android: "6.0.0",
6185
- ios: "4.0.0",
6186
- macos: "0.7.0"
5935
+ ios: "4.0.0"
6187
5936
  }
6188
5937
  },
6189
5938
  expression: {
@@ -6207,8 +5956,7 @@
6207
5956
  "basic functionality": {
6208
5957
  js: "0.41.0",
6209
5958
  android: "6.0.0",
6210
- ios: "4.0.0",
6211
- macos: "0.7.0"
5959
+ ios: "4.0.0"
6212
5960
  }
6213
5961
  },
6214
5962
  expression: {
@@ -6248,8 +5996,7 @@
6248
5996
  "basic functionality": {
6249
5997
  js: "0.41.0",
6250
5998
  android: "6.0.0",
6251
- ios: "4.0.0",
6252
- macos: "0.7.0"
5999
+ ios: "4.0.0"
6253
6000
  },
6254
6001
  "data-driven styling": {
6255
6002
  }
@@ -6273,8 +6020,7 @@
6273
6020
  "basic functionality": {
6274
6021
  js: "0.41.0",
6275
6022
  android: "6.0.0",
6276
- ios: "4.0.0",
6277
- macos: "0.7.0"
6023
+ ios: "4.0.0"
6278
6024
  }
6279
6025
  },
6280
6026
  expression: {
@@ -6301,14 +6047,12 @@
6301
6047
  "basic functionality": {
6302
6048
  js: "0.10.0",
6303
6049
  android: "2.0.1",
6304
- ios: "2.0.0",
6305
- macos: "0.1.0"
6050
+ ios: "2.0.0"
6306
6051
  },
6307
6052
  "data-driven styling": {
6308
6053
  js: "0.33.0",
6309
6054
  android: "5.0.0",
6310
- ios: "3.5.0",
6311
- macos: "0.4.0"
6055
+ ios: "3.5.0"
6312
6056
  }
6313
6057
  },
6314
6058
  expression: {
@@ -6396,14 +6140,12 @@
6396
6140
  "basic functionality": {
6397
6141
  js: "0.10.0",
6398
6142
  android: "2.0.1",
6399
- ios: "2.0.0",
6400
- macos: "0.1.0"
6143
+ ios: "2.0.0"
6401
6144
  },
6402
6145
  "data-driven styling": {
6403
6146
  js: "0.33.0",
6404
6147
  android: "5.0.0",
6405
- ios: "3.5.0",
6406
- macos: "0.4.0"
6148
+ ios: "3.5.0"
6407
6149
  }
6408
6150
  },
6409
6151
  expression: {
@@ -6429,14 +6171,12 @@
6429
6171
  "basic functionality": {
6430
6172
  js: "0.10.0",
6431
6173
  android: "2.0.1",
6432
- ios: "2.0.0",
6433
- macos: "0.1.0"
6174
+ ios: "2.0.0"
6434
6175
  },
6435
6176
  "data-driven styling": {
6436
6177
  js: "0.33.0",
6437
6178
  android: "5.0.0",
6438
- ios: "3.5.0",
6439
- macos: "0.4.0"
6179
+ ios: "3.5.0"
6440
6180
  }
6441
6181
  },
6442
6182
  expression: {
@@ -6464,14 +6204,12 @@
6464
6204
  "basic functionality": {
6465
6205
  js: "0.10.0",
6466
6206
  android: "2.0.1",
6467
- ios: "2.0.0",
6468
- macos: "0.1.0"
6207
+ ios: "2.0.0"
6469
6208
  },
6470
6209
  "data-driven styling": {
6471
6210
  js: "0.33.0",
6472
6211
  android: "5.0.0",
6473
- ios: "3.5.0",
6474
- macos: "0.4.0"
6212
+ ios: "3.5.0"
6475
6213
  }
6476
6214
  },
6477
6215
  expression: {
@@ -6499,14 +6237,12 @@
6499
6237
  "basic functionality": {
6500
6238
  js: "0.10.0",
6501
6239
  android: "2.0.1",
6502
- ios: "2.0.0",
6503
- macos: "0.1.0"
6240
+ ios: "2.0.0"
6504
6241
  },
6505
6242
  "data-driven styling": {
6506
6243
  js: "0.33.0",
6507
6244
  android: "5.0.0",
6508
- ios: "3.5.0",
6509
- macos: "0.4.0"
6245
+ ios: "3.5.0"
6510
6246
  }
6511
6247
  },
6512
6248
  expression: {
@@ -6538,8 +6274,7 @@
6538
6274
  "basic functionality": {
6539
6275
  js: "0.10.0",
6540
6276
  android: "2.0.1",
6541
- ios: "2.0.0",
6542
- macos: "0.1.0"
6277
+ ios: "2.0.0"
6543
6278
  }
6544
6279
  },
6545
6280
  expression: {
@@ -6570,8 +6305,7 @@
6570
6305
  "basic functionality": {
6571
6306
  js: "0.10.0",
6572
6307
  android: "2.0.1",
6573
- ios: "2.0.0",
6574
- macos: "0.1.0"
6308
+ ios: "2.0.0"
6575
6309
  }
6576
6310
  },
6577
6311
  expression: {
@@ -6626,14 +6360,12 @@
6626
6360
  "basic functionality": {
6627
6361
  js: "0.10.0",
6628
6362
  android: "2.0.1",
6629
- ios: "2.0.0",
6630
- macos: "0.1.0"
6363
+ ios: "2.0.0"
6631
6364
  },
6632
6365
  "data-driven styling": {
6633
6366
  js: "0.33.0",
6634
6367
  android: "5.0.0",
6635
- ios: "3.5.0",
6636
- macos: "0.4.0"
6368
+ ios: "3.5.0"
6637
6369
  }
6638
6370
  },
6639
6371
  expression: {
@@ -6660,14 +6392,12 @@
6660
6392
  "basic functionality": {
6661
6393
  js: "0.10.0",
6662
6394
  android: "2.0.1",
6663
- ios: "2.0.0",
6664
- macos: "0.1.0"
6395
+ ios: "2.0.0"
6665
6396
  },
6666
6397
  "data-driven styling": {
6667
6398
  js: "0.33.0",
6668
6399
  android: "5.0.0",
6669
- ios: "3.5.0",
6670
- macos: "0.4.0"
6400
+ ios: "3.5.0"
6671
6401
  }
6672
6402
  },
6673
6403
  expression: {
@@ -6693,14 +6423,12 @@
6693
6423
  "basic functionality": {
6694
6424
  js: "0.10.0",
6695
6425
  android: "2.0.1",
6696
- ios: "2.0.0",
6697
- macos: "0.1.0"
6426
+ ios: "2.0.0"
6698
6427
  },
6699
6428
  "data-driven styling": {
6700
6429
  js: "0.33.0",
6701
6430
  android: "5.0.0",
6702
- ios: "3.5.0",
6703
- macos: "0.4.0"
6431
+ ios: "3.5.0"
6704
6432
  }
6705
6433
  },
6706
6434
  expression: {
@@ -6728,14 +6456,12 @@
6728
6456
  "basic functionality": {
6729
6457
  js: "0.10.0",
6730
6458
  android: "2.0.1",
6731
- ios: "2.0.0",
6732
- macos: "0.1.0"
6459
+ ios: "2.0.0"
6733
6460
  },
6734
6461
  "data-driven styling": {
6735
6462
  js: "0.33.0",
6736
6463
  android: "5.0.0",
6737
- ios: "3.5.0",
6738
- macos: "0.4.0"
6464
+ ios: "3.5.0"
6739
6465
  }
6740
6466
  },
6741
6467
  expression: {
@@ -6763,14 +6489,12 @@
6763
6489
  "basic functionality": {
6764
6490
  js: "0.10.0",
6765
6491
  android: "2.0.1",
6766
- ios: "2.0.0",
6767
- macos: "0.1.0"
6492
+ ios: "2.0.0"
6768
6493
  },
6769
6494
  "data-driven styling": {
6770
6495
  js: "0.33.0",
6771
6496
  android: "5.0.0",
6772
- ios: "3.5.0",
6773
- macos: "0.4.0"
6497
+ ios: "3.5.0"
6774
6498
  }
6775
6499
  },
6776
6500
  expression: {
@@ -6802,8 +6526,7 @@
6802
6526
  "basic functionality": {
6803
6527
  js: "0.10.0",
6804
6528
  android: "2.0.1",
6805
- ios: "2.0.0",
6806
- macos: "0.1.0"
6529
+ ios: "2.0.0"
6807
6530
  }
6808
6531
  },
6809
6532
  expression: {
@@ -6834,8 +6557,7 @@
6834
6557
  "basic functionality": {
6835
6558
  js: "0.10.0",
6836
6559
  android: "2.0.1",
6837
- ios: "2.0.0",
6838
- macos: "0.1.0"
6560
+ ios: "2.0.0"
6839
6561
  }
6840
6562
  },
6841
6563
  expression: {
@@ -6845,6 +6567,26 @@
6845
6567
  ]
6846
6568
  },
6847
6569
  "property-type": "data-constant"
6570
+ },
6571
+ "icon-color-saturation": {
6572
+ type: "number",
6573
+ "default": 1,
6574
+ minimum: 0,
6575
+ maximum: 1,
6576
+ transition: true,
6577
+ units: "intensity",
6578
+ doc: "Controls saturation level of the symbol icon. With the default value of 1 the icon color is preserved while with a value of 0 it is fully desaturated and looks black and white.",
6579
+ "sdk-support": {
6580
+ "basic functionality": {
6581
+ js: "3.1.0",
6582
+ android: "11.1.0",
6583
+ ios: "11.1.0"
6584
+ }
6585
+ },
6586
+ expression: {
6587
+ interpolated: false
6588
+ },
6589
+ "property-type": "data-constant"
6848
6590
  }
6849
6591
  };
6850
6592
  var paint_raster = {
@@ -6859,8 +6601,7 @@
6859
6601
  "basic functionality": {
6860
6602
  js: "0.10.0",
6861
6603
  android: "2.0.1",
6862
- ios: "2.0.0",
6863
- macos: "0.1.0"
6604
+ ios: "2.0.0"
6864
6605
  }
6865
6606
  },
6866
6607
  expression: {
@@ -6971,8 +6712,7 @@
6971
6712
  "basic functionality": {
6972
6713
  js: "0.10.0",
6973
6714
  android: "2.0.1",
6974
- ios: "2.0.0",
6975
- macos: "0.1.0"
6715
+ ios: "2.0.0"
6976
6716
  }
6977
6717
  },
6978
6718
  expression: {
@@ -6994,8 +6734,7 @@
6994
6734
  "basic functionality": {
6995
6735
  js: "0.10.0",
6996
6736
  android: "2.0.1",
6997
- ios: "2.0.0",
6998
- macos: "0.1.0"
6737
+ ios: "2.0.0"
6999
6738
  }
7000
6739
  },
7001
6740
  expression: {
@@ -7017,8 +6756,7 @@
7017
6756
  "basic functionality": {
7018
6757
  js: "0.10.0",
7019
6758
  android: "2.0.1",
7020
- ios: "2.0.0",
7021
- macos: "0.1.0"
6759
+ ios: "2.0.0"
7022
6760
  }
7023
6761
  },
7024
6762
  expression: {
@@ -7040,8 +6778,7 @@
7040
6778
  "basic functionality": {
7041
6779
  js: "0.10.0",
7042
6780
  android: "2.0.1",
7043
- ios: "2.0.0",
7044
- macos: "0.1.0"
6781
+ ios: "2.0.0"
7045
6782
  }
7046
6783
  },
7047
6784
  expression: {
@@ -7063,8 +6800,7 @@
7063
6800
  "basic functionality": {
7064
6801
  js: "0.10.0",
7065
6802
  android: "2.0.1",
7066
- ios: "2.0.0",
7067
- macos: "0.1.0"
6803
+ ios: "2.0.0"
7068
6804
  }
7069
6805
  },
7070
6806
  expression: {
@@ -7091,8 +6827,7 @@
7091
6827
  "basic functionality": {
7092
6828
  js: "0.47.0",
7093
6829
  android: "6.3.0",
7094
- ios: "4.2.0",
7095
- macos: "0.9.0"
6830
+ ios: "4.2.0"
7096
6831
  }
7097
6832
  },
7098
6833
  expression: {
@@ -7114,8 +6849,7 @@
7114
6849
  "basic functionality": {
7115
6850
  js: "0.10.0",
7116
6851
  android: "2.0.1",
7117
- ios: "2.0.0",
7118
- macos: "0.1.0"
6852
+ ios: "2.0.0"
7119
6853
  }
7120
6854
  },
7121
6855
  expression: {
@@ -7157,7 +6891,12 @@
7157
6891
  required: false,
7158
6892
  "property-type": "data-constant",
7159
6893
  transition: false,
7160
- doc: "Displayed band of raster array source layer",
6894
+ requires: [
6895
+ {
6896
+ source: "raster-array"
6897
+ }
6898
+ ],
6899
+ doc: "Displayed band of raster array source layer. Defaults to the first band if not set.",
7161
6900
  example: "band-name",
7162
6901
  "sdk-support": {
7163
6902
  "basic functionality": {
@@ -7175,7 +6914,9 @@
7175
6914
  transition: true,
7176
6915
  "sdk-support": {
7177
6916
  "basic functionality": {
7178
- js: "3.1.0"
6917
+ js: "3.1.0",
6918
+ android: "11.2.0",
6919
+ ios: "11.2.0"
7179
6920
  }
7180
6921
  },
7181
6922
  expression: {
@@ -7199,8 +6940,7 @@
7199
6940
  "basic functionality": {
7200
6941
  js: "0.43.0",
7201
6942
  android: "6.0.0",
7202
- ios: "4.0.0",
7203
- macos: "0.7.0"
6943
+ ios: "4.0.0"
7204
6944
  }
7205
6945
  },
7206
6946
  expression: {
@@ -7227,8 +6967,7 @@
7227
6967
  "basic functionality": {
7228
6968
  js: "0.43.0",
7229
6969
  android: "6.0.0",
7230
- ios: "4.0.0",
7231
- macos: "0.7.0"
6970
+ ios: "4.0.0"
7232
6971
  }
7233
6972
  },
7234
6973
  expression: {
@@ -7250,8 +6989,7 @@
7250
6989
  "basic functionality": {
7251
6990
  js: "0.43.0",
7252
6991
  android: "6.0.0",
7253
- ios: "4.0.0",
7254
- macos: "0.7.0"
6992
+ ios: "4.0.0"
7255
6993
  }
7256
6994
  },
7257
6995
  expression: {
@@ -7271,8 +7009,7 @@
7271
7009
  "basic functionality": {
7272
7010
  js: "0.43.0",
7273
7011
  android: "6.0.0",
7274
- ios: "4.0.0",
7275
- macos: "0.7.0"
7012
+ ios: "4.0.0"
7276
7013
  }
7277
7014
  },
7278
7015
  expression: {
@@ -7293,8 +7030,7 @@
7293
7030
  "basic functionality": {
7294
7031
  js: "0.43.0",
7295
7032
  android: "6.0.0",
7296
- ios: "4.0.0",
7297
- macos: "0.7.0"
7033
+ ios: "4.0.0"
7298
7034
  }
7299
7035
  },
7300
7036
  expression: {
@@ -7315,8 +7051,7 @@
7315
7051
  "basic functionality": {
7316
7052
  js: "0.43.0",
7317
7053
  android: "6.0.0",
7318
- ios: "4.0.0",
7319
- macos: "0.7.0"
7054
+ ios: "4.0.0"
7320
7055
  }
7321
7056
  },
7322
7057
  expression: {
@@ -7370,8 +7105,7 @@
7370
7105
  "basic functionality": {
7371
7106
  js: "0.10.0",
7372
7107
  android: "2.0.1",
7373
- ios: "2.0.0",
7374
- macos: "0.1.0"
7108
+ ios: "2.0.0"
7375
7109
  }
7376
7110
  },
7377
7111
  expression: {
@@ -7390,8 +7124,7 @@
7390
7124
  "basic functionality": {
7391
7125
  js: "0.10.0",
7392
7126
  android: "2.0.1",
7393
- ios: "2.0.0",
7394
- macos: "0.1.0"
7127
+ ios: "2.0.0"
7395
7128
  }
7396
7129
  },
7397
7130
  expression: {
@@ -7413,8 +7146,7 @@
7413
7146
  "basic functionality": {
7414
7147
  js: "0.10.0",
7415
7148
  android: "2.0.1",
7416
- ios: "2.0.0",
7417
- macos: "0.1.0"
7149
+ ios: "2.0.0"
7418
7150
  }
7419
7151
  },
7420
7152
  expression: {
@@ -7967,7 +7699,7 @@
7967
7699
  minimum: 0,
7968
7700
  maximum: 5,
7969
7701
  units: "intensity",
7970
- doc: "Strength of the emission. There is no emission for value 0. For value 1.0, only emissive component (no shading) is displayed and values above 1.0 produce light contribution to surrounding area, for some of the parts (e.g. doors). Expressions that depend on measure-light are not supported when using GeoJSON or vector tile as the model layer source.",
7702
+ doc: "Strength of the emission. There is no emission for value 0. For value 1.0, only emissive component (no shading) is displayed and values above 1.0 produce light contribution to surrounding area, for some of the parts (e.g. doors). Expressions that depend on measure-light are only supported as a global layer value (and not for each feature) when using GeoJSON or vector tile as the model layer source.",
7971
7703
  expression: {
7972
7704
  interpolated: true,
7973
7705
  parameters: [
@@ -8209,14 +7941,12 @@
8209
7941
  "basic functionality": {
8210
7942
  js: "0.27.0",
8211
7943
  android: "5.1.0",
8212
- ios: "3.6.0",
8213
- macos: "0.5.0"
7944
+ ios: "3.6.0"
8214
7945
  },
8215
7946
  "expressions support": {
8216
7947
  js: "3.0.0",
8217
7948
  android: "11.0.0",
8218
- ios: "11.0.0",
8219
- macos: "11.0.0"
7949
+ ios: "11.0.0"
8220
7950
  }
8221
7951
  },
8222
7952
  expression: {
@@ -8240,8 +7970,7 @@
8240
7970
  "expressions support": {
8241
7971
  js: "3.0.0",
8242
7972
  android: "11.0.0",
8243
- ios: "11.0.0",
8244
- macos: "11.0.0"
7973
+ ios: "11.0.0"
8245
7974
  }
8246
7975
  },
8247
7976
  expression: {
@@ -8360,8 +8089,7 @@
8360
8089
  "basic functionality": {
8361
8090
  js: "0.27.0",
8362
8091
  android: "5.1.0",
8363
- ios: "3.6.0",
8364
- macos: "0.5.0"
8092
+ ios: "3.6.0"
8365
8093
  }
8366
8094
  },
8367
8095
  expression: {
@@ -8386,14 +8114,12 @@
8386
8114
  "basic functionality": {
8387
8115
  js: "0.27.0",
8388
8116
  android: "5.1.0",
8389
- ios: "3.6.0",
8390
- macos: "0.5.0"
8117
+ ios: "3.6.0"
8391
8118
  },
8392
8119
  "data-driven styling": {
8393
8120
  js: "0.27.0",
8394
8121
  android: "5.1.0",
8395
- ios: "3.6.0",
8396
- macos: "0.5.0"
8122
+ ios: "3.6.0"
8397
8123
  }
8398
8124
  },
8399
8125
  expression: {
@@ -8422,8 +8148,7 @@
8422
8148
  "basic functionality": {
8423
8149
  js: "0.27.0",
8424
8150
  android: "5.1.0",
8425
- ios: "3.6.0",
8426
- macos: "0.5.0"
8151
+ ios: "3.6.0"
8427
8152
  }
8428
8153
  },
8429
8154
  expression: {
@@ -8453,8 +8178,7 @@
8453
8178
  "basic functionality": {
8454
8179
  js: "0.27.0",
8455
8180
  android: "5.1.0",
8456
- ios: "3.6.0",
8457
- macos: "0.5.0"
8181
+ ios: "3.6.0"
8458
8182
  }
8459
8183
  },
8460
8184
  expression: {
@@ -8473,13 +8197,11 @@
8473
8197
  "basic functionality": {
8474
8198
  js: "0.27.0",
8475
8199
  android: "5.1.0",
8476
- ios: "3.6.0",
8477
- macos: "0.5.0"
8200
+ ios: "3.6.0"
8478
8201
  },
8479
8202
  "data-driven styling": {
8480
8203
  js: "0.49.0",
8481
8204
  android: "6.5.0",
8482
- macos: "0.11.0",
8483
8205
  ios: "4.4.0"
8484
8206
  }
8485
8207
  },
@@ -8503,14 +8225,12 @@
8503
8225
  "basic functionality": {
8504
8226
  js: "0.27.0",
8505
8227
  android: "5.1.0",
8506
- ios: "3.6.0",
8507
- macos: "0.5.0"
8228
+ ios: "3.6.0"
8508
8229
  },
8509
8230
  "data-driven styling": {
8510
8231
  js: "0.27.0",
8511
8232
  android: "5.1.0",
8512
- ios: "3.6.0",
8513
- macos: "0.5.0"
8233
+ ios: "3.6.0"
8514
8234
  }
8515
8235
  },
8516
8236
  expression: {
@@ -8537,14 +8257,12 @@
8537
8257
  "basic functionality": {
8538
8258
  js: "0.27.0",
8539
8259
  android: "5.1.0",
8540
- ios: "3.6.0",
8541
- macos: "0.5.0"
8260
+ ios: "3.6.0"
8542
8261
  },
8543
8262
  "data-driven styling": {
8544
8263
  js: "0.27.0",
8545
8264
  android: "5.1.0",
8546
- ios: "3.6.0",
8547
- macos: "0.5.0"
8265
+ ios: "3.6.0"
8548
8266
  }
8549
8267
  },
8550
8268
  expression: {
@@ -8566,8 +8284,7 @@
8566
8284
  "basic functionality": {
8567
8285
  js: "0.50.0",
8568
8286
  android: "7.0.0",
8569
- ios: "4.7.0",
8570
- macos: "0.13.0"
8287
+ ios: "4.7.0"
8571
8288
  }
8572
8289
  },
8573
8290
  expression: {
@@ -8593,12 +8310,6 @@
8593
8310
  },
8594
8311
  transition: true,
8595
8312
  doc: "Controls the intensity of shading near ground and concave angles between walls. Default value 0.0 disables ambient occlusion and values around 0.3 provide the most plausible results for buildings.",
8596
- requires: [
8597
- "lights",
8598
- {
8599
- "!": "fill-extrusion-flood-light-intensity"
8600
- }
8601
- ],
8602
8313
  "sdk-support": {
8603
8314
  "basic functionality": {
8604
8315
  js: "3.0.0",
@@ -8622,10 +8333,7 @@
8622
8333
  transition: true,
8623
8334
  doc: "Shades area near ground and concave angles between walls where the radius defines only vertical impact. Default value 3.0 corresponds to height of one floor and brings the most plausible results for buildings. This property works only with legacy light. When 3D lights are enabled `fill-extrusion-ambient-occlusion-wall-radius` and `fill-extrusion-ambient-occlusion-ground-radius` are used instead.",
8624
8335
  requires: [
8625
- "fill-extrusion-edge-radius",
8626
- {
8627
- "!": "fill-extrusion-flood-light-intensity"
8628
- }
8336
+ "fill-extrusion-edge-radius"
8629
8337
  ],
8630
8338
  "sdk-support": {
8631
8339
  "basic functionality": {
@@ -8650,10 +8358,7 @@
8650
8358
  doc: "Shades area near ground and concave angles between walls where the radius defines only vertical impact. Default value 3.0 corresponds to height of one floor and brings the most plausible results for buildings.",
8651
8359
  requires: [
8652
8360
  "lights",
8653
- "fill-extrusion-edge-radius",
8654
- {
8655
- "!": "fill-extrusion-flood-light-intensity"
8656
- }
8361
+ "fill-extrusion-edge-radius"
8657
8362
  ],
8658
8363
  "sdk-support": {
8659
8364
  "basic functionality": {
@@ -8677,10 +8382,7 @@
8677
8382
  transition: true,
8678
8383
  doc: "The extent of the ambient occlusion effect on the ground beneath the extruded buildings in meters.",
8679
8384
  requires: [
8680
- "lights",
8681
- {
8682
- "!": "fill-extrusion-flood-light-intensity"
8683
- }
8385
+ "lights"
8684
8386
  ],
8685
8387
  "sdk-support": {
8686
8388
  "basic functionality": {
@@ -8698,10 +8400,7 @@
8698
8400
  maximum: 1,
8699
8401
  doc: "Provides a control to futher fine-tune the look of the ambient occlusion on the ground beneath the extruded buildings. Lower values give the effect a more solid look while higher values make it smoother.",
8700
8402
  requires: [
8701
- "lights",
8702
- {
8703
- "!": "fill-extrusion-flood-light-intensity"
8704
- }
8403
+ "lights"
8705
8404
  ],
8706
8405
  transition: true,
8707
8406
  expression: {
@@ -8724,10 +8423,7 @@
8724
8423
  "default": "#ffffff",
8725
8424
  doc: "The color of the flood light effect on the walls of the extruded buildings.",
8726
8425
  requires: [
8727
- "lights",
8728
- {
8729
- "!": "fill-extrusion-ambient-occlusion-intensity"
8730
- }
8426
+ "lights"
8731
8427
  ],
8732
8428
  transition: true,
8733
8429
  expression: {
@@ -8753,10 +8449,7 @@
8753
8449
  maximum: 1,
8754
8450
  doc: "The intensity of the flood light color.",
8755
8451
  requires: [
8756
- "lights",
8757
- {
8758
- "!": "fill-extrusion-ambient-occlusion-intensity"
8759
- }
8452
+ "lights"
8760
8453
  ],
8761
8454
  transition: true,
8762
8455
  expression: {
@@ -8782,10 +8475,7 @@
8782
8475
  minimum: 0,
8783
8476
  doc: "The extent of the flood light effect on the walls of the extruded buildings in meters.",
8784
8477
  requires: [
8785
- "lights",
8786
- {
8787
- "!": "fill-extrusion-ambient-occlusion-intensity"
8788
- }
8478
+ "lights"
8789
8479
  ],
8790
8480
  transition: true,
8791
8481
  expression: {
@@ -8813,13 +8503,9 @@
8813
8503
  type: "number",
8814
8504
  units: "meters",
8815
8505
  "default": 0,
8816
- minimum: 0,
8817
8506
  doc: "The extent of the flood light effect on the ground beneath the extruded buildings in meters.",
8818
8507
  requires: [
8819
- "lights",
8820
- {
8821
- "!": "fill-extrusion-ambient-occlusion-intensity"
8822
- }
8508
+ "lights"
8823
8509
  ],
8824
8510
  transition: true,
8825
8511
  expression: {
@@ -8850,10 +8536,7 @@
8850
8536
  maximum: 1,
8851
8537
  doc: "Provides a control to futher fine-tune the look of the flood light on the ground beneath the extruded buildings. Lower values give the effect a more solid look while higher values make it smoother.",
8852
8538
  requires: [
8853
- "lights",
8854
- {
8855
- "!": "fill-extrusion-ambient-occlusion-intensity"
8856
- }
8539
+ "lights"
8857
8540
  ],
8858
8541
  transition: true,
8859
8542
  expression: {
@@ -8919,7 +8602,7 @@
8919
8602
  "default": 0,
8920
8603
  minimum: 0,
8921
8604
  maximum: 1,
8922
- doc: "This parameter defines the range for the fade-out effect before an automatic content cutoff on pitched map views. The automatic cutoff range is calculated according to the minimum required zoom level of the source and layer. The fade range is expressed in relation to the height of the map view. A value of 1.0 indicates that the content is faded to the same extent as the map's height in pixels, while a value close to zero represents a sharp cutoff. When the value is set to 0.0, the cutoff is completely disabled. Note: The property has no effect on the map if terrain is enabled.",
8605
+ doc: "This parameter defines the range for the fade-out effect before an automatic content cutoff on pitched map views. Fade out is implemented by scaling down and removing buildings in the fade range in a staggered fashion. Opacity is not changed. The fade range is expressed in relation to the height of the map view. A value of 1.0 indicates that the content is faded to the same extent as the map's height in pixels, while a value close to zero represents a sharp cutoff. When the value is set to 0.0, the cutoff is completely disabled. Note: The property has no effect on the map if terrain is enabled.",
8923
8606
  transition: false,
8924
8607
  expression: {
8925
8608
  interpolated: false
@@ -9060,6 +8743,7 @@
9060
8743
  }(passedObj, '', 0);
9061
8744
  }
9062
8745
 
8746
+ //
9063
8747
  function sortKeysBy(obj, reference) {
9064
8748
  const result = {};
9065
8749
  for (const key in reference) {
@@ -10333,6 +10017,7 @@
10333
10017
  });
10334
10018
  }
10335
10019
 
10020
+ //
10336
10021
  function eachLayout(layer, callback) {
10337
10022
  for (const k in layer) {
10338
10023
  if (k.indexOf('layout') === 0) {
@@ -11837,8 +11522,6 @@
11837
11522
  var Color$1 = Color;
11838
11523
 
11839
11524
  //
11840
- // Flow type declarations for Intl cribbed from
11841
- // https://github.com/facebook/flow/issues/1270
11842
11525
  class Collator {
11843
11526
  constructor(caseSensitive, diacriticSensitive, locale) {
11844
11527
  if (caseSensitive)
@@ -12603,7 +12286,7 @@
12603
12286
  'Polygon'
12604
12287
  ];
12605
12288
  class EvaluationContext {
12606
- constructor(options) {
12289
+ constructor(scope, options) {
12607
12290
  this.globals = null;
12608
12291
  this.feature = null;
12609
12292
  this.featureState = null;
@@ -12613,6 +12296,7 @@
12613
12296
  this.canonical = null;
12614
12297
  this.featureTileCoord = null;
12615
12298
  this.featureDistanceData = null;
12299
+ this.scope = scope;
12616
12300
  this.options = options;
12617
12301
  }
12618
12302
  id() {
@@ -12665,13 +12349,19 @@
12665
12349
 
12666
12350
  //
12667
12351
  class CompoundExpression {
12668
- constructor(name, type, evaluate, args) {
12352
+ constructor(name, type, evaluate, args, overloadIndex) {
12669
12353
  this.name = name;
12670
12354
  this.type = type;
12671
12355
  this._evaluate = evaluate;
12672
12356
  this.args = args;
12357
+ this._overloadIndex = overloadIndex;
12673
12358
  }
12674
12359
  evaluate(ctx) {
12360
+ if (!this._evaluate) {
12361
+ // restore evaluate function after transfer between threads
12362
+ const definition = CompoundExpression.definitions[this.name];
12363
+ this._evaluate = Array.isArray(definition) ? definition[2] : definition.overloads[this._overloadIndex][1];
12364
+ }
12675
12365
  return this._evaluate(ctx, this.args);
12676
12366
  }
12677
12367
  eachChild(fn) {
@@ -12695,14 +12385,18 @@
12695
12385
  definition[1],
12696
12386
  definition[2]
12697
12387
  ]] : definition.overloads;
12698
- const overloads = availableOverloads.filter(([signature]) => !Array.isArray(signature) || // varags
12699
- signature.length === args.length - 1 // correct param count
12700
- );
12388
+ const overloadParams = [];
12701
12389
  let signatureContext = null;
12702
- for (const [params, evaluate] of overloads) {
12390
+ let overloadIndex = -1;
12391
+ for (const [params, evaluate] of availableOverloads) {
12392
+ if (Array.isArray(params) && params.length !== args.length - 1)
12393
+ continue;
12394
+ // param count doesn't match
12395
+ overloadParams.push(params);
12396
+ overloadIndex++;
12703
12397
  // Use a fresh context for each attempted signature so that, if
12704
12398
  // we eventually succeed, we haven't polluted `context.errors`.
12705
- signatureContext = new ParsingContext$1(context.registry, context.path, null, context.scope, undefined, context.options);
12399
+ signatureContext = new ParsingContext$1(context.registry, context.path, null, context.scope, undefined, context._scope, context.options);
12706
12400
  // First parse all the args, potentially coercing to the
12707
12401
  // types expected by this overload.
12708
12402
  const parsedArgs = [];
@@ -12734,14 +12428,14 @@
12734
12428
  signatureContext.concat(i + 1).checkSubtype(expected, arg.type);
12735
12429
  }
12736
12430
  if (signatureContext.errors.length === 0) {
12737
- return new CompoundExpression(op, type, evaluate, parsedArgs);
12431
+ return new CompoundExpression(op, type, evaluate, parsedArgs, overloadIndex);
12738
12432
  }
12739
12433
  }
12740
- if (overloads.length === 1) {
12434
+ if (overloadParams.length === 1) {
12741
12435
  context.errors.push(...signatureContext.errors);
12742
12436
  } else {
12743
- const expected = overloads.length ? overloads : availableOverloads;
12744
- const signatures = expected.map(([params]) => stringifySignature(params)).join(' | ');
12437
+ const expected = overloadParams.length ? overloadParams : availableOverloads.map(([params]) => params);
12438
+ const signatures = expected.map(stringifySignature).join(' | ');
12745
12439
  const actualTypes = [];
12746
12440
  // For error message, re-parse arguments without trying to
12747
12441
  // apply any coercions
@@ -14831,13 +14525,14 @@
14831
14525
  // implementations to infer argument types: Expression#parse() need not
14832
14526
  // check that the output type of the parsed expression matches
14833
14527
  // `expectedType`.
14834
- constructor(registry, path = [], expectedType, scope = new Scope$1(), errors = [], options) {
14528
+ constructor(registry, path = [], expectedType, scope = new Scope$1(), errors = [], _scope, options) {
14835
14529
  this.registry = registry;
14836
14530
  this.path = path;
14837
14531
  this.key = path.map(part => `[${ part }]`).join('');
14838
14532
  this.scope = scope;
14839
14533
  this.errors = errors;
14840
14534
  this.expectedType = expectedType;
14535
+ this._scope = _scope;
14841
14536
  this.options = options;
14842
14537
  }
14843
14538
  /**
@@ -14902,7 +14597,7 @@
14902
14597
  // parsed/compiled result. Expressions that expect an image should
14903
14598
  // not be resolved here so we can later get the available images.
14904
14599
  if (!(parsed instanceof Literal$1) && parsed.type.kind !== 'resolvedImage' && isConstant(parsed)) {
14905
- const ec = new EvaluationContext$1(this.options);
14600
+ const ec = new EvaluationContext$1(this._scope, this.options);
14906
14601
  try {
14907
14602
  parsed = new Literal$1(parsed.type, parsed.evaluate(ec));
14908
14603
  } catch (e) {
@@ -14936,7 +14631,7 @@
14936
14631
  concat(index, expectedType, bindings) {
14937
14632
  const path = typeof index === 'number' ? this.path.concat(index) : this.path;
14938
14633
  const scope = bindings ? this.scope.concat(bindings) : this.scope;
14939
- return new ParsingContext(this.registry, path, expectedType || null, scope, this.errors, this.options);
14634
+ return new ParsingContext(this.registry, path, expectedType || null, scope, this.errors, this._scope, this.options);
14940
14635
  }
14941
14636
  /**
14942
14637
  * Push a parsing (or type checking) error into the `this.errors`
@@ -16523,12 +16218,68 @@
16523
16218
  const v = obj[key];
16524
16219
  return typeof v === 'undefined' ? null : v;
16525
16220
  }
16221
+ function coerceValue(type, value) {
16222
+ switch (type) {
16223
+ case 'string':
16224
+ return String(value);
16225
+ case 'number':
16226
+ return +value;
16227
+ case 'boolean':
16228
+ return !!value;
16229
+ case 'color':
16230
+ return Color$1.parse(value);
16231
+ }
16232
+ return value;
16233
+ }
16234
+ function clampToAllowedNumber(value, min, max, step) {
16235
+ if (step !== undefined) {
16236
+ value = step * Math.round(value / step);
16237
+ }
16238
+ if (min !== undefined && value < min) {
16239
+ value = min;
16240
+ }
16241
+ if (max !== undefined && value > max) {
16242
+ value = max;
16243
+ }
16244
+ return value;
16245
+ }
16246
+ const FQIDSeparator = '\x1F';
16526
16247
  function getConfig(ctx, key, scope) {
16527
- if (scope.length) {
16528
- key += `\u{1f}${ scope }`;
16248
+ // Create a fully qualified key from the requested scope
16249
+ // and the scope from the current evaluation context
16250
+ key = [
16251
+ key,
16252
+ scope,
16253
+ ctx.scope
16254
+ ].filter(Boolean).join(FQIDSeparator);
16255
+ const config = ctx.getConfig(key);
16256
+ if (!config)
16257
+ return null;
16258
+ const {type, value, values, minValue, maxValue, stepValue} = config;
16259
+ const defaultValue = config.default.evaluate(ctx);
16260
+ let result = defaultValue;
16261
+ if (value) {
16262
+ // temporarily override scope to parent to evaluate config expressions passed from the parent
16263
+ const originalScope = ctx.scope;
16264
+ ctx.scope = (originalScope || '').split(FQIDSeparator).slice(1).join(FQIDSeparator);
16265
+ result = value.evaluate(ctx);
16266
+ ctx.scope = originalScope;
16267
+ }
16268
+ if (type)
16269
+ result = coerceValue(type, result);
16270
+ if (value !== undefined && result !== undefined && values && !values.includes(result)) {
16271
+ result = defaultValue;
16272
+ if (type)
16273
+ result = coerceValue(type, result);
16274
+ }
16275
+ if (result !== undefined && (minValue !== undefined || maxValue !== undefined || stepValue !== undefined)) {
16276
+ if (typeof result === 'number') {
16277
+ result = clampToAllowedNumber(result, minValue, maxValue, stepValue);
16278
+ } else if (Array.isArray(result)) {
16279
+ result = result.map(item => typeof item === 'number' ? clampToAllowedNumber(item, minValue, maxValue, stepValue) : item);
16280
+ }
16529
16281
  }
16530
- const v = ctx.getConfig(key);
16531
- return v ? v.evaluate(ctx) : null;
16282
+ return result;
16532
16283
  }
16533
16284
  function binarySearch(v, a, i, j) {
16534
16285
  while (i <= j) {
@@ -16652,7 +16403,7 @@
16652
16403
  overloads: [
16653
16404
  [
16654
16405
  [StringType],
16655
- (ctx, [key]) => getConfig(ctx, key.evaluate(ctx), '')
16406
+ (ctx, [key]) => getConfig(ctx, key.evaluate(ctx))
16656
16407
  ],
16657
16408
  [
16658
16409
  [
@@ -17179,6 +16930,7 @@
17179
16930
  return !!spec.expression && spec.expression.interpolated;
17180
16931
  }
17181
16932
 
16933
+ //
17182
16934
  function isFunction(value) {
17183
16935
  return typeof value === 'object' && value !== null && !Array.isArray(value);
17184
16936
  }
@@ -17426,10 +17178,10 @@
17426
17178
  }
17427
17179
 
17428
17180
  class StyleExpression {
17429
- constructor(expression, propertySpec, options) {
17181
+ constructor(expression, propertySpec, scope, options) {
17430
17182
  this.expression = expression;
17431
17183
  this._warningHistory = {};
17432
- this._evaluator = new EvaluationContext$1(options);
17184
+ this._evaluator = new EvaluationContext$1(scope, options);
17433
17185
  this._defaultValue = propertySpec ? getDefaultValue(propertySpec) : null;
17434
17186
  this._enumValues = propertySpec && propertySpec.type === 'enum' ? propertySpec.values : null;
17435
17187
  }
@@ -17486,14 +17238,14 @@
17486
17238
  *
17487
17239
  * @private
17488
17240
  */
17489
- function createExpression(expression, propertySpec, options) {
17490
- const parser = new ParsingContext$1(definitions, [], propertySpec ? getExpectedType(propertySpec) : undefined, undefined, undefined, options);
17241
+ function createExpression(expression, propertySpec, scope, options) {
17242
+ const parser = new ParsingContext$1(definitions, [], propertySpec ? getExpectedType(propertySpec) : undefined, undefined, undefined, scope, options);
17491
17243
  // For string-valued properties, coerce to string at the top level rather than asserting.
17492
17244
  const parsed = parser.parse(expression, undefined, undefined, undefined, propertySpec && propertySpec.type === 'string' ? { typeAnnotation: 'coerce' } : undefined);
17493
17245
  if (!parsed) {
17494
17246
  return error(parser.errors);
17495
17247
  }
17496
- return success(new StyleExpression(parsed, propertySpec, options));
17248
+ return success(new StyleExpression(parsed, propertySpec, scope, options));
17497
17249
  }
17498
17250
  class ZoomConstantExpression {
17499
17251
  constructor(kind, expression, isLightConstant) {
@@ -17534,8 +17286,8 @@
17534
17286
  }
17535
17287
  }
17536
17288
  }
17537
- function createPropertyExpression(expression, propertySpec, options) {
17538
- expression = createExpression(expression, propertySpec, options);
17289
+ function createPropertyExpression(expression, propertySpec, scope, options) {
17290
+ expression = createExpression(expression, propertySpec, scope, options);
17539
17291
  if (expression.result === 'error') {
17540
17292
  return expression;
17541
17293
  }
@@ -17589,11 +17341,11 @@
17589
17341
  };
17590
17342
  }
17591
17343
  }
17592
- function normalizePropertyExpression(value, specification, options) {
17344
+ function normalizePropertyExpression(value, specification, scope, options) {
17593
17345
  if (isFunction(value)) {
17594
17346
  return new StylePropertyFunction(value, specification);
17595
17347
  } else if (isExpression(value) || Array.isArray(value) && value.length > 0) {
17596
- const expression = createPropertyExpression(value, specification, options);
17348
+ const expression = createPropertyExpression(value, specification, scope, options);
17597
17349
  if (expression.result === 'error') {
17598
17350
  // this should have been caught in validation
17599
17351
  throw new Error(expression.value.map(err => `${ err.key }: ${ err.message }`).join(', '));
@@ -18610,6 +18362,7 @@ ${ JSON.stringify(filterExp, null, 2) }
18610
18362
  return style;
18611
18363
  }
18612
18364
 
18365
+ //
18613
18366
  /**
18614
18367
  * Migrate a Mapbox GL Style to the latest version.
18615
18368
  *
@@ -18639,6 +18392,7 @@ ${ JSON.stringify(filterExp, null, 2) }
18639
18392
  return style;
18640
18393
  }
18641
18394
 
18395
+ //
18642
18396
  function composite (style) {
18643
18397
  const styleIDs = [];
18644
18398
  const sourceIDs = [];
@@ -20008,7 +19762,9 @@ ${ JSON.stringify(filterExp, null, 2) }
20008
19762
  const expression = createPropertyExpression(deepUnbundle(value), valueSpec);
20009
19763
  const expressionObj = expression.value.expression || expression.value._styleExpression.expression;
20010
19764
  if (expressionObj && !isGlobalPropertyConstant(expressionObj, ['measure-light'])) {
20011
- errors.push(new ValidationError(key, value, `${ propertyKey } does not support measure-light expressions when the model layer source is vector tile or GeoJSON.`));
19765
+ if (propertyKey !== 'model-emissive-strength' || (!isFeatureConstant(expressionObj) || !isStateConstant(expressionObj))) {
19766
+ errors.push(new ValidationError(key, value, `${ propertyKey } does not support measure-light expressions when the model layer source is vector tile or GeoJSON.`));
19767
+ }
20012
19768
  }
20013
19769
  }
20014
19770
  }
@@ -20188,19 +19944,28 @@ ${ JSON.stringify(filterExp, null, 2) }
20188
19944
  return [new ValidationError(key, value, '"type" is required')];
20189
19945
  }
20190
19946
  const type = unbundle(value.type);
20191
- let errors;
19947
+ let errors = [];
19948
+ if ([
19949
+ 'vector',
19950
+ 'raster',
19951
+ 'raster-dem'
19952
+ ].includes(type)) {
19953
+ if (!value.url && !value.tiles) {
19954
+ errors.push(new ValidationWarning(key, value, 'Either "url" or "tiles" is required.'));
19955
+ }
19956
+ }
20192
19957
  switch (type) {
20193
19958
  case 'vector':
20194
19959
  case 'raster':
20195
19960
  case 'raster-dem':
20196
- errors = validateObject({
19961
+ errors = errors.concat(validateObject({
20197
19962
  key,
20198
19963
  value,
20199
19964
  valueSpec: styleSpec[`source_${ type.replace('-', '_') }`],
20200
19965
  style: options.style,
20201
19966
  styleSpec,
20202
19967
  objectElementValidators
20203
- });
19968
+ }));
20204
19969
  return errors;
20205
19970
  case 'geojson':
20206
19971
  errors = validateObject({
@@ -20457,6 +20222,8 @@ ${ JSON.stringify(filterExp, null, 2) }
20457
20222
  const rootType = getType(terrain);
20458
20223
  if (terrain === undefined) {
20459
20224
  return errors;
20225
+ } else if (rootType === 'null') {
20226
+ return errors;
20460
20227
  } else if (rootType !== 'object') {
20461
20228
  errors = errors.concat([new ValidationError('terrain', terrain, `object expected, ${ rootType } found`)]);
20462
20229
  return errors;
@@ -21751,6 +21518,7 @@ ${ JSON.stringify(filterExp, null, 2) }
21751
21518
 
21752
21519
  var jsonlint = /*@__PURE__*/getDefaultExportFromCjs(jsonlint$1);
21753
21520
 
21521
+ //
21754
21522
  function readStyle(style) {
21755
21523
  if (style instanceof String || typeof style === 'string' || style instanceof Buffer) {
21756
21524
  try {