@mapbox/mapbox-gl-style-spec 14.17.0-beta.1 → 14.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -806,7 +806,6 @@
806
806
  length: 4,
807
807
  doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`."
808
808
  },
809
- experimental: true,
810
809
  doc: "An array of additional discrete geographic regions where tiles are available. When used alongside the `bounds` property, these regions act as an additional filter - Mapbox GL will only request tiles that are both within the `bounds` and any of the regions defined in `extra_bounds`. When used independently (without `bounds`), Mapbox GL will request tiles that fall within any of the regions in `extra_bounds`. This allows for more fine-grained control over tile requests, particularly when dealing with sparse data coverage."
811
810
  },
812
811
  scheme: {
@@ -896,7 +895,6 @@
896
895
  length: 4,
897
896
  doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`."
898
897
  },
899
- experimental: true,
900
898
  doc: "An array of additional discrete geographic regions where tiles are available. When used alongside the `bounds` property, these regions act as an additional filter - Mapbox GL will only request tiles that are both within the `bounds` and any of the regions defined in `extra_bounds`. When used independently (without `bounds`), Mapbox GL will request tiles that fall within any of the regions in `extra_bounds`. This allows for more fine-grained control over tile requests, particularly when dealing with sparse data coverage."
901
899
  },
902
900
  minzoom: {
@@ -988,7 +986,6 @@
988
986
  length: 4,
989
987
  doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`."
990
988
  },
991
- experimental: true,
992
989
  doc: "An array of additional discrete geographic regions where tiles are available. When used alongside the `bounds` property, these regions act as an additional filter - Mapbox GL will only request tiles that are both within the `bounds` and any of the regions defined in `extra_bounds`. When used independently (without `bounds`), Mapbox GL will request tiles that fall within any of the regions in `extra_bounds`. This allows for more fine-grained control over tile requests, particularly when dealing with sparse data coverage."
993
990
  },
994
991
  minzoom: {
@@ -1081,7 +1078,6 @@
1081
1078
  length: 4,
1082
1079
  doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`."
1083
1080
  },
1084
- experimental: true,
1085
1081
  doc: "An array of additional discrete geographic regions where tiles are available. When used alongside the `bounds` property, these regions act as an additional filter - Mapbox GL will only request tiles that are both within the `bounds` and any of the regions defined in `extra_bounds`. When used independently (without `bounds`), Mapbox GL will request tiles that fall within any of the regions in `extra_bounds`. This allows for more fine-grained control over tile requests, particularly when dealing with sparse data coverage."
1086
1082
  },
1087
1083
  minzoom: {
@@ -1505,7 +1501,6 @@
1505
1501
  android: "11.16.0",
1506
1502
  ios: "11.16.0"
1507
1503
  },
1508
- experimental: true,
1509
1504
  "private": true
1510
1505
  },
1511
1506
  raster: {
@@ -2098,6 +2093,7 @@
2098
2093
  },
2099
2094
  "default": "visible",
2100
2095
  doc: "Whether this layer is displayed.",
