@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.
Files changed (113) hide show
  1. package/.eslintrc.js +3 -1
  2. package/.yarn/sdks/eslint/bin/eslint.js +8 -1
  3. package/.yarn/sdks/eslint/lib/api.js +8 -1
  4. package/.yarn/sdks/eslint/lib/unsupported-api.js +8 -1
  5. package/.yarn/sdks/prettier/bin/prettier.cjs +8 -1
  6. package/.yarn/sdks/prettier/index.cjs +8 -1
  7. package/.yarn/sdks/typescript/bin/tsc +8 -1
  8. package/.yarn/sdks/typescript/bin/tsserver +8 -1
  9. package/.yarn/sdks/typescript/lib/tsc.js +8 -1
  10. package/.yarn/sdks/typescript/lib/tsserver.js +20 -6
  11. package/.yarn/sdks/typescript/lib/tsserverlibrary.js +20 -6
  12. package/.yarn/sdks/typescript/lib/typescript.js +8 -1
  13. package/CHANGELOG.md +7 -0
  14. package/CONTRIBUTING.md +10 -9
  15. package/android/build.gradle +1 -1
  16. package/android/rctmln/build.gradle +5 -5
  17. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/MarkerView.java +2 -2
  18. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/MarkerViewManager.java +6 -6
  19. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNMarkerView.java +5 -5
  20. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNPointAnnotation.java +9 -8
  21. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/CameraStop.java +14 -12
  22. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/CameraUpdateItem.java +10 -10
  23. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/CameraUpdateQueue.java +1 -1
  24. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/RCTMLNCamera.java +26 -26
  25. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/camera/RCTMLNCameraManager.java +1 -1
  26. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/images/RCTMLNImages.java +12 -12
  27. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/location/LocationComponentManager.java +9 -9
  28. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/location/RCTMLNNativeUserLocation.java +7 -7
  29. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/location/RCTMLNNativeUserLocationManager.java +1 -1
  30. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/LayerSourceInfo.java +9 -9
  31. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNAndroidTextureMapView.java +2 -2
  32. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNAndroidTextureMapViewManager.java +2 -2
  33. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNMapView.java +43 -43
  34. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNMapViewManager.java +6 -6
  35. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyle.java +3 -3
  36. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleFactory.java +14 -14
  37. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleFunctionParser.java +2 -2
  38. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleValue.java +2 -2
  39. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTLayer.java +8 -8
  40. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNBackgroundLayer.java +1 -1
  41. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNCircleLayer.java +2 -2
  42. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillExtrusionLayer.java +2 -2
  43. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillLayer.java +2 -2
  44. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNHeatmapLayer.java +2 -2
  45. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNLineLayer.java +2 -2
  46. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNRasterLayer.java +1 -1
  47. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNSymbolLayer.java +2 -2
  48. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/light/RCTMLNLight.java +6 -6
  49. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNImageSource.java +3 -3
  50. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNImageSourceManager.java +1 -1
  51. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNRasterSource.java +3 -3
  52. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNShapeSource.java +9 -9
  53. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNShapeSourceManager.java +1 -1
  54. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNTileSource.java +2 -2
  55. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNVectorSource.java +4 -4
  56. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTSource.java +7 -7
  57. package/android/rctmln/src/main/java/com/maplibre/rctmln/events/FeatureClickEvent.java +2 -2
  58. package/android/rctmln/src/main/java/com/maplibre/rctmln/events/MapClickEvent.java +1 -1
  59. package/android/rctmln/src/main/java/com/maplibre/rctmln/events/PointAnnotationClickEvent.java +2 -2
  60. package/android/rctmln/src/main/java/com/maplibre/rctmln/events/PointAnnotationDragEvent.java +2 -2
  61. package/android/rctmln/src/main/java/com/maplibre/rctmln/location/LocationManager.java +6 -6
  62. package/android/rctmln/src/main/java/com/maplibre/rctmln/location/UserLocation.java +1 -1
  63. package/android/rctmln/src/main/java/com/maplibre/rctmln/location/UserTrackingMode.java +3 -3
  64. package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNLocationModule.java +2 -2
  65. package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNLogging.java +2 -2
  66. package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNModule.java +8 -8
  67. package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNOfflineModule.java +11 -11
  68. package/android/rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNSnapshotModule.java +7 -7
  69. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/ClusterPropertyEntry.java +1 -1
  70. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/DownloadMapImageTask.java +5 -5
  71. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/ExpressionParser.java +2 -2
  72. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/GeoJSONUtils.java +13 -13
  73. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/GeoViewport.java +3 -3
  74. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/SimpleEventCallback.java +2 -2
  75. package/android/rctmln/src/main/java/com/maplibre/rctmln/utils/SphericalMercator.java +1 -1
  76. package/docs/Camera.md +3 -3
  77. package/docs/MapView.md +9 -33
  78. package/docs/UserLocation.md +10 -2
  79. package/docs/docs.json +16 -31
  80. package/javascript/Maplibre.ts +5 -1
  81. package/javascript/components/BackgroundLayer.tsx +27 -20
  82. package/javascript/components/Callout.tsx +40 -40
  83. package/javascript/components/Camera.tsx +421 -478
  84. package/javascript/components/CircleLayer.tsx +29 -22
  85. package/javascript/components/FillExtrusionLayer.tsx +23 -23
  86. package/javascript/components/FillLayer.tsx +22 -19
  87. package/javascript/components/HeatmapLayer.tsx +21 -19
  88. package/javascript/components/ImageSource.tsx +25 -32
  89. package/javascript/components/Images.tsx +36 -35
  90. package/javascript/components/Light.tsx +20 -47
  91. package/javascript/components/LineLayer.tsx +23 -20
  92. package/javascript/components/MapView.tsx +604 -554
  93. package/javascript/components/MarkerView.tsx +23 -38
  94. package/javascript/components/NativeUserLocation.tsx +3 -5
  95. package/javascript/components/PointAnnotation.tsx +111 -87
  96. package/javascript/components/RasterLayer.tsx +21 -18
  97. package/javascript/components/RasterSource.tsx +39 -42
  98. package/javascript/components/ShapeSource.tsx +287 -239
  99. package/javascript/components/Style.tsx +1 -1
  100. package/javascript/components/SymbolLayer.tsx +34 -28
  101. package/javascript/components/UserLocation.tsx +164 -151
  102. package/javascript/components/VectorSource.tsx +128 -117
  103. package/javascript/components/annotations/Annotation.tsx +105 -79
  104. package/javascript/{components/AbstractLayer.tsx → hooks/useAbstractLayer.ts} +54 -37
  105. package/javascript/hooks/useAbstractSource.ts +34 -0
  106. package/javascript/hooks/useNativeBridge.ts +125 -0
  107. package/javascript/hooks/useNativeRef.ts +13 -0
  108. package/javascript/hooks/useOnce.ts +12 -0
  109. package/javascript/utils/Logger.ts +3 -3
  110. package/package.json +2 -1
  111. package/scripts/templates/RCTMLNStyleFactory.java.ejs +14 -14
  112. package/javascript/components/AbstractSource.tsx +0 -27
  113. 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;