@deck.gl/mapbox 9.2.0-alpha.2 → 9.2.0-alpha.3

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.
@@ -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;AAgBjC,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;AAkBD,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,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;AAkBD,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"}
@@ -3,6 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { Deck, MapView, _GlobeView as GlobeView, _flatten as flatten } from '@deck.gl/core';
5
5
  import { lngLatToWorld, unitsPerMeter } from '@math.gl/web-mercator';
6
+ const MAPBOX_VIEW_ID = 'mapbox';
6
7
  // Mercator constants
7
8
  const TILE_SIZE = 512;
8
9
  const DEGREES_TO_RADIANS = Math.PI / 180;
@@ -157,9 +158,9 @@ function getProjection(map) {
157
158
  }
158
159
  export function getDefaultView(map) {
159
160
  if (getProjection(map) === 'globe') {
160
- return new GlobeView({ id: 'mapbox' });
161
+ return new GlobeView({ id: MAPBOX_VIEW_ID });
161
162
  }
162
- return new MapView({ id: 'mapbox' });
163
+ return new MapView({ id: MAPBOX_VIEW_ID });
163
164
  }
164
165
  export function getViewState(map) {
165
166
  const { lng, lat } = map.getCenter();
@@ -219,7 +220,9 @@ function centerCameraOnTerrain(map, viewState) {
219
220
  }
220
221
  function getViewport(deck, map, renderParameters) {
221
222
  const viewState = getViewState(map);
222
- const view = getDefaultView(map);
223
+ const { views } = deck.props;
224
+ const view = (views && flatten(views).find((v) => v.id === MAPBOX_VIEW_ID)) ||
225
+ getDefaultView(map);
223
226
  if (renderParameters) {
224
227
  // Called from MapboxLayer.render
225
228
  // Magic number, matches mapbox-gl@>=1.3.0's projection matrix
@@ -249,7 +252,7 @@ function afterRender(deck, map) {
249
252
  const deckLayers = flatten(deck.props.layers, Boolean);
250
253
  const hasNonMapboxLayers = deckLayers.some(layer => layer && !mapboxLayerIds.includes(layer.id));
251
254
  let viewports = deck.getViewports();
252
- const mapboxViewportIdx = viewports.findIndex(vp => vp.id === 'mapbox');
255
+ const mapboxViewportIdx = viewports.findIndex(vp => vp.id === MAPBOX_VIEW_ID);
253
256
  const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
254
257
  if (hasNonMapboxLayers || hasNonMapboxViews) {
255
258
  if (mapboxViewportIdx >= 0) {
@@ -259,7 +262,7 @@ function afterRender(deck, map) {
259
262
  deck._drawLayers('mapbox-repaint', {
260
263
  viewports,
261
264
  layerFilter: params => (!deck.props.layerFilter || deck.props.layerFilter(params)) &&
262
- (params.viewport.id !== 'mapbox' || !mapboxLayerIds.includes(params.layer.id)),
265
+ (params.viewport.id !== MAPBOX_VIEW_ID || !mapboxLayerIds.includes(params.layer.id)),
263
266
  clearCanvas: false
264
267
  });
265
268
  }
@@ -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
@@ -101,6 +101,7 @@ var __exports__ = (() => {
101
101
  var DEGREES_TO_RADIANS2 = Math.PI / 180;
102
102
 
103
103
  // src/deck-utils.ts
104
+ var MAPBOX_VIEW_ID = "mapbox";
104
105
  var TILE_SIZE2 = 512;
105
106
  var DEGREES_TO_RADIANS3 = Math.PI / 180;
106
107
  function getDeckInstance({
@@ -236,9 +237,9 @@ var __exports__ = (() => {
236
237
  }
237
238
  function getDefaultView(map) {
238
239
  if (getProjection(map) === "globe") {
239
- return new import_core2._GlobeView({ id: "mapbox" });
240
+ return new import_core2._GlobeView({ id: MAPBOX_VIEW_ID });
240
241
  }
241
- return new import_core2.MapView({ id: "mapbox" });
242
+ return new import_core2.MapView({ id: MAPBOX_VIEW_ID });
242
243
  }
243
244
  function getViewState(map) {
244
245
  const { lng, lat } = map.getCenter();
@@ -289,7 +290,8 @@ var __exports__ = (() => {
289
290
  }
290
291
  function getViewport(deck, map, renderParameters) {
291
292
  const viewState = getViewState(map);
292
- const view = getDefaultView(map);
293
+ const { views } = deck.props;
294
+ const view = views && (0, import_core2._flatten)(views).find((v) => v.id === MAPBOX_VIEW_ID) || getDefaultView(map);
293
295
  if (renderParameters) {
294
296
  view.props.nearZMultiplier = 0.2;
295
297
  }
@@ -314,7 +316,7 @@ var __exports__ = (() => {
314
316
  (layer) => layer && !mapboxLayerIds.includes(layer.id)
315
317
  );
316
318
  let viewports = deck.getViewports();
317
- const mapboxViewportIdx = viewports.findIndex((vp) => vp.id === "mapbox");
319
+ const mapboxViewportIdx = viewports.findIndex((vp) => vp.id === MAPBOX_VIEW_ID);
318
320
  const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
319
321
  if (hasNonMapboxLayers || hasNonMapboxViews) {
320
322
  if (mapboxViewportIdx >= 0) {
@@ -323,7 +325,7 @@ var __exports__ = (() => {
323
325
  }
324
326
  deck._drawLayers("mapbox-repaint", {
325
327
  viewports,
326
- layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (params.viewport.id !== "mapbox" || !mapboxLayerIds.includes(params.layer.id)),
328
+ layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (params.viewport.id !== MAPBOX_VIEW_ID || !mapboxLayerIds.includes(params.layer.id)),
327
329
  clearCanvas: false
328
330
  });
329
331
  }
package/dist/index.cjs CHANGED
@@ -30,6 +30,7 @@ var import_core3 = require("@deck.gl/core");
30
30
  // dist/deck-utils.js
31
31
  var import_core = require("@deck.gl/core");
32
32
  var import_web_mercator = require("@math.gl/web-mercator");
33
+ var MAPBOX_VIEW_ID = "mapbox";
33
34
  var TILE_SIZE = 512;
34
35
  var DEGREES_TO_RADIANS = Math.PI / 180;
35
36
  function getDeckInstance({ map, gl, deck }) {
@@ -163,9 +164,9 @@ function getProjection(map) {
163
164
  }
164
165
  function getDefaultView(map) {
165
166
  if (getProjection(map) === "globe") {
166
- return new import_core._GlobeView({ id: "mapbox" });
167
+ return new import_core._GlobeView({ id: MAPBOX_VIEW_ID });
167
168
  }
168
- return new import_core.MapView({ id: "mapbox" });
169
+ return new import_core.MapView({ id: MAPBOX_VIEW_ID });
169
170
  }
170
171
  function getViewState(map) {
171
172
  var _a;
@@ -217,7 +218,8 @@ function centerCameraOnTerrain(map, viewState) {
217
218
  }
218
219
  function getViewport(deck, map, renderParameters) {
219
220
  const viewState = getViewState(map);
220
- const view = getDefaultView(map);
221
+ const { views } = deck.props;
222
+ const view = views && (0, import_core._flatten)(views).find((v) => v.id === MAPBOX_VIEW_ID) || getDefaultView(map);
221
223
  if (renderParameters) {
222
224
  view.props.nearZMultiplier = 0.2;
223
225
  }
@@ -240,7 +242,7 @@ function afterRender(deck, map) {
240
242
  const deckLayers = (0, import_core._flatten)(deck.props.layers, Boolean);
241
243
  const hasNonMapboxLayers = deckLayers.some((layer) => layer && !mapboxLayerIds.includes(layer.id));
242
244
  let viewports = deck.getViewports();
243
- const mapboxViewportIdx = viewports.findIndex((vp) => vp.id === "mapbox");
245
+ const mapboxViewportIdx = viewports.findIndex((vp) => vp.id === MAPBOX_VIEW_ID);
244
246
  const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
245
247
  if (hasNonMapboxLayers || hasNonMapboxViews) {
246
248
  if (mapboxViewportIdx >= 0) {
@@ -249,7 +251,7 @@ function afterRender(deck, map) {
249
251
  }
250
252
  deck._drawLayers("mapbox-repaint", {
251
253
  viewports,
252
- layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (params.viewport.id !== "mapbox" || !mapboxLayerIds.includes(params.layer.id)),
254
+ layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (params.viewport.id !== MAPBOX_VIEW_ID || !mapboxLayerIds.includes(params.layer.id)),
253
255
  clearCanvas: false
254
256
  });
255
257
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/mapbox-overlay.ts", "../src/deck-utils.ts", "../src/resolve-layers.ts", "../src/mapbox-layer.ts"],
4
- "sourcesContent": ["// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {default as MapboxOverlay} from './mapbox-overlay';\n\nexport type {MapboxOverlayProps} from './mapbox-overlay';\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Deck, assert} from '@deck.gl/core';\nimport {\n getViewState,\n getDefaultView,\n getDeckInstance,\n removeDeckInstance,\n getDefaultParameters\n} from './deck-utils';\n\nimport type {Map, IControl, MapMouseEvent, ControlPosition} from './types';\nimport type {MjolnirGestureEvent, MjolnirPointerEvent} from 'mjolnir.js';\nimport type {DeckProps} from '@deck.gl/core';\nimport {log} from '@deck.gl/core';\n\nimport {resolveLayers} from './resolve-layers';\n\nexport type MapboxOverlayProps = Omit<\n DeckProps,\n | 'width'\n | 'height'\n | 'gl'\n | 'parent'\n | 'canvas'\n | '_customRender'\n | 'viewState'\n | 'initialViewState'\n | 'controller'\n> & {\n interleaved?: boolean;\n};\n\n/**\n * Implements Mapbox [IControl](https://docs.mapbox.com/mapbox-gl-js/api/markers/#icontrol) interface\n * Renders deck.gl layers over the base map and automatically synchronizes with the map's camera\n */\nexport default class MapboxOverlay implements IControl {\n private _props: MapboxOverlayProps;\n private _deck?: Deck<any>;\n private _map?: Map;\n private _container?: HTMLDivElement;\n private _interleaved: boolean;\n private _lastMouseDownPoint?: {x: number; y: number; clientX: number; clientY: number};\n\n constructor(props: MapboxOverlayProps) {\n const {interleaved = false, ...otherProps} = props;\n this._interleaved = interleaved;\n this._props = otherProps;\n }\n\n /** Update (partial) props of the underlying Deck instance. */\n setProps(props: MapboxOverlayProps): void {\n if (this._interleaved && props.layers) {\n resolveLayers(this._map, this._deck, this._props.layers, props.layers);\n }\n\n Object.assign(this._props, props);\n\n if (this._deck && this._map) {\n this._deck.setProps({\n ...this._props,\n parameters: {\n ...getDefaultParameters(this._map, this._interleaved),\n ...this._props.parameters\n }\n });\n }\n }\n\n // The local Map type is for internal typecheck only. It does not necesarily satisefy mapbox/maplibre types at runtime.\n // Do not restrict the argument type here to avoid type conflict.\n /** Called when the control is added to a map */\n onAdd(map: unknown): HTMLDivElement {\n this._map = map as Map;\n return this._interleaved ? this._onAddInterleaved(map as Map) : this._onAddOverlaid(map as Map);\n }\n\n private _onAddOverlaid(map: Map): HTMLDivElement {\n /* global document */\n const container = document.createElement('div');\n Object.assign(container.style, {\n position: 'absolute',\n left: 0,\n top: 0,\n textAlign: 'initial',\n pointerEvents: 'none'\n });\n this._container = container;\n\n this._deck = new Deck<any>({\n ...this._props,\n parent: container,\n parameters: {...getDefaultParameters(map, false), ...this._props.parameters},\n views: this._props.views || getDefaultView(map),\n viewState: getViewState(map)\n });\n\n map.on('resize', this._updateContainerSize);\n map.on('render', this._updateViewState);\n map.on('mousedown', this._handleMouseEvent);\n map.on('dragstart', this._handleMouseEvent);\n map.on('drag', this._handleMouseEvent);\n map.on('dragend', this._handleMouseEvent);\n map.on('mousemove', this._handleMouseEvent);\n map.on('mouseout', this._handleMouseEvent);\n map.on('click', this._handleMouseEvent);\n map.on('dblclick', this._handleMouseEvent);\n\n this._updateContainerSize();\n return container;\n }\n\n private _onAddInterleaved(map: Map): HTMLDivElement {\n // @ts-ignore non-public map property\n const gl = map.painter.context.gl;\n if (gl instanceof WebGLRenderingContext) {\n log.warn(\n 'Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility'\n )();\n }\n this._deck = getDeckInstance({\n map,\n gl,\n deck: new Deck({\n ...this._props,\n gl\n })\n });\n\n map.on('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, [], this._props.layers);\n\n return document.createElement('div');\n }\n\n /** Called when the control is removed from a map */\n onRemove(): void {\n const map = this._map;\n\n if (map) {\n if (this._interleaved) {\n this._onRemoveInterleaved(map);\n } else {\n this._onRemoveOverlaid(map);\n }\n }\n\n this._deck = undefined;\n this._map = undefined;\n this._container = undefined;\n }\n\n private _onRemoveOverlaid(map: Map): void {\n map.off('resize', this._updateContainerSize);\n map.off('render', this._updateViewState);\n map.off('mousedown', this._handleMouseEvent);\n map.off('dragstart', this._handleMouseEvent);\n map.off('drag', this._handleMouseEvent);\n map.off('dragend', this._handleMouseEvent);\n map.off('mousemove', this._handleMouseEvent);\n map.off('mouseout', this._handleMouseEvent);\n map.off('click', this._handleMouseEvent);\n map.off('dblclick', this._handleMouseEvent);\n this._deck?.finalize();\n }\n\n private _onRemoveInterleaved(map: Map): void {\n map.off('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, this._props.layers, []);\n removeDeckInstance(map);\n }\n\n getDefaultPosition(): ControlPosition {\n return 'top-left';\n }\n\n /** Forwards the Deck.pickObject method */\n pickObject(params: Parameters<Deck['pickObject']>[0]): ReturnType<Deck['pickObject']> {\n assert(this._deck);\n return this._deck.pickObject(params);\n }\n\n /** Forwards the Deck.pickMultipleObjects method */\n pickMultipleObjects(\n params: Parameters<Deck['pickMultipleObjects']>[0]\n ): ReturnType<Deck['pickMultipleObjects']> {\n assert(this._deck);\n return this._deck.pickMultipleObjects(params);\n }\n\n /** Forwards the Deck.pickObjects method */\n pickObjects(params: Parameters<Deck['pickObjects']>[0]): ReturnType<Deck['pickObjects']> {\n assert(this._deck);\n return this._deck.pickObjects(params);\n }\n\n /** Remove from map and releases all resources */\n finalize() {\n if (this._map) {\n this._map.removeControl(this);\n }\n }\n\n /** If interleaved: true, returns base map's canvas, otherwise forwards the Deck.getCanvas method. */\n getCanvas(): HTMLCanvasElement | null {\n if (!this._map) {\n return null;\n }\n return this._interleaved ? this._map.getCanvas() : this._deck!.getCanvas();\n }\n\n private _handleStyleChange = () => {\n resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);\n };\n\n private _updateContainerSize = () => {\n if (this._map && this._container) {\n const {clientWidth, clientHeight} = this._map.getContainer();\n Object.assign(this._container.style, {\n width: `${clientWidth}px`,\n height: `${clientHeight}px`\n });\n }\n };\n\n private _updateViewState = () => {\n const deck = this._deck;\n const map = this._map;\n if (deck && map) {\n deck.setProps({\n views: this._props.views || getDefaultView(map),\n viewState: getViewState(map)\n });\n // Redraw immediately if view state has changed\n if (deck.isInitialized) {\n deck.redraw();\n }\n }\n };\n\n // eslint-disable-next-line complexity\n private _handleMouseEvent = (event: MapMouseEvent) => {\n const deck = this._deck;\n if (!deck || !deck.isInitialized) {\n return;\n }\n\n const mockEvent: {\n type: string;\n deltaX?: number;\n deltaY?: number;\n offsetCenter: {x: number; y: number};\n srcEvent: MapMouseEvent;\n tapCount?: number;\n } = {\n type: event.type,\n offsetCenter: event.point,\n srcEvent: event\n };\n\n const lastDown = this._lastMouseDownPoint;\n if (!event.point && lastDown) {\n // drag* events do not contain a `point` field\n mockEvent.deltaX = event.originalEvent.clientX - lastDown.clientX;\n mockEvent.deltaY = event.originalEvent.clientY - lastDown.clientY;\n mockEvent.offsetCenter = {\n x: lastDown.x + mockEvent.deltaX,\n y: lastDown.y + mockEvent.deltaY\n };\n }\n\n switch (mockEvent.type) {\n case 'mousedown':\n deck._onPointerDown(mockEvent as unknown as MjolnirPointerEvent);\n this._lastMouseDownPoint = {\n ...event.point,\n clientX: event.originalEvent.clientX,\n clientY: event.originalEvent.clientY\n };\n break;\n\n case 'dragstart':\n mockEvent.type = 'panstart';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'drag':\n mockEvent.type = 'panmove';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'dragend':\n mockEvent.type = 'panend';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'click':\n mockEvent.tapCount = 1;\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'dblclick':\n mockEvent.type = 'click';\n mockEvent.tapCount = 2;\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'mousemove':\n mockEvent.type = 'pointermove';\n deck._onPointerMove(mockEvent as unknown as MjolnirPointerEvent);\n break;\n\n case 'mouseout':\n mockEvent.type = 'pointerleave';\n deck._onPointerMove(mockEvent as unknown as MjolnirPointerEvent);\n break;\n\n default:\n return;\n }\n };\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Deck, MapView, _GlobeView as GlobeView, _flatten as flatten} from '@deck.gl/core';\nimport type {Viewport, MapViewState, Layer} from '@deck.gl/core';\nimport type {Parameters} from '@luma.gl/core';\nimport type MapboxLayer from './mapbox-layer';\nimport type {Map} from './types';\n\nimport {lngLatToWorld, unitsPerMeter} from '@math.gl/web-mercator';\n\ntype UserData = {\n isExternal: boolean;\n currentViewport?: Viewport | null;\n mapboxLayers: Set<MapboxLayer<any>>;\n // mapboxVersion: {minor: number; major: number};\n};\n\n// Mercator constants\nconst TILE_SIZE = 512;\nconst DEGREES_TO_RADIANS = Math.PI / 180;\n\n// Create an interleaved deck instance.\nexport function getDeckInstance({\n map,\n gl,\n deck\n}: {\n map: Map & {__deck?: Deck<any> | null};\n gl: WebGL2RenderingContext;\n deck?: Deck<any>;\n}): Deck<any> {\n // Only create one deck instance per context\n if (map.__deck) {\n return map.__deck;\n }\n\n // Only initialize certain props once per context\n const customRender = deck?.props._customRender;\n const onLoad = deck?.props.onLoad;\n\n const deckProps = {\n ...deck?.props,\n _customRender: () => {\n map.triggerRepaint();\n // customRender may be subscribed by DeckGL React component to update child props\n // make sure it is still called\n // Hack - do not pass a redraw reason here to prevent the React component from clearing the context\n // Rerender will be triggered by MapboxLayer's render()\n customRender?.('');\n }\n };\n deckProps.parameters = {...getDefaultParameters(map, true), ...deckProps.parameters};\n deckProps.views ||= getDefaultView(map);\n\n let deckInstance: Deck;\n\n if (!deck || deck.props.gl === gl) {\n // If deck isn't defined (Internal MapboxLayer use case),\n // or if deck is defined and is using the WebGLContext created by mapbox (MapboxOverlay and External MapboxLayer use case),\n // block deck from setting the canvas size, and use the map's viewState to drive deck.\n // Otherwise, we use deck's viewState to drive the map.\n Object.assign(deckProps, {\n gl,\n width: null,\n height: null,\n touchAction: 'unset',\n viewState: getViewState(map)\n });\n if (deck?.isInitialized) {\n watchMapMove(deck, map);\n } else {\n deckProps.onLoad = () => {\n onLoad?.();\n watchMapMove(deckInstance, map);\n };\n }\n }\n\n if (deck) {\n deckInstance = deck;\n deck.setProps(deckProps);\n (deck.userData as UserData).isExternal = true;\n } else {\n deckInstance = new Deck(deckProps);\n map.on('remove', () => {\n removeDeckInstance(map);\n });\n }\n\n (deckInstance.userData as UserData).mapboxLayers = new Set();\n // (deckInstance.userData as UserData).mapboxVersion = getMapboxVersion(map);\n map.__deck = deckInstance;\n map.on('render', () => {\n if (deckInstance.isInitialized) afterRender(deckInstance, map);\n });\n\n return deckInstance;\n}\n\nfunction watchMapMove(deck: Deck, map: Map & {__deck?: Deck | null}) {\n const _handleMapMove = () => {\n if (deck.isInitialized) {\n // call view state methods\n onMapMove(deck, map);\n } else {\n // deregister itself when deck is finalized\n map.off('move', _handleMapMove);\n }\n };\n map.on('move', _handleMapMove);\n}\n\nexport function removeDeckInstance(map: Map & {__deck?: Deck | null}) {\n map.__deck?.finalize();\n map.__deck = null;\n}\n\nexport function getDefaultParameters(map: Map, interleaved: boolean): Parameters {\n const result: Parameters = interleaved\n ? {\n depthWriteEnabled: true,\n depthCompare: 'less-equal',\n depthBias: 0,\n blend: true,\n blendColorSrcFactor: 'src-alpha',\n blendColorDstFactor: 'one-minus-src-alpha',\n blendAlphaSrcFactor: 'one',\n blendAlphaDstFactor: 'one-minus-src-alpha',\n blendColorOperation: 'add',\n blendAlphaOperation: 'add'\n }\n : {};\n if (getProjection(map) === 'globe') {\n result.cullMode = 'back';\n }\n return result;\n}\n\nexport function addLayer(deck: Deck, layer: MapboxLayer<any>): void {\n (deck.userData as UserData).mapboxLayers.add(layer);\n updateLayers(deck);\n}\n\nexport function removeLayer(deck: Deck, layer: MapboxLayer<any>): void {\n (deck.userData as UserData).mapboxLayers.delete(layer);\n updateLayers(deck);\n}\n\nexport function updateLayer(deck: Deck, layer: MapboxLayer<any>): void {\n updateLayers(deck);\n}\n\nexport function drawLayer(\n deck: Deck,\n map: Map,\n layer: MapboxLayer<any>,\n renderParameters: any\n): void {\n let {currentViewport} = deck.userData as UserData;\n let clearStack: boolean = false;\n if (!currentViewport) {\n // This is the first layer drawn in this render cycle.\n // Generate viewport from the current map state.\n currentViewport = getViewport(deck, map, renderParameters);\n (deck.userData as UserData).currentViewport = currentViewport;\n clearStack = true;\n }\n\n if (!deck.isInitialized) {\n return;\n }\n\n deck._drawLayers('mapbox-repaint', {\n viewports: [currentViewport],\n layerFilter: params =>\n (!deck.props.layerFilter || deck.props.layerFilter(params)) &&\n (layer.id === params.layer.id || params.layer.props.operation.includes('terrain')),\n clearStack,\n clearCanvas: false\n });\n}\n\nfunction getProjection(map: Map): 'mercator' | 'globe' {\n const projection = map.getProjection?.();\n const type =\n // maplibre projection spec\n projection?.type ||\n // mapbox projection spec\n projection?.name;\n if (type === 'globe') {\n return 'globe';\n }\n if (type && type !== 'mercator') {\n throw new Error('Unsupported projection');\n }\n return 'mercator';\n}\n\nexport function getDefaultView(map: Map): GlobeView | MapView {\n if (getProjection(map) === 'globe') {\n return new GlobeView({id: 'mapbox'});\n }\n return new MapView({id: 'mapbox'});\n}\n\nexport function getViewState(map: Map): MapViewState & {\n repeat: boolean;\n padding: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n} {\n const {lng, lat} = map.getCenter();\n\n const viewState: MapViewState & {\n repeat: boolean;\n padding: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n } = {\n // Longitude returned by getCenter can be outside of [-180, 180] when zooming near the anti meridian\n // https://github.com/visgl/deck.gl/issues/6894\n longitude: ((lng + 540) % 360) - 180,\n latitude: lat,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch(),\n padding: map.getPadding(),\n repeat: map.getRenderWorldCopies()\n };\n\n if (map.getTerrain?.()) {\n // When the base map has terrain, we need to target the camera at the terrain surface\n centerCameraOnTerrain(map, viewState);\n }\n\n return viewState;\n}\n\nfunction centerCameraOnTerrain(map: Map, viewState: MapViewState) {\n if (map.getFreeCameraOptions) {\n // mapbox-gl v2\n const {position} = map.getFreeCameraOptions();\n if (!position || position.z === undefined) {\n return;\n }\n\n // @ts-ignore transform is not typed\n const height = map.transform.height;\n const {longitude, latitude, pitch} = viewState;\n\n // Convert mapbox mercator coordinate to deck common space\n const cameraX = position.x * TILE_SIZE;\n const cameraY = (1 - position.y) * TILE_SIZE;\n const cameraZ = position.z * TILE_SIZE;\n\n // Mapbox manipulates zoom in terrain mode, see discussion here: https://github.com/mapbox/mapbox-gl-js/issues/12040\n const center = lngLatToWorld([longitude, latitude]);\n const dx = cameraX - center[0];\n const dy = cameraY - center[1];\n const cameraToCenterDistanceGround = Math.sqrt(dx * dx + dy * dy);\n\n const pitchRadians = pitch! * DEGREES_TO_RADIANS;\n const altitudePixels = 1.5 * height;\n const scale =\n pitchRadians < 0.001\n ? // Pitch angle too small to deduce the look at point, assume elevation is 0\n (altitudePixels * Math.cos(pitchRadians)) / cameraZ\n : (altitudePixels * Math.sin(pitchRadians)) / cameraToCenterDistanceGround;\n viewState.zoom = Math.log2(scale);\n\n const cameraZFromSurface = (altitudePixels * Math.cos(pitchRadians)) / scale;\n const surfaceElevation = cameraZ - cameraZFromSurface;\n viewState.position = [0, 0, surfaceElevation / unitsPerMeter(latitude)];\n }\n // @ts-ignore transform is not typed\n else if (typeof map.transform.elevation === 'number') {\n // maplibre-gl\n // @ts-ignore transform is not typed\n viewState.position = [0, 0, map.transform.elevation];\n }\n}\n\n// Since maplibre-gl@5\n// https://github.com/maplibre/maplibre-gl-js/blob/main/src/style/style_layer/custom_style_layer.ts\ntype MaplibreRenderParameters = {\n farZ: number;\n nearZ: number;\n fov: number;\n modelViewProjectionMatrix: number[];\n projectionMatrix: number[];\n};\n\nfunction getViewport(deck: Deck, map: Map, renderParameters?: unknown): Viewport {\n const viewState = getViewState(map);\n const view = getDefaultView(map);\n\n if (renderParameters) {\n // Called from MapboxLayer.render\n // Magic number, matches mapbox-gl@>=1.3.0's projection matrix\n view.props.nearZMultiplier = 0.2;\n }\n\n // Get the base map near/far plane\n // renderParameters is maplibre API but not mapbox\n // Transform is not an official API, properties could be undefined for older versions\n const nearZ = (renderParameters as MaplibreRenderParameters)?.nearZ ?? map.transform._nearZ;\n const farZ = (renderParameters as MaplibreRenderParameters)?.farZ ?? map.transform._farZ;\n if (Number.isFinite(nearZ)) {\n viewState.nearZ = nearZ / map.transform.height;\n viewState.farZ = farZ / map.transform.height;\n }\n // Otherwise fallback to default calculation using nearZMultiplier/farZMultiplier\n\n return view.makeViewport({\n width: deck.width,\n height: deck.height,\n viewState\n }) as Viewport;\n}\n\nfunction afterRender(deck: Deck, map: Map): void {\n const {mapboxLayers, isExternal} = deck.userData as UserData;\n\n if (isExternal) {\n // Draw non-Mapbox layers\n const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);\n const deckLayers = flatten(deck.props.layers, Boolean) as Layer[];\n const hasNonMapboxLayers = deckLayers.some(\n layer => layer && !mapboxLayerIds.includes(layer.id)\n );\n let viewports = deck.getViewports();\n const mapboxViewportIdx = viewports.findIndex(vp => vp.id === 'mapbox');\n const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;\n\n if (hasNonMapboxLayers || hasNonMapboxViews) {\n if (mapboxViewportIdx >= 0) {\n viewports = viewports.slice();\n viewports[mapboxViewportIdx] = getViewport(deck, map);\n }\n\n deck._drawLayers('mapbox-repaint', {\n viewports,\n layerFilter: params =>\n (!deck.props.layerFilter || deck.props.layerFilter(params)) &&\n (params.viewport.id !== 'mapbox' || !mapboxLayerIds.includes(params.layer.id)),\n clearCanvas: false\n });\n }\n }\n\n // End of render cycle, clear generated viewport\n (deck.userData as UserData).currentViewport = null;\n}\n\nfunction onMapMove(deck: Deck, map: Map): void {\n deck.setProps({\n viewState: getViewState(map)\n });\n // Camera changed, will trigger a map repaint right after this\n // Clear any change flag triggered by setting viewState so that deck does not request\n // a second repaint\n deck.needsRedraw({clearRedrawFlags: true});\n}\n\nfunction updateLayers(deck: Deck): void {\n if ((deck.userData as UserData).isExternal) {\n return;\n }\n\n const layers: Layer[] = [];\n (deck.userData as UserData).mapboxLayers.forEach(deckLayer => {\n const LayerType = deckLayer.props.type;\n const layer = new LayerType(deckLayer.props);\n layers.push(layer);\n });\n deck.setProps({layers});\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {_flatten as flatten} from '@deck.gl/core';\nimport MapboxLayer from './mapbox-layer';\n\nimport type {Deck, LayersList, Layer} from '@deck.gl/core';\nimport type {Map} from './types';\n\nconst UNDEFINED_BEFORE_ID = '__UNDEFINED__';\n\n/** Insert Deck layers into the mapbox Map according to the user-defined order */\n// eslint-disable-next-line complexity, max-statements\nexport function resolveLayers(\n map?: Map,\n deck?: Deck,\n oldLayers?: LayersList,\n newLayers?: LayersList\n) {\n // Wait until map style is loaded\n // @ts-ignore non-public map property\n if (!map || !deck || !map.style || !map.style._loaded) {\n return;\n }\n\n const layers = flatten(newLayers, Boolean) as Layer[];\n\n if (oldLayers !== newLayers) {\n // Step 1: remove layers that no longer exist\n const prevLayers = flatten(oldLayers, Boolean) as Layer[];\n const prevLayerIds = new Set<string>(prevLayers.map(l => l.id));\n\n for (const layer of layers) {\n prevLayerIds.delete(layer.id);\n }\n\n for (const id of prevLayerIds) {\n if (map.getLayer(id)) {\n map.removeLayer(id);\n }\n }\n }\n\n // Step 2: add missing layers\n for (const layer of layers) {\n const mapboxLayer = map.getLayer(layer.id) as MapboxLayer<Layer>;\n if (mapboxLayer) {\n // Mapbox's map.getLayer() had a breaking change in v3.6.0, see https://github.com/visgl/deck.gl/issues/9086\n // @ts-expect-error not typed\n const layerInstance = mapboxLayer.implementation || mapboxLayer;\n layerInstance.setProps(layer.props);\n } else {\n map.addLayer(\n new MapboxLayer({\n id: layer.id,\n deck,\n // @ts-expect-error slot is not defined in LayerProps\n slot: layer.props.slot\n }),\n // @ts-expect-error beforeId is not defined in LayerProps\n layer.props.beforeId\n );\n }\n }\n\n // Step 3: check the order of layers\n // If beforeId is defined, the deck layer should always render before the mapbox layer [beforeId]\n // If beforeId is not defined, the deck layer should appear after all mapbox layers\n // When two deck layers share the same beforeId, they are rendered in the order that is passed into Deck props.layers\n // @ts-ignore non-public map property\n const mapLayers: string[] = map.style._order;\n\n // Group deck layers by beforeId\n const layerGroups: Record<string, string[]> = {};\n for (const layer of layers) {\n // @ts-expect-error beforeId is not defined in LayerProps\n let {beforeId} = layer.props;\n if (!beforeId || !mapLayers.includes(beforeId)) {\n beforeId = UNDEFINED_BEFORE_ID;\n }\n layerGroups[beforeId] = layerGroups[beforeId] || [];\n layerGroups[beforeId].push(layer.id);\n }\n\n for (const beforeId in layerGroups) {\n const layerGroup = layerGroups[beforeId];\n let lastLayerIndex =\n beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);\n let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? undefined : beforeId;\n for (let i = layerGroup.length - 1; i >= 0; i--) {\n const layerId = layerGroup[i];\n const layerIndex = mapLayers.indexOf(layerId);\n if (layerIndex !== lastLayerIndex - 1) {\n map.moveLayer(layerId, lastLayerId);\n if (layerIndex > lastLayerIndex) {\n // The last layer's index have changed\n lastLayerIndex++;\n }\n }\n lastLayerIndex--;\n lastLayerId = layerId;\n }\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer} from './deck-utils';\nimport type {Map, CustomLayerInterface} from './types';\nimport type {Deck, Layer} from '@deck.gl/core';\n\nexport type MapboxLayerProps<LayerT extends Layer> = Partial<LayerT['props']> & {\n id: string;\n renderingMode?: '2d' | '3d';\n deck?: Deck;\n /* Mapbox v3 Standard style */\n slot?: 'bottom' | 'middle' | 'top';\n};\n\nexport default class MapboxLayer<LayerT extends Layer> implements CustomLayerInterface {\n id: string;\n type: 'custom';\n renderingMode: '2d' | '3d';\n /* Mapbox v3 Standard style */\n slot?: 'bottom' | 'middle' | 'top';\n map: Map | null;\n deck: Deck | null;\n props: MapboxLayerProps<LayerT>;\n\n /* eslint-disable no-this-before-super */\n constructor(props: MapboxLayerProps<LayerT>) {\n if (!props.id) {\n throw new Error('Layer must have an unique id');\n }\n\n this.id = props.id;\n this.type = 'custom';\n this.renderingMode = props.renderingMode || '3d';\n this.slot = props.slot;\n this.map = null;\n this.deck = null;\n this.props = props;\n }\n\n /* Mapbox custom layer methods */\n\n onAdd(map: Map, gl: WebGL2RenderingContext): void {\n this.map = map;\n this.deck = getDeckInstance({map, gl, deck: this.props.deck});\n addLayer(this.deck, this);\n }\n\n onRemove(): void {\n if (this.deck) {\n removeLayer(this.deck, this);\n }\n }\n\n setProps(props: MapboxLayerProps<LayerT>) {\n // id cannot be changed\n Object.assign(this.props, props, {id: this.id});\n // safe guard in case setProps is called before onAdd\n if (this.deck) {\n updateLayer(this.deck, this);\n }\n }\n\n render(gl, renderParameters) {\n drawLayer(this.deck!, this.map!, this, renderParameters);\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {default as MapboxOverlay} from './mapbox-overlay';\n\nexport type {MapboxOverlayProps} from './mapbox-overlay';\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Deck, assert} from '@deck.gl/core';\nimport {\n getViewState,\n getDefaultView,\n getDeckInstance,\n removeDeckInstance,\n getDefaultParameters\n} from './deck-utils';\n\nimport type {Map, IControl, MapMouseEvent, ControlPosition} from './types';\nimport type {MjolnirGestureEvent, MjolnirPointerEvent} from 'mjolnir.js';\nimport type {DeckProps} from '@deck.gl/core';\nimport {log} from '@deck.gl/core';\n\nimport {resolveLayers} from './resolve-layers';\n\nexport type MapboxOverlayProps = Omit<\n DeckProps,\n | 'width'\n | 'height'\n | 'gl'\n | 'parent'\n | 'canvas'\n | '_customRender'\n | 'viewState'\n | 'initialViewState'\n | 'controller'\n> & {\n interleaved?: boolean;\n};\n\n/**\n * Implements Mapbox [IControl](https://docs.mapbox.com/mapbox-gl-js/api/markers/#icontrol) interface\n * Renders deck.gl layers over the base map and automatically synchronizes with the map's camera\n */\nexport default class MapboxOverlay implements IControl {\n private _props: MapboxOverlayProps;\n private _deck?: Deck<any>;\n private _map?: Map;\n private _container?: HTMLDivElement;\n private _interleaved: boolean;\n private _lastMouseDownPoint?: {x: number; y: number; clientX: number; clientY: number};\n\n constructor(props: MapboxOverlayProps) {\n const {interleaved = false, ...otherProps} = props;\n this._interleaved = interleaved;\n this._props = otherProps;\n }\n\n /** Update (partial) props of the underlying Deck instance. */\n setProps(props: MapboxOverlayProps): void {\n if (this._interleaved && props.layers) {\n resolveLayers(this._map, this._deck, this._props.layers, props.layers);\n }\n\n Object.assign(this._props, props);\n\n if (this._deck && this._map) {\n this._deck.setProps({\n ...this._props,\n parameters: {\n ...getDefaultParameters(this._map, this._interleaved),\n ...this._props.parameters\n }\n });\n }\n }\n\n // The local Map type is for internal typecheck only. It does not necesarily satisefy mapbox/maplibre types at runtime.\n // Do not restrict the argument type here to avoid type conflict.\n /** Called when the control is added to a map */\n onAdd(map: unknown): HTMLDivElement {\n this._map = map as Map;\n return this._interleaved ? this._onAddInterleaved(map as Map) : this._onAddOverlaid(map as Map);\n }\n\n private _onAddOverlaid(map: Map): HTMLDivElement {\n /* global document */\n const container = document.createElement('div');\n Object.assign(container.style, {\n position: 'absolute',\n left: 0,\n top: 0,\n textAlign: 'initial',\n pointerEvents: 'none'\n });\n this._container = container;\n\n this._deck = new Deck<any>({\n ...this._props,\n parent: container,\n parameters: {...getDefaultParameters(map, false), ...this._props.parameters},\n views: this._props.views || getDefaultView(map),\n viewState: getViewState(map)\n });\n\n map.on('resize', this._updateContainerSize);\n map.on('render', this._updateViewState);\n map.on('mousedown', this._handleMouseEvent);\n map.on('dragstart', this._handleMouseEvent);\n map.on('drag', this._handleMouseEvent);\n map.on('dragend', this._handleMouseEvent);\n map.on('mousemove', this._handleMouseEvent);\n map.on('mouseout', this._handleMouseEvent);\n map.on('click', this._handleMouseEvent);\n map.on('dblclick', this._handleMouseEvent);\n\n this._updateContainerSize();\n return container;\n }\n\n private _onAddInterleaved(map: Map): HTMLDivElement {\n // @ts-ignore non-public map property\n const gl = map.painter.context.gl;\n if (gl instanceof WebGLRenderingContext) {\n log.warn(\n 'Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility'\n )();\n }\n this._deck = getDeckInstance({\n map,\n gl,\n deck: new Deck({\n ...this._props,\n gl\n })\n });\n\n map.on('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, [], this._props.layers);\n\n return document.createElement('div');\n }\n\n /** Called when the control is removed from a map */\n onRemove(): void {\n const map = this._map;\n\n if (map) {\n if (this._interleaved) {\n this._onRemoveInterleaved(map);\n } else {\n this._onRemoveOverlaid(map);\n }\n }\n\n this._deck = undefined;\n this._map = undefined;\n this._container = undefined;\n }\n\n private _onRemoveOverlaid(map: Map): void {\n map.off('resize', this._updateContainerSize);\n map.off('render', this._updateViewState);\n map.off('mousedown', this._handleMouseEvent);\n map.off('dragstart', this._handleMouseEvent);\n map.off('drag', this._handleMouseEvent);\n map.off('dragend', this._handleMouseEvent);\n map.off('mousemove', this._handleMouseEvent);\n map.off('mouseout', this._handleMouseEvent);\n map.off('click', this._handleMouseEvent);\n map.off('dblclick', this._handleMouseEvent);\n this._deck?.finalize();\n }\n\n private _onRemoveInterleaved(map: Map): void {\n map.off('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, this._props.layers, []);\n removeDeckInstance(map);\n }\n\n getDefaultPosition(): ControlPosition {\n return 'top-left';\n }\n\n /** Forwards the Deck.pickObject method */\n pickObject(params: Parameters<Deck['pickObject']>[0]): ReturnType<Deck['pickObject']> {\n assert(this._deck);\n return this._deck.pickObject(params);\n }\n\n /** Forwards the Deck.pickMultipleObjects method */\n pickMultipleObjects(\n params: Parameters<Deck['pickMultipleObjects']>[0]\n ): ReturnType<Deck['pickMultipleObjects']> {\n assert(this._deck);\n return this._deck.pickMultipleObjects(params);\n }\n\n /** Forwards the Deck.pickObjects method */\n pickObjects(params: Parameters<Deck['pickObjects']>[0]): ReturnType<Deck['pickObjects']> {\n assert(this._deck);\n return this._deck.pickObjects(params);\n }\n\n /** Remove from map and releases all resources */\n finalize() {\n if (this._map) {\n this._map.removeControl(this);\n }\n }\n\n /** If interleaved: true, returns base map's canvas, otherwise forwards the Deck.getCanvas method. */\n getCanvas(): HTMLCanvasElement | null {\n if (!this._map) {\n return null;\n }\n return this._interleaved ? this._map.getCanvas() : this._deck!.getCanvas();\n }\n\n private _handleStyleChange = () => {\n resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);\n };\n\n private _updateContainerSize = () => {\n if (this._map && this._container) {\n const {clientWidth, clientHeight} = this._map.getContainer();\n Object.assign(this._container.style, {\n width: `${clientWidth}px`,\n height: `${clientHeight}px`\n });\n }\n };\n\n private _updateViewState = () => {\n const deck = this._deck;\n const map = this._map;\n if (deck && map) {\n deck.setProps({\n views: this._props.views || getDefaultView(map),\n viewState: getViewState(map)\n });\n // Redraw immediately if view state has changed\n if (deck.isInitialized) {\n deck.redraw();\n }\n }\n };\n\n // eslint-disable-next-line complexity\n private _handleMouseEvent = (event: MapMouseEvent) => {\n const deck = this._deck;\n if (!deck || !deck.isInitialized) {\n return;\n }\n\n const mockEvent: {\n type: string;\n deltaX?: number;\n deltaY?: number;\n offsetCenter: {x: number; y: number};\n srcEvent: MapMouseEvent;\n tapCount?: number;\n } = {\n type: event.type,\n offsetCenter: event.point,\n srcEvent: event\n };\n\n const lastDown = this._lastMouseDownPoint;\n if (!event.point && lastDown) {\n // drag* events do not contain a `point` field\n mockEvent.deltaX = event.originalEvent.clientX - lastDown.clientX;\n mockEvent.deltaY = event.originalEvent.clientY - lastDown.clientY;\n mockEvent.offsetCenter = {\n x: lastDown.x + mockEvent.deltaX,\n y: lastDown.y + mockEvent.deltaY\n };\n }\n\n switch (mockEvent.type) {\n case 'mousedown':\n deck._onPointerDown(mockEvent as unknown as MjolnirPointerEvent);\n this._lastMouseDownPoint = {\n ...event.point,\n clientX: event.originalEvent.clientX,\n clientY: event.originalEvent.clientY\n };\n break;\n\n case 'dragstart':\n mockEvent.type = 'panstart';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'drag':\n mockEvent.type = 'panmove';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'dragend':\n mockEvent.type = 'panend';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'click':\n mockEvent.tapCount = 1;\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'dblclick':\n mockEvent.type = 'click';\n mockEvent.tapCount = 2;\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'mousemove':\n mockEvent.type = 'pointermove';\n deck._onPointerMove(mockEvent as unknown as MjolnirPointerEvent);\n break;\n\n case 'mouseout':\n mockEvent.type = 'pointerleave';\n deck._onPointerMove(mockEvent as unknown as MjolnirPointerEvent);\n break;\n\n default:\n return;\n }\n };\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Deck, MapView, _GlobeView as GlobeView, _flatten as flatten} from '@deck.gl/core';\nimport type {Viewport, MapViewState, Layer} from '@deck.gl/core';\nimport type {Parameters} from '@luma.gl/core';\nimport type MapboxLayer from './mapbox-layer';\nimport type {Map} from './types';\n\nimport {lngLatToWorld, unitsPerMeter} from '@math.gl/web-mercator';\n\nconst MAPBOX_VIEW_ID = 'mapbox';\n\ntype UserData = {\n isExternal: boolean;\n currentViewport?: Viewport | null;\n mapboxLayers: Set<MapboxLayer<any>>;\n // mapboxVersion: {minor: number; major: number};\n};\n\n// Mercator constants\nconst TILE_SIZE = 512;\nconst DEGREES_TO_RADIANS = Math.PI / 180;\n\n// Create an interleaved deck instance.\nexport function getDeckInstance({\n map,\n gl,\n deck\n}: {\n map: Map & {__deck?: Deck<any> | null};\n gl: WebGL2RenderingContext;\n deck?: Deck<any>;\n}): Deck<any> {\n // Only create one deck instance per context\n if (map.__deck) {\n return map.__deck;\n }\n\n // Only initialize certain props once per context\n const customRender = deck?.props._customRender;\n const onLoad = deck?.props.onLoad;\n\n const deckProps = {\n ...deck?.props,\n _customRender: () => {\n map.triggerRepaint();\n // customRender may be subscribed by DeckGL React component to update child props\n // make sure it is still called\n // Hack - do not pass a redraw reason here to prevent the React component from clearing the context\n // Rerender will be triggered by MapboxLayer's render()\n customRender?.('');\n }\n };\n deckProps.parameters = {...getDefaultParameters(map, true), ...deckProps.parameters};\n deckProps.views ||= getDefaultView(map);\n\n let deckInstance: Deck;\n\n if (!deck || deck.props.gl === gl) {\n // If deck isn't defined (Internal MapboxLayer use case),\n // or if deck is defined and is using the WebGLContext created by mapbox (MapboxOverlay and External MapboxLayer use case),\n // block deck from setting the canvas size, and use the map's viewState to drive deck.\n // Otherwise, we use deck's viewState to drive the map.\n Object.assign(deckProps, {\n gl,\n width: null,\n height: null,\n touchAction: 'unset',\n viewState: getViewState(map)\n });\n if (deck?.isInitialized) {\n watchMapMove(deck, map);\n } else {\n deckProps.onLoad = () => {\n onLoad?.();\n watchMapMove(deckInstance, map);\n };\n }\n }\n\n if (deck) {\n deckInstance = deck;\n deck.setProps(deckProps);\n (deck.userData as UserData).isExternal = true;\n } else {\n deckInstance = new Deck(deckProps);\n map.on('remove', () => {\n removeDeckInstance(map);\n });\n }\n\n (deckInstance.userData as UserData).mapboxLayers = new Set();\n // (deckInstance.userData as UserData).mapboxVersion = getMapboxVersion(map);\n map.__deck = deckInstance;\n map.on('render', () => {\n if (deckInstance.isInitialized) afterRender(deckInstance, map);\n });\n\n return deckInstance;\n}\n\nfunction watchMapMove(deck: Deck, map: Map & {__deck?: Deck | null}) {\n const _handleMapMove = () => {\n if (deck.isInitialized) {\n // call view state methods\n onMapMove(deck, map);\n } else {\n // deregister itself when deck is finalized\n map.off('move', _handleMapMove);\n }\n };\n map.on('move', _handleMapMove);\n}\n\nexport function removeDeckInstance(map: Map & {__deck?: Deck | null}) {\n map.__deck?.finalize();\n map.__deck = null;\n}\n\nexport function getDefaultParameters(map: Map, interleaved: boolean): Parameters {\n const result: Parameters = interleaved\n ? {\n depthWriteEnabled: true,\n depthCompare: 'less-equal',\n depthBias: 0,\n blend: true,\n blendColorSrcFactor: 'src-alpha',\n blendColorDstFactor: 'one-minus-src-alpha',\n blendAlphaSrcFactor: 'one',\n blendAlphaDstFactor: 'one-minus-src-alpha',\n blendColorOperation: 'add',\n blendAlphaOperation: 'add'\n }\n : {};\n if (getProjection(map) === 'globe') {\n result.cullMode = 'back';\n }\n return result;\n}\n\nexport function addLayer(deck: Deck, layer: MapboxLayer<any>): void {\n (deck.userData as UserData).mapboxLayers.add(layer);\n updateLayers(deck);\n}\n\nexport function removeLayer(deck: Deck, layer: MapboxLayer<any>): void {\n (deck.userData as UserData).mapboxLayers.delete(layer);\n updateLayers(deck);\n}\n\nexport function updateLayer(deck: Deck, layer: MapboxLayer<any>): void {\n updateLayers(deck);\n}\n\nexport function drawLayer(\n deck: Deck,\n map: Map,\n layer: MapboxLayer<any>,\n renderParameters: any\n): void {\n let {currentViewport} = deck.userData as UserData;\n let clearStack: boolean = false;\n if (!currentViewport) {\n // This is the first layer drawn in this render cycle.\n // Generate viewport from the current map state.\n currentViewport = getViewport(deck, map, renderParameters);\n (deck.userData as UserData).currentViewport = currentViewport;\n clearStack = true;\n }\n\n if (!deck.isInitialized) {\n return;\n }\n\n deck._drawLayers('mapbox-repaint', {\n viewports: [currentViewport],\n layerFilter: params =>\n (!deck.props.layerFilter || deck.props.layerFilter(params)) &&\n (layer.id === params.layer.id || params.layer.props.operation.includes('terrain')),\n clearStack,\n clearCanvas: false\n });\n}\n\nfunction getProjection(map: Map): 'mercator' | 'globe' {\n const projection = map.getProjection?.();\n const type =\n // maplibre projection spec\n projection?.type ||\n // mapbox projection spec\n projection?.name;\n if (type === 'globe') {\n return 'globe';\n }\n if (type && type !== 'mercator') {\n throw new Error('Unsupported projection');\n }\n return 'mercator';\n}\n\nexport function getDefaultView(map: Map): GlobeView | MapView {\n if (getProjection(map) === 'globe') {\n return new GlobeView({id: MAPBOX_VIEW_ID});\n }\n return new MapView({id: MAPBOX_VIEW_ID});\n}\n\nexport function getViewState(map: Map): MapViewState & {\n repeat: boolean;\n padding: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n} {\n const {lng, lat} = map.getCenter();\n\n const viewState: MapViewState & {\n repeat: boolean;\n padding: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n } = {\n // Longitude returned by getCenter can be outside of [-180, 180] when zooming near the anti meridian\n // https://github.com/visgl/deck.gl/issues/6894\n longitude: ((lng + 540) % 360) - 180,\n latitude: lat,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch(),\n padding: map.getPadding(),\n repeat: map.getRenderWorldCopies()\n };\n\n if (map.getTerrain?.()) {\n // When the base map has terrain, we need to target the camera at the terrain surface\n centerCameraOnTerrain(map, viewState);\n }\n\n return viewState;\n}\n\nfunction centerCameraOnTerrain(map: Map, viewState: MapViewState) {\n if (map.getFreeCameraOptions) {\n // mapbox-gl v2\n const {position} = map.getFreeCameraOptions();\n if (!position || position.z === undefined) {\n return;\n }\n\n // @ts-ignore transform is not typed\n const height = map.transform.height;\n const {longitude, latitude, pitch} = viewState;\n\n // Convert mapbox mercator coordinate to deck common space\n const cameraX = position.x * TILE_SIZE;\n const cameraY = (1 - position.y) * TILE_SIZE;\n const cameraZ = position.z * TILE_SIZE;\n\n // Mapbox manipulates zoom in terrain mode, see discussion here: https://github.com/mapbox/mapbox-gl-js/issues/12040\n const center = lngLatToWorld([longitude, latitude]);\n const dx = cameraX - center[0];\n const dy = cameraY - center[1];\n const cameraToCenterDistanceGround = Math.sqrt(dx * dx + dy * dy);\n\n const pitchRadians = pitch! * DEGREES_TO_RADIANS;\n const altitudePixels = 1.5 * height;\n const scale =\n pitchRadians < 0.001\n ? // Pitch angle too small to deduce the look at point, assume elevation is 0\n (altitudePixels * Math.cos(pitchRadians)) / cameraZ\n : (altitudePixels * Math.sin(pitchRadians)) / cameraToCenterDistanceGround;\n viewState.zoom = Math.log2(scale);\n\n const cameraZFromSurface = (altitudePixels * Math.cos(pitchRadians)) / scale;\n const surfaceElevation = cameraZ - cameraZFromSurface;\n viewState.position = [0, 0, surfaceElevation / unitsPerMeter(latitude)];\n }\n // @ts-ignore transform is not typed\n else if (typeof map.transform.elevation === 'number') {\n // maplibre-gl\n // @ts-ignore transform is not typed\n viewState.position = [0, 0, map.transform.elevation];\n }\n}\n\n// Since maplibre-gl@5\n// https://github.com/maplibre/maplibre-gl-js/blob/main/src/style/style_layer/custom_style_layer.ts\ntype MaplibreRenderParameters = {\n farZ: number;\n nearZ: number;\n fov: number;\n modelViewProjectionMatrix: number[];\n projectionMatrix: number[];\n};\n\nfunction getViewport(deck: Deck, map: Map, renderParameters?: unknown): Viewport {\n const viewState = getViewState(map);\n const {views} = deck.props;\n const view =\n (views && flatten(views).find((v: {id: string}) => v.id === MAPBOX_VIEW_ID)) ||\n getDefaultView(map);\n\n if (renderParameters) {\n // Called from MapboxLayer.render\n // Magic number, matches mapbox-gl@>=1.3.0's projection matrix\n view.props.nearZMultiplier = 0.2;\n }\n\n // Get the base map near/far plane\n // renderParameters is maplibre API but not mapbox\n // Transform is not an official API, properties could be undefined for older versions\n const nearZ = (renderParameters as MaplibreRenderParameters)?.nearZ ?? map.transform._nearZ;\n const farZ = (renderParameters as MaplibreRenderParameters)?.farZ ?? map.transform._farZ;\n if (Number.isFinite(nearZ)) {\n viewState.nearZ = nearZ / map.transform.height;\n viewState.farZ = farZ / map.transform.height;\n }\n // Otherwise fallback to default calculation using nearZMultiplier/farZMultiplier\n\n return view.makeViewport({\n width: deck.width,\n height: deck.height,\n viewState\n }) as Viewport;\n}\n\nfunction afterRender(deck: Deck, map: Map): void {\n const {mapboxLayers, isExternal} = deck.userData as UserData;\n\n if (isExternal) {\n // Draw non-Mapbox layers\n const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);\n const deckLayers = flatten(deck.props.layers, Boolean) as Layer[];\n const hasNonMapboxLayers = deckLayers.some(\n layer => layer && !mapboxLayerIds.includes(layer.id)\n );\n let viewports = deck.getViewports();\n const mapboxViewportIdx = viewports.findIndex(vp => vp.id === MAPBOX_VIEW_ID);\n const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;\n\n if (hasNonMapboxLayers || hasNonMapboxViews) {\n if (mapboxViewportIdx >= 0) {\n viewports = viewports.slice();\n viewports[mapboxViewportIdx] = getViewport(deck, map);\n }\n\n deck._drawLayers('mapbox-repaint', {\n viewports,\n layerFilter: params =>\n (!deck.props.layerFilter || deck.props.layerFilter(params)) &&\n (params.viewport.id !== MAPBOX_VIEW_ID || !mapboxLayerIds.includes(params.layer.id)),\n clearCanvas: false\n });\n }\n }\n\n // End of render cycle, clear generated viewport\n (deck.userData as UserData).currentViewport = null;\n}\n\nfunction onMapMove(deck: Deck, map: Map): void {\n deck.setProps({\n viewState: getViewState(map)\n });\n // Camera changed, will trigger a map repaint right after this\n // Clear any change flag triggered by setting viewState so that deck does not request\n // a second repaint\n deck.needsRedraw({clearRedrawFlags: true});\n}\n\nfunction updateLayers(deck: Deck): void {\n if ((deck.userData as UserData).isExternal) {\n return;\n }\n\n const layers: Layer[] = [];\n (deck.userData as UserData).mapboxLayers.forEach(deckLayer => {\n const LayerType = deckLayer.props.type;\n const layer = new LayerType(deckLayer.props);\n layers.push(layer);\n });\n deck.setProps({layers});\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {_flatten as flatten} from '@deck.gl/core';\nimport MapboxLayer from './mapbox-layer';\n\nimport type {Deck, LayersList, Layer} from '@deck.gl/core';\nimport type {Map} from './types';\n\nconst UNDEFINED_BEFORE_ID = '__UNDEFINED__';\n\n/** Insert Deck layers into the mapbox Map according to the user-defined order */\n// eslint-disable-next-line complexity, max-statements\nexport function resolveLayers(\n map?: Map,\n deck?: Deck,\n oldLayers?: LayersList,\n newLayers?: LayersList\n) {\n // Wait until map style is loaded\n // @ts-ignore non-public map property\n if (!map || !deck || !map.style || !map.style._loaded) {\n return;\n }\n\n const layers = flatten(newLayers, Boolean) as Layer[];\n\n if (oldLayers !== newLayers) {\n // Step 1: remove layers that no longer exist\n const prevLayers = flatten(oldLayers, Boolean) as Layer[];\n const prevLayerIds = new Set<string>(prevLayers.map(l => l.id));\n\n for (const layer of layers) {\n prevLayerIds.delete(layer.id);\n }\n\n for (const id of prevLayerIds) {\n if (map.getLayer(id)) {\n map.removeLayer(id);\n }\n }\n }\n\n // Step 2: add missing layers\n for (const layer of layers) {\n const mapboxLayer = map.getLayer(layer.id) as MapboxLayer<Layer>;\n if (mapboxLayer) {\n // Mapbox's map.getLayer() had a breaking change in v3.6.0, see https://github.com/visgl/deck.gl/issues/9086\n // @ts-expect-error not typed\n const layerInstance = mapboxLayer.implementation || mapboxLayer;\n layerInstance.setProps(layer.props);\n } else {\n map.addLayer(\n new MapboxLayer({\n id: layer.id,\n deck,\n // @ts-expect-error slot is not defined in LayerProps\n slot: layer.props.slot\n }),\n // @ts-expect-error beforeId is not defined in LayerProps\n layer.props.beforeId\n );\n }\n }\n\n // Step 3: check the order of layers\n // If beforeId is defined, the deck layer should always render before the mapbox layer [beforeId]\n // If beforeId is not defined, the deck layer should appear after all mapbox layers\n // When two deck layers share the same beforeId, they are rendered in the order that is passed into Deck props.layers\n // @ts-ignore non-public map property\n const mapLayers: string[] = map.style._order;\n\n // Group deck layers by beforeId\n const layerGroups: Record<string, string[]> = {};\n for (const layer of layers) {\n // @ts-expect-error beforeId is not defined in LayerProps\n let {beforeId} = layer.props;\n if (!beforeId || !mapLayers.includes(beforeId)) {\n beforeId = UNDEFINED_BEFORE_ID;\n }\n layerGroups[beforeId] = layerGroups[beforeId] || [];\n layerGroups[beforeId].push(layer.id);\n }\n\n for (const beforeId in layerGroups) {\n const layerGroup = layerGroups[beforeId];\n let lastLayerIndex =\n beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);\n let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? undefined : beforeId;\n for (let i = layerGroup.length - 1; i >= 0; i--) {\n const layerId = layerGroup[i];\n const layerIndex = mapLayers.indexOf(layerId);\n if (layerIndex !== lastLayerIndex - 1) {\n map.moveLayer(layerId, lastLayerId);\n if (layerIndex > lastLayerIndex) {\n // The last layer's index have changed\n lastLayerIndex++;\n }\n }\n lastLayerIndex--;\n lastLayerId = layerId;\n }\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer} from './deck-utils';\nimport type {Map, CustomLayerInterface} from './types';\nimport type {Deck, Layer} from '@deck.gl/core';\n\nexport type MapboxLayerProps<LayerT extends Layer> = Partial<LayerT['props']> & {\n id: string;\n renderingMode?: '2d' | '3d';\n deck?: Deck;\n /* Mapbox v3 Standard style */\n slot?: 'bottom' | 'middle' | 'top';\n};\n\nexport default class MapboxLayer<LayerT extends Layer> implements CustomLayerInterface {\n id: string;\n type: 'custom';\n renderingMode: '2d' | '3d';\n /* Mapbox v3 Standard style */\n slot?: 'bottom' | 'middle' | 'top';\n map: Map | null;\n deck: Deck | null;\n props: MapboxLayerProps<LayerT>;\n\n /* eslint-disable no-this-before-super */\n constructor(props: MapboxLayerProps<LayerT>) {\n if (!props.id) {\n throw new Error('Layer must have an unique id');\n }\n\n this.id = props.id;\n this.type = 'custom';\n this.renderingMode = props.renderingMode || '3d';\n this.slot = props.slot;\n this.map = null;\n this.deck = null;\n this.props = props;\n }\n\n /* Mapbox custom layer methods */\n\n onAdd(map: Map, gl: WebGL2RenderingContext): void {\n this.map = map;\n this.deck = getDeckInstance({map, gl, deck: this.props.deck});\n addLayer(this.deck, this);\n }\n\n onRemove(): void {\n if (this.deck) {\n removeLayer(this.deck, this);\n }\n }\n\n setProps(props: MapboxLayerProps<LayerT>) {\n // id cannot be changed\n Object.assign(this.props, props, {id: this.id});\n // safe guard in case setProps is called before onAdd\n if (this.deck) {\n updateLayer(this.deck, this);\n }\n }\n\n render(gl, renderParameters) {\n drawLayer(this.deck!, this.map!, this, renderParameters);\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_core", "GlobeView", "flatten", "import_core", "import_core", "flatten"]
7
7
  }
package/dist.min.js CHANGED
@@ -4,6 +4,6 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var it=Object.create;var S=Object.defineProperty;var st=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var ct=Object.getPrototypeOf,lt=Object.prototype.hasOwnProperty;var ut=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),pt=(e,t)=>{for(var o in t)S(e,o,{get:t[o],enumerable:!0})},j=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of at(t))!lt.call(e,r)&&r!==o&&S(e,r,{get:()=>t[r],enumerable:!(n=st(t,r))||n.enumerable});return e},d=(e,t,o)=>(j(e,t,"default"),o&&j(o,t,"default")),b=(e,t,o)=>(o=e!=null?it(ct(e)):{},j(t||!e||!e.__esModule?S(o,"default",{value:e,enumerable:!0}):o,e)),dt=e=>j(S({},"__esModule",{value:!0}),e);var f=ut((Ot,Y)=>{Y.exports=globalThis.deck});var E={};pt(E,{MapboxOverlay:()=>P});var p={},B=b(f(),1);d(p,b(f(),1));if(!B.Layer)throw new Error("@deck.gl/core is not found");d(E,p);var M=b(f(),1);var h=b(f(),1);function I(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var m=Math.PI,Mt=m/4,R=m/180,Nt=180/m,z=512,gt=4003e4;function v(e){let[t,o]=e;I(Number.isFinite(t)),I(Number.isFinite(o)&&o>=-90&&o<=90,"invalid latitude");let n=t*R,r=o*R,a=z*(n+m)/(2*m),i=z*(m+Math.log(Math.tan(Mt+r*.5)))/(2*m);return[a,i]}function V(e){let t=Math.cos(e*R);return z/gt/t}var qt=Math.PI/180;var A=512,jt=Math.PI/180;function C({map:e,gl:t,deck:o}){if(e.__deck)return e.__deck;let n=o?.props._customRender,r=o?.props.onLoad,a={...o?.props,_customRender:()=>{e.triggerRepaint(),n?.("")}};a.parameters={...F(e,!0),...a.parameters},a.views||=w(e);let i;return(!o||o.props.gl===t)&&(Object.assign(a,{gl:t,width:null,height:null,touchAction:"unset",viewState:x(e)}),o?.isInitialized?q(o,e):a.onLoad=()=>{r?.(),q(i,e)}),o?(i=o,o.setProps(a),o.userData.isExternal=!0):(i=new h.Deck(a),e.on("remove",()=>{Z(e)})),i.userData.mapboxLayers=new Set,e.__deck=i,e.on("render",()=>{i.isInitialized&&It(i,e)}),i}function q(e,t){let o=()=>{e.isInitialized?Ct(e,t):t.off("move",o)};t.on("move",o)}function Z(e){e.__deck?.finalize(),e.__deck=null}function F(e,t){let o=t?{depthWriteEnabled:!0,depthCompare:"less-equal",depthBias:0,blend:!0,blendColorSrcFactor:"src-alpha",blendColorDstFactor:"one-minus-src-alpha",blendAlphaSrcFactor:"one",blendAlphaDstFactor:"one-minus-src-alpha",blendColorOperation:"add",blendAlphaOperation:"add"}:{};return tt(e)==="globe"&&(o.cullMode="back"),o}function $(e,t){e.userData.mapboxLayers.add(t),N(e)}function J(e,t){e.userData.mapboxLayers.delete(t),N(e)}function K(e,t){N(e)}function Q(e,t,o,n){let{currentViewport:r}=e.userData,a=!1;r||(r=et(e,t,n),e.userData.currentViewport=r,a=!0),e.isInitialized&&e._drawLayers("mapbox-repaint",{viewports:[r],layerFilter:i=>(!e.props.layerFilter||e.props.layerFilter(i))&&(o.id===i.layer.id||i.layer.props.operation.includes("terrain")),clearStack:a,clearCanvas:!1})}function tt(e){let t=e.getProjection?.(),o=t?.type||t?.name;if(o==="globe")return"globe";if(o&&o!=="mercator")throw new Error("Unsupported projection");return"mercator"}function w(e){return tt(e)==="globe"?new h._GlobeView({id:"mapbox"}):new h.MapView({id:"mapbox"})}function x(e){let{lng:t,lat:o}=e.getCenter(),n={longitude:(t+540)%360-180,latitude:o,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),padding:e.getPadding(),repeat:e.getRenderWorldCopies()};return e.getTerrain?.()&&St(e,n),n}function St(e,t){if(e.getFreeCameraOptions){let{position:o}=e.getFreeCameraOptions();if(!o||o.z===void 0)return;let n=e.transform.height,{longitude:r,latitude:a,pitch:i}=t,s=o.x*A,c=(1-o.y)*A,l=o.z*A,u=v([r,a]),g=s-u[0],y=c-u[1],k=Math.sqrt(g*g+y*y),T=i*jt,O=1.5*n,G=T<.001?O*Math.cos(T)/l:O*Math.sin(T)/k;t.zoom=Math.log2(G);let nt=O*Math.cos(T)/G,rt=l-nt;t.position=[0,0,rt/V(a)]}else typeof e.transform.elevation=="number"&&(t.position=[0,0,e.transform.elevation])}function et(e,t,o){let n=x(t),r=w(t);o&&(r.props.nearZMultiplier=.2);let a=o?.nearZ??t.transform._nearZ,i=o?.farZ??t.transform._farZ;return Number.isFinite(a)&&(n.nearZ=a/t.transform.height,n.farZ=i/t.transform.height),r.makeViewport({width:e.width,height:e.height,viewState:n})}function It(e,t){let{mapboxLayers:o,isExternal:n}=e.userData;if(n){let r=Array.from(o,u=>u.id),i=(0,h._flatten)(e.props.layers,Boolean).some(u=>u&&!r.includes(u.id)),s=e.getViewports(),c=s.findIndex(u=>u.id==="mapbox"),l=s.length>1||c<0;(i||l)&&(c>=0&&(s=s.slice(),s[c]=et(e,t)),e._drawLayers("mapbox-repaint",{viewports:s,layerFilter:u=>(!e.props.layerFilter||e.props.layerFilter(u))&&(u.viewport.id!=="mapbox"||!r.includes(u.layer.id)),clearCanvas:!1}))}e.userData.currentViewport=null}function Ct(e,t){e.setProps({viewState:x(t)}),e.needsRedraw({clearRedrawFlags:!0})}function N(e){if(e.userData.isExternal)return;let t=[];e.userData.mapboxLayers.forEach(o=>{let n=o.props.type,r=new n(o.props);t.push(r)}),e.setProps({layers:t})}var ot=b(f(),1);var X=b(f(),1);var L=class{constructor(t){if(!t.id)throw new Error("Layer must have an unique id");this.id=t.id,this.type="custom",this.renderingMode=t.renderingMode||"3d",this.slot=t.slot,this.map=null,this.deck=null,this.props=t}onAdd(t,o){this.map=t,this.deck=C({map:t,gl:o,deck:this.props.deck}),$(this.deck,this)}onRemove(){this.deck&&J(this.deck,this)}setProps(t){Object.assign(this.props,t,{id:this.id}),this.deck&&K(this.deck,this)}render(t,o){Q(this.deck,this.map,this,o)}};var U="__UNDEFINED__";function D(e,t,o,n){if(!e||!t||!e.style||!e.style._loaded)return;let r=(0,X._flatten)(n,Boolean);if(o!==n){let s=(0,X._flatten)(o,Boolean),c=new Set(s.map(l=>l.id));for(let l of r)c.delete(l.id);for(let l of c)e.getLayer(l)&&e.removeLayer(l)}for(let s of r){let c=e.getLayer(s.id);c?(c.implementation||c).setProps(s.props):e.addLayer(new L({id:s.id,deck:t,slot:s.props.slot}),s.props.beforeId)}let a=e.style._order,i={};for(let s of r){let{beforeId:c}=s.props;(!c||!a.includes(c))&&(c=U),i[c]=i[c]||[],i[c].push(s.id)}for(let s in i){let c=i[s],l=s===U?a.length:a.indexOf(s),u=s===U?void 0:s;for(let g=c.length-1;g>=0;g--){let y=c[g],k=a.indexOf(y);k!==l-1&&(e.moveLayer(y,u),k>l&&l++),l--,u=y}}}var P=class{constructor(t){this._handleStyleChange=()=>{D(this._map,this._deck,this._props.layers,this._props.layers)};this._updateContainerSize=()=>{if(this._map&&this._container){let{clientWidth:t,clientHeight:o}=this._map.getContainer();Object.assign(this._container.style,{width:`${t}px`,height:`${o}px`})}};this._updateViewState=()=>{let t=this._deck,o=this._map;t&&o&&(t.setProps({views:this._props.views||w(o),viewState:x(o)}),t.isInitialized&&t.redraw())};this._handleMouseEvent=t=>{let o=this._deck;if(!o||!o.isInitialized)return;let n={type:t.type,offsetCenter:t.point,srcEvent:t},r=this._lastMouseDownPoint;switch(!t.point&&r&&(n.deltaX=t.originalEvent.clientX-r.clientX,n.deltaY=t.originalEvent.clientY-r.clientY,n.offsetCenter={x:r.x+n.deltaX,y:r.y+n.deltaY}),n.type){case"mousedown":o._onPointerDown(n),this._lastMouseDownPoint={...t.point,clientX:t.originalEvent.clientX,clientY:t.originalEvent.clientY};break;case"dragstart":n.type="panstart",o._onEvent(n);break;case"drag":n.type="panmove",o._onEvent(n);break;case"dragend":n.type="panend",o._onEvent(n);break;case"click":n.tapCount=1,o._onEvent(n);break;case"dblclick":n.type="click",n.tapCount=2,o._onEvent(n);break;case"mousemove":n.type="pointermove",o._onPointerMove(n);break;case"mouseout":n.type="pointerleave",o._onPointerMove(n);break;default:return}};let{interleaved:o=!1,...n}=t;this._interleaved=o,this._props=n}setProps(t){this._interleaved&&t.layers&&D(this._map,this._deck,this._props.layers,t.layers),Object.assign(this._props,t),this._deck&&this._map&&this._deck.setProps({...this._props,parameters:{...F(this._map,this._interleaved),...this._props.parameters}})}onAdd(t){return this._map=t,this._interleaved?this._onAddInterleaved(t):this._onAddOverlaid(t)}_onAddOverlaid(t){let o=document.createElement("div");return Object.assign(o.style,{position:"absolute",left:0,top:0,textAlign:"initial",pointerEvents:"none"}),this._container=o,this._deck=new M.Deck({...this._props,parent:o,parameters:{...F(t,!1),...this._props.parameters},views:this._props.views||w(t),viewState:x(t)}),t.on("resize",this._updateContainerSize),t.on("render",this._updateViewState),t.on("mousedown",this._handleMouseEvent),t.on("dragstart",this._handleMouseEvent),t.on("drag",this._handleMouseEvent),t.on("dragend",this._handleMouseEvent),t.on("mousemove",this._handleMouseEvent),t.on("mouseout",this._handleMouseEvent),t.on("click",this._handleMouseEvent),t.on("dblclick",this._handleMouseEvent),this._updateContainerSize(),o}_onAddInterleaved(t){let o=t.painter.context.gl;return o instanceof WebGLRenderingContext&&ot.log.warn("Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility")(),this._deck=C({map:t,gl:o,deck:new M.Deck({...this._props,gl:o})}),t.on("styledata",this._handleStyleChange),D(t,this._deck,[],this._props.layers),document.createElement("div")}onRemove(){let t=this._map;t&&(this._interleaved?this._onRemoveInterleaved(t):this._onRemoveOverlaid(t)),this._deck=void 0,this._map=void 0,this._container=void 0}_onRemoveOverlaid(t){t.off("resize",this._updateContainerSize),t.off("render",this._updateViewState),t.off("mousedown",this._handleMouseEvent),t.off("dragstart",this._handleMouseEvent),t.off("drag",this._handleMouseEvent),t.off("dragend",this._handleMouseEvent),t.off("mousemove",this._handleMouseEvent),t.off("mouseout",this._handleMouseEvent),t.off("click",this._handleMouseEvent),t.off("dblclick",this._handleMouseEvent),this._deck?.finalize()}_onRemoveInterleaved(t){t.off("styledata",this._handleStyleChange),D(t,this._deck,this._props.layers,[]),Z(t)}getDefaultPosition(){return"top-left"}pickObject(t){return(0,M.assert)(this._deck),this._deck.pickObject(t)}pickMultipleObjects(t){return(0,M.assert)(this._deck),this._deck.pickMultipleObjects(t)}pickObjects(t){return(0,M.assert)(this._deck),this._deck.pickObjects(t)}finalize(){this._map&&this._map.removeControl(this)}getCanvas(){return this._map?this._interleaved?this._map.getCanvas():this._deck.getCanvas():null}};return dt(E);})();
7
+ "use strict";var __exports__=(()=>{var st=Object.create;var S=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var ct=Object.getOwnPropertyNames;var lt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty;var pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),dt=(e,t)=>{for(var o in t)S(e,o,{get:t[o],enumerable:!0})},j=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ct(t))!ut.call(e,r)&&r!==o&&S(e,r,{get:()=>t[r],enumerable:!(n=at(t,r))||n.enumerable});return e},h=(e,t,o)=>(j(e,t,"default"),o&&j(o,t,"default")),b=(e,t,o)=>(o=e!=null?st(lt(e)):{},j(t||!e||!e.__esModule?S(o,"default",{value:e,enumerable:!0}):o,e)),ht=e=>j(S({},"__esModule",{value:!0}),e);var f=pt((Rt,Y)=>{Y.exports=globalThis.deck});var k={};dt(k,{MapboxOverlay:()=>E});var p={},W=b(f(),1);h(p,b(f(),1));if(!W.Layer)throw new Error("@deck.gl/core is not found");h(k,p);var M=b(f(),1);var d=b(f(),1);function C(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var m=Math.PI,gt=m/4,z=m/180,Ut=180/m,V=512,yt=4003e4;function v(e){let[t,o]=e;C(Number.isFinite(t)),C(Number.isFinite(o)&&o>=-90&&o<=90,"invalid latitude");let n=t*z,r=o*z,a=V*(n+m)/(2*m),i=V*(m+Math.log(Math.tan(gt+r*.5)))/(2*m);return[a,i]}function A(e){let t=Math.cos(e*z);return V/yt/t}var $t=Math.PI/180;var w="mapbox",Z=512,jt=Math.PI/180;function F({map:e,gl:t,deck:o}){if(e.__deck)return e.__deck;let n=o?.props._customRender,r=o?.props.onLoad,a={...o?.props,_customRender:()=>{e.triggerRepaint(),n?.("")}};a.parameters={...O(e,!0),...a.parameters},a.views||=L(e);let i;return(!o||o.props.gl===t)&&(Object.assign(a,{gl:t,width:null,height:null,touchAction:"unset",viewState:_(e)}),o?.isInitialized?$(o,e):a.onLoad=()=>{r?.(),$(i,e)}),o?(i=o,o.setProps(a),o.userData.isExternal=!0):(i=new d.Deck(a),e.on("remove",()=>{N(e)})),i.userData.mapboxLayers=new Set,e.__deck=i,e.on("render",()=>{i.isInitialized&&Ct(i,e)}),i}function $(e,t){let o=()=>{e.isInitialized?Ft(e,t):t.off("move",o)};t.on("move",o)}function N(e){e.__deck?.finalize(),e.__deck=null}function O(e,t){let o=t?{depthWriteEnabled:!0,depthCompare:"less-equal",depthBias:0,blend:!0,blendColorSrcFactor:"src-alpha",blendColorDstFactor:"one-minus-src-alpha",blendAlphaSrcFactor:"one",blendAlphaDstFactor:"one-minus-src-alpha",blendColorOperation:"add",blendAlphaOperation:"add"}:{};return et(e)==="globe"&&(o.cullMode="back"),o}function J(e,t){e.userData.mapboxLayers.add(t),U(e)}function K(e,t){e.userData.mapboxLayers.delete(t),U(e)}function Q(e,t){U(e)}function tt(e,t,o,n){let{currentViewport:r}=e.userData,a=!1;r||(r=ot(e,t,n),e.userData.currentViewport=r,a=!0),e.isInitialized&&e._drawLayers("mapbox-repaint",{viewports:[r],layerFilter:i=>(!e.props.layerFilter||e.props.layerFilter(i))&&(o.id===i.layer.id||i.layer.props.operation.includes("terrain")),clearStack:a,clearCanvas:!1})}function et(e){let t=e.getProjection?.(),o=t?.type||t?.name;if(o==="globe")return"globe";if(o&&o!=="mercator")throw new Error("Unsupported projection");return"mercator"}function L(e){return et(e)==="globe"?new d._GlobeView({id:w}):new d.MapView({id:w})}function _(e){let{lng:t,lat:o}=e.getCenter(),n={longitude:(t+540)%360-180,latitude:o,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),padding:e.getPadding(),repeat:e.getRenderWorldCopies()};return e.getTerrain?.()&&St(e,n),n}function St(e,t){if(e.getFreeCameraOptions){let{position:o}=e.getFreeCameraOptions();if(!o||o.z===void 0)return;let n=e.transform.height,{longitude:r,latitude:a,pitch:i}=t,s=o.x*Z,c=(1-o.y)*Z,l=o.z*Z,u=v([r,a]),g=s-u[0],y=c-u[1],T=Math.sqrt(g*g+y*y),I=i*jt,R=1.5*n,B=I<.001?R*Math.cos(I)/l:R*Math.sin(I)/T;t.zoom=Math.log2(B);let rt=R*Math.cos(I)/B,it=l-rt;t.position=[0,0,it/A(a)]}else typeof e.transform.elevation=="number"&&(t.position=[0,0,e.transform.elevation])}function ot(e,t,o){let n=_(t),{views:r}=e.props,a=r&&(0,d._flatten)(r).find(c=>c.id===w)||L(t);o&&(a.props.nearZMultiplier=.2);let i=o?.nearZ??t.transform._nearZ,s=o?.farZ??t.transform._farZ;return Number.isFinite(i)&&(n.nearZ=i/t.transform.height,n.farZ=s/t.transform.height),a.makeViewport({width:e.width,height:e.height,viewState:n})}function Ct(e,t){let{mapboxLayers:o,isExternal:n}=e.userData;if(n){let r=Array.from(o,u=>u.id),i=(0,d._flatten)(e.props.layers,Boolean).some(u=>u&&!r.includes(u.id)),s=e.getViewports(),c=s.findIndex(u=>u.id===w),l=s.length>1||c<0;(i||l)&&(c>=0&&(s=s.slice(),s[c]=ot(e,t)),e._drawLayers("mapbox-repaint",{viewports:s,layerFilter:u=>(!e.props.layerFilter||e.props.layerFilter(u))&&(u.viewport.id!==w||!r.includes(u.layer.id)),clearCanvas:!1}))}e.userData.currentViewport=null}function Ft(e,t){e.setProps({viewState:_(t)}),e.needsRedraw({clearRedrawFlags:!0})}function U(e){if(e.userData.isExternal)return;let t=[];e.userData.mapboxLayers.forEach(o=>{let n=o.props.type,r=new n(o.props);t.push(r)}),e.setProps({layers:t})}var nt=b(f(),1);var G=b(f(),1);var D=class{constructor(t){if(!t.id)throw new Error("Layer must have an unique id");this.id=t.id,this.type="custom",this.renderingMode=t.renderingMode||"3d",this.slot=t.slot,this.map=null,this.deck=null,this.props=t}onAdd(t,o){this.map=t,this.deck=F({map:t,gl:o,deck:this.props.deck}),J(this.deck,this)}onRemove(){this.deck&&K(this.deck,this)}setProps(t){Object.assign(this.props,t,{id:this.id}),this.deck&&Q(this.deck,this)}render(t,o){tt(this.deck,this.map,this,o)}};var X="__UNDEFINED__";function P(e,t,o,n){if(!e||!t||!e.style||!e.style._loaded)return;let r=(0,G._flatten)(n,Boolean);if(o!==n){let s=(0,G._flatten)(o,Boolean),c=new Set(s.map(l=>l.id));for(let l of r)c.delete(l.id);for(let l of c)e.getLayer(l)&&e.removeLayer(l)}for(let s of r){let c=e.getLayer(s.id);c?(c.implementation||c).setProps(s.props):e.addLayer(new D({id:s.id,deck:t,slot:s.props.slot}),s.props.beforeId)}let a=e.style._order,i={};for(let s of r){let{beforeId:c}=s.props;(!c||!a.includes(c))&&(c=X),i[c]=i[c]||[],i[c].push(s.id)}for(let s in i){let c=i[s],l=s===X?a.length:a.indexOf(s),u=s===X?void 0:s;for(let g=c.length-1;g>=0;g--){let y=c[g],T=a.indexOf(y);T!==l-1&&(e.moveLayer(y,u),T>l&&l++),l--,u=y}}}var E=class{constructor(t){this._handleStyleChange=()=>{P(this._map,this._deck,this._props.layers,this._props.layers)};this._updateContainerSize=()=>{if(this._map&&this._container){let{clientWidth:t,clientHeight:o}=this._map.getContainer();Object.assign(this._container.style,{width:`${t}px`,height:`${o}px`})}};this._updateViewState=()=>{let t=this._deck,o=this._map;t&&o&&(t.setProps({views:this._props.views||L(o),viewState:_(o)}),t.isInitialized&&t.redraw())};this._handleMouseEvent=t=>{let o=this._deck;if(!o||!o.isInitialized)return;let n={type:t.type,offsetCenter:t.point,srcEvent:t},r=this._lastMouseDownPoint;switch(!t.point&&r&&(n.deltaX=t.originalEvent.clientX-r.clientX,n.deltaY=t.originalEvent.clientY-r.clientY,n.offsetCenter={x:r.x+n.deltaX,y:r.y+n.deltaY}),n.type){case"mousedown":o._onPointerDown(n),this._lastMouseDownPoint={...t.point,clientX:t.originalEvent.clientX,clientY:t.originalEvent.clientY};break;case"dragstart":n.type="panstart",o._onEvent(n);break;case"drag":n.type="panmove",o._onEvent(n);break;case"dragend":n.type="panend",o._onEvent(n);break;case"click":n.tapCount=1,o._onEvent(n);break;case"dblclick":n.type="click",n.tapCount=2,o._onEvent(n);break;case"mousemove":n.type="pointermove",o._onPointerMove(n);break;case"mouseout":n.type="pointerleave",o._onPointerMove(n);break;default:return}};let{interleaved:o=!1,...n}=t;this._interleaved=o,this._props=n}setProps(t){this._interleaved&&t.layers&&P(this._map,this._deck,this._props.layers,t.layers),Object.assign(this._props,t),this._deck&&this._map&&this._deck.setProps({...this._props,parameters:{...O(this._map,this._interleaved),...this._props.parameters}})}onAdd(t){return this._map=t,this._interleaved?this._onAddInterleaved(t):this._onAddOverlaid(t)}_onAddOverlaid(t){let o=document.createElement("div");return Object.assign(o.style,{position:"absolute",left:0,top:0,textAlign:"initial",pointerEvents:"none"}),this._container=o,this._deck=new M.Deck({...this._props,parent:o,parameters:{...O(t,!1),...this._props.parameters},views:this._props.views||L(t),viewState:_(t)}),t.on("resize",this._updateContainerSize),t.on("render",this._updateViewState),t.on("mousedown",this._handleMouseEvent),t.on("dragstart",this._handleMouseEvent),t.on("drag",this._handleMouseEvent),t.on("dragend",this._handleMouseEvent),t.on("mousemove",this._handleMouseEvent),t.on("mouseout",this._handleMouseEvent),t.on("click",this._handleMouseEvent),t.on("dblclick",this._handleMouseEvent),this._updateContainerSize(),o}_onAddInterleaved(t){let o=t.painter.context.gl;return o instanceof WebGLRenderingContext&&nt.log.warn("Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility")(),this._deck=F({map:t,gl:o,deck:new M.Deck({...this._props,gl:o})}),t.on("styledata",this._handleStyleChange),P(t,this._deck,[],this._props.layers),document.createElement("div")}onRemove(){let t=this._map;t&&(this._interleaved?this._onRemoveInterleaved(t):this._onRemoveOverlaid(t)),this._deck=void 0,this._map=void 0,this._container=void 0}_onRemoveOverlaid(t){t.off("resize",this._updateContainerSize),t.off("render",this._updateViewState),t.off("mousedown",this._handleMouseEvent),t.off("dragstart",this._handleMouseEvent),t.off("drag",this._handleMouseEvent),t.off("dragend",this._handleMouseEvent),t.off("mousemove",this._handleMouseEvent),t.off("mouseout",this._handleMouseEvent),t.off("click",this._handleMouseEvent),t.off("dblclick",this._handleMouseEvent),this._deck?.finalize()}_onRemoveInterleaved(t){t.off("styledata",this._handleStyleChange),P(t,this._deck,this._props.layers,[]),N(t)}getDefaultPosition(){return"top-left"}pickObject(t){return(0,M.assert)(this._deck),this._deck.pickObject(t)}pickMultipleObjects(t){return(0,M.assert)(this._deck),this._deck.pickMultipleObjects(t)}pickObjects(t){return(0,M.assert)(this._deck),this._deck.pickObjects(t)}finalize(){this._map&&this._map.removeControl(this)}getCanvas(){return this._map?this._interleaved?this._map.getCanvas():this._deck.getCanvas():null}};return ht(k);})();
8
8
  return __exports__;
9
9
  });
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Use deck.gl layers as custom mapbox-gl-js layers",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
- "version": "9.2.0-alpha.2",
6
+ "version": "9.2.0-alpha.3",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -38,12 +38,14 @@
38
38
  "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
39
39
  },
40
40
  "dependencies": {
41
- "@luma.gl/constants": "^9.1.9",
41
+ "@luma.gl/constants": "^9.2.0-alpha.5",
42
42
  "@math.gl/web-mercator": "^4.1.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@deck.gl/core": "^9.1.0",
46
- "@luma.gl/core": "^9.1.9"
46
+ "@luma.gl/constants": "^9.2.0-alpha.5",
47
+ "@luma.gl/core": "^9.2.0-alpha.5",
48
+ "@math.gl/web-mercator": "^4.1.0"
47
49
  },
48
- "gitHead": "f9ca91bb15011ff5552ca8966b4207ada03a08fc"
50
+ "gitHead": "f34ff252c38397cd37d7d443e16ba906fda7d3c9"
49
51
  }
package/src/deck-utils.ts CHANGED
@@ -10,6 +10,8 @@ import type {Map} from './types';
10
10
 
11
11
  import {lngLatToWorld, unitsPerMeter} from '@math.gl/web-mercator';
12
12
 
13
+ const MAPBOX_VIEW_ID = 'mapbox';
14
+
13
15
  type UserData = {
14
16
  isExternal: boolean;
15
17
  currentViewport?: Viewport | null;
@@ -200,9 +202,9 @@ function getProjection(map: Map): 'mercator' | 'globe' {
200
202
 
201
203
  export function getDefaultView(map: Map): GlobeView | MapView {
202
204
  if (getProjection(map) === 'globe') {
203
- return new GlobeView({id: 'mapbox'});
205
+ return new GlobeView({id: MAPBOX_VIEW_ID});
204
206
  }
205
- return new MapView({id: 'mapbox'});
207
+ return new MapView({id: MAPBOX_VIEW_ID});
206
208
  }
207
209
 
208
210
  export function getViewState(map: Map): MapViewState & {
@@ -300,7 +302,10 @@ type MaplibreRenderParameters = {
300
302
 
301
303
  function getViewport(deck: Deck, map: Map, renderParameters?: unknown): Viewport {
302
304
  const viewState = getViewState(map);
303
- const view = getDefaultView(map);
305
+ const {views} = deck.props;
306
+ const view =
307
+ (views && flatten(views).find((v: {id: string}) => v.id === MAPBOX_VIEW_ID)) ||
308
+ getDefaultView(map);
304
309
 
305
310
  if (renderParameters) {
306
311
  // Called from MapboxLayer.render
@@ -337,7 +342,7 @@ function afterRender(deck: Deck, map: Map): void {
337
342
  layer => layer && !mapboxLayerIds.includes(layer.id)
338
343
  );
339
344
  let viewports = deck.getViewports();
340
- const mapboxViewportIdx = viewports.findIndex(vp => vp.id === 'mapbox');
345
+ const mapboxViewportIdx = viewports.findIndex(vp => vp.id === MAPBOX_VIEW_ID);
341
346
  const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
342
347
 
343
348
  if (hasNonMapboxLayers || hasNonMapboxViews) {
@@ -350,7 +355,7 @@ function afterRender(deck: Deck, map: Map): void {
350
355
  viewports,
351
356
  layerFilter: params =>
352
357
  (!deck.props.layerFilter || deck.props.layerFilter(params)) &&
353
- (params.viewport.id !== 'mapbox' || !mapboxLayerIds.includes(params.layer.id)),
358
+ (params.viewport.id !== MAPBOX_VIEW_ID || !mapboxLayerIds.includes(params.layer.id)),
354
359
  clearCanvas: false
355
360
  });
356
361
  }