@rnmapbox/maps 10.1.0-beta.23 → 10.1.0-beta.25
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/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +4 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewport.kt +69 -2
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +27 -3
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +51 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +8 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleFactory.kt +1184 -109
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayer.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayerManager.kt +85 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModels.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModelsManager.kt +59 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +37 -5
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +395 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +8 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerDelegate.java +65 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerInterface.java +28 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerDelegate.java +32 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerInterface.java +17 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +3 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +1 -0
- package/ios/RNMBX/RNMBXFabricPropConvert.h +11 -5
- package/ios/RNMBX/RNMBXFabricPropConvert.mm +5 -0
- package/ios/RNMBX/RNMBXInteractiveElement.swift +1 -1
- package/ios/RNMBX/RNMBXModelLayer.swift +59 -0
- package/ios/RNMBX/RNMBXModelLayerComponentView.h +15 -0
- package/ios/RNMBX/RNMBXModelLayerComponentView.mm +70 -0
- package/ios/RNMBX/RNMBXModelLayerViewManager.m +12 -0
- package/ios/RNMBX/RNMBXModelLayerViewManager.swift +13 -0
- package/ios/RNMBX/RNMBXModels.swift +63 -0
- package/ios/RNMBX/RNMBXModelsComponentView.h +17 -0
- package/ios/RNMBX/RNMBXModelsComponentView.mm +67 -0
- package/ios/RNMBX/RNMBXModelsManager.mm +9 -0
- package/ios/RNMBX/RNMBXModelsManager.swift +13 -0
- package/ios/RNMBX/RNMBXNativeUserLocation.swift +47 -16
- package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +8 -7
- package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +1 -0
- package/ios/RNMBX/RNMBXStyle.swift +786 -1
- package/ios/RNMBX/RNMBXStyleValue.swift +34 -3
- package/ios/RNMBX/RNMBXViewport.swift +59 -3
- package/lib/commonjs/Mapbox.js +16 -0
- package/lib/commonjs/Mapbox.js.map +1 -1
- package/lib/commonjs/components/AbstractLayer.js +1 -1
- package/lib/commonjs/components/AbstractLayer.js.map +1 -1
- package/lib/commonjs/components/ModelLayer.js +37 -0
- package/lib/commonjs/components/ModelLayer.js.map +1 -0
- package/lib/commonjs/components/Models.js +43 -0
- package/lib/commonjs/components/Models.js.map +1 -0
- package/lib/commonjs/components/NativeUserLocation.js +25 -1
- package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
- package/lib/commonjs/components/Viewport.js.map +1 -1
- package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js +13 -0
- package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXModelsNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXModelsNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +11 -10
- package/lib/commonjs/utils/MapboxStyles.d.js +5 -0
- package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
- package/lib/commonjs/utils/styleMap.js +67 -2
- package/lib/commonjs/utils/styleMap.js.map +1 -1
- package/lib/module/Mapbox.js +2 -0
- package/lib/module/Mapbox.js.map +1 -1
- package/lib/module/components/AbstractLayer.js +1 -1
- package/lib/module/components/AbstractLayer.js.map +1 -1
- package/lib/module/components/ModelLayer.js +30 -0
- package/lib/module/components/ModelLayer.js.map +1 -0
- package/lib/module/components/Models.js +36 -0
- package/lib/module/components/Models.js.map +1 -0
- package/lib/module/components/NativeUserLocation.js +25 -1
- package/lib/module/components/NativeUserLocation.js.map +1 -1
- package/lib/module/components/Viewport.js.map +1 -1
- package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXLineLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXModelLayerNativeComponent.js +9 -0
- package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXModelsNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXViewportNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -1
- package/lib/module/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +11 -10
- package/lib/module/utils/MapboxStyles.d.js +5 -0
- package/lib/module/utils/MapboxStyles.d.js.map +1 -1
- package/lib/module/utils/styleMap.js +67 -2
- package/lib/module/utils/styleMap.js.map +1 -1
- package/lib/typescript/src/Mapbox.d.ts +3 -1
- package/lib/typescript/src/Mapbox.d.ts.map +1 -1
- package/lib/typescript/src/components/AbstractLayer.d.ts +9 -4
- package/lib/typescript/src/components/AbstractLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/MapView.d.ts +1 -5
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- package/lib/typescript/src/components/ModelLayer.d.ts +77 -0
- package/lib/typescript/src/components/ModelLayer.d.ts.map +1 -0
- package/lib/typescript/src/components/Models.d.ts +15 -0
- package/lib/typescript/src/components/Models.d.ts.map +1 -0
- package/lib/typescript/src/components/NativeUserLocation.d.ts +20 -0
- package/lib/typescript/src/components/NativeUserLocation.d.ts.map +1 -1
- package/lib/typescript/src/components/Viewport.d.ts +32 -1
- package/lib/typescript/src/components/Viewport.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts +12 -10
- package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts +12 -10
- package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts +12 -10
- package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts +12 -10
- package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts +28 -0
- package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts +15 -0
- package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +9 -1
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts +12 -10
- package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts +12 -10
- package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/utils/styleMap.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Mapbox.ts +3 -0
- package/src/components/AbstractLayer.tsx +11 -5
- package/src/components/ModelLayer.tsx +107 -0
- package/src/components/Models.tsx +44 -0
- package/src/components/NativeUserLocation.tsx +46 -2
- package/src/components/Viewport.tsx +37 -0
- package/src/specs/RNMBXCircleLayerNativeComponent.ts +15 -12
- package/src/specs/RNMBXFillLayerNativeComponent.ts +15 -12
- package/src/specs/RNMBXHeatmapLayerNativeComponent.ts +15 -12
- package/src/specs/RNMBXLineLayerNativeComponent.ts +15 -12
- package/src/specs/RNMBXModelLayerNativeComponent.ts +38 -0
- package/src/specs/RNMBXModelsNativeComponent.ts +18 -0
- package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +14 -1
- package/src/specs/RNMBXRasterLayerNativeComponent.ts +15 -12
- package/src/specs/RNMBXSymbolLayerNativeComponent.ts +15 -12
- package/src/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +11 -10
- package/src/utils/MapboxStyles.d.ts +526 -63
- package/src/utils/styleMap.ts +69 -2
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.DynamicFromObject;
|
|
15
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManagerInterface;
|
|
17
|
+
|
|
18
|
+
public class RNMBXModelLayerManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNMBXModelLayerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
19
|
+
public RNMBXModelLayerManagerDelegate(U viewManager) {
|
|
20
|
+
super(viewManager);
|
|
21
|
+
}
|
|
22
|
+
@Override
|
|
23
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
24
|
+
switch (propName) {
|
|
25
|
+
case "sourceID":
|
|
26
|
+
mViewManager.setSourceID(view, new DynamicFromObject(value));
|
|
27
|
+
break;
|
|
28
|
+
case "existing":
|
|
29
|
+
mViewManager.setExisting(view, new DynamicFromObject(value));
|
|
30
|
+
break;
|
|
31
|
+
case "filter":
|
|
32
|
+
mViewManager.setFilter(view, new DynamicFromObject(value));
|
|
33
|
+
break;
|
|
34
|
+
case "aboveLayerID":
|
|
35
|
+
mViewManager.setAboveLayerID(view, new DynamicFromObject(value));
|
|
36
|
+
break;
|
|
37
|
+
case "belowLayerID":
|
|
38
|
+
mViewManager.setBelowLayerID(view, new DynamicFromObject(value));
|
|
39
|
+
break;
|
|
40
|
+
case "layerIndex":
|
|
41
|
+
mViewManager.setLayerIndex(view, new DynamicFromObject(value));
|
|
42
|
+
break;
|
|
43
|
+
case "maxZoomLevel":
|
|
44
|
+
mViewManager.setMaxZoomLevel(view, new DynamicFromObject(value));
|
|
45
|
+
break;
|
|
46
|
+
case "minZoomLevel":
|
|
47
|
+
mViewManager.setMinZoomLevel(view, new DynamicFromObject(value));
|
|
48
|
+
break;
|
|
49
|
+
case "sourceLayerID":
|
|
50
|
+
mViewManager.setSourceLayerID(view, new DynamicFromObject(value));
|
|
51
|
+
break;
|
|
52
|
+
case "slot":
|
|
53
|
+
mViewManager.setSlot(view, new DynamicFromObject(value));
|
|
54
|
+
break;
|
|
55
|
+
case "id":
|
|
56
|
+
mViewManager.setId(view, new DynamicFromObject(value));
|
|
57
|
+
break;
|
|
58
|
+
case "reactStyle":
|
|
59
|
+
mViewManager.setReactStyle(view, new DynamicFromObject(value));
|
|
60
|
+
break;
|
|
61
|
+
default:
|
|
62
|
+
super.setProperty(view, propName, value);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaInterface.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import com.facebook.react.bridge.Dynamic;
|
|
14
|
+
|
|
15
|
+
public interface RNMBXModelLayerManagerInterface<T extends View> {
|
|
16
|
+
void setSourceID(T view, Dynamic value);
|
|
17
|
+
void setExisting(T view, Dynamic value);
|
|
18
|
+
void setFilter(T view, Dynamic value);
|
|
19
|
+
void setAboveLayerID(T view, Dynamic value);
|
|
20
|
+
void setBelowLayerID(T view, Dynamic value);
|
|
21
|
+
void setLayerIndex(T view, Dynamic value);
|
|
22
|
+
void setMaxZoomLevel(T view, Dynamic value);
|
|
23
|
+
void setMinZoomLevel(T view, Dynamic value);
|
|
24
|
+
void setSourceLayerID(T view, Dynamic value);
|
|
25
|
+
void setSlot(T view, Dynamic value);
|
|
26
|
+
void setId(T view, Dynamic value);
|
|
27
|
+
void setReactStyle(T view, Dynamic value);
|
|
28
|
+
}
|
package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerDelegate.java
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.DynamicFromObject;
|
|
15
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManagerInterface;
|
|
17
|
+
|
|
18
|
+
public class RNMBXModelsManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNMBXModelsManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
19
|
+
public RNMBXModelsManagerDelegate(U viewManager) {
|
|
20
|
+
super(viewManager);
|
|
21
|
+
}
|
|
22
|
+
@Override
|
|
23
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
24
|
+
switch (propName) {
|
|
25
|
+
case "models":
|
|
26
|
+
mViewManager.setModels(view, new DynamicFromObject(value));
|
|
27
|
+
break;
|
|
28
|
+
default:
|
|
29
|
+
super.setProperty(view, propName, value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerInterface.java
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaInterface.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import com.facebook.react.bridge.Dynamic;
|
|
14
|
+
|
|
15
|
+
public interface RNMBXModelsManagerInterface<T extends View> {
|
|
16
|
+
void setModels(T view, Dynamic value);
|
|
17
|
+
}
|
|
@@ -46,6 +46,9 @@ public class RNMBXNativeUserLocationManagerDelegate<T extends View, U extends Ba
|
|
|
46
46
|
case "visible":
|
|
47
47
|
mViewManager.setVisible(view, value == null ? false : (boolean) value);
|
|
48
48
|
break;
|
|
49
|
+
case "pulsing":
|
|
50
|
+
mViewManager.setPulsing(view, new DynamicFromObject(value));
|
|
51
|
+
break;
|
|
49
52
|
default:
|
|
50
53
|
super.setProperty(view, propName, value);
|
|
51
54
|
}
|
|
@@ -14,28 +14,34 @@ BOOL RNMBXPropConvert_Optional_BOOL(const folly::dynamic &dyn, NSString* propert
|
|
|
14
14
|
NSString* RNMBXPropConvert_Optional_NSString(const folly::dynamic &dyn, NSString* propertyName);
|
|
15
15
|
id RNMBXPropConvert_Optional_ExpressionDouble(const folly::dynamic &dyn, NSString* propertyName);
|
|
16
16
|
BOOL RNMBXPropConvert_BOOL(const folly::dynamic &dyn, NSString* propertyName);
|
|
17
|
+
NSDictionary* RNMBXPropConvert_Optional_NSDictionary(const folly::dynamic &dyn, NSString* propertyName);
|
|
17
18
|
|
|
18
|
-
#define
|
|
19
|
+
#define RNMBX_OPTIONAL_PROP_BOOL_NSNumber(name) \
|
|
19
20
|
if ((!oldProps.get() || oldViewProps.name != newViewProps.name) && !newViewProps.name.isNull()) { \
|
|
20
21
|
_view.name = RNMBXPropConvert_Optional_BOOL_NSNumber(newViewProps.name, @#name); \
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
#define
|
|
24
|
+
#define RNMBX_OPTIONAL_PROP_BOOL(name) \
|
|
24
25
|
if ((!oldProps.get() || oldViewProps.name != newViewProps.name) && !newViewProps.name.isNull()) { \
|
|
25
26
|
_view.name = RNMBXPropConvert_Optional_BOOL(newViewProps.name, @#name); \
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
#define
|
|
29
|
+
#define RNMBX_OPTIONAL_PROP_NSString(name) \
|
|
29
30
|
if ((!oldProps.get() || oldViewProps.name != newViewProps.name) && !newViewProps.name.isNull()) { \
|
|
30
31
|
_view.name = RNMBXPropConvert_Optional_NSString(newViewProps.name, @#name); \
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
#define
|
|
34
|
+
#define RNMBX_OPTIONAL_PROP_ExpressionDouble(name) \
|
|
34
35
|
if ((!oldProps.get() || oldViewProps.name != newViewProps.name) && !newViewProps.name.isNull()) { \
|
|
35
36
|
_view.name = RNMBXPropConvert_Optional_ExpressionDouble(newViewProps.name, @#name); \
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
#define
|
|
39
|
+
#define RNMBX_PROP_BOOL(name) \
|
|
39
40
|
if ((!oldProps.get() || oldViewProps.name != newViewProps.name)) { \
|
|
40
41
|
_view.name = RNMBXPropConvert_BOOL(newViewProps.name, @#name); \
|
|
41
42
|
}
|
|
43
|
+
|
|
44
|
+
#define RNMBX_OPTIONAL_PROP_NSDictionary(name) \
|
|
45
|
+
if ((!oldProps.get() || oldViewProps.name != newViewProps.name)) { \
|
|
46
|
+
_view.name = RNMBXPropConvert_Optional_NSDictionary(newViewProps.name, @#name); \
|
|
47
|
+
}
|
|
@@ -128,4 +128,9 @@ id RNMBXPropConvert_Optional_ExpressionDouble(const folly::dynamic &dyn, NSStrin
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
NSDictionary* RNMBXPropConvert_Optional_NSDictionary(const folly::dynamic &dyn, NSString* propertyName)
|
|
132
|
+
{
|
|
133
|
+
return RNMBXPropConvert_ID(dyn);
|
|
134
|
+
}
|
|
135
|
+
|
|
131
136
|
#endif
|
|
@@ -18,7 +18,7 @@ public class RNMBXInteractiveElement : UIView, RNMBXMapComponent {
|
|
|
18
18
|
@objc public var id: String! = nil {
|
|
19
19
|
willSet {
|
|
20
20
|
if id != nil && newValue != id {
|
|
21
|
-
Logger.log(level:.warn, message: "Changing id from: \(optional: id) to \(optional: newValue), changing of id is supported")
|
|
21
|
+
Logger.log(level:.warn, message: "Changing id from: \(optional: id) to \(optional: newValue), changing of id is not supported")
|
|
22
22
|
if let map = map { removeFromMap(map, reason: .ComponentChange) }
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
@_spi(Experimental) import MapboxMaps
|
|
2
|
+
|
|
3
|
+
@objc(RNMBXModelLayer)
|
|
4
|
+
public class RNMBXModelLayer: RNMBXVectorLayer {
|
|
5
|
+
typealias LayerType = ModelLayer
|
|
6
|
+
|
|
7
|
+
override func makeLayer(style: Style) throws -> Layer {
|
|
8
|
+
let vectorSource : VectorSource = try self.layerWithSourceID(in: style)
|
|
9
|
+
#if RNMBX_11
|
|
10
|
+
var layer = LayerType(id: self.id!, source: sourceID!)
|
|
11
|
+
#else
|
|
12
|
+
var layer = LayerType(id: self.id!)
|
|
13
|
+
#endif
|
|
14
|
+
layer.sourceLayer = self.sourceLayerID
|
|
15
|
+
layer.source = sourceID
|
|
16
|
+
return layer
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
override func layerType() -> Layer.Type {
|
|
20
|
+
return LayerType.self
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
override func apply(style : Style) throws {
|
|
24
|
+
try style.updateLayer(withId: id, type: LayerType.self) { (layer : inout ModelLayer) in
|
|
25
|
+
if self.styleLayer != nil {
|
|
26
|
+
self.setOptions(&self.styleLayer!)
|
|
27
|
+
}
|
|
28
|
+
if let styleLayer = self.styleLayer as? ModelLayer {
|
|
29
|
+
layer = styleLayer
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override func addStyles() {
|
|
35
|
+
if let style : Style = self.style {
|
|
36
|
+
let styler = RNMBXStyle(style: self.style!)
|
|
37
|
+
styler.bridge = self.bridge
|
|
38
|
+
|
|
39
|
+
if var styleLayer = self.styleLayer as? LayerType,
|
|
40
|
+
let reactStyle = reactStyle {
|
|
41
|
+
styler.modelLayer(
|
|
42
|
+
layer: &styleLayer,
|
|
43
|
+
reactStyle: reactStyle,
|
|
44
|
+
oldReactStyle: oldReatStyle,
|
|
45
|
+
applyUpdater: { (updater) in logged("RNMBXModelLayer.updateLayer") {
|
|
46
|
+
try style.updateLayer(withId: self.id, type: LayerType.self) { (layer: inout LayerType) in updater(&layer) }
|
|
47
|
+
}},
|
|
48
|
+
isValid: {
|
|
49
|
+
return self.isAddedToMap()
|
|
50
|
+
})
|
|
51
|
+
self.styleLayer = styleLayer
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
func isAddedToMap() -> Bool {
|
|
57
|
+
return true
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import <UIKit/UIKit.h>
|
|
4
|
+
|
|
5
|
+
#import <React/RCTUIManager.h>
|
|
6
|
+
#import <React/RCTViewComponentView.h>
|
|
7
|
+
|
|
8
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
9
|
+
|
|
10
|
+
@interface RNMBXModelLayerComponentView : RCTViewComponentView
|
|
11
|
+
@end
|
|
12
|
+
|
|
13
|
+
NS_ASSUME_NONNULL_END
|
|
14
|
+
|
|
15
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import "RNMBXModelLayerComponentView.h"
|
|
4
|
+
#import "RNMBXFabricHelpers.h"
|
|
5
|
+
|
|
6
|
+
#import <React/RCTConversions.h>
|
|
7
|
+
#import <React/RCTFabricComponentsPlugins.h>
|
|
8
|
+
#import <React/RCTBridge+Private.h>
|
|
9
|
+
|
|
10
|
+
#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
|
|
11
|
+
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
|
|
12
|
+
#import <react/renderer/components/rnmapbox_maps_specs/Props.h>
|
|
13
|
+
#import <react/renderer/components/rnmapbox_maps_specs/RCTComponentViewHelpers.h>
|
|
14
|
+
|
|
15
|
+
using namespace facebook::react;
|
|
16
|
+
|
|
17
|
+
@interface RNMBXModelLayerComponentView () <RCTRNMBXModelLayerViewProtocol>
|
|
18
|
+
@end
|
|
19
|
+
|
|
20
|
+
@implementation RNMBXModelLayerComponentView {
|
|
21
|
+
RNMBXModelLayer *_view;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
25
|
+
{
|
|
26
|
+
if (self = [super initWithFrame:frame]) {
|
|
27
|
+
static const auto defaultProps = std::make_shared<const RNMBXModelLayerProps>();
|
|
28
|
+
_props = defaultProps;
|
|
29
|
+
[self prepareView];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return self;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
- (void)prepareView
|
|
36
|
+
{
|
|
37
|
+
_view = [[RNMBXModelLayer alloc] init];
|
|
38
|
+
_view.bridge = [RCTBridge currentBridge];
|
|
39
|
+
self.contentView = _view;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#pragma mark - RCTComponentViewProtocol
|
|
43
|
+
|
|
44
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider
|
|
45
|
+
{
|
|
46
|
+
return concreteComponentDescriptorProvider<RNMBXModelLayerComponentDescriptor>();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
- (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps
|
|
50
|
+
{
|
|
51
|
+
const auto &newProps = static_cast<const RNMBXModelLayerProps &>(*props);
|
|
52
|
+
RNMBXSetCommonLayerProps(newProps, _view);
|
|
53
|
+
|
|
54
|
+
[super updateProps:props oldProps:oldProps];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
- (void)prepareForRecycle
|
|
58
|
+
{
|
|
59
|
+
[super prepareForRecycle];
|
|
60
|
+
[self prepareView];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@end
|
|
64
|
+
|
|
65
|
+
Class<RCTComponentViewProtocol> RNMBXModelLayerCls(void)
|
|
66
|
+
{
|
|
67
|
+
return RNMBXModelLayerComponentView.class;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#import <React/RCTBridgeModule.h>
|
|
2
|
+
#import <React/RCTViewManager.h>
|
|
3
|
+
|
|
4
|
+
@interface RCT_EXTERN_REMAP_MODULE(RNMBXModelLayer, RNMBXModelLayerViewManager, RCTViewManager)
|
|
5
|
+
|
|
6
|
+
// circle layer props
|
|
7
|
+
RCT_EXPORT_VIEW_PROPERTY(sourceLayerID, NSString)
|
|
8
|
+
|
|
9
|
+
// standard layer props
|
|
10
|
+
#include "CommonLayerProperties.H"
|
|
11
|
+
|
|
12
|
+
@end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@objc(RNMBXModelLayerViewManager)
|
|
2
|
+
class RNMBXModelLayerViewManager: RCTViewManager {
|
|
3
|
+
@objc
|
|
4
|
+
override static func requiresMainQueueSetup() -> Bool {
|
|
5
|
+
return true
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
override func view() -> UIView! {
|
|
9
|
+
let layer = RNMBXModelLayer()
|
|
10
|
+
layer.bridge = self.bridge
|
|
11
|
+
return layer
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@_spi(Experimental) import MapboxMaps
|
|
2
|
+
|
|
3
|
+
@objc(RNMBXModels)
|
|
4
|
+
open class RNMBXModels : UIView, RNMBXMapComponent {
|
|
5
|
+
var modelIdToUrl: [String: String] = [:]
|
|
6
|
+
|
|
7
|
+
@objc(models)
|
|
8
|
+
public var models: NSDictionary {
|
|
9
|
+
set {
|
|
10
|
+
var newModels: [String: String] = [:]
|
|
11
|
+
newValue.forEach { (key, value) in
|
|
12
|
+
if let value = value as? NSDictionary, let key = key as? String {
|
|
13
|
+
if let uri = value["uri"] as? String {
|
|
14
|
+
newModels[key] = uri
|
|
15
|
+
} else if let url = value["url"] as? String {
|
|
16
|
+
newModels[key] = url
|
|
17
|
+
} else {
|
|
18
|
+
Logger.log(level: .error, message: "Unexpected value for model key: \(key) \(value) - no uri or url found")
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
self.modelIdToUrl = newModels
|
|
23
|
+
}
|
|
24
|
+
get {
|
|
25
|
+
Logger.error("RNMBXModels.models.getter not implemented")
|
|
26
|
+
return NSDictionary()
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
func setModels(_ models: NSDictionary) {
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
func addToMap(_ map: RNMBXMapView, style: Style) {
|
|
35
|
+
modelIdToUrl.forEach { (id, uri) in
|
|
36
|
+
logged("Models.addStyleModel") {
|
|
37
|
+
if let link = URL(string: uri), let scheme = link.scheme, let host = link.host,
|
|
38
|
+
let port = link.port {
|
|
39
|
+
|
|
40
|
+
// https://github.com/mapbox/mapbox-maps-ios/issues/2067
|
|
41
|
+
let uriWithoutQuery = "\(scheme)://\(host):\(port)\(link.path)"
|
|
42
|
+
|
|
43
|
+
try style.addStyleModel(modelId: id, modelUri: uriWithoutQuery)
|
|
44
|
+
} else {
|
|
45
|
+
try style.addStyleModel(modelId: id, modelUri: uri)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
func removeFromMap(_ map: RNMBXMapView, reason: RemovalReason) -> Bool {
|
|
52
|
+
modelIdToUrl.forEach { (id, _) in
|
|
53
|
+
#if RNMBX_11
|
|
54
|
+
try? map._mapView?.mapboxMap.removeStyleModel(modelId: id)
|
|
55
|
+
#endif
|
|
56
|
+
}
|
|
57
|
+
return true
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
func waitForStyleLoad() -> Bool {
|
|
61
|
+
true
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import <UIKit/UIKit.h>
|
|
4
|
+
|
|
5
|
+
#import <React/RCTUIManager.h>
|
|
6
|
+
#import <React/RCTViewComponentView.h>
|
|
7
|
+
|
|
8
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@interface RNMBXModelsComponentView : RCTViewComponentView
|
|
12
|
+
|
|
13
|
+
@end
|
|
14
|
+
|
|
15
|
+
NS_ASSUME_NONNULL_END
|
|
16
|
+
|
|
17
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import "RNMBXModelsComponentView.h"
|
|
4
|
+
|
|
5
|
+
#import <React/RCTConversions.h>
|
|
6
|
+
#import <React/RCTFabricComponentsPlugins.h>
|
|
7
|
+
|
|
8
|
+
#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
|
|
9
|
+
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
|
|
10
|
+
#import <react/renderer/components/rnmapbox_maps_specs/Props.h>
|
|
11
|
+
#import <react/renderer/components/rnmapbox_maps_specs/RCTComponentViewHelpers.h>
|
|
12
|
+
|
|
13
|
+
#import "rnmapbox_maps-Swift.pre.h"
|
|
14
|
+
|
|
15
|
+
#import "RCTFollyConvert.h"
|
|
16
|
+
#import "RNMBXFabricPropConvert.h"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
// TODO: use generated RNMBXModelsEventEmitter, but need 0.73+ for dynamic support
|
|
20
|
+
using namespace facebook::react;
|
|
21
|
+
|
|
22
|
+
@implementation RNMBXModelsComponentView {
|
|
23
|
+
RNMBXModels *_view;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
27
|
+
{
|
|
28
|
+
if (self = [super initWithFrame:frame]) {
|
|
29
|
+
static const auto defaultProps = std::make_shared<const RNMBXModelsProps>();
|
|
30
|
+
_props = defaultProps;
|
|
31
|
+
_view = [[RNMBXModels alloc] init];
|
|
32
|
+
[self prepareView];
|
|
33
|
+
|
|
34
|
+
self.contentView = _view;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return self;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
- (void)prepareView
|
|
41
|
+
{
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
#pragma mark - RCTComponentViewProtocol
|
|
46
|
+
|
|
47
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider
|
|
48
|
+
{
|
|
49
|
+
return concreteComponentDescriptorProvider<RNMBXModelsComponentDescriptor>();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
- (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps
|
|
53
|
+
{
|
|
54
|
+
const auto &oldViewProps = static_cast<const RNMBXModelsProps &>(*oldProps);
|
|
55
|
+
const auto &newViewProps = static_cast<const RNMBXModelsProps &>(*props);
|
|
56
|
+
|
|
57
|
+
RNMBX_OPTIONAL_PROP_NSDictionary(models);
|
|
58
|
+
[super updateProps:props oldProps:oldProps];
|
|
59
|
+
}
|
|
60
|
+
@end
|
|
61
|
+
|
|
62
|
+
Class<RCTComponentViewProtocol> RNMBXModelsCls(void)
|
|
63
|
+
{
|
|
64
|
+
return RNMBXModelsComponentView.class;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@objc(RNMBXModelsManager)
|
|
2
|
+
public class RNMBXModelsManager : RCTViewManager {
|
|
3
|
+
@objc
|
|
4
|
+
public override static func requiresMainQueueSetup() -> Bool {
|
|
5
|
+
return true
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
public override func view() -> UIView! {
|
|
9
|
+
let layer = RNMBXModels()
|
|
10
|
+
return layer
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
@@ -76,6 +76,9 @@ public class RNMBXNativeUserLocation: UIView, RNMBXMapComponent {
|
|
|
76
76
|
|
|
77
77
|
@objc
|
|
78
78
|
public var puckBearingEnabled: Bool = false
|
|
79
|
+
|
|
80
|
+
@objc
|
|
81
|
+
public var pulsing: NSDictionary? = nil
|
|
79
82
|
|
|
80
83
|
@objc
|
|
81
84
|
override public func didSetProps(_ props: [String]) {
|
|
@@ -151,20 +154,7 @@ public class RNMBXNativeUserLocation: UIView, RNMBXMapComponent {
|
|
|
151
154
|
return
|
|
152
155
|
}
|
|
153
156
|
|
|
154
|
-
if (visible) {
|
|
155
|
-
if images.isEmpty {
|
|
156
|
-
location.options.puckType = .puck2D(.makeDefault(showBearing: puckBearingEnabled))
|
|
157
|
-
} else {
|
|
158
|
-
location.options.puckType = .puck2D(
|
|
159
|
-
Puck2DConfiguration(
|
|
160
|
-
topImage: self.images[.top],
|
|
161
|
-
bearingImage: self.images[.bearing],
|
|
162
|
-
shadowImage: self.images[.shadow],
|
|
163
|
-
scale: toDoubleValue(value: scale, name: "scale")
|
|
164
|
-
)
|
|
165
|
-
)
|
|
166
|
-
}
|
|
167
|
-
} else {
|
|
157
|
+
if (!visible) {
|
|
168
158
|
let emptyImage = UIGraphicsImageRenderer(size: CGSize(width: 1, height: 1)).image { _ in }
|
|
169
159
|
location.options.puckType = .puck2D(
|
|
170
160
|
Puck2DConfiguration(
|
|
@@ -174,9 +164,50 @@ public class RNMBXNativeUserLocation: UIView, RNMBXMapComponent {
|
|
|
174
164
|
scale: Value.constant(1.0)
|
|
175
165
|
)
|
|
176
166
|
)
|
|
167
|
+
return
|
|
168
|
+
} else {
|
|
169
|
+
var configuration : Puck2DConfiguration = images.isEmpty ?
|
|
170
|
+
.makeDefault(showBearing: puckBearingEnabled) : Puck2DConfiguration(
|
|
171
|
+
topImage: self.images[.top],
|
|
172
|
+
bearingImage: self.images[.bearing],
|
|
173
|
+
shadowImage: self.images[.shadow])
|
|
174
|
+
|
|
175
|
+
if let scale = toDoubleValue(value: scale, name: "scale") {
|
|
176
|
+
configuration.scale = scale
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if let pulsing = pulsing {
|
|
180
|
+
if let kind = pulsing["kind"] as? String, kind == "default" {
|
|
181
|
+
configuration.pulsing = .default
|
|
182
|
+
} else {
|
|
183
|
+
var pulsingConfig = Puck2DConfiguration.Pulsing()
|
|
184
|
+
if let isEnabled = pulsing["isEnabled"] as? Bool {
|
|
185
|
+
pulsingConfig.isEnabled = isEnabled
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if let radius = pulsing["radius"] as? String {
|
|
189
|
+
if radius == "accuracy" {
|
|
190
|
+
pulsingConfig.radius = .accuracy
|
|
191
|
+
} else {
|
|
192
|
+
Logger.log(level: .error, message: "expected pulsing/radius to be either a number or accuracy but was \(radius)")
|
|
193
|
+
}
|
|
194
|
+
} else if let radius = pulsing["radius"] as? NSNumber {
|
|
195
|
+
pulsingConfig.radius = .constant(radius.doubleValue)
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if let color = pulsing["color"] as? Any {
|
|
199
|
+
if let uicolor = RCTConvert.uiColor(color) {
|
|
200
|
+
pulsingConfig.color = uicolor
|
|
201
|
+
} else {
|
|
202
|
+
Logger.log(level: .error, message: "expected color to be a color but was \(color)")
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
configuration.pulsing = pulsingConfig
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
location.options.puckType = .puck2D(configuration)
|
|
177
210
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
211
|
location.options.puckBearingEnabled = puckBearingEnabled
|
|
181
212
|
if let puckBearing = _puckBearing {
|
|
182
213
|
location.options.puckBearing = puckBearing
|
|
@@ -57,13 +57,14 @@ using namespace facebook::react;
|
|
|
57
57
|
const auto &oldViewProps = static_cast<const RNMBXNativeUserLocationProps &>(*oldProps);
|
|
58
58
|
const auto &newViewProps = static_cast<const RNMBXNativeUserLocationProps &>(*props);
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
RNMBX_OPTIONAL_PROP_NSString(puckBearing)
|
|
61
|
+
RNMBX_OPTIONAL_PROP_BOOL(puckBearingEnabled)
|
|
62
|
+
RNMBX_OPTIONAL_PROP_NSString(bearingImage)
|
|
63
|
+
RNMBX_OPTIONAL_PROP_NSString(shadowImage)
|
|
64
|
+
RNMBX_OPTIONAL_PROP_NSString(topImage)
|
|
65
|
+
RNMBX_OPTIONAL_PROP_ExpressionDouble(scale)
|
|
66
|
+
RNMBX_PROP_BOOL(visible)
|
|
67
|
+
RNMBX_OPTIONAL_PROP_NSDictionary(pulsing)
|
|
67
68
|
|
|
68
69
|
[super updateProps:props oldProps:oldProps];
|
|
69
70
|
|