@deck.gl/mapbox 9.0.0-beta.1 → 9.0.0-beta.11

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.
Files changed (47) hide show
  1. package/{typed → dist}/deck-utils.d.ts +2 -2
  2. package/dist/deck-utils.d.ts.map +1 -0
  3. package/dist/deck-utils.js +267 -0
  4. package/dist/dist.dev.js +777 -151
  5. package/dist/index.cjs +549 -0
  6. package/dist/index.cjs.map +7 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +1 -0
  10. package/{typed → dist}/mapbox-layer.d.ts +1 -1
  11. package/{typed → dist}/mapbox-layer.d.ts.map +1 -1
  12. package/dist/mapbox-layer.js +37 -0
  13. package/{typed → dist}/mapbox-overlay.d.ts.map +1 -1
  14. package/dist/mapbox-overlay.js +227 -0
  15. package/dist/resolve-layers.js +74 -0
  16. package/dist.min.js +1 -2
  17. package/package.json +16 -8
  18. package/src/deck-utils.ts +4 -3
  19. package/src/index.ts +0 -1
  20. package/src/mapbox-layer.ts +1 -1
  21. package/src/mapbox-overlay.ts +12 -5
  22. package/dist/es5/deck-utils.js +0 -300
  23. package/dist/es5/deck-utils.js.map +0 -1
  24. package/dist/es5/index.js +0 -24
  25. package/dist/es5/index.js.map +0 -1
  26. package/dist/es5/mapbox-layer.js +0 -72
  27. package/dist/es5/mapbox-layer.js.map +0 -1
  28. package/dist/es5/mapbox-overlay.js +0 -302
  29. package/dist/es5/mapbox-overlay.js.map +0 -1
  30. package/dist/es5/resolve-layers.js +0 -137
  31. package/dist/es5/resolve-layers.js.map +0 -1
  32. package/dist/esm/deck-utils.js +0 -263
  33. package/dist/esm/deck-utils.js.map +0 -1
  34. package/dist/esm/index.js +0 -3
  35. package/dist/esm/index.js.map +0 -1
  36. package/dist/esm/mapbox-layer.js +0 -54
  37. package/dist/esm/mapbox-layer.js.map +0 -1
  38. package/dist/esm/mapbox-overlay.js +0 -272
  39. package/dist/esm/mapbox-overlay.js.map +0 -1
  40. package/dist/esm/resolve-layers.js +0 -77
  41. package/dist/esm/resolve-layers.js.map +0 -1
  42. package/typed/deck-utils.d.ts.map +0 -1
  43. package/typed/index.d.ts +0 -4
  44. package/typed/index.d.ts.map +0 -1
  45. /package/{typed → dist}/mapbox-overlay.d.ts +0 -0
  46. /package/{typed → dist}/resolve-layers.d.ts +0 -0
  47. /package/{typed → dist}/resolve-layers.d.ts.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/mapbox-overlay.ts"],"names":["Deck","assert","getViewState","getDeckInstance","removeDeckInstance","getInterleavedProps","resolveLayers","MapboxOverlay","constructor","props","_props","_deck","_map","_container","_interleaved","_lastMouseDownPoint","_handleStyleChange","layers","_updateContainerSize","clientWidth","clientHeight","getContainer","Object","assign","style","width","height","_updateViewState","deck","setProps","viewState","isInitialized","redraw","_handleMouseEvent","event","mockEvent","type","offsetCenter","point","srcEvent","lastDown","deltaX","originalEvent","clientX","deltaY","clientY","x","y","_onPointerDown","_onEvent","tapCount","_onPointerMove","interleaved","otherProps","onAdd","map","_onAddInterleaved","_onAddOverlaid","container","document","createElement","position","left","top","pointerEvents","parent","on","gl","painter","context","onRemove","_onRemoveInterleaved","_onRemoveOverlaid","undefined","off","finalize","getDefaultPosition","pickObject","params","pickMultipleObjects","pickObjects","removeControl","getCanvas"],"mappings":"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","sourcesContent":["import {Deck, assert} from '@deck.gl/core';\nimport {getViewState, getDeckInstance, removeDeckInstance, getInterleavedProps} from './deck-utils';\n\nimport type {Map, IControl, MapMouseEvent} from 'mapbox-gl';\nimport type {MjolnirGestureEvent, MjolnirPointerEvent} from 'mjolnir.js';\nimport type {DeckProps} 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;\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) {\n this._deck.setProps(this._interleaved ? getInterleavedProps(this._props) : this._props);\n }\n }\n\n /** Called when the control is added to a map */\n onAdd(map: Map): HTMLDivElement {\n this._map = map;\n return this._interleaved ? this._onAddInterleaved(map) : this._onAddOverlaid(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 pointerEvents: 'none'\n });\n this._container = container;\n\n this._deck = new Deck({\n ...this._props,\n parent: container,\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 this._deck = getDeckInstance({\n map,\n // @ts-ignore non-public map property\n gl: map.painter.context.gl,\n deck: new Deck({\n ...this._props,\n // @ts-ignore non-public map property\n gl: map.painter.context.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() {\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 if (deck) {\n // @ts-ignore (2345) map is always defined if deck is\n deck.setProps({viewState: getViewState(this._map)});\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 MjolnirGestureEvent);\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 MjolnirGestureEvent);\n break;\n\n case 'drag':\n mockEvent.type = 'panmove';\n deck._onEvent(mockEvent as MjolnirGestureEvent);\n break;\n\n case 'dragend':\n mockEvent.type = 'panend';\n deck._onEvent(mockEvent as MjolnirGestureEvent);\n break;\n\n case 'click':\n mockEvent.tapCount = 1;\n deck._onEvent(mockEvent as MjolnirGestureEvent);\n break;\n\n case 'dblclick':\n mockEvent.type = 'click';\n mockEvent.tapCount = 2;\n deck._onEvent(mockEvent as MjolnirGestureEvent);\n break;\n\n case 'mousemove':\n mockEvent.type = 'pointermove';\n deck._onPointerMove(mockEvent as MjolnirPointerEvent);\n break;\n\n case 'mouseout':\n mockEvent.type = 'pointerleave';\n deck._onPointerMove(mockEvent as MjolnirPointerEvent);\n break;\n\n default:\n return;\n }\n };\n}\n"],"file":"mapbox-overlay.js"}
@@ -1,77 +0,0 @@
1
- import { _flatten as flatten } from '@deck.gl/core';
2
- import MapboxLayer from './mapbox-layer';
3
- const UNDEFINED_BEFORE_ID = '__UNDEFINED__';
4
- export function resolveLayers(map, deck, oldLayers, newLayers) {
5
- if (!map || !deck || !map.style || !map.style._loaded) {
6
- return;
7
- }
8
-
9
- const layers = flatten(newLayers, Boolean);
10
-
11
- if (oldLayers !== newLayers) {
12
- const prevLayers = flatten(oldLayers, Boolean);
13
- const prevLayerIds = new Set(prevLayers.map(l => l.id));
14
-
15
- for (const layer of layers) {
16
- prevLayerIds.delete(layer.id);
17
- }
18
-
19
- for (const id of prevLayerIds) {
20
- if (map.getLayer(id)) {
21
- map.removeLayer(id);
22
- }
23
- }
24
- }
25
-
26
- for (const layer of layers) {
27
- const mapboxLayer = map.getLayer(layer.id);
28
-
29
- if (mapboxLayer) {
30
- mapboxLayer.implementation.setProps(layer.props);
31
- } else {
32
- map.addLayer(new MapboxLayer({
33
- id: layer.id,
34
- deck
35
- }), layer.props.beforeId);
36
- }
37
- }
38
-
39
- const mapLayers = map.style._order;
40
- const layerGroups = {};
41
-
42
- for (const layer of layers) {
43
- let {
44
- beforeId
45
- } = layer.props;
46
-
47
- if (!beforeId || !mapLayers.includes(beforeId)) {
48
- beforeId = UNDEFINED_BEFORE_ID;
49
- }
50
-
51
- layerGroups[beforeId] = layerGroups[beforeId] || [];
52
- layerGroups[beforeId].push(layer.id);
53
- }
54
-
55
- for (const beforeId in layerGroups) {
56
- const layerGroup = layerGroups[beforeId];
57
- let lastLayerIndex = beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);
58
- let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? undefined : beforeId;
59
-
60
- for (let i = layerGroup.length - 1; i >= 0; i--) {
61
- const layerId = layerGroup[i];
62
- const layerIndex = mapLayers.indexOf(layerId);
63
-
64
- if (layerIndex !== lastLayerIndex - 1) {
65
- map.moveLayer(layerId, lastLayerId);
66
-
67
- if (layerIndex > lastLayerIndex) {
68
- lastLayerIndex++;
69
- }
70
- }
71
-
72
- lastLayerIndex--;
73
- lastLayerId = layerId;
74
- }
75
- }
76
- }
77
- //# sourceMappingURL=resolve-layers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolve-layers.ts"],"names":["_flatten","flatten","MapboxLayer","UNDEFINED_BEFORE_ID","resolveLayers","map","deck","oldLayers","newLayers","style","_loaded","layers","Boolean","prevLayers","prevLayerIds","Set","l","id","layer","delete","getLayer","removeLayer","mapboxLayer","implementation","setProps","props","addLayer","beforeId","mapLayers","_order","layerGroups","includes","push","layerGroup","lastLayerIndex","length","indexOf","lastLayerId","undefined","i","layerId","layerIndex","moveLayer"],"mappings":"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","sourcesContent":["import {_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 'mapbox-gl';\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 // @ts-expect-error not typed\n mapboxLayer.implementation.setProps(layer.props);\n } else {\n map.addLayer(\n new MapboxLayer({id: layer.id, deck}),\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"],"file":"resolve-layers.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deck-utils.d.ts","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAoD,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAQ,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,WAAW,CAAC;AAiBnC,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,EAAE,EACF,IAAI,EACL,EAAE;IACD,GAAG,EAAE,GAAG,GAAG;QAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAC,CAAC;IAClC,EAAE,EAAE,qBAAqB,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,IAAI,CAiEP;AAeD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG;IAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAC,QAGnE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,aAkBvD;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,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAsB7E;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"}
package/typed/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { default as MapboxLayer } from './mapbox-layer';
2
- export { default as MapboxOverlay } from './mapbox-overlay';
3
- export type { MapboxOverlayProps } from './mapbox-overlay';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE1D,YAAY,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC"}
File without changes
File without changes
File without changes