@mapbox/mapbox-gl-style-spec 14.32.0 → 14.33.0-rc.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.
@@ -13,7 +13,10 @@ import type EvaluationContext from '../evaluation_context';
13
13
  const FQIDSeparator = '\u001F';
14
14
 
15
15
  export function makeConfigFQID(id: string, ownScope?: string | null, contextScope?: string | null): string {
16
- return [id, ownScope, contextScope].filter(Boolean).join(FQIDSeparator);
16
+ let fqid = id || '';
17
+ if (ownScope) fqid = fqid ? fqid + FQIDSeparator + ownScope : ownScope;
18
+ if (contextScope) fqid = fqid ? fqid + FQIDSeparator + contextScope : contextScope;
19
+ return fqid;
17
20
  }
18
21
 
19
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -115,7 +118,9 @@ class Config implements Expression {
115
118
  if (value) {
116
119
  // temporarily override scope to parent to evaluate config expressions passed from the parent
117
120
  const originalScope = ctx.scope;
118
- ctx.scope = (originalScope || '').split(FQIDSeparator).slice(1).join(FQIDSeparator);
121
+ const scope = originalScope || '';
122
+ const sep = scope.indexOf(FQIDSeparator);
123
+ ctx.scope = sep >= 0 ? scope.slice(sep + 1) : '';
119
124
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
120
125
  result = value.evaluate(ctx);
121
126
  ctx.scope = originalScope;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapbox/mapbox-gl-style-spec",
3
- "version": "14.32.0",
3
+ "version": "14.33.0-rc.1",
4
4
  "description": "a specification for mapbox gl styles",
5
5
  "author": "Mapbox",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
package/reference/v8.json CHANGED
@@ -7371,7 +7371,7 @@
7371
7371
  "default": 1,
7372
7372
  "minimum": 0,
7373
7373
  "maximum": 1,
7374
- "doc": "The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.",
7374
+ "doc": "The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available. When consecutive `fill-extrusion` and `building` layers are semi-transparent, they are rendered together: they occlude each other and are only transparent against other layers. If another layer type is placed between them, each layer is blended separately and later layers are visible through earlier ones.",
7375
7375
  "transition": true,
7376
7376
  "sdk-support": {
7377
7377
  "basic functionality": {
@@ -8099,7 +8099,7 @@
8099
8099
  "default": 1,
8100
8100
  "minimum": 0,
8101
8101
  "maximum": 1,
8102
- "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.",
8102
+ "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. When consecutive `fill-extrusion` and `building` layers are semi-transparent, they are rendered together: they occlude each other and are only transparent against other layers. If another layer type is placed between them, each layer is blended separately and later layers are visible through earlier ones.",
8103
8103
  "transition": true,
8104
8104
  "private": true,
8105
8105
  "sdk-support": {