@mapbox/mapbox-gl-style-spec 14.20.0 → 14.21.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
@@ -7439,6 +7439,44 @@
7439
7439
  },
7440
7440
  "property-type": "data-constant"
7441
7441
  },
7442
+ "building-front-cutoff": {
7443
+ type: "array",
7444
+ "private": true,
7445
+ experimental: true,
7446
+ value: "number",
7447
+ "property-type": "data-constant",
7448
+ transition: false,
7449
+ expression: {
7450
+ interpolated: true,
7451
+ parameters: [
7452
+ "zoom"
7453
+ ]
7454
+ },
7455
+ length: 3,
7456
+ "default": [
7457
+ 0,
7458
+ 0,
7459
+ 1
7460
+ ],
7461
+ minimum: [
7462
+ 0,
7463
+ 0,
7464
+ 0
7465
+ ],
7466
+ maximum: [
7467
+ 1,
7468
+ 1,
7469
+ 1
7470
+ ],
7471
+ doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled. Note: The property has no effect on the map if terrain or globe projection is enabled.",
7472
+ "sdk-support": {
7473
+ "basic functionality": {
7474
+ js: "3.21.0",
7475
+ android: "11.21.0",
7476
+ ios: "11.21.0"
7477
+ }
7478
+ }
7479
+ },
7442
7480
  "building-flood-light-color": {
7443
7481
  "property-type": "data-constant",
7444
7482
  type: "color",
@@ -8116,6 +8154,36 @@
8116
8154
  },
8117
8155
  transition: true,
8118
8156
  "property-type": "data-constant"
8157
+ },
8158
+ "line-blend-mode": {
8159
+ type: "enum",
8160
+ values: {
8161
+ "default": {
8162
+ doc: "Normal non-blended rendering mode."
8163
+ },
8164
+ multiply: {
8165
+ doc: "Line features are composited using multiply blending."
8166
+ },
8167
+ additive: {
8168
+ doc: "Line features are composited using additive density accumulation with tone mapping."
8169
+ }
8170
+ },
8171
+ doc: "Controls the blend mode used for rendering line features.",
8172
+ "default": "default",
8173
+ experimental: true,
8174
+ "private": true,
8175
+ "sdk-support": {
8176
+ "basic functionality": {
8177
+ js: "3.21.0"
8178
+ }
8179
+ },
8180
+ expression: {
8181
+ interpolated: false,
8182
+ parameters: [
8183
+ "zoom"
8184
+ ]
8185
+ },
8186
+ "property-type": "data-constant"
8119
8187
  }
8120
8188
  };
8121
8189
  var paint_circle = {
@@ -8641,6 +8709,7 @@
8641
8709
  "measure-light"
8642
8710
  ]
8643
8711
  },
8712
+ appearance: true,
8644
8713
  "property-type": "data-driven"
8645
8714
  },
8646
8715
  "icon-occlusion-opacity": {
@@ -8674,6 +8743,7 @@
8674
8743
  "measure-light"
8675
8744
  ]
8676
8745
  },
8746
+ appearance: true,
8677
8747
  "property-type": "data-driven"
8678
8748
  },
8679
8749
  "icon-emissive-strength": {
@@ -8706,6 +8776,7 @@
8706
8776
  "feature-state"
8707
8777
  ]
8708
8778
  },
8779
+ appearance: true,
8709
8780
  "property-type": "data-driven"
8710
8781
  },
8711
8782
  "text-emissive-strength": {
@@ -8738,6 +8809,7 @@
8738
8809
  "feature-state"
8739
8810
  ]
8740
8811
  },
8812
+ appearance: true,
8741
8813
  "property-type": "data-driven"
8742
8814
  },
8743
8815
  "icon-color": {
@@ -8770,6 +8842,7 @@
8770
8842
  "measure-light"
8771
8843
  ]
8772
8844
  },
8845
+ appearance: true,
8773
8846
  "property-type": "data-driven"
8774
8847
  },
8775
8848
  "icon-halo-color": {
@@ -8802,6 +8875,7 @@
8802
8875
  "measure-light"
8803
8876
  ]
