react-native-maplibre-gl-js 1.17.0 → 1.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/react-native/hooks/end-user/useLocalImage.js +1 -1
- package/lib/module/web/bridge/ReactNativeBridge.js +6 -2
- package/lib/module/web/bridge/ReactNativeBridge.js.map +1 -1
- package/lib/module/web/controllers/MapSourcesController.js +67 -7
- package/lib/module/web/controllers/MapSourcesController.js.map +1 -1
- package/lib/module/web/generated/webview_static_html.js +51 -7
- package/lib/module/web/generated/webview_static_html.js.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts +2 -4
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/hooks/end-user/useLocalImage.d.ts +1 -1
- package/lib/typescript/src/web/bridge/ReactNativeBridge.d.ts.map +1 -1
- package/lib/typescript/src/web/controllers/MapSourcesController.d.ts +3 -0
- package/lib/typescript/src/web/controllers/MapSourcesController.d.ts.map +1 -1
- package/lib/typescript/src/web/generated/webview_static_html.d.ts +1 -1
- package/lib/typescript/src/web/generated/webview_static_html.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","MapProvider","Map","Marker","Popup","GeoJSONSource","ImageSource","VideoSource","VectorTileSource","RasterTileSource","useLocalImage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;
|
|
1
|
+
{"version":3,"names":["default","MapProvider","Map","Marker","Popup","GeoJSONSource","ImageSource","VideoSource","VectorTileSource","RasterTileSource","useLocalImage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAMA;;AAcA;;AAOA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,2DAAwD;;AAE/F;AACA,SAASD,OAAO,IAAIE,GAAG,QAAQ,kDAA+C;AAC9E,SAASF,OAAO,IAAIG,MAAM,QAAQ,wDAAqD;AACvF,SAASH,OAAO,IAAII,KAAK,QAAQ,sDAAmD;;AAEpF;AACA,SAASJ,OAAO,IAAIK,aAAa,QAAQ,sEAAmE;AAC5G,SAASL,OAAO,IAAIM,WAAW,QAAQ,kEAA+D;AACtG,SAASN,OAAO,IAAIO,WAAW,QAAQ,kEAA+D;AACtG,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,4EAAyE;AACrH,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,4EAAyE;;AAErH;AACA,SAAST,OAAO,IAAIU,aAAa,QAAQ,gDAA6C","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { useEffect, useState } from 'react';
|
|
|
4
4
|
import { assetToDataUri } from "./useLocalImage.utils.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Load a local image as base64 data URI
|
|
7
|
+
* Load a local image as base64 data URI and return it. It can then be used
|
|
8
8
|
* in HTML elements.
|
|
9
9
|
* @param moduleId - The module ID of the image to load (e.g.
|
|
10
10
|
* `require('./image.png')`).
|
|
@@ -102,11 +102,15 @@ export default class ReactNativeBridge {
|
|
|
102
102
|
};
|
|
103
103
|
queue.forEach((m, i) => {
|
|
104
104
|
const k = keyFor(m);
|
|
105
|
-
if (k)
|
|
105
|
+
if (k) {
|
|
106
|
+
lastIndexByKey.set(k, i);
|
|
107
|
+
}
|
|
106
108
|
});
|
|
107
109
|
messages = queue.filter((m, i) => {
|
|
108
110
|
const k = keyFor(m);
|
|
109
|
-
if (!k)
|
|
111
|
+
if (!k) {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
110
114
|
return lastIndexByKey.get(k) === i;
|
|
111
115
|
});
|
|
112
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebLogger","keepOnlyLastMessagePerType","Boolean","window","__RNML_MESSAGEOPTIONS_KEEPONLYLASTMESSAGEPERTYPE","_","getFlushIntervalMs","Number","__RNML_MESSAGEOPTIONS_FLUSHINTERVALMS","ReactNativeBridge","controller","outgoingQueue","flushTimer","constructor","messageHandler","raw","debug","name","data","message","JSON","parse","handleMessage","error","document","addEventListener","postMessage","push","scheduleFlush","#scheduleFlush","undefined","setTimeout","flush","#flush","clearTimeout","queue","length","messages","lastIndexByKey","Map","keyFor","m","type","objectId","eventName","payload","String","sourceId","layerId","forEach","i","k","set","filter","get","batched","ReactNativeWebView","stringify"],"sourceRoot":"../../../../src","sources":["web/bridge/ReactNativeBridge.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,yBAAsB;AAM5C,MAAMC,0BAA0B,GAAGA,CAAA,KAAe;EAChD,IAAI;IACF;IACA,OAAOC,OAAO,CACXC,MAAM,EAAUC,gDACnB,CAAC;EACH,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,OAAO,KAAK;EACd;AACF,CAAC;AAED,MAAMC,kBAAkB,GAAGA,CAAA,KAAc;EACvC,IAAI;IACF;IACA,OAAOC,MAAM,CAAEJ,MAAM,EAAUK,qCAAqC,CAAC;EACvE,CAAC,CAAC,OAAOH,CAAC,EAAE;IACV,OAAO,CAAC;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,MAAMI,iBAAiB,CAAC;EACrC,CAACC,UAAU;EACX,CAACC,aAAa,GAAyB,EAAE;EACzC,CAACC,UAAU;EAEXC,WAAWA,CAAA,EAAG;IACZ,MAAMC,cAAc,GAAIC,GAAQ,IAAK;MACnC,IAAI;QACFf,SAAS,CAACgB,KAAK,CAAC,IAAI,CAACH,WAAW,CAACI,IAAI,EAAEF,GAAG,EAAEG,IAAI,CAAC;QACjD,MAAMA,IAAI,GAAG,OAAOH,GAAG,EAAEG,IAAI,KAAK,QAAQ,GAAGH,GAAG,CAACG,IAAI,GAAGH,GAAG;QAC3D,MAAMI,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAuB;QACtD,IAAI,CAACR,UAAU,EAAEY,aAAa,CAACH,OAAO,EAAE,IAAI,CAAC;MAC/C,CAAC,CAAC,OAAOI,KAAU,EAAE;QACnBvB,SAAS,CAACuB,KAAK,CAAC,IAAI,CAACV,WAAW,CAACI,IAAI,EAAEM,KAAK,CAACJ,OAAO,CAAC;MACvD;IACF,CAAC;IACD;IACAK,QAAQ,CAACC,gBAAgB,GAAG,SAAS,EAAEX,cAAc,CAAC;IACtDX,MAAM,CAACsB,gBAAgB,GAAG,SAAS,EAAEX,cAAc,CAAC;EACtD;EAEA,IAAIJ,UAAUA,CAACA,UAA0B,EAAE;IACzC,IAAI,CAAC,CAACA,UAAU,GAAGA,UAAU;EAC/B;EAEA,IAAIA,UAAUA,CAAA,EAA+B;IAC3C,OAAO,IAAI,CAAC,CAACA,UAAU;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEgB,WAAWA,CAACP,OAA2B,EAAE;IACvCnB,SAAS,CAACgB,KAAK,CAAC,IAAI,CAACU,WAAW,CAACT,IAAI,EAAEE,OAAO,CAAC;IAC/C,IAAI,CAAC,CAACR,aAAa,CAACgB,IAAI,CAACR,OAAO,CAAC;IACjC,IAAI,CAAC,CAACS,aAAa,CAAC,CAAC;EACvB;EAEA,CAACA,aAAa,GAAGC,CAAA,KAAM;IACrB,IAAI,IAAI,CAAC,CAACjB,UAAU,KAAKkB,SAAS,EAAE;MAClC;IACF;IACA,IAAI,CAAC,CAAClB,UAAU,GAAGT,MAAM,CAAC4B,UAAU,CAAC,IAAI,CAAC,CAACC,KAAK,EAAE1B,kBAAkB,CAAC,CAAC,CAAC;EACzE,CAAC;EAED,CAAC0B,KAAK,GAAGC,CAAA,KAAM;IACb,IAAI,IAAI,CAAC,CAACrB,UAAU,KAAKkB,SAAS,EAAE;MAClCI,YAAY,CAAC,IAAI,CAAC,CAACtB,UAAU,CAAC;MAC9B,IAAI,CAAC,CAACA,UAAU,GAAGkB,SAAS;IAC9B;IAEA,MAAMK,KAAK,GAAG,IAAI,CAAC,CAACxB,aAAa;IACjC,IAAI,CAAC,CAACA,aAAa,GAAG,EAAE;IACxB,IAAIwB,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MACtB;IACF;IAEA,IAAIC,QAAQ,GAAGF,KAAK;IACpB,IAAIlC,0BAA0B,CAAC,CAAC,EAAE;MAChC;MACA;MACA;MACA;MACA,MAAMqC,cAAc,GAAG,IAAIC,GAAG,CAAiB,CAAC;MAChD,MAAMC,MAAM,GAAIC,CAAqB,IAAoB;QACvD,IAAIA,CAAC,CAACC,IAAI,KAAK,wBAAwB,EAAE;UACvC,MAAM;YAAEC,QAAQ;YAAEC;UAAU,CAAC,GAAGH,CAAC,CAACI,OAAO;UACzC,OAAO,0BAA0BF,QAAQ,IAAIG,MAAM,CAACF,SAAS,CAAC,EAAE;QAClE;QACA,IAAIH,CAAC,CAACC,IAAI,KAAK,wBAAwB,EAAE;UACvC,MAAM;YAAEK,QAAQ;YAAEC,OAAO;YAAEJ;UAAU,CAAC,GAAGH,CAAC,CAACI,OAAO;UAClD,OAAO,0BAA0BE,QAAQ,IAAIC,OAAO,IAAIF,MAAM,CAACF,SAAS,CAAC,EAAE;QAC7E;QACA,OAAO,IAAI;MACb,CAAC;MAEDT,KAAK,CAACc,OAAO,CAAC,CAACR,CAAC,EAAES,CAAC,KAAK;QACtB,MAAMC,CAAC,GAAGX,MAAM,CAACC,CAAC,CAAC;QACnB,IAAIU,CAAC,
|
|
1
|
+
{"version":3,"names":["WebLogger","keepOnlyLastMessagePerType","Boolean","window","__RNML_MESSAGEOPTIONS_KEEPONLYLASTMESSAGEPERTYPE","_","getFlushIntervalMs","Number","__RNML_MESSAGEOPTIONS_FLUSHINTERVALMS","ReactNativeBridge","controller","outgoingQueue","flushTimer","constructor","messageHandler","raw","debug","name","data","message","JSON","parse","handleMessage","error","document","addEventListener","postMessage","push","scheduleFlush","#scheduleFlush","undefined","setTimeout","flush","#flush","clearTimeout","queue","length","messages","lastIndexByKey","Map","keyFor","m","type","objectId","eventName","payload","String","sourceId","layerId","forEach","i","k","set","filter","get","batched","ReactNativeWebView","stringify"],"sourceRoot":"../../../../src","sources":["web/bridge/ReactNativeBridge.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { stableStringify } from "../../react-native/hooks/atoms/useMapAtoms.utils.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
4
8
|
export default class MapSourcesController {
|
|
5
9
|
#sources = new Map();
|
|
6
10
|
|
|
@@ -60,19 +64,75 @@ export default class MapSourcesController {
|
|
|
60
64
|
this.#addLayers(props, reactNativeBridge, map);
|
|
61
65
|
};
|
|
62
66
|
#updateSourceAndItsLayers = (props, reactNativeBridge, map) => {
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
if (oldSourceAsString !== newSourceAsString) {
|
|
67
|
+
const oldSource = this.#sources.get(props.id)?.source;
|
|
68
|
+
const newSource = props.source;
|
|
69
|
+
const remountEverything = () => {
|
|
67
70
|
this.#removeSourceAndItsLayers(props.id, reactNativeBridge, map);
|
|
68
71
|
this.#addSourceAndItsLayers(props, reactNativeBridge, map);
|
|
72
|
+
};
|
|
73
|
+
if (newSource.type && ['geojson', 'image', 'video', 'vector', 'raster'].includes(newSource.type) && oldSource.type !== newSource.type) {
|
|
74
|
+
remountEverything();
|
|
69
75
|
return;
|
|
70
76
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
switch (newSource.type) {
|
|
78
|
+
case 'geojson':
|
|
79
|
+
{
|
|
80
|
+
const prevNoData = {
|
|
81
|
+
...oldSource
|
|
82
|
+
};
|
|
83
|
+
const nextNoData = {
|
|
84
|
+
...newSource
|
|
85
|
+
};
|
|
86
|
+
delete prevNoData.data;
|
|
87
|
+
delete nextNoData.data;
|
|
88
|
+
|
|
89
|
+
// Update everything if a thing other than "data" changed.
|
|
90
|
+
if (stableStringify(prevNoData) !== stableStringify(nextNoData)) {
|
|
91
|
+
remountEverything();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Update only the data.
|
|
95
|
+
if (stableStringify(oldSource.data) !== stableStringify(newSource.data)) {
|
|
96
|
+
const source = map.getSource(props.id);
|
|
97
|
+
source.setData(newSource.data);
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case 'image':
|
|
102
|
+
{
|
|
103
|
+
// TODO optimization.
|
|
104
|
+
remountEverything();
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
case 'video':
|
|
108
|
+
{
|
|
109
|
+
// TODO optimization.
|
|
110
|
+
remountEverything();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
case 'vector':
|
|
114
|
+
{
|
|
115
|
+
// TODO optimization.
|
|
116
|
+
remountEverything();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
case 'raster':
|
|
120
|
+
{
|
|
121
|
+
// TODO optimization.
|
|
122
|
+
remountEverything();
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
default:
|
|
126
|
+
{
|
|
127
|
+
this.#removeSourceAndItsLayers(props.id, reactNativeBridge, map);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Update the layers only if at least one changed (if one changed, the
|
|
74
132
|
// orders of the layers might have changed, so we need to update all of
|
|
75
133
|
// them).
|
|
134
|
+
const oldLayersAsString = stableStringify(this.#sources.get(props.id)?.layers.map(item => item.layer));
|
|
135
|
+
const newLayersAsString = stableStringify(props.layers.map(item => item.layer));
|
|
76
136
|
if (oldLayersAsString !== newLayersAsString) {
|
|
77
137
|
this.#updateLayers(props, reactNativeBridge, map);
|
|
78
138
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["stableStringify","MapSourcesController","sources","Map","addExistingSourcesToMap","reactNativeBridge","map","entries","forEach","source","isStyleLoaded","addSourceAndItsLayers","setSourceListeners","once","handleMountMessage","message","run","mapReady","payload","set","id","handleUpdateMessage","updateSourceAndItsLayers","handleUnmountMessage","removeSourceAndItsLayers","sourceId","delete","#addSourceAndItsLayers","props","getSource","addSource","addLayers","#updateSourceAndItsLayers","
|
|
1
|
+
{"version":3,"names":["stableStringify","MapSourcesController","sources","Map","addExistingSourcesToMap","reactNativeBridge","map","entries","forEach","source","isStyleLoaded","addSourceAndItsLayers","setSourceListeners","once","handleMountMessage","message","run","mapReady","payload","set","id","handleUpdateMessage","updateSourceAndItsLayers","handleUnmountMessage","removeSourceAndItsLayers","sourceId","delete","#addSourceAndItsLayers","props","getSource","addSource","addLayers","#updateSourceAndItsLayers","oldSource","get","newSource","remountEverything","type","includes","prevNoData","nextNoData","data","setData","oldLayersAsString","layers","item","layer","newLayersAsString","updateLayers","#removeSourceAndItsLayers","removeLayers","removeSource","#addLayers","beforeId","getLayer","addLayer","postMessage","layerId","eventName","#updateLayers","#removeLayers","getStyle","filter","removeLayer","#setSourceListeners","listeners","Object","sendEventToReactNative","event","target","on"],"sourceRoot":"../../../../src","sources":["web/controllers/MapSourcesController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23683,15 +23683,55 @@ uniform mat4 u_projection_matrix;
|
|
|
23683
23683
|
this.#addLayers(props, reactNativeBridge, map);
|
|
23684
23684
|
};
|
|
23685
23685
|
#updateSourceAndItsLayers = (props, reactNativeBridge, map) => {
|
|
23686
|
-
const
|
|
23687
|
-
|
|
23688
|
-
)
|
|
23689
|
-
const newSourceAsString = stableStringify(props.source);
|
|
23690
|
-
if (oldSourceAsString !== newSourceAsString) {
|
|
23686
|
+
const oldSource = this.#sources.get(props.id)?.source;
|
|
23687
|
+
const newSource = props.source;
|
|
23688
|
+
const remountEverything = () => {
|
|
23691
23689
|
this.#removeSourceAndItsLayers(props.id, reactNativeBridge, map);
|
|
23692
23690
|
this.#addSourceAndItsLayers(props, reactNativeBridge, map);
|
|
23691
|
+
};
|
|
23692
|
+
if (newSource.type && ["geojson", "image", "video", "vector", "raster"].includes(
|
|
23693
|
+
newSource.type
|
|
23694
|
+
) && oldSource.type !== newSource.type) {
|
|
23695
|
+
remountEverything();
|
|
23693
23696
|
return;
|
|
23694
23697
|
}
|
|
23698
|
+
switch (newSource.type) {
|
|
23699
|
+
case "geojson": {
|
|
23700
|
+
const prevNoData = { ...oldSource };
|
|
23701
|
+
const nextNoData = { ...newSource };
|
|
23702
|
+
delete prevNoData.data;
|
|
23703
|
+
delete nextNoData.data;
|
|
23704
|
+
if (stableStringify(prevNoData) !== stableStringify(nextNoData)) {
|
|
23705
|
+
remountEverything();
|
|
23706
|
+
return;
|
|
23707
|
+
}
|
|
23708
|
+
if (stableStringify(oldSource.data) !== stableStringify(newSource.data)) {
|
|
23709
|
+
const source = map.getSource(props.id);
|
|
23710
|
+
source.setData(newSource.data);
|
|
23711
|
+
}
|
|
23712
|
+
break;
|
|
23713
|
+
}
|
|
23714
|
+
case "image": {
|
|
23715
|
+
remountEverything();
|
|
23716
|
+
return;
|
|
23717
|
+
}
|
|
23718
|
+
case "video": {
|
|
23719
|
+
remountEverything();
|
|
23720
|
+
return;
|
|
23721
|
+
}
|
|
23722
|
+
case "vector": {
|
|
23723
|
+
remountEverything();
|
|
23724
|
+
return;
|
|
23725
|
+
}
|
|
23726
|
+
case "raster": {
|
|
23727
|
+
remountEverything();
|
|
23728
|
+
return;
|
|
23729
|
+
}
|
|
23730
|
+
default: {
|
|
23731
|
+
this.#removeSourceAndItsLayers(props.id, reactNativeBridge, map);
|
|
23732
|
+
return;
|
|
23733
|
+
}
|
|
23734
|
+
}
|
|
23695
23735
|
const oldLayersAsString = stableStringify(
|
|
23696
23736
|
this.#sources.get(props.id)?.layers.map((item) => item.layer)
|
|
23697
23737
|
);
|
|
@@ -23953,11 +23993,15 @@ uniform mat4 u_projection_matrix;
|
|
|
23953
23993
|
};
|
|
23954
23994
|
queue.forEach((m, i) => {
|
|
23955
23995
|
const k = keyFor(m);
|
|
23956
|
-
if (k)
|
|
23996
|
+
if (k) {
|
|
23997
|
+
lastIndexByKey.set(k, i);
|
|
23998
|
+
}
|
|
23957
23999
|
});
|
|
23958
24000
|
messages = queue.filter((m, i) => {
|
|
23959
24001
|
const k = keyFor(m);
|
|
23960
|
-
if (!k)
|
|
24002
|
+
if (!k) {
|
|
24003
|
+
return true;
|
|
24004
|
+
}
|
|
23961
24005
|
return lastIndexByKey.get(k) === i;
|
|
23962
24006
|
});
|
|
23963
24007
|
}
|