@maplibre/maplibre-react-native 10.0.0-alpha.6 → 10.0.0-alpha.8
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/.eslintrc.js +3 -1
- package/.yarn/sdks/eslint/bin/eslint.js +8 -1
- package/.yarn/sdks/eslint/lib/api.js +8 -1
- package/.yarn/sdks/eslint/lib/unsupported-api.js +8 -1
- package/.yarn/sdks/prettier/bin/prettier.cjs +8 -1
- package/.yarn/sdks/prettier/index.cjs +8 -1
- package/.yarn/sdks/typescript/bin/tsc +8 -1
- package/.yarn/sdks/typescript/bin/tsserver +8 -1
- package/.yarn/sdks/typescript/lib/tsc.js +8 -1
- package/.yarn/sdks/typescript/lib/tsserver.js +20 -6
- package/.yarn/sdks/typescript/lib/tsserverlibrary.js +20 -6
- package/.yarn/sdks/typescript/lib/typescript.js +8 -1
- package/CHANGELOG.md +7 -0
- package/CONTRIBUTING.md +10 -9
- package/android/build.gradle +1 -1
- package/android/rctmln/build.gradle +5 -5
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/MarkerView.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/MarkerViewManager.java +6 -6
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNMarkerView.java +5 -5
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNPointAnnotation.java +9 -8
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/CameraStop.java +14 -12
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/CameraUpdateItem.java +10 -10
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/CameraUpdateQueue.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/RCTMLNCamera.java +26 -26
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/RCTMLNCameraManager.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/images/RCTMLNImages.java +12 -12
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/location/LocationComponentManager.java +9 -9
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/location/RCTMLNNativeUserLocation.java +7 -7
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/location/RCTMLNNativeUserLocationManager.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/LayerSourceInfo.java +9 -9
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNAndroidTextureMapView.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNAndroidTextureMapViewManager.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNMapView.java +43 -43
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNMapViewManager.java +6 -6
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyle.java +3 -3
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleFactory.java +14 -14
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleFunctionParser.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleValue.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTLayer.java +8 -8
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNBackgroundLayer.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNCircleLayer.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillExtrusionLayer.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillLayer.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNHeatmapLayer.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNLineLayer.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNRasterLayer.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNSymbolLayer.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/light/RCTMLNLight.java +6 -6
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNImageSource.java +3 -3
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNImageSourceManager.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNRasterSource.java +3 -3
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNShapeSource.java +9 -9
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNShapeSourceManager.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNTileSource.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNVectorSource.java +4 -4
- package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTSource.java +7 -7
- package/android/rctmln/src/main/java/com/maplibre/rctmln/events/FeatureClickEvent.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/events/MapClickEvent.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/events/PointAnnotationClickEvent.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/events/PointAnnotationDragEvent.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/location/LocationManager.java +6 -6
- package/android/rctmln/src/main/java/com/maplibre/rctmln/location/UserLocation.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/location/UserTrackingMode.java +3 -3
- package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNLocationModule.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNLogging.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNModule.java +8 -8
- package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNOfflineModule.java +11 -11
- package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNSnapshotModule.java +7 -7
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/ClusterPropertyEntry.java +1 -1
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/DownloadMapImageTask.java +5 -5
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/ExpressionParser.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/GeoJSONUtils.java +13 -13
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/GeoViewport.java +3 -3
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/SimpleEventCallback.java +2 -2
- package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/SphericalMercator.java +1 -1
- package/docs/Camera.md +3 -3
- package/docs/MapView.md +9 -33
- package/docs/UserLocation.md +10 -2
- package/docs/docs.json +16 -31
- package/javascript/Maplibre.ts +5 -1
- package/javascript/components/BackgroundLayer.tsx +27 -20
- package/javascript/components/Callout.tsx +40 -40
- package/javascript/components/Camera.tsx +421 -478
- package/javascript/components/CircleLayer.tsx +29 -22
- package/javascript/components/FillExtrusionLayer.tsx +23 -23
- package/javascript/components/FillLayer.tsx +22 -19
- package/javascript/components/HeatmapLayer.tsx +21 -19
- package/javascript/components/ImageSource.tsx +25 -32
- package/javascript/components/Images.tsx +36 -35
- package/javascript/components/Light.tsx +20 -47
- package/javascript/components/LineLayer.tsx +23 -20
- package/javascript/components/MapView.tsx +604 -554
- package/javascript/components/MarkerView.tsx +23 -38
- package/javascript/components/NativeUserLocation.tsx +3 -5
- package/javascript/components/PointAnnotation.tsx +111 -87
- package/javascript/components/RasterLayer.tsx +21 -18
- package/javascript/components/RasterSource.tsx +39 -42
- package/javascript/components/ShapeSource.tsx +287 -239
- package/javascript/components/Style.tsx +1 -1
- package/javascript/components/SymbolLayer.tsx +34 -28
- package/javascript/components/UserLocation.tsx +164 -151
- package/javascript/components/VectorSource.tsx +128 -117
- package/javascript/components/annotations/Annotation.tsx +105 -79
- package/javascript/{components/AbstractLayer.tsx → hooks/useAbstractLayer.ts} +54 -37
- package/javascript/hooks/useAbstractSource.ts +34 -0
- package/javascript/hooks/useNativeBridge.ts +125 -0
- package/javascript/hooks/useNativeRef.ts +13 -0
- package/javascript/hooks/useOnce.ts +12 -0
- package/javascript/utils/Logger.ts +3 -3
- package/package.json +2 -1
- package/scripts/templates/RCTMLNStyleFactory.java.ejs +14 -14
- package/javascript/components/AbstractSource.tsx +0 -27
- package/javascript/components/NativeBridgeComponent.tsx +0 -117
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import {runNativeCommand, isAndroid, NativeArg} from '../utils';
|
|
2
|
-
|
|
3
|
-
import {Component, SyntheticEvent} from 'react';
|
|
4
|
-
|
|
5
|
-
export type RNMLEvent<PayloadType = {[key: string]: string}> = {
|
|
6
|
-
payload: PayloadType;
|
|
7
|
-
type: string;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
let callbackIncrement = 0;
|
|
11
|
-
|
|
12
|
-
const NativeBridgeComponent = <
|
|
13
|
-
Props extends object,
|
|
14
|
-
BaseComponent extends new (...args: any[]) => Component<Props>,
|
|
15
|
-
>(
|
|
16
|
-
B: BaseComponent,
|
|
17
|
-
nativeModuleName: string,
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type,@typescript-eslint/explicit-module-boundary-types
|
|
19
|
-
) => {
|
|
20
|
-
const NativeBridge = class extends B {
|
|
21
|
-
_nativeModuleName: string;
|
|
22
|
-
_onAndroidCallback: (e: any) => void;
|
|
23
|
-
_callbackMap: Map<string, any>;
|
|
24
|
-
_preRefMapMethodQueue: any[];
|
|
25
|
-
|
|
26
|
-
constructor(...args: any[]) {
|
|
27
|
-
super(...args);
|
|
28
|
-
|
|
29
|
-
this._nativeModuleName = nativeModuleName;
|
|
30
|
-
this._onAndroidCallback = this._onAndroidCallback0.bind(this);
|
|
31
|
-
this._callbackMap = new Map();
|
|
32
|
-
this._preRefMapMethodQueue = [];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
_addAddAndroidCallback<ReturnType>(
|
|
36
|
-
id: string,
|
|
37
|
-
resolve: (value: ReturnType) => void,
|
|
38
|
-
reject: (error: Error) => void,
|
|
39
|
-
): void {
|
|
40
|
-
this._callbackMap.set(id, {resolve, reject});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
_removeAndroidCallback(id: string): void {
|
|
44
|
-
this._callbackMap.delete(id);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
_onAndroidCallback0(e: SyntheticEvent<Element, RNMLEvent>): void {
|
|
48
|
-
const callbackID = e.nativeEvent.type;
|
|
49
|
-
const callback = this._callbackMap.get(callbackID);
|
|
50
|
-
|
|
51
|
-
if (!callback) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
this._callbackMap.delete(callbackID);
|
|
56
|
-
const {payload} = e.nativeEvent;
|
|
57
|
-
if (payload.error) {
|
|
58
|
-
callback.reject.call(null, new Error(payload.error));
|
|
59
|
-
} else {
|
|
60
|
-
callback.resolve.call(null, payload);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
async _runPendingNativeCommands<RefType extends Component>(
|
|
65
|
-
nativeRef: RefType | null | undefined,
|
|
66
|
-
): Promise<void> {
|
|
67
|
-
if (nativeRef) {
|
|
68
|
-
while (this._preRefMapMethodQueue.length > 0) {
|
|
69
|
-
const item = this._preRefMapMethodQueue.pop();
|
|
70
|
-
|
|
71
|
-
if (item && item.method && item.resolver) {
|
|
72
|
-
const res = await this._runNativeCommand(
|
|
73
|
-
item.method.name,
|
|
74
|
-
nativeRef,
|
|
75
|
-
item.method.args,
|
|
76
|
-
);
|
|
77
|
-
item.resolver(res);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
_runNativeCommand<RefType extends Component, ReturnType = NativeArg>(
|
|
84
|
-
methodName: string,
|
|
85
|
-
nativeRef: RefType | undefined | null,
|
|
86
|
-
args: NativeArg[] = [],
|
|
87
|
-
): Promise<ReturnType> {
|
|
88
|
-
if (!nativeRef) {
|
|
89
|
-
return new Promise(resolve => {
|
|
90
|
-
this._preRefMapMethodQueue.push({
|
|
91
|
-
method: {name: methodName, args},
|
|
92
|
-
resolver: resolve,
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if (isAndroid()) {
|
|
98
|
-
return new Promise((resolve, reject) => {
|
|
99
|
-
callbackIncrement += 1;
|
|
100
|
-
const callbackID = `${methodName}_${callbackIncrement}`;
|
|
101
|
-
this._addAddAndroidCallback(callbackID, resolve, reject);
|
|
102
|
-
args.unshift(callbackID);
|
|
103
|
-
runNativeCommand(this._nativeModuleName, methodName, nativeRef, args);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
return runNativeCommand(
|
|
107
|
-
this._nativeModuleName,
|
|
108
|
-
methodName,
|
|
109
|
-
nativeRef,
|
|
110
|
-
args,
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
return NativeBridge;
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
export default NativeBridgeComponent;
|