8804
8877
  },
8878
+ appearance: true,
8805
8879
  "property-type": "data-driven"
8806
8880
  },
8807
8881
  "icon-halo-width": {
@@ -8835,6 +8909,7 @@
8835
8909
  "measure-light"
8836
8910
  ]
8837
8911
  },
8912
+ appearance: true,
8838
8913
  "property-type": "data-driven"
8839
8914
  },
8840
8915
  "icon-halo-blur": {
@@ -8868,6 +8943,7 @@
8868
8943
  "measure-light"
8869
8944
  ]
8870
8945
  },
8946
+ appearance: true,
8871
8947
  "property-type": "data-driven"
8872
8948
  },
8873
8949
  "icon-translate": {
@@ -8879,6 +8955,7 @@
8879
8955
  0
8880
8956
  ],
8881
8957
  transition: true,
8958
+ appearance: true,
8882
8959
  units: "pixels",
8883
8960
  doc: "Distance that the icon's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up.",
8884
8961
  requires: [
@@ -8986,6 +9063,7 @@
8986
9063
  "measure-light"
8987
9064
  ]
8988
9065
  },
9066
+ appearance: true,
8989
9067
  "property-type": "data-driven"
8990
9068
  },
8991
9069
  "text-occlusion-opacity": {
@@ -9019,6 +9097,7 @@
9019
9097
  "measure-light"
9020
9098
  ]
9021
9099
  },
9100
+ appearance: true,
9022
9101
  "property-type": "data-driven"
9023
9102
  },
9024
9103
  "text-color": {
@@ -9052,6 +9131,7 @@
9052
9131
  "measure-light"
9053
9132
  ]
9054
9133
  },
9134
+ appearance: true,
9055
9135
  "property-type": "data-driven"
9056
9136
  },
9057
9137
  "text-halo-color": {
@@ -9084,6 +9164,7 @@
9084
9164
  "measure-light"
9085
9165
  ]
9086
9166
  },
9167
+ appearance: true,
9087
9168
  "property-type": "data-driven"
9088
9169
  },
9089
9170
  "text-halo-width": {
@@ -9117,6 +9198,7 @@
9117
9198
  "measure-light"
9118
9199
  ]
9119
9200
  },
9201
+ appearance: true,
9120
9202
  "property-type": "data-driven"
9121
9203
  },
9122
9204
  "text-halo-blur": {
@@ -9150,6 +9232,7 @@
9150
9232
  "measure-light"
9151
9233
  ]
9152
9234
  },
9235
+ appearance: true,
9153
9236
  "property-type": "data-driven"
9154
9237
  },
9155
9238
  "text-translate": {
@@ -9161,6 +9244,7 @@
9161
9244
  0
9162
9245
  ],
9163
9246
  transition: true,
9247
+ appearance: true,
9164
9248
  units: "pixels",
9165
9249
  doc: "Distance that the text's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up.",
9166
9250
  requires: [
@@ -9295,6 +9379,7 @@
9295
9379
  minimum: 0,
9296
9380
  transition: true,
9297
9381
  experimental: true,
9382
+ appearance: true,
9298
9383
  "sdk-support": {
9299
9384
  "basic functionality": {
9300
9385
  js: "3.7.0",
@@ -10627,7 +10712,7 @@
10627
10712
  1,
10628
10713
  1
10629
10714
  ],
10630
- doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled.",
10715
+ doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled. Note: The property has no effect on the map if terrain or globe projection is enabled.",
10631
10716
  "sdk-support": {
10632
10717
  "basic functionality": {
10633
10718
  js: "3.5.0"
@@ -10661,6 +10746,24 @@
10661
10746
  ios: "11.10.0"
10662
10747
  }
10663
10748
  }
10749
+ },
10750
+ "model-ignore-line-cutout": {
10751
+ type: "boolean",
10752
+ doc: "When set to true, the layer is not going to be affected by the line cutout effect.",
10753
+ "default": false,
10754
+ transition: false,
10755
+ expression: {
10756
+ interpolated: false
10757
+ },
10758
+ "property-type": "data-constant",
10759
+ experimental: true,
10760
+ "private": true,
10761
+ "sdk-support": {
10762
+ "basic functionality": {
10763
+ android: "11.21.0",
10764
+ ios: "11.21.0"
10765
+ }
10766
+ }
10664
10767
  }
10665
10768
  };