2096
+ "private": true,
2101
2097
  "sdk-support": {
2102
2098
  "basic functionality": {
2103
2099
  js: "3.16.0",
@@ -2114,7 +2110,6 @@
2114
2110
  type: "boolean",
2115
2111
  "default": false,
2116
2112
  doc: "Whether to render facade details on the buildings.",
2117
- experimental: true,
2118
2113
  "private": true,
2119
2114
  "sdk-support": {
2120
2115
  "basic functionality": {
@@ -2142,7 +2137,7 @@
2142
2137
  maximum: 200,
2143
2138
  "default": 3,
2144
2139
  doc: "Number of floors created when building-facade is enabled.",
2145
- experimental: true,
2140
+ "private": true,
2146
2141
  "property-type": "data-driven",
2147
2142
  "sdk-support": {
2148
2143
  "basic functionality": {
@@ -2172,7 +2167,7 @@
2172
2167
  maximum: 20,
2173
2168
  "default": 3.1,
2174
2169
  doc: "Width of a floor. Think of this as measure how wide each unit should be. This effectively determines the number of units per each floor. Note that this does not affect the ground level facades (i.e. number of windows).",
2175
- experimental: true,
2170
+ "private": true,
2176
2171
  "property-type": "data-driven",
2177
2172
  "sdk-support": {
2178
2173
  "basic functionality": {
@@ -2207,7 +2202,7 @@
2207
2202
  0.9
2208
2203
  ],
2209
2204
  doc: "Given as fractions, specifies the percentage of unit area covered by windows when building-facade is enabled. Note that the area of a unit is ultimately determined by `building-facade-unit-width` and `building-facade-floors`.",
2210
- experimental: true,
2205
+ "private": true,
2211
2206
  "property-type": "data-driven",
2212
2207
  "sdk-support": {
2213
2208
  "basic functionality": {
@@ -2258,7 +2253,6 @@
2258
2253
  },
2259
2254
  "default": "flat",
2260
2255
  doc: "Roof type to use for the procedural buildings.",
2261
- experimental: true,
2262
2256
  "private": true,
2263
2257
  "sdk-support": {
2264
2258
  "basic functionality": {
@@ -2287,7 +2281,6 @@
2287
2281
  units: "meters",
2288
2282
  doc: "The height of the procedural buildings.",
2289
2283
  transition: true,
2290
- experimental: true,
2291
2284
  "private": true,
2292
2285
  "sdk-support": {
2293
2286
  "basic functionality": {
@@ -2316,7 +2309,6 @@
2316
2309
  requires: [
2317
2310
  "building-height"
2318
2311
  ],
2319
- experimental: true,
2320
2312
  "private": true,
2321
2313
  "sdk-support": {
2322
2314
  "basic functionality": {
@@ -2338,7 +2330,7 @@
2338
2330
  "building-flood-light-wall-radius": {
2339
2331
  "property-type": "data-driven",
2340
2332
  type: "number",
2341
- experimental: true,
2333
+ "private": true,
2342
2334
  units: "meters",
2343
2335
  "default": 0,
2344
2336
  minimum: 0,
@@ -2370,7 +2362,7 @@
2370
2362
  "building-flood-light-ground-radius": {
2371
2363
  "property-type": "data-driven",
2372
2364
  type: "number",
2373
- experimental: true,
2365
+ "private": true,
2374
2366
  units: "meters",
2375
2367
  "default": 0,
2376
2368
  doc: "The extent of the flood light effect on the ground beneath the buildings in meters.",
@@ -2401,7 +2393,7 @@
2401
2393
  "building-flip-roof-orientation": {
2402
2394
  "property-type": "data-driven",
2403
2395
  type: "boolean",
2404
- experimental: true,
2396
+ "private": true,
2405
2397
  units: "meters",
2406
2398
  "default": false,
2407
2399
  doc: "Flips the orientation of the roofs for the buildings. This only affects simple geometries. Namely buildings whose footprints form a quadrilateral. By default (false), the roof ridge takes the direction of the longer edge of the quadrilateral.",
@@ -3560,6 +3552,7 @@
3560
3552
  requires: [
3561
3553
  "text-field"
3562
3554
  ],
3555
+ appearance: true,
3563
3556
  "sdk-support": {
3564
3557
  "basic functionality": {
3565
3558
  js: "0.10.0",
@@ -3963,6 +3956,7 @@
3963
3956
  requires: [
3964
3957
  "text-field"
3965
3958
  ],
3959
+ appearance: true,
3966
3960
  "sdk-support": {
3967
3961
  "basic functionality": {
3968
3962
  js: "0.10.0",
@@ -4094,6 +4088,7 @@
4094
4088
  "!": "text-radial-offset"
4095
4089
  }
4096
4090
  ],
4091
+ appearance: true,
4097
4092
  "sdk-support": {
4098
4093
  "basic functionality": {
4099
4094
  js: "0.10.0",
@@ -7115,7 +7110,6 @@
7115
7110
  maximum: 1,
7116
7111
  doc: "The opacity of the entire procedural buildings layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.",
7117
7112
  transition: true,
7118
- experimental: true,
7119
7113
  "private": true,
7120
7114
  "sdk-support": {
7121
7115
  "basic functionality": {
@@ -7138,7 +7132,6 @@
7138
7132
  "default": 0,
7139
7133
  minimum: 0,
7140
7134
  maximum: 1,
7141
- experimental: true,
7142
7135
  "private": true,
7143
7136
  expression: {
7144
7137
  interpolated: false,
@@ -7161,7 +7154,6 @@
7161
7154
  "default": 0,
7162
7155
  minimum: 0,
7163
7156
  maximum: 1,
7164
- experimental: true,
7165
7157
  "private": true,
7166
7158
  expression: {
7167
7159
  interpolated: true,
@@ -7182,7 +7174,6 @@
7182
7174
  "building-ambient-occlusion-ground-radius": {
7183
7175
  "property-type": "data-constant",
7184
7176
  type: "number",
7185
- experimental: true,
7186
7177
  "private": true,
7187
7178
  "default": 3,
7188
7179
  minimum: 0,
@@ -7205,7 +7196,6 @@
7205
7196
  "building-ambient-occlusion-ground-attenuation": {
7206
7197
  "property-type": "data-constant",
7207
7198
  type: "number",
7208
- experimental: true,
7209
7199
  "private": true,
7210
7200
  "default": 0.69,
7211
7201
  minimum: 0,
@@ -7229,7 +7219,6 @@
7229
7219
  "building-vertical-scale": {
7230
7220
  "property-type": "data-constant",
7231
7221
  type: "number",
7232
- experimental: true,
7233
7222
  "private": true,
7234
7223
  "default": 1,
7235
7224
  minimum: 0,
@@ -7254,7 +7243,6 @@
7254
7243
  "default": true,
7255
7244
  doc: "Enable/Disable shadow casting for this layer",
7256
7245
  transition: false,
7257
- experimental: true,
7258
7246
  "private": true,
7259
7247
  "sdk-support": {
7260
7248
  "basic functionality": {
@@ -7269,7 +7257,6 @@
7269
7257
  type: "color",
7270
7258
  "default": "rgba(193, 154, 127, 1)",
7271
7259
  doc: "Color buildings. This can be styled using different building parts (e.g. window, wall, roof).",
7272
- experimental: true,
7273
7260
  "private": true,
7274
7261
  "use-theme": true,
7275
7262
  transition: false,
@@ -7302,7 +7289,6 @@
7302
7289
  maximum: 5,
7303
7290
  units: "intensity",
7304
7291
  doc: "Controls the intensity of light emitted on the source features. 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).",
7305
- experimental: true,
7306
7292
  "private": true,
7307
7293
  "sdk-support": {
7308
7294
  "basic functionality": {
@@ -7332,7 +7318,7 @@
7332
7318
  minimum: 0,
7333
7319
  maximum: 1,
7334
7320
  doc: "Given as a fraction specifies the likelihood for the facades to be emissive when building-facade is enabled. A value of 0.0 means the window will never be emissive, while a value of 1.0 means the window will always be emissive. This can be used to create variations on a building where some windows are lit and some are not.",
7335
- experimental: true,
7321
+ "private": true,
7336
7322
  "property-type": "data-constant",
7337
7323
  "sdk-support": {
7338
7324
  "basic functionality": {
@@ -7351,6 +7337,7 @@
7351
7337
  },
7352
7338
  "building-cutoff-fade-range": {
7353
7339
  type: "number",
7340
+ "private": true,
7354
7341
  "default": 0,
7355
7342
  minimum: 0,
7356
7343
  maximum: 1,
@@ -7371,7 +7358,7 @@
7371
7358
  "building-flood-light-color": {
7372
7359
  "property-type": "data-constant",
7373
7360
  type: "color",
7374
- experimental: true,
7361
+ "private": true,
7375
7362
  "default": "#ffffff",
7376
7363
  doc: "The color of the flood light effect on the walls of the buildings.",
7377
7364
  requires: [
@@ -7397,7 +7384,7 @@
7397
7384
  "building-flood-light-intensity": {
7398
7385
  "property-type": "data-constant",
7399
7386
  type: "number",
7400
- experimental: true,
7387
+ "private": true,
7401
7388
  "default": 0,
7402
7389
  minimum: 0,
7403
7390
  maximum: 1,
@@ -7424,7 +7411,7 @@
7424
7411
  "building-flood-light-ground-attenuation": {
7425
7412
  "property-type": "data-constant",
7426
7413
  type: "number",
7427
- experimental: true,
7414
+ "private": true,
7428
7415
  "default": 0.69,
7429
7416
  minimum: 0,
7430
7417
  maximum: 1,
@@ -7950,6 +7937,11 @@
7950
7937
  js: "3.0.0",
7951
7938
  android: "11.0.0",
7952
7939
  ios: "11.0.0"
7940
+ },
7941
+ "data-driven styling": {
7942
+ js: "3.17.0",
7943
+ android: "11.17.0",
7944
+ ios: "11.17.0"
7953
7945
  }
7954
7946
  },
7955
7947
  expression: {
@@ -7959,7 +7951,7 @@
7959
7951
  "measure-light"
7960
7952
  ]
7961
7953
  },
7962
- "property-type": "data-constant"
7954
+ "property-type": "data-driven"
7963
7955
  },
7964
7956
  "line-border-width": {
7965
7957
  type: "number",
@@ -9798,7 +9790,8 @@
9798
9790
  expression: {
9799
9791
  interpolated: true,
9800
9792
  parameters: [
9801
- "zoom"
9793
+ "zoom",
9794
+ "measure-light"
9802
9795
  ]
9803
9796
  },
9804
9797
  "property-type": "data-constant"
@@ -13671,72 +13664,31 @@
13671
13664
  class ImageVariant {
13672
13665
  constructor(id, options = {}) {
13673
13666
  this.id = ImageId.from(id);
13674
- this.options = Object.assign({}, options);
13675
- if (!options.transform) {
13676
- this.options.transform = new DOMMatrix([
13677
- 1,
13678
- 0,
13679
- 0,
13680
- 1,
13681
- 0,
13682
- 0
13683
- ]);
13684
- } else {
13685
- const {a, b, c, d, e, f} = options.transform;
13686
- this.options.transform = new DOMMatrix([
13687
- a,
13688
- b,
13689
- c,
13690
- d,
13691
- e,
13692
- f
13693
- ]);
13694
- }
13667
+ this.params = options.params;
13668
+ this.sx = options.sx || 1;
13669
+ this.sy = options.sy || 1;
13695
13670
  }
13696
13671
  toString() {
13697
- const {a, b, c, d, e, f} = this.options.transform;
13698
- const serialized = {
13699
- name: this.id.name,
13700
- iconsetId: this.id.iconsetId,
13701
- params: this.options.params,
13702
- transform: {
13703
- a,
13704
- b,
13705
- c,
13706
- d,
13707
- e,
13708
- f
13709
- }
13710
- };
13711
- return JSON.stringify(serialized);
13672
+ return JSON.stringify(this);
13712
13673
  }
13713
13674
  static parse(str) {
13714
- let name, iconsetId, params, transform;
13675
+ let id, params, sx, sy;
13715
13676
  try {
13716
- ({name, iconsetId, params, transform} = JSON.parse(str) || {});
13717
- } catch (e2) {
13677
+ ({id, params, sx, sy} = JSON.parse(str) || {});
13678
+ } catch (e) {
13718
13679
  return null;
13719
13680
  }
13720
- if (!name)
13681
+ if (!id)
13721
13682
  return null;
13722
- const {a, b, c, d, e, f} = transform || {};
13723
- return new ImageVariant({
13724
- name,
13725
- iconsetId
13726
- }, {
13683
+ return new ImageVariant(id, {
13727
13684
  params,
13728
- transform: new DOMMatrix([
13729
- a,
13730
- b,
13731
- c,
13732
- d,
13733
- e,
13734
- f
13735
- ])
13685
+ sx,
13686
+ sy
13736
13687
  });
13737
13688
  }
13738
- scaleSelf(factor, yFactor) {
13739
- this.options.transform.scaleSelf(factor, yFactor);
13689
+ scaleSelf(factor, yFactor = factor) {
13690
+ this.sx *= factor;
13691
+ this.sy *= yFactor;
13740
13692
  return this;
13741
13693
  }
13742
13694
  }
@@ -19236,7 +19188,6 @@
19236
19188
  return {
19237
19189
  kind: 'composite',
19238
19190
  interpolationType,
19239
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
19240
19191
  interpolationFactor: Interpolate.interpolationFactor.bind(void 0, interpolationType),
19241
19192
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
19242
19193
  zoomStops: featureFunctionStops.map(s => s[0]),
@@ -19257,7 +19208,6 @@
19257
19208
  return {
19258
19209
  kind: 'camera',
19259
19210
  interpolationType,
19260
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
19261
19211
  interpolationFactor: Interpolate.interpolationFactor.bind(void 0, interpolationType),
19262
19212
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
19263
19213
  zoomStops: parameters.stops.map(s => s[0]),
@@ -19409,10 +19359,11 @@
19409
19359
  }
19410
19360
  return val;
19411
19361
  } catch (e) {
19412
- if (!this._warningHistory[e.message]) {
19413
- this._warningHistory[e.message] = true;
19362
+ const error2 = e;
19363
+ if (!this._warningHistory[error2.message]) {
19364
+ this._warningHistory[error2.message] = true;
19414
19365
  if (typeof console !== 'undefined') {
19415
- console.warn(`Failed to evaluate expression "${ JSON.stringify(this.expression.serialize()) }". ${ e.message }`);
19366
+ console.warn(`Failed to evaluate expression "${ JSON.stringify(this.expression.serialize()) }". ${ error2.message }`);
19416
19367
  }
19417
19368
  }
19418
19369
  return this._defaultValue;
@@ -22736,7 +22687,7 @@ Use an identity property function instead: ${ example }.`)];
22736
22687
  function requireJsonlint () {
22737
22688
  if (hasRequiredJsonlint) return jsonlint$1;
22738
22689
  hasRequiredJsonlint = 1;
22739
- (function (exports) {
22690
+ (function (exports$1) {
22740
22691
  /*
22741
22692
  Returns a Parser object of the following structure:
22742
22693
 
@@ -23780,9 +23731,9 @@ Use an identity property function instead: ${ example }.`)];
23780
23731
  return new Parser();
23781
23732
  }());
23782
23733
  if (typeof commonjsRequire !== 'undefined' && 'object' !== 'undefined') {
23783
- exports.parser = parser;
23784
- exports.Parser = parser.Parser;
23785
- exports.parse = function () {
23734
+ exports$1.parser = parser;
23735
+ exports$1.Parser = parser.Parser;
23736
+ exports$1.parse = function () {
23786
23737
  return parser.parse.apply(parser, arguments);
23787
23738
  };
23788
23739
  }