@deck.gl/mapbox 9.2.4 → 9.2.6

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.
@@ -2,6 +2,7 @@ import { Deck, MapView, _GlobeView as GlobeView } from '@deck.gl/core';
2
2
  import type { MapViewState } from '@deck.gl/core';
3
3
  import type { Parameters } from '@luma.gl/core';
4
4
  import type MapboxLayer from "./mapbox-layer.js";
5
+ import type MapboxLayerGroup from "./mapbox-layer-group.js";
5
6
  import type { Map } from "./types.js";
6
7
  export declare function getDeckInstance({ map, gl, deck }: {
7
8
  map: Map & {
@@ -18,6 +19,7 @@ export declare function addLayer(deck: Deck, layer: MapboxLayer<any>): void;
18
19
  export declare function removeLayer(deck: Deck, layer: MapboxLayer<any>): void;
19
20
  export declare function updateLayer(deck: Deck, layer: MapboxLayer<any>): void;
20
21
  export declare function drawLayer(deck: Deck, map: Map, layer: MapboxLayer<any>, renderParameters: any): void;
22
+ export declare function drawLayerGroup(deck: Deck, map: Map, group: MapboxLayerGroup, renderParameters: any): void;
21
23
  export declare function getProjection(map: Map): 'mercator' | 'globe';
22
24
  export declare function getDefaultView(map: Map): GlobeView | MapView;
23
25
  export declare function getViewState(map: Map): MapViewState & {
@@ -1 +1 @@
1
- {"version":3,"file":"deck-utils.d.ts","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAW,YAAY,EAAQ,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,WAAW,0BAAuB;AAC9C,OAAO,KAAK,EAAC,GAAG,EAAC,mBAAgB;AAkBjC,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,EAAE,EACF,IAAI,EACL,EAAE;IACD,GAAG,EAAE,GAAG,GAAG;QAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC;IACvC,EAAE,EAAE,sBAAsB,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;CAClB,GAAG,IAAI,CAAC,GAAG,CAAC,CAmEZ;AAeD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG;IAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAC,QAGnE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,CAmB/E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAGlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAGrE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAErE;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,EACvB,gBAAgB,EAAE,GAAG,GACpB,IAAI,CAuBN;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,GAAG,OAAO,CAc5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAK5D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,GAAG;IACrD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CA6BA"}
1
+ {"version":3,"file":"deck-utils.d.ts","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAW,YAAY,EAAQ,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,WAAW,0BAAuB;AAC9C,OAAO,KAAK,gBAAgB,gCAA6B;AACzD,OAAO,KAAK,EAAoB,GAAG,EAAC,mBAAgB;AAkBpD,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,EAAE,EACF,IAAI,EACL,EAAE;IACD,GAAG,EAAE,GAAG,GAAG;QAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC;IACvC,EAAE,EAAE,sBAAsB,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;CAClB,GAAG,IAAI,CAAC,GAAG,CAAC,CAmEZ;AAeD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG;IAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAC,QAGnE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,CAmB/E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAGlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAGrE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAErE;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,EACvB,gBAAgB,EAAE,GAAG,GACpB,IAAI,CAuBN;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,GAAG,GACpB,IAAI,CA+BN;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,GAAG,OAAO,CAc5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAK5D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,GAAG;IACrD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CA6BA"}
@@ -141,6 +141,35 @@ export function drawLayer(deck, map, layer, renderParameters) {
141
141
  clearCanvas: false
142
142
  });
143
143
  }
144
+ export function drawLayerGroup(deck, map, group, renderParameters) {
145
+ let { currentViewport } = deck.userData;
146
+ let clearStack = false;
147
+ if (!currentViewport) {
148
+ // This is the first layer drawn in this render cycle.
149
+ // Generate viewport from the current map state.
150
+ currentViewport = getViewport(deck, map, renderParameters);
151
+ deck.userData.currentViewport = currentViewport;
152
+ clearStack = true;
153
+ }
154
+ if (!deck.isInitialized) {
155
+ return;
156
+ }
157
+ deck._drawLayers('mapbox-repaint', {
158
+ viewports: [currentViewport],
159
+ layerFilter: params => {
160
+ if (deck.props.layerFilter && !deck.props.layerFilter(params)) {
161
+ return false;
162
+ }
163
+ const layer = params.layer;
164
+ if (layer.props.beforeId === group.beforeId && layer.props.slot === group.slot) {
165
+ return true;
166
+ }
167
+ return false;
168
+ },
169
+ clearStack,
170
+ clearCanvas: false
171
+ });
172
+ }
144
173
  export function getProjection(map) {
145
174
  const projection = map.getProjection?.();
146
175
  const type =
@@ -1 +1 @@
1
- {"version":3,"file":"deck-utils.js","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deck-utils.js","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"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"}
package/dist/dist.dev.js CHANGED
@@ -63,7 +63,7 @@ var __exports__ = (() => {
63
63
  __reExport(bundle_exports, peer_dependency_exports);
64
64
 
65
65
  // src/mapbox-overlay.ts
66
- var import_core4 = __toESM(require_core(), 1);
66
+ var import_core6 = __toESM(require_core(), 1);
67
67
 
68
68
  // src/deck-utils.ts
69
69
  var import_core2 = __toESM(require_core(), 1);
@@ -220,6 +220,33 @@ var __exports__ = (() => {
220
220
  clearCanvas: false
221
221
  });
222
222
  }
223
+ function drawLayerGroup(deck, map, group, renderParameters) {
224
+ let { currentViewport } = deck.userData;
225
+ let clearStack = false;
226
+ if (!currentViewport) {
227
+ currentViewport = getViewport(deck, map, renderParameters);
228
+ deck.userData.currentViewport = currentViewport;
229
+ clearStack = true;
230
+ }
231
+ if (!deck.isInitialized) {
232
+ return;
233
+ }
234
+ deck._drawLayers("mapbox-repaint", {
235
+ viewports: [currentViewport],
236
+ layerFilter: (params) => {
237
+ if (deck.props.layerFilter && !deck.props.layerFilter(params)) {
238
+ return false;
239
+ }
240
+ const layer = params.layer;
241
+ if (layer.props.beforeId === group.beforeId && layer.props.slot === group.slot) {
242
+ return true;
243
+ }
244
+ return false;
245
+ },
246
+ clearStack,
247
+ clearCanvas: false
248
+ });
249
+ }
223
250
  function getProjection(map) {
224
251
  const projection = map.getProjection?.();
225
252
  const type = (
@@ -352,7 +379,7 @@ var __exports__ = (() => {
352
379
  }
353
380
 
354
381
  // src/mapbox-overlay.ts
355
- var import_core5 = __toESM(require_core(), 1);
382
+ var import_core7 = __toESM(require_core(), 1);
356
383
 
357
384
  // src/resolve-layers.ts
358
385
  var import_core3 = __toESM(require_core(), 1);
@@ -460,11 +487,96 @@ var __exports__ = (() => {
460
487
  }
461
488
  }
462
489
 
490
+ // src/resolve-layer-groups.ts
491
+ var import_core5 = __toESM(require_core(), 1);
492
+
493
+ // src/mapbox-layer-group.ts
494
+ var import_core4 = __toESM(require_core(), 1);
495
+ var MapboxLayerGroup = class {
496
+ /* eslint-disable no-this-before-super */
497
+ constructor(props) {
498
+ (0, import_core4.assert)(props.id, "id is required");
499
+ this.id = props.id;
500
+ this.type = "custom";
501
+ this.renderingMode = props.renderingMode || "3d";
502
+ this.slot = props.slot;
503
+ this.beforeId = props.beforeId;
504
+ this.map = null;
505
+ this.deck = null;
506
+ }
507
+ /* Mapbox custom layer methods */
508
+ onAdd(map, gl) {
509
+ this.map = map;
510
+ this.deck = getDeckInstance({ map, gl });
511
+ }
512
+ render(gl, renderParameters) {
513
+ if (!this.deck || !this.map)
514
+ return;
515
+ drawLayerGroup(this.deck, this.map, this, renderParameters);
516
+ }
517
+ };
518
+
519
+ // src/resolve-layer-groups.ts
520
+ var UNDEFINED_BEFORE_ID2 = "__UNDEFINED__";
521
+ function getLayerGroupId(layer) {
522
+ if (layer.props.beforeId) {
523
+ return `deck-layer-group-before:${layer.props.beforeId}`;
524
+ } else if (layer.props.slot) {
525
+ return `deck-layer-group-slot:${layer.props.slot}`;
526
+ }
527
+ return "deck-layer-group-last";
528
+ }
529
+ function resolveLayerGroups(map, oldLayers, newLayers) {
530
+ if (!map || !map.style || !map.style._loaded) {
531
+ return;
532
+ }
533
+ const layers = (0, import_core5._flatten)(newLayers, Boolean);
534
+ if (oldLayers !== newLayers) {
535
+ const prevLayers = (0, import_core5._flatten)(oldLayers, Boolean);
536
+ const prevLayerGroupIds = new Set(prevLayers.map((l) => getLayerGroupId(l)));
537
+ const newLayerGroupIds = new Set(layers.map((l) => getLayerGroupId(l)));
538
+ for (const groupId of prevLayerGroupIds) {
539
+ if (!newLayerGroupIds.has(groupId)) {
540
+ if (map.getLayer(groupId)) {
541
+ map.removeLayer(groupId);
542
+ }
543
+ }
544
+ }
545
+ }
546
+ const layerGroups = {};
547
+ for (const layer of layers) {
548
+ const groupId = getLayerGroupId(layer);
549
+ const mapboxGroup = map.getLayer(groupId);
550
+ if (mapboxGroup) {
551
+ const groupInstance = mapboxGroup.implementation || mapboxGroup;
552
+ layerGroups[groupId] = groupInstance;
553
+ } else {
554
+ const newGroup = new MapboxLayerGroup({
555
+ id: groupId,
556
+ slot: layer.props.slot,
557
+ beforeId: layer.props.beforeId
558
+ });
559
+ layerGroups[groupId] = newGroup;
560
+ map.addLayer(newGroup, layer.props.beforeId);
561
+ }
562
+ }
563
+ const mapLayers = map.style._order;
564
+ for (const [groupId, group] of Object.entries(layerGroups)) {
565
+ const beforeId = group.beforeId || UNDEFINED_BEFORE_ID2;
566
+ const expectedGroupIndex = beforeId === UNDEFINED_BEFORE_ID2 ? mapLayers.length : mapLayers.indexOf(beforeId);
567
+ const currentGropupIndex = mapLayers.indexOf(groupId);
568
+ if (currentGropupIndex !== expectedGroupIndex - 1) {
569
+ const moveBeforeId = beforeId === UNDEFINED_BEFORE_ID2 ? void 0 : beforeId;
570
+ map.moveLayer(groupId, moveBeforeId);
571
+ }
572
+ }
573
+ }
574
+
463
575
  // src/mapbox-overlay.ts
464
576
  var MapboxOverlay = class {
465
577
  constructor(props) {
466
578
  this._handleStyleChange = () => {
467
- resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);
579
+ this._resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);
468
580
  if (!this._map)
469
581
  return;
470
582
  const projection = getProjection(this._map);
@@ -558,6 +670,7 @@ var __exports__ = (() => {
558
670
  };
559
671
  const { interleaved = false } = props;
560
672
  this._interleaved = interleaved;
673
+ this._renderLayersInGroups = props._renderLayersInGroups || false;
561
674
  this._props = this.filterProps(props);
562
675
  }
563
676
  /** Filter out props to pass to Deck **/
@@ -571,7 +684,7 @@ var __exports__ = (() => {
571
684
  /** Update (partial) props of the underlying Deck instance. */
572
685
  setProps(props) {
573
686
  if (this._interleaved && props.layers) {
574
- resolveLayers(this._map, this._deck, this._props.layers, props.layers);
687
+ this._resolveLayers(this._map, this._deck, this._props.layers, props.layers);
575
688
  }
576
689
  Object.assign(this._props, this.filterProps(props));
577
690
  if (this._deck && this._map) {
@@ -601,7 +714,7 @@ var __exports__ = (() => {
601
714
  pointerEvents: "none"
602
715
  });
603
716
  this._container = container;
604
- this._deck = new import_core4.Deck({
717
+ this._deck = new import_core6.Deck({
605
718
  ...this._props,
606
719
  parent: container,
607
720
  parameters: { ...getDefaultParameters(map, false), ...this._props.parameters },
@@ -624,23 +737,30 @@ var __exports__ = (() => {
624
737
  _onAddInterleaved(map) {
625
738
  const gl = map.painter.context.gl;
626
739
  if (gl instanceof WebGLRenderingContext) {
627
- import_core5.log.warn(
740
+ import_core7.log.warn(
628
741
  "Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility"
629
742
  )();
630
743
  }
631
744
  this._deck = getDeckInstance({
632
745
  map,
633
746
  gl,
634
- deck: new import_core4.Deck({
747
+ deck: new import_core6.Deck({
635
748
  ...this._props,
636
749
  gl,
637
750
  parameters: { ...getDefaultParameters(map, true), ...this._props.parameters }
638
751
  })
639
752
  });
640
753
  map.on("styledata", this._handleStyleChange);
641
- resolveLayers(map, this._deck, [], this._props.layers);
754
+ this._resolveLayers(map, this._deck, [], this._props.layers);
642
755
  return document.createElement("div");
643
756
  }
757
+ _resolveLayers(map, deck, prevLayers, newLayers) {
758
+ if (this._renderLayersInGroups) {
759
+ resolveLayerGroups(map, prevLayers, newLayers);
760
+ } else {
761
+ resolveLayers(map, deck, prevLayers, newLayers);
762
+ }
763
+ }
644
764
  /** Called when the control is removed from a map */
645
765
  onRemove() {
646
766
  const map = this._map;
@@ -670,7 +790,7 @@ var __exports__ = (() => {
670
790
  }
671
791
  _onRemoveInterleaved(map) {
672
792
  map.off("styledata", this._handleStyleChange);
673
- resolveLayers(map, this._deck, this._props.layers, []);
793
+ this._resolveLayers(map, this._deck, this._props.layers, []);
674
794
  removeDeckInstance(map);
675
795
  }
676
796
  getDefaultPosition() {
@@ -678,17 +798,17 @@ var __exports__ = (() => {
678
798
  }
679
799
  /** Forwards the Deck.pickObject method */
680
800
  pickObject(params) {
681
- (0, import_core4.assert)(this._deck);
801
+ (0, import_core6.assert)(this._deck);
682
802
  return this._deck.pickObject(params);
683
803
  }
684
804
  /** Forwards the Deck.pickMultipleObjects method */
685
805
  pickMultipleObjects(params) {
686
- (0, import_core4.assert)(this._deck);
806
+ (0, import_core6.assert)(this._deck);
687
807
  return this._deck.pickMultipleObjects(params);
688
808
  }
689
809
  /** Forwards the Deck.pickObjects method */
690
810
  pickObjects(params) {
691
- (0, import_core4.assert)(this._deck);
811
+ (0, import_core6.assert)(this._deck);
692
812
  return this._deck.pickObjects(params);
693
813
  }
694
814
  /** Remove from map and releases all resources */
package/dist/index.cjs CHANGED
@@ -25,7 +25,7 @@ __export(dist_exports, {
25
25
  module.exports = __toCommonJS(dist_exports);
26
26
 
27
27
  // dist/mapbox-overlay.js
28
- var import_core3 = require("@deck.gl/core");
28
+ var import_core5 = require("@deck.gl/core");
29
29
 
30
30
  // dist/deck-utils.js
31
31
  var import_core = require("@deck.gl/core");
@@ -146,6 +146,33 @@ function drawLayer(deck, map, layer, renderParameters) {
146
146
  clearCanvas: false
147
147
  });
148
148
  }
149
+ function drawLayerGroup(deck, map, group, renderParameters) {
150
+ let { currentViewport } = deck.userData;
151
+ let clearStack = false;
152
+ if (!currentViewport) {
153
+ currentViewport = getViewport(deck, map, renderParameters);
154
+ deck.userData.currentViewport = currentViewport;
155
+ clearStack = true;
156
+ }
157
+ if (!deck.isInitialized) {
158
+ return;
159
+ }
160
+ deck._drawLayers("mapbox-repaint", {
161
+ viewports: [currentViewport],
162
+ layerFilter: (params) => {
163
+ if (deck.props.layerFilter && !deck.props.layerFilter(params)) {
164
+ return false;
165
+ }
166
+ const layer = params.layer;
167
+ if (layer.props.beforeId === group.beforeId && layer.props.slot === group.slot) {
168
+ return true;
169
+ }
170
+ return false;
171
+ },
172
+ clearStack,
173
+ clearCanvas: false
174
+ });
175
+ }
149
176
  function getProjection(map) {
150
177
  var _a;
151
178
  const projection = (_a = map.getProjection) == null ? void 0 : _a.call(map);
@@ -278,7 +305,7 @@ function updateLayers(deck) {
278
305
  }
279
306
 
280
307
  // dist/mapbox-overlay.js
281
- var import_core4 = require("@deck.gl/core");
308
+ var import_core6 = require("@deck.gl/core");
282
309
 
283
310
  // dist/resolve-layers.js
284
311
  var import_core2 = require("@deck.gl/core");
@@ -386,12 +413,97 @@ function resolveLayers(map, deck, oldLayers, newLayers) {
386
413
  }
387
414
  }
388
415
 
416
+ // dist/resolve-layer-groups.js
417
+ var import_core4 = require("@deck.gl/core");
418
+
419
+ // dist/mapbox-layer-group.js
420
+ var import_core3 = require("@deck.gl/core");
421
+ var MapboxLayerGroup = class {
422
+ /* eslint-disable no-this-before-super */
423
+ constructor(props) {
424
+ (0, import_core3.assert)(props.id, "id is required");
425
+ this.id = props.id;
426
+ this.type = "custom";
427
+ this.renderingMode = props.renderingMode || "3d";
428
+ this.slot = props.slot;
429
+ this.beforeId = props.beforeId;
430
+ this.map = null;
431
+ this.deck = null;
432
+ }
433
+ /* Mapbox custom layer methods */
434
+ onAdd(map, gl) {
435
+ this.map = map;
436
+ this.deck = getDeckInstance({ map, gl });
437
+ }
438
+ render(gl, renderParameters) {
439
+ if (!this.deck || !this.map)
440
+ return;
441
+ drawLayerGroup(this.deck, this.map, this, renderParameters);
442
+ }
443
+ };
444
+
445
+ // dist/resolve-layer-groups.js
446
+ var UNDEFINED_BEFORE_ID2 = "__UNDEFINED__";
447
+ function getLayerGroupId(layer) {
448
+ if (layer.props.beforeId) {
449
+ return `deck-layer-group-before:${layer.props.beforeId}`;
450
+ } else if (layer.props.slot) {
451
+ return `deck-layer-group-slot:${layer.props.slot}`;
452
+ }
453
+ return "deck-layer-group-last";
454
+ }
455
+ function resolveLayerGroups(map, oldLayers, newLayers) {
456
+ if (!map || !map.style || !map.style._loaded) {
457
+ return;
458
+ }
459
+ const layers = (0, import_core4._flatten)(newLayers, Boolean);
460
+ if (oldLayers !== newLayers) {
461
+ const prevLayers = (0, import_core4._flatten)(oldLayers, Boolean);
462
+ const prevLayerGroupIds = new Set(prevLayers.map((l) => getLayerGroupId(l)));
463
+ const newLayerGroupIds = new Set(layers.map((l) => getLayerGroupId(l)));
464
+ for (const groupId of prevLayerGroupIds) {
465
+ if (!newLayerGroupIds.has(groupId)) {
466
+ if (map.getLayer(groupId)) {
467
+ map.removeLayer(groupId);
468
+ }
469
+ }
470
+ }
471
+ }
472
+ const layerGroups = {};
473
+ for (const layer of layers) {
474
+ const groupId = getLayerGroupId(layer);
475
+ const mapboxGroup = map.getLayer(groupId);
476
+ if (mapboxGroup) {
477
+ const groupInstance = mapboxGroup.implementation || mapboxGroup;
478
+ layerGroups[groupId] = groupInstance;
479
+ } else {
480
+ const newGroup = new MapboxLayerGroup({
481
+ id: groupId,
482
+ slot: layer.props.slot,
483
+ beforeId: layer.props.beforeId
484
+ });
485
+ layerGroups[groupId] = newGroup;
486
+ map.addLayer(newGroup, layer.props.beforeId);
487
+ }
488
+ }
489
+ const mapLayers = map.style._order;
490
+ for (const [groupId, group] of Object.entries(layerGroups)) {
491
+ const beforeId = group.beforeId || UNDEFINED_BEFORE_ID2;
492
+ const expectedGroupIndex = beforeId === UNDEFINED_BEFORE_ID2 ? mapLayers.length : mapLayers.indexOf(beforeId);
493
+ const currentGropupIndex = mapLayers.indexOf(groupId);
494
+ if (currentGropupIndex !== expectedGroupIndex - 1) {
495
+ const moveBeforeId = beforeId === UNDEFINED_BEFORE_ID2 ? void 0 : beforeId;
496
+ map.moveLayer(groupId, moveBeforeId);
497
+ }
498
+ }
499
+ }
500
+
389
501
  // dist/mapbox-overlay.js
390
502
  var MapboxOverlay = class {
391
503
  constructor(props) {
392
504
  this._handleStyleChange = () => {
393
505
  var _a;
394
- resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);
506
+ this._resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);
395
507
  if (!this._map)
396
508
  return;
397
509
  const projection = getProjection(this._map);
@@ -484,6 +596,7 @@ var MapboxOverlay = class {
484
596
  };
485
597
  const { interleaved = false } = props;
486
598
  this._interleaved = interleaved;
599
+ this._renderLayersInGroups = props._renderLayersInGroups || false;
487
600
  this._props = this.filterProps(props);
488
601
  }
489
602
  /** Filter out props to pass to Deck **/
@@ -497,7 +610,7 @@ var MapboxOverlay = class {
497
610
  /** Update (partial) props of the underlying Deck instance. */
498
611
  setProps(props) {
499
612
  if (this._interleaved && props.layers) {
500
- resolveLayers(this._map, this._deck, this._props.layers, props.layers);
613
+ this._resolveLayers(this._map, this._deck, this._props.layers, props.layers);
501
614
  }
502
615
  Object.assign(this._props, this.filterProps(props));
503
616
  if (this._deck && this._map) {
@@ -527,7 +640,7 @@ var MapboxOverlay = class {
527
640
  pointerEvents: "none"
528
641
  });
529
642
  this._container = container;
530
- this._deck = new import_core3.Deck({
643
+ this._deck = new import_core5.Deck({
531
644
  ...this._props,
532
645
  parent: container,
533
646
  parameters: { ...getDefaultParameters(map, false), ...this._props.parameters },
@@ -550,21 +663,28 @@ var MapboxOverlay = class {
550
663
  _onAddInterleaved(map) {
551
664
  const gl = map.painter.context.gl;
552
665
  if (gl instanceof WebGLRenderingContext) {
553
- import_core4.log.warn("Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility")();
666
+ import_core6.log.warn("Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility")();
554
667
  }
555
668
  this._deck = getDeckInstance({
556
669
  map,
557
670
  gl,
558
- deck: new import_core3.Deck({
671
+ deck: new import_core5.Deck({
559
672
  ...this._props,
560
673
  gl,
561
674
  parameters: { ...getDefaultParameters(map, true), ...this._props.parameters }
562
675
  })
563
676
  });
564
677
  map.on("styledata", this._handleStyleChange);
565
- resolveLayers(map, this._deck, [], this._props.layers);
678
+ this._resolveLayers(map, this._deck, [], this._props.layers);
566
679
  return document.createElement("div");
567
680
  }
681
+ _resolveLayers(map, deck, prevLayers, newLayers) {
682
+ if (this._renderLayersInGroups) {
683
+ resolveLayerGroups(map, prevLayers, newLayers);
684
+ } else {
685
+ resolveLayers(map, deck, prevLayers, newLayers);
686
+ }
687
+ }
568
688
  /** Called when the control is removed from a map */
569
689
  onRemove() {
570
690
  const map = this._map;
@@ -595,7 +715,7 @@ var MapboxOverlay = class {
595
715
  }
596
716
  _onRemoveInterleaved(map) {
597
717
  map.off("styledata", this._handleStyleChange);
598
- resolveLayers(map, this._deck, this._props.layers, []);
718
+ this._resolveLayers(map, this._deck, this._props.layers, []);
599
719
  removeDeckInstance(map);
600
720
  }
601
721
  getDefaultPosition() {
@@ -603,17 +723,17 @@ var MapboxOverlay = class {
603
723
  }
604
724
  /** Forwards the Deck.pickObject method */
605
725
  pickObject(params) {
606
- (0, import_core3.assert)(this._deck);
726
+ (0, import_core5.assert)(this._deck);
607
727
  return this._deck.pickObject(params);
608
728
  }
609
729
  /** Forwards the Deck.pickMultipleObjects method */
610
730
  pickMultipleObjects(params) {
611
- (0, import_core3.assert)(this._deck);
731
+ (0, import_core5.assert)(this._deck);
612
732
  return this._deck.pickMultipleObjects(params);
613
733
  }
614
734
  /** Forwards the Deck.pickObjects method */
615
735
  pickObjects(params) {
616
- (0, import_core3.assert)(this._deck);
736
+ (0, import_core5.assert)(this._deck);
617
737
  return this._deck.pickObjects(params);
618
738
  }
619
739
  /** Remove from map and releases all resources */