10666
10769
  var transition = {
@@ -10875,6 +10978,22 @@
10875
10978
  interpolated: false
10876
10979
  },
10877
10980
  "property-type": "constant"
10981
+ },
10982
+ "source-max-zoom": {
10983
+ type: "number",
10984
+ minimum: 0,
10985
+ maximum: 24,
10986
+ "private": true,
10987
+ experimental: true,
10988
+ doc: "The maximum zoom level at which to load and parse source tiles for this layer. When set, tiles are never loaded or re-parsed above this zoom level. At higher zoom levels, the renderer reuses tiles from this zoom level without creating overscaled variants. This reduces the number of tiles parsed and prevents tile-border artifacts for layers like fill-extrusion.",
10989
+ "sdk-support": {
10990
+ "basic functionality": {
10991
+ js: "3.21.0",
10992
+ android: "11.21.0",
10993
+ ios: "11.21.0"
10994
+ }
10995
+ },
10996
+ "property-type": "constant"
10878
10997
  }
10879
10998
  },
10880
10999
  layout_building: layout_building,
@@ -11655,6 +11774,44 @@
11655
11774
  },
11656
11775
  "property-type": "data-constant"
11657
11776
  },
11777
+ "fill-extrusion-front-cutoff": {
11778
+ type: "array",
11779
+ "private": true,
11780
+ experimental: true,
11781
+ value: "number",
11782
+ "property-type": "data-constant",
11783
+ transition: false,
11784
+ expression: {
11785
+ interpolated: true,
11786
+ parameters: [
11787
+ "zoom"
11788
+ ]
11789
+ },
11790
+ length: 3,
11791
+ "default": [
11792
+ 0,
11793
+ 0,
11794
+ 1
11795
+ ],
11796
+ minimum: [
11797
+ 0,
11798
+ 0,
11799
+ 0
11800
+ ],
11801
+ maximum: [
11802
+ 1,
11803
+ 1,
11804
+ 1
11805
+ ],
11806
+ doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled. Note: The property has no effect on the map if terrain or globe projection is enabled.",
11807
+ "sdk-support": {
11808
+ "basic functionality": {
11809
+ js: "3.21.0",
11810
+ android: "11.21.0",
11811
+ ios: "11.21.0"
11812
+ }
11813
+ }
11814
+ },
11658
11815
  "fill-extrusion-emissive-strength": {
11659
11816
  type: "number",
11660
11817
  "default": 0,
@@ -14728,8 +14885,7 @@
14728
14885
  let argParseFailed = false;
14729
14886
  for (let i = 1; i < args.length; i++) {
14730
14887
  const arg = args[i];
14731
- const expectedType = Array.isArray(params) ? params[i - 1] : // @ts-expect-error - TS2339 - Property 'type' does not exist on type 'Varargs | Evaluate'.
14732
- params.type;
14888
+ const expectedType = Array.isArray(params) ? params[i - 1] : params.type;
14733
14889
  const parsed = signatureContext.parse(arg, 1 + parsedArgs.length, expectedType);
14734
14890
  if (!parsed) {
14735
14891
  argParseFailed = true;
@@ -14794,11 +14950,15 @@
14794
14950
  this.diacriticSensitive = diacriticSensitive;
14795
14951
  }
14796
14952
  static parse(args, context) {
14797
- if (args.length !== 2)
14798
- return context.error(`Expected one argument.`);
14953
+ if (args.length !== 2) {
14954
+ context.error(`Expected one argument.`);
14955
+ return null;
14956
+ }
14799
14957
  const options = args[1];
14800
- if (typeof options !== 'object' || Array.isArray(options))
14801
- return context.error(`Collator options argument must be an object.`);
14958
+ if (typeof options !== 'object' || Array.isArray(options)) {
14959
+ context.error(`Collator options argument must be an object.`);
14960
+ return null;
14961
+ }
14802
14962
  const caseSensitive = options['case-sensitive'] === void 0 ? context.parse(false, 1, BooleanType) : context.parseObjectValue(options['case-sensitive'], 1, 'case-sensitive', BooleanType);
14803
14963
  if (!caseSensitive)
14804
14964
  return null;
@@ -17479,7 +17639,8 @@
17479
17639
  }
17480
17640
  static parse(args, context) {
17481
17641
  if (args.length < 2) {
17482
- return context.error('Expectected at least one argument.');
17642
+ context.error('Expectected at least one argument.');
17643
+ return null;
17483
17644
  }
17484
17645
  let outputType = null;
17485
17646
  const expectedType = context.expectedType;
@@ -17696,7 +17857,8 @@
17696
17857
  }
17697
17858
  static parse(args, context) {
17698
17859
  if (args.length !== 3) {
17699
- return context.error(`Expected 2 arguments, but found ${ args.length - 1 } instead.`);
17860
+ context.error(`Expected 2 arguments, but found ${ args.length - 1 } instead.`);
17861
+ return null;
17700
17862
  }
17701
17863
  const needle = context.parse(args[1], 1, ValueType);
17702
17864
  const haystack = context.parse(args[2], 2, ValueType);
@@ -17709,7 +17871,8 @@
17709
17871
  NullType,
17710
17872
  ValueType
17711
17873
  ])) {
17712
- return context.error(`Expected first argument to be of type boolean, string, number or null, but found ${ toString$1(needle.type) } instead`);
17874
+ context.error(`Expected first argument to be of type boolean, string, number or null, but found ${ toString$1(needle.type) } instead`);
17875
+ return null;
17713
17876
  }
17714
17877
  return new In(needle, haystack);
17715
17878
  }
@@ -17759,7 +17922,8 @@
17759
17922
  }
17760
17923
  static parse(args, context) {
17761
17924
  if (args.length <= 2 || args.length >= 5) {
17762
- return context.error(`Expected 3 or 4 arguments, but found ${ args.length - 1 } instead.`);
17925
+ context.error(`Expected 3 or 4 arguments, but found ${ args.length - 1 } instead.`);
17926
+ return null;
17763
17927
  }
17764
17928
  const needle = context.parse(args[1], 1, ValueType);
17765
17929
  const haystack = context.parse(args[2], 2, ValueType);
@@ -17772,7 +17936,8 @@
17772
17936
  NullType,
17773
17937
  ValueType
17774
17938
  ])) {
17775
- return context.error(`Expected first argument to be of type boolean, string, number or null, but found ${ toString$1(needle.type) } instead`);
17939
+ context.error(`Expected first argument to be of type boolean, string, number or null, but found ${ toString$1(needle.type) } instead`);
17940
+ return null;
17776
17941
  }
17777
17942
  if (args.length === 4) {
17778
17943
  const fromIndex = context.parse(args[3], 3, NumberType);
@@ -17955,10 +18120,14 @@
17955
18120
  this.otherwise = otherwise;
17956
18121
  }
17957
18122
  static parse(args, context) {
17958
- if (args.length < 4)
17959
- return context.error(`Expected at least 3 arguments, but found only ${ args.length - 1 }.`);
17960
- if (args.length % 2 !== 0)
17961
- return context.error(`Expected an odd number of arguments.`);
18123
+ if (args.length < 4) {
18124
+ context.error(`Expected at least 3 arguments, but found only ${ args.length - 1 }.`);
18125
+ return null;
18126
+ }
18127
+ if (args.length % 2 !== 0) {
18128
+ context.error(`Expected an odd number of arguments.`);
18129
+ return null;
18130
+ }
17962
18131
  let outputType;
17963
18132
  if (context.expectedType && context.expectedType.kind !== 'value') {
17964
18133
  outputType = context.expectedType;
@@ -18019,7 +18188,8 @@
18019
18188
  }
18020
18189
  static parse(args, context) {
18021
18190
  if (args.length <= 2 || args.length >= 5) {
18022
- return context.error(`Expected 3 or 4 arguments, but found ${ args.length - 1 } instead.`);
18191
+ context.error(`Expected 3 or 4 arguments, but found ${ args.length - 1 } instead.`);
18192
+ return null;
18023
18193
  }
18024
18194
  const input = context.parse(args[1], 1, ValueType);
18025
18195
  const beginIndex = context.parse(args[2], 2, NumberType);
@@ -18030,7 +18200,8 @@
18030
18200
  StringType,
18031
18201
  ValueType
18032
18202
  ])) {
18033
- return context.error(`Expected first argument to be of type array or string, but found ${ toString$1(input.type) } instead`);
18203
+ context.error(`Expected first argument to be of type array or string, but found ${ toString$1(input.type) } instead`);
18204
+ return null;
18034
18205
  }
18035
18206
  if (args.length === 4) {
18036
18207
  const endIndex = context.parse(args[3], 3, NumberType);
@@ -18374,13 +18545,17 @@
18374
18545
  this.input = input;
18375
18546
  }
18376
18547
  static parse(args, context) {
18377
- if (args.length !== 2)
18378
- return context.error(`Expected 1 argument, but found ${ args.length - 1 } instead.`);
18548
+ if (args.length !== 2) {
18549
+ context.error(`Expected 1 argument, but found ${ args.length - 1 } instead.`);
18550
+ return null;
18551
+ }
18379
18552
  const input = context.parse(args[1], 1);
18380
18553
  if (!input)
18381
18554
  return null;
18382
- if (input.type.kind !== 'array' && input.type.kind !== 'string' && input.type.kind !== 'value')
18383
- return context.error(`Expected argument of type string or array, but found ${ toString$1(input.type) } instead.`);
18555
+ if (input.type.kind !== 'array' && input.type.kind !== 'string' && input.type.kind !== 'value') {
18556
+ context.error(`Expected argument of type string or array, but found ${ toString$1(input.type) } instead.`);
18557
+ return null;
18558
+ }
18384
18559
  return new Length(input);
18385
18560
  }
18386
18561
  evaluate(ctx) {
@@ -20199,9 +20374,7 @@ ${ JSON.stringify(filterExp, null, 2) }
20199
20374
  op === '==' ? convertComparisonOp$1(filter[1], filter[2], '==') : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20200
20375
  op === '!=' ? convertNegation(convertComparisonOp$1(filter[1], filter[2], '==')) : op === '<' || op === '>' || op === '<=' || // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20201
20376
  op === '>=' ? convertComparisonOp$1(filter[1], filter[2], op) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20202
- op === 'any' ? convertDisjunctionOp(filter.slice(1)) : // @ts-expect-error - TS2769 - No overload matches this call.
20203
- op === 'all' ? ['all'].concat(filter.slice(1).map(convertFilter$1)) : // @ts-expect-error - TS2769 - No overload matches this call.
20204
- op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter$1).map(convertNegation)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20377
+ op === 'any' ? convertDisjunctionOp(filter.slice(1)) : op === 'all' ? ['all'].concat(filter.slice(1).map(convertFilter$1)) : op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter$1).map(convertNegation)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20205
20378
  op === 'in' ? convertInOp$1(filter[1], filter.slice(2)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20206
20379
  op === '!in' ? convertNegation(convertInOp$1(filter[1], filter.slice(2))) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
20207
20380
  op === 'has' ? convertHasOp$1(filter[1]) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
@@ -22260,6 +22433,7 @@ Use an identity property function instead: ${ example }.`)];
22260
22433
  expression.value.forEach(err => {
22261
22434
  errors2.push(new ValidationError(`${ key }${ err.key }`, null, `${ err.message }`));
22262
22435
  });
22436
+ return errors2;
22263
22437
  }
22264
22438
  const parsed = expression.value.expression;
22265
22439
  const onlyFeatureDependent = isGlobalPropertyConstant(parsed, [