@rnmapbox/maps 10.1.0-beta.22 → 10.1.0-beta.24
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/components/camera/RNMBXViewport.kt +69 -2
- 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/utils/extensions/ReadableMap.kt +37 -5
- 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/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeMapViewModuleSpec.java +2 -1
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXImageModuleSpec.java +2 -1
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXMovePointShapeAnimatorModuleSpec.java +2 -1
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java +2 -1
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXShapeSourceModuleSpec.java +2 -1
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +2 -1
- package/ios/RNMBX/RNMBXFabricPropConvert.h +11 -5
- package/ios/RNMBX/RNMBXFabricPropConvert.mm +5 -0
- package/ios/RNMBX/RNMBXInteractiveElement.swift +1 -1
- package/ios/RNMBX/RNMBXNativeUserLocation.swift +47 -16
- package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +8 -7
- package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +1 -0
- package/ios/RNMBX/RNMBXViewport.swift +59 -3
- 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/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- 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/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- 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/RNMBXNativeUserLocationNativeComponent.d.ts +9 -1
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
- package/package.json +1 -1
- package/setup-jest.js +3 -1
- package/src/components/NativeUserLocation.tsx +46 -2
- package/src/components/Viewport.tsx +37 -0
- package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +14 -1
|
@@ -32,9 +32,11 @@ import com.rnmapbox.rnmbx.utils.extensions.*
|
|
|
32
32
|
import com.rnmapbox.rnmbx.utils.writableMapOf
|
|
33
33
|
|
|
34
34
|
import com.facebook.react.uimanager.events.Event
|
|
35
|
+
import com.mapbox.geojson.Geometry
|
|
35
36
|
import com.mapbox.maps.EdgeInsets
|
|
36
37
|
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateBearing
|
|
37
38
|
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateOptions
|
|
39
|
+
import com.mapbox.maps.plugin.viewport.data.OverviewViewportStateOptions
|
|
38
40
|
import com.rnmapbox.rnmbx.events.constants.EventKeys
|
|
39
41
|
|
|
40
42
|
class BaseEvent(
|
|
@@ -123,7 +125,9 @@ mContext
|
|
|
123
125
|
"followPuck" -> viewport.makeFollowPuckViewportState(
|
|
124
126
|
parseFollowViewportOptions(state)
|
|
125
127
|
)
|
|
126
|
-
|
|
128
|
+
"overview" -> return viewport.makeOverviewViewportState(
|
|
129
|
+
parseOverviewViewportOption(state)
|
|
130
|
+
)
|
|
127
131
|
else -> {
|
|
128
132
|
Logger.e(LOG_TAG, "toState: unexpected state: $kind")
|
|
129
133
|
null
|
|
@@ -191,14 +195,73 @@ mContext
|
|
|
191
195
|
builder.padding(null)
|
|
192
196
|
} else {
|
|
193
197
|
options.getAndLogIfNotMap("padding", LOG_TAG)?.let { paddingMap ->
|
|
194
|
-
paddingMap?.toPadding(LOG_TAG)?.let { padding ->
|
|
198
|
+
paddingMap?.toPadding(LOG_TAG, resources.displayMetrics.density)?.let { padding ->
|
|
195
199
|
builder.padding(padding)
|
|
196
200
|
}
|
|
197
201
|
}
|
|
198
202
|
}
|
|
199
203
|
}
|
|
204
|
+
}
|
|
205
|
+
return builder.build()
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
private fun parseOverviewViewportOption(state: ReadableMap): OverviewViewportStateOptions {
|
|
209
|
+
val builder = OverviewViewportStateOptions.Builder()
|
|
200
210
|
|
|
211
|
+
state.getAndLogIfNotMap("options", LOG_TAG)?.let { options ->
|
|
212
|
+
if (options.hasKey("padding")) {
|
|
213
|
+
if (!options.isNull("padding")) {
|
|
214
|
+
options.getAndLogIfNotMap("padding", LOG_TAG)?.let { paddingMap ->
|
|
215
|
+
paddingMap?.toPadding(LOG_TAG, resources.displayMetrics.density)?.let { padding ->
|
|
216
|
+
builder.padding(padding)
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (options.hasKey("bearing")) {
|
|
223
|
+
when (options.getType("bearing")) {
|
|
224
|
+
ReadableType.Number ->
|
|
225
|
+
builder.bearing(options.getDouble("bearing"))
|
|
226
|
+
ReadableType.Null ->
|
|
227
|
+
builder.bearing(null)
|
|
228
|
+
else -> {
|
|
229
|
+
Logger.e(
|
|
230
|
+
LOG_TAG,
|
|
231
|
+
"bearing in viewport options should be either constant number or null"
|
|
232
|
+
)
|
|
233
|
+
null
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
if (options.hasKey("pitch")) {
|
|
239
|
+
if (options.isNull("pitch")) {
|
|
240
|
+
builder.pitch(null)
|
|
241
|
+
} else {
|
|
242
|
+
options.getAndLogIfNotDouble("pitch", LOG_TAG)?.let {pitch ->
|
|
243
|
+
builder.pitch(pitch)
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (options.hasKey("animationDuration")) {
|
|
249
|
+
if (!options.isNull("animationDuration")) {
|
|
250
|
+
options.getAndLogIfNotDouble("zoom", LOG_TAG)?.let { duration ->
|
|
251
|
+
builder.animationDurationMs((duration * 1000.0).toLong())
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
if (options.hasKey("geometry")) {
|
|
257
|
+
options.getAndLogIfNotMap("geometry")?.let {map ->
|
|
258
|
+
map.toGeometry()?.let { geometry ->
|
|
259
|
+
builder.geometry(geometry)
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
201
263
|
}
|
|
264
|
+
|
|
202
265
|
return builder.build()
|
|
203
266
|
}
|
|
204
267
|
|
|
@@ -215,6 +278,10 @@ mContext
|
|
|
215
278
|
return builder.build()
|
|
216
279
|
}
|
|
217
280
|
|
|
281
|
+
private fun toGeometry(geometry: ReadableMap): Geometry? {
|
|
282
|
+
return geometry.toGeometry()
|
|
283
|
+
}
|
|
284
|
+
|
|
218
285
|
private fun toTransition(viewport: ViewportPlugin, state: ReadableMap?): ViewportTransition? {
|
|
219
286
|
viewport.idle()
|
|
220
287
|
return when (val kind = state?.getAndLogIfNotString("kind", LOG_TAG)) {
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt
CHANGED
|
@@ -7,6 +7,9 @@ import android.graphics.Bitmap
|
|
|
7
7
|
import android.graphics.BitmapFactory
|
|
8
8
|
import android.graphics.drawable.BitmapDrawable
|
|
9
9
|
import android.graphics.drawable.Drawable
|
|
10
|
+
import com.facebook.react.bridge.ColorPropConverter
|
|
11
|
+
import com.facebook.react.bridge.ReadableMap
|
|
12
|
+
import com.facebook.react.bridge.ReadableType
|
|
10
13
|
import com.mapbox.android.core.permissions.PermissionsManager
|
|
11
14
|
import com.mapbox.bindgen.Value
|
|
12
15
|
import com.mapbox.maps.Image
|
|
@@ -14,6 +17,7 @@ import com.mapbox.maps.MapView
|
|
|
14
17
|
import com.mapbox.maps.MapboxMap
|
|
15
18
|
import com.mapbox.maps.Style
|
|
16
19
|
import com.mapbox.maps.plugin.LocationPuck2D
|
|
20
|
+
import com.mapbox.maps.plugin.locationcomponent.LocationComponentConstants
|
|
17
21
|
import com.mapbox.maps.plugin.locationcomponent.location
|
|
18
22
|
import com.mapbox.maps.plugin.locationcomponent.R as LR
|
|
19
23
|
import com.rnmapbox.rnmbx.R
|
|
@@ -26,6 +30,8 @@ import com.rnmapbox.rnmbx.components.mapview.OnMapReadyCallback
|
|
|
26
30
|
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
|
|
27
31
|
import com.rnmapbox.rnmbx.utils.BitmapUtils
|
|
28
32
|
import com.rnmapbox.rnmbx.utils.Logger
|
|
33
|
+
import com.rnmapbox.rnmbx.utils.extensions.getAndLogIfNotBoolean
|
|
34
|
+
import com.rnmapbox.rnmbx.utils.extensions.getAndLogIfNotString
|
|
29
35
|
import com.rnmapbox.rnmbx.v11compat.image.AppCompatResourcesV11
|
|
30
36
|
import com.rnmapbox.rnmbx.v11compat.image.ImageHolder
|
|
31
37
|
import com.rnmapbox.rnmbx.v11compat.image.toDrawable
|
|
@@ -85,6 +91,12 @@ class RNMBXNativeUserLocation(context: Context) : AbstractMapFeature(context), O
|
|
|
85
91
|
_apply()
|
|
86
92
|
}
|
|
87
93
|
|
|
94
|
+
var pulsing: ReadableMap? = null
|
|
95
|
+
set(value) {
|
|
96
|
+
field = value
|
|
97
|
+
_apply()
|
|
98
|
+
}
|
|
99
|
+
|
|
88
100
|
private fun imageNameUpdated(image: PuckImagePart, name: String?) {
|
|
89
101
|
if (name != null) {
|
|
90
102
|
imageNames[image] = name
|
|
@@ -153,6 +165,41 @@ class RNMBXNativeUserLocation(context: Context) : AbstractMapFeature(context), O
|
|
|
153
165
|
this.puckBearingEnabled?.let {
|
|
154
166
|
location2.puckBearingEnabled = it
|
|
155
167
|
}
|
|
168
|
+
|
|
169
|
+
pulsing?.let { pulsing ->
|
|
170
|
+
pulsing.getAndLogIfNotString("kind")?.also { kind ->
|
|
171
|
+
if (kind == "default") {
|
|
172
|
+
location2.pulsingEnabled = true
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (pulsing.hasKey("color")) {
|
|
176
|
+
when (pulsing.getType("color")) {
|
|
177
|
+
ReadableType.Map ->
|
|
178
|
+
location2.pulsingColor = ColorPropConverter.getColor(pulsing.getMap("color"), mContext)
|
|
179
|
+
ReadableType.Number ->
|
|
180
|
+
location2.pulsingColor = pulsing.getInt("color")
|
|
181
|
+
else ->
|
|
182
|
+
Logger.e(LOG_TAG, "pusling.color should be either a map or a number, but was ${pulsing.getDynamic("color")}")
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
pulsing.getAndLogIfNotBoolean("isEnabled")?.let { enabled ->
|
|
186
|
+
location2.pulsingEnabled = enabled
|
|
187
|
+
}
|
|
188
|
+
if (pulsing.hasKey("radius")) {
|
|
189
|
+
when (pulsing.getType("radius")) {
|
|
190
|
+
ReadableType.Number ->
|
|
191
|
+
location2.pulsingMaxRadius = pulsing.getDouble("radius").toFloat()
|
|
192
|
+
ReadableType.String ->
|
|
193
|
+
if (pulsing.getString("radius") == "accuracy") {
|
|
194
|
+
location2.pulsingMaxRadius = LocationComponentConstants.PULSING_MAX_RADIUS_FOLLOW_ACCURACY
|
|
195
|
+
} else {
|
|
196
|
+
Logger.e(LOG_TAG, "Expected pulsing/radius to be a number or accuracy but was ${pulsing.getString("radius")}")
|
|
197
|
+
}
|
|
198
|
+
else ->
|
|
199
|
+
Logger.e(LOG_TAG, "Expected pulsing/radius to be a number or accuracy but was ${pulsing.getString("radius")}")
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
156
203
|
}
|
|
157
204
|
|
|
158
205
|
override fun addToMap(mapView: RNMBXMapView) {
|
|
@@ -229,6 +276,10 @@ class RNMBXNativeUserLocation(context: Context) : AbstractMapFeature(context), O
|
|
|
229
276
|
}
|
|
230
277
|
}
|
|
231
278
|
// endregion
|
|
279
|
+
|
|
280
|
+
companion object {
|
|
281
|
+
const val LOG_TAG = "RNMBXNativeUserLocation"
|
|
282
|
+
}
|
|
232
283
|
}
|
|
233
284
|
|
|
234
285
|
fun makeDefaultLocationPuck2D(context: Context, renderMode: RenderMode): LocationPuck2D {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.rnmapbox.rnmbx.components.location
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.Dynamic
|
|
4
|
+
import com.facebook.react.bridge.ReadableMap
|
|
4
5
|
import com.facebook.react.bridge.ReadableType
|
|
5
6
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
6
7
|
import com.facebook.react.uimanager.ViewGroupManager
|
|
@@ -82,6 +83,13 @@ class RNMBXNativeUserLocationManager : ViewGroupManager<RNMBXNativeUserLocation>
|
|
|
82
83
|
view.visible = value
|
|
83
84
|
}
|
|
84
85
|
|
|
86
|
+
@ReactProp(name = "pulsing")
|
|
87
|
+
override fun setPulsing(view: RNMBXNativeUserLocation, value: Dynamic) {
|
|
88
|
+
if (!value.isNull) {
|
|
89
|
+
view.pulsing = value.asMap()
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
85
93
|
@Nonnull
|
|
86
94
|
override fun createViewInstance(@Nonnull reactContext: ThemedReactContext): RNMBXNativeUserLocation {
|
|
87
95
|
return RNMBXNativeUserLocation(reactContext)
|
|
@@ -5,6 +5,16 @@ import com.facebook.react.bridge.ReadableType
|
|
|
5
5
|
import com.google.gson.JsonArray
|
|
6
6
|
import com.google.gson.JsonElement
|
|
7
7
|
import com.google.gson.JsonObject
|
|
8
|
+
import com.mapbox.geojson.Feature
|
|
9
|
+
import com.mapbox.geojson.FeatureCollection
|
|
10
|
+
import com.mapbox.geojson.Geometry
|
|
11
|
+
import com.mapbox.geojson.GeometryCollection
|
|
12
|
+
import com.mapbox.geojson.LineString
|
|
13
|
+
import com.mapbox.geojson.MultiLineString
|
|
14
|
+
import com.mapbox.geojson.MultiPoint
|
|
15
|
+
import com.mapbox.geojson.MultiPolygon
|
|
16
|
+
import com.mapbox.geojson.Point
|
|
17
|
+
import com.mapbox.geojson.Polygon
|
|
8
18
|
import com.mapbox.maps.EdgeInsets
|
|
9
19
|
import com.rnmapbox.rnmbx.utils.ConvertUtils
|
|
10
20
|
import com.rnmapbox.rnmbx.utils.Logger
|
|
@@ -103,7 +113,29 @@ fun ReadableMap.toJsonObject() : JsonObject {
|
|
|
103
113
|
return result
|
|
104
114
|
}
|
|
105
115
|
|
|
106
|
-
fun ReadableMap.
|
|
116
|
+
fun ReadableMap.toJson(): String {
|
|
117
|
+
return toJsonObject().toString()
|
|
118
|
+
}
|
|
119
|
+
fun ReadableMap.toGeometry(): Geometry?
|
|
120
|
+
{
|
|
121
|
+
return getAndLogIfNotString("type")?.let {kind ->
|
|
122
|
+
return when (kind) {
|
|
123
|
+
"geometrycollection", "GeometryCollection" -> GeometryCollection.fromJson(this.toJson())
|
|
124
|
+
"point", "Point" -> Point.fromJson(this.toJson())
|
|
125
|
+
"multipoint", "MultiPoint" -> MultiPoint.fromJson(this.toJson())
|
|
126
|
+
"polygon", "Polygon" -> Polygon.fromJson(this.toJson())
|
|
127
|
+
"multipolygon", "MultiPolygon" -> MultiPolygon.fromJson(this.toJson())
|
|
128
|
+
"linestring", "LineString" -> LineString.fromJson(this.toJson())
|
|
129
|
+
"mulilinestring", "MultilineString" -> MultiLineString.fromJson(this.toJson())
|
|
130
|
+
else -> {
|
|
131
|
+
Logger.e("ReadableMap.toGeometry", "Unexpected geometry kind: $kind")
|
|
132
|
+
null
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
fun ReadableMap.toPadding(tag: String = "RNMBXReadableMap", density: Float): EdgeInsets? {
|
|
107
139
|
var top: Double = 0.0
|
|
108
140
|
var bottom: Double = 0.0
|
|
109
141
|
var left: Double = 0.0
|
|
@@ -111,19 +143,19 @@ fun ReadableMap.toPadding(tag: String = "RNMBXReadableMap"): EdgeInsets? {
|
|
|
111
143
|
var empty = true
|
|
112
144
|
|
|
113
145
|
getAndLogIfNotDouble("top", tag)?.let {
|
|
114
|
-
top = it
|
|
146
|
+
top = it * density.toDouble()
|
|
115
147
|
empty = false
|
|
116
148
|
}
|
|
117
149
|
getAndLogIfNotDouble("bottom", tag)?.let {
|
|
118
|
-
bottom = it
|
|
150
|
+
bottom = it * density.toDouble()
|
|
119
151
|
empty = false
|
|
120
152
|
}
|
|
121
153
|
getAndLogIfNotDouble("left", tag)?.let {
|
|
122
|
-
left = it
|
|
154
|
+
left = it * density.toDouble()
|
|
123
155
|
empty = false
|
|
124
156
|
}
|
|
125
157
|
getAndLogIfNotDouble("right", tag)?.let {
|
|
126
|
-
right = it
|
|
158
|
+
right = it * density.toDouble()
|
|
127
159
|
empty = false
|
|
128
160
|
}
|
|
129
161
|
if (empty) {
|
|
@@ -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
|
}
|
|
@@ -17,12 +17,13 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
20
21
|
import com.facebook.react.bridge.ReadableArray;
|
|
21
22
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
23
|
import javax.annotation.Nonnull;
|
|
23
24
|
import javax.annotation.Nullable;
|
|
24
25
|
|
|
25
|
-
public abstract class NativeMapViewModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
26
|
+
public abstract class NativeMapViewModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
|
|
26
27
|
public static final String NAME = "RNMBXMapViewModule";
|
|
27
28
|
|
|
28
29
|
public NativeMapViewModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,11 +17,12 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
20
21
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
21
22
|
import javax.annotation.Nonnull;
|
|
22
23
|
import javax.annotation.Nullable;
|
|
23
24
|
|
|
24
|
-
public abstract class NativeRNMBXImageModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
25
|
+
public abstract class NativeRNMBXImageModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
|
|
25
26
|
public static final String NAME = "RNMBXImageModule";
|
|
26
27
|
|
|
27
28
|
public NativeRNMBXImageModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,11 +17,12 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
20
21
|
import com.facebook.react.bridge.ReadableArray;
|
|
21
22
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
23
|
import javax.annotation.Nonnull;
|
|
23
24
|
|
|
24
|
-
public abstract class NativeRNMBXMovePointShapeAnimatorModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
25
|
+
public abstract class NativeRNMBXMovePointShapeAnimatorModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
|
|
25
26
|
public static final String NAME = "RNMBXMovePointShapeAnimatorModule";
|
|
26
27
|
|
|
27
28
|
public NativeRNMBXMovePointShapeAnimatorModuleSpec(ReactApplicationContext reactContext) {
|
package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java
CHANGED
|
@@ -17,11 +17,12 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
20
21
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
21
22
|
import javax.annotation.Nonnull;
|
|
22
23
|
import javax.annotation.Nullable;
|
|
23
24
|
|
|
24
|
-
public abstract class NativeRNMBXPointAnnotationModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
25
|
+
public abstract class NativeRNMBXPointAnnotationModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
|
|
25
26
|
public static final String NAME = "RNMBXPointAnnotationModule";
|
|
26
27
|
|
|
27
28
|
public NativeRNMBXPointAnnotationModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,11 +17,12 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
20
21
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
21
22
|
import javax.annotation.Nonnull;
|
|
22
23
|
import javax.annotation.Nullable;
|
|
23
24
|
|
|
24
|
-
public abstract class NativeRNMBXShapeSourceModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
25
|
+
public abstract class NativeRNMBXShapeSourceModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
|
|
25
26
|
public static final String NAME = "RNMBXShapeSourceModule";
|
|
26
27
|
|
|
27
28
|
public NativeRNMBXShapeSourceModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,12 +17,13 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
20
21
|
import com.facebook.react.bridge.ReadableMap;
|
|
21
22
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
23
|
import javax.annotation.Nonnull;
|
|
23
24
|
import javax.annotation.Nullable;
|
|
24
25
|
|
|
25
|
-
public abstract class NativeRNMBXViewportModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
26
|
+
public abstract class NativeRNMBXViewportModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
|
|
26
27
|
public static final String NAME = "RNMBXViewportModule";
|
|
27
28
|
|
|
28
29
|
public NativeRNMBXViewportModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -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
|
}
|
|
@@ -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
|
|
|
@@ -162,8 +162,13 @@ open class RNMBXViewport : UIView, RNMBXMapComponent, ViewportStatusObserver {
|
|
|
162
162
|
return viewport.makeFollowPuckViewportState(options:
|
|
163
163
|
parseFollowViewportOptions(state)
|
|
164
164
|
)
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
case "overview":
|
|
166
|
+
if let options = parseOverviewViewportOptions(state) {
|
|
167
|
+
return viewport.makeOverviewViewportState(options: options)
|
|
168
|
+
} else {
|
|
169
|
+
Logger.log(level:.error, message: "Cannot parse overview options")
|
|
170
|
+
return nil
|
|
171
|
+
}
|
|
167
172
|
default:
|
|
168
173
|
Logger.log(level:.error, message: "unexpected state kind: \(kind)")
|
|
169
174
|
return nil
|
|
@@ -181,7 +186,7 @@ open class RNMBXViewport : UIView, RNMBXMapComponent, ViewportStatusObserver {
|
|
|
181
186
|
Logger.log(level: .error, message: "parseFollowViewportOptions expected zoom to be number or 'keep', but was \(options["zoom"])")
|
|
182
187
|
}
|
|
183
188
|
|
|
184
|
-
if let pitch = options["pitch"] as? String, (pitch == "
|
|
189
|
+
if let pitch = options["pitch"] as? String, (pitch == "keep") {
|
|
185
190
|
result.pitch = nil
|
|
186
191
|
} else if let pitch = options["pitch"] as? Double {
|
|
187
192
|
result.pitch = pitch
|
|
@@ -218,6 +223,57 @@ open class RNMBXViewport : UIView, RNMBXMapComponent, ViewportStatusObserver {
|
|
|
218
223
|
return result
|
|
219
224
|
}
|
|
220
225
|
|
|
226
|
+
func parseOverviewViewportOptions(_ state: [String:Any]) -> OverviewViewportStateOptions? {
|
|
227
|
+
guard let options = state["options"] as? [String:Any] else {
|
|
228
|
+
return nil
|
|
229
|
+
}
|
|
230
|
+
guard let geometry = options["geometry"], let geometry = toGeometry(geometry) else {
|
|
231
|
+
return nil
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
var result = OverviewViewportStateOptions(geometry: geometry)
|
|
235
|
+
|
|
236
|
+
if let padding = options["padding"] as? [String: NSNumber] {
|
|
237
|
+
result.padding = toPadding(padding)
|
|
238
|
+
} else if (options["padding"] != nil) {
|
|
239
|
+
Logger.log(level: .error, message: "padding expected to be an object or nil or but was \(options["padding"])")
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
if options["bearing"] == nil {
|
|
243
|
+
result.bearing = (CLLocationDirection?)(nil)
|
|
244
|
+
} else if let bearing = options["bearing"] as? NSNumber {
|
|
245
|
+
result.bearing = bearing.doubleValue
|
|
246
|
+
} else if options["bearing"] != nil {
|
|
247
|
+
Logger.log(level: .error, message: "bearing expected to be a number or nil but was \(options["bearing"])")
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if options["pitch"] == nil {
|
|
251
|
+
result.pitch = (CGFloat?)(nil)
|
|
252
|
+
} else if let pitch = options["pitch"] as? Double {
|
|
253
|
+
result.pitch = pitch
|
|
254
|
+
} else if options["pitch"] != nil{
|
|
255
|
+
Logger.log(level: .error, message: "parseOverviewViewportOptions expected pitch to be number or nil, but was \(options["pitch"])")
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if let animationDuration = options["animationDuration"] as? Double {
|
|
259
|
+
result.animationDuration = animationDuration
|
|
260
|
+
} else if let animationDuration = options["animationDuration"] as? NSNumber {
|
|
261
|
+
result.animationDuration = animationDuration.doubleValue
|
|
262
|
+
} else if options["animationDuration"] != nil {
|
|
263
|
+
Logger.log(level: .error, message: "parseOverviewViewportOptions expected animationDuration to be a number or nil but was \(options["animationDuration"])")
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
return result
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
func toGeometry(_ geometry: Any) -> GeometryConvertible? {
|
|
270
|
+
return logged("toGeometry") {
|
|
271
|
+
let jsonData = try JSONSerialization.data(withJSONObject: geometry)
|
|
272
|
+
let geometry = try JSONDecoder().decode(Geometry.self, from: jsonData)
|
|
273
|
+
return geometry
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
221
277
|
func toTransition(_ from: [String: Any], _ viewport: ViewportManager?) -> ViewportTransition? {
|
|
222
278
|
guard let viewport = viewport else {
|
|
223
279
|
Logger.log(level:.error, message: "no viewport")
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _RNMBXNativeUserLocationNativeComponent = _interopRequireDefault(require("../specs/RNMBXNativeUserLocationNativeComponent"));
|
|
9
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -15,10 +16,13 @@ const defaultProps = {
|
|
|
15
16
|
const NativeUserLocation = /*#__PURE__*/(0, _react.memo)(props => {
|
|
16
17
|
const {
|
|
17
18
|
iosShowsUserHeadingIndicator,
|
|
19
|
+
pulsing,
|
|
18
20
|
...rest
|
|
19
21
|
} = props;
|
|
22
|
+
const nativePulsing = pulsing ? _pulsingToNative(pulsing) : undefined;
|
|
20
23
|
let baseProps = {
|
|
21
|
-
...defaultProps
|
|
24
|
+
...defaultProps,
|
|
25
|
+
pulsing: nativePulsing
|
|
22
26
|
};
|
|
23
27
|
if (iosShowsUserHeadingIndicator) {
|
|
24
28
|
console.warn('NativeUserLocation: iosShowsUserHeadingIndicator is deprecated, use puckBearingEnabled={true} puckBearing="heading" instead');
|
|
@@ -34,5 +38,25 @@ const NativeUserLocation = /*#__PURE__*/(0, _react.memo)(props => {
|
|
|
34
38
|
};
|
|
35
39
|
return /*#__PURE__*/_react.default.createElement(_RNMBXNativeUserLocationNativeComponent.default, actualProps);
|
|
36
40
|
});
|
|
41
|
+
function _pulsingToNative(pulsing) {
|
|
42
|
+
if (pulsing === 'default') {
|
|
43
|
+
return {
|
|
44
|
+
kind: 'default'
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
if (pulsing == null) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const {
|
|
51
|
+
color,
|
|
52
|
+
isEnabled,
|
|
53
|
+
radius
|
|
54
|
+
} = pulsing;
|
|
55
|
+
return {
|
|
56
|
+
color: (0, _reactNative.processColor)(color),
|
|
57
|
+
isEnabled,
|
|
58
|
+
radius
|
|
59
|
+
};
|
|
60
|
+
}
|
|
37
61
|
var _default = exports.default = NativeUserLocation;
|
|
38
62
|
//# sourceMappingURL=NativeUserLocation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_RNMBXNativeUserLocationNativeComponent","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","defaultProps","visible","NativeUserLocation","memo","props","iosShowsUserHeadingIndicator","rest","baseProps","console","warn","puckBearingEnabled","puckBearing","actualProps","createElement","_default","exports"],"sourceRoot":"../../../src","sources":["components/NativeUserLocation.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RNMBXNativeUserLocationNativeComponent","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","defaultProps","visible","NativeUserLocation","memo","props","iosShowsUserHeadingIndicator","pulsing","rest","nativePulsing","_pulsingToNative","undefined","baseProps","console","warn","puckBearingEnabled","puckBearing","actualProps","createElement","kind","color","isEnabled","radius","processColor","_default","exports"],"sourceRoot":"../../../src","sources":["components/NativeUserLocation.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RNMBXViewportNativeComponent","_interopRequireDefault","_NativeRNMBXViewportModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Viewport","exports","memo","forwardRef","props","ref","commands","useMemo","NativeCommands","RNMBXViewportModule","nativeViewport","useRef","useEffect","current","setNativeRef","useImperativeHandle","getState","console","log","idle","transitionTo","state","transition","onStatusChangedNative","propsOnStatusChanged","onStatusChanged","event","nativeEvent","payload","undefined","createElement","RNMBXViewport","hasStatusChanged","NativeViewport","constructor","module","preRefMethodQueue","nativeRef","item","pop","method","resolver","res","_call","name","args","Promise","resolve","push","handle","findNodeHandle","Error","String"],"sourceRoot":"../../../src","sources":["components/Viewport.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,6BAAA,GAAAC,sBAAA,CAAAH,OAAA;AAIA,IAAAI,0BAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAqE,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_RNMBXViewportNativeComponent","_interopRequireDefault","_NativeRNMBXViewportModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Viewport","exports","memo","forwardRef","props","ref","commands","useMemo","NativeCommands","RNMBXViewportModule","nativeViewport","useRef","useEffect","current","setNativeRef","useImperativeHandle","getState","console","log","idle","transitionTo","state","transition","onStatusChangedNative","propsOnStatusChanged","onStatusChanged","event","nativeEvent","payload","undefined","createElement","RNMBXViewport","hasStatusChanged","NativeViewport","constructor","module","preRefMethodQueue","nativeRef","item","pop","method","resolver","res","_call","name","args","Promise","resolve","push","handle","findNodeHandle","Error","String"],"sourceRoot":"../../../src","sources":["components/Viewport.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,6BAAA,GAAAC,sBAAA,CAAAH,OAAA;AAIA,IAAAI,0BAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAqE,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAuJrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAE,WAAI,gBAC1B,IAAAC,iBAAU,EAAa,CAACC,KAAY,EAAEC,GAA4B,KAAK;EACrE,MAAMC,QAAQ,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAIC,cAAc,CAACC,kCAAmB,CAAC,EAAE,EAAE,CAAC;EAC3E,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAuB,IAAI,CAAC;EACzD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIF,cAAc,CAACG,OAAO,EAAE;MAC1BP,QAAQ,CAACQ,YAAY,CAACJ,cAAc,CAACG,OAAO,CAAC;IAC/C;IACA;EACF,CAAC,EAAE,CAACP,QAAQ,EAAEI,cAAc,CAACG,OAAO,CAAC,CAAC;EAEtC,IAAAE,0BAAmB,EAACV,GAAG,EAAE,OAAO;IAC9BW,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;MACnC,OAAOZ,QAAQ,CAAClB,IAAI,CAAS,UAAU,EAAE,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM+B,IAAIA,CAAA,EAAG;MACX,OAAOb,QAAQ,CAAClB,IAAI,CAAO,MAAM,EAAE,EAAE,CAAC;IACxC,CAAC;IACDgC,YAAYA,CAACC,KAAK,EAAEC,UAAU,EAAE;MAC9B,OAAOhB,QAAQ,CAAClB,IAAI,CAAU,cAAc,EAAE,CAACiC,KAAK,EAAEC,UAAU,CAAC,CAAC;IACpE;EACF,CAAC,CAAC,CAAC;EAEH,MAAMC,qBAAqB,GAAG,IAAAhB,cAAO,EAAC,MAAM;IAC1C,MAAMiB,oBAAoB,GAAGpB,KAAK,CAACqB,eAAe;IAClD,IAAID,oBAAoB,IAAI,IAAI,EAAE;MAChC,OAAQE,KAAyD,IAAK;QACpEF,oBAAoB,CAACE,KAAK,CAACC,WAAW,CAACC,OAAO,CAAC;MACjD,CAAC;IACH,CAAC,MAAM;MACL,OAAOC,SAAS;IAClB;EACF,CAAC,EAAE,CAACzB,KAAK,CAACqB,eAAe,CAAC,CAAC;EAE3B,oBACE/D,MAAA,CAAAS,OAAA,CAAA2D,aAAA,CAACC,aAAa,EAAAxC,QAAA,KACRa,KAAK;IACT4B,gBAAgB,EAAE5B,KAAK,CAACqB,eAAe,IAAI,IAAK;IAChDA,eAAe,EAAEF,qBAAsB;IACvClB,GAAG,EAAEK;EAAe,EACrB,CAAC;AAEN,CAAC,CACH,CAAC;AAeD,MAAMqB,aAAa,GAAGE,qCAAoC;AAqB1D,MAAMzB,cAAc,CAAsB;EAUxC0B,WAAWA,CAACC,MAAY,EAAE;IACxB,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,iBAAiB,GAAG,EAAE;EAC7B;EAEA,MAAMtB,YAAYA,CAACuB,SAAkB,EAAE;IACrC,IAAIA,SAAS,EAAE;MACb,IAAI,CAACA,SAAS,GAAGA,SAAS;MAC1B,OAAO,IAAI,CAACD,iBAAiB,CAACxC,MAAM,GAAG,CAAC,EAAE;QACxC,MAAM0C,IAAI,GAAG,IAAI,CAACF,iBAAiB,CAACG,GAAG,CAAC,CAAC;QAEzC,IAAID,IAAI,IAAIA,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACG,QAAQ,EAAE;UACxC,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACC,KAAK,CAC1BL,IAAI,CAACE,MAAM,CAACI,IAAI,EAChBP,SAAS,EACTC,IAAI,CAACE,MAAM,CAACK,IACd,CAAC;UACDP,IAAI,CAACG,QAAQ,CAACC,GAAG,CAAC;QACpB;MACF;IACF;EACF;EAEAtD,IAAIA,CAAIwD,IAAwB,EAAEC,IAAiB,EAAc;IAC/D,IAAI,IAAI,CAACR,SAAS,EAAE;MAClB,OAAO,IAAI,CAACM,KAAK,CAACC,IAAI,EAAE,IAAI,CAACP,SAAS,EAAEQ,IAAI,CAAC;IAC/C,CAAC,MAAM;MACL,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;QAC9B,IAAI,CAACX,iBAAiB,CAACY,IAAI,CAAC;UAC1BR,MAAM,EAAE;YAAEI,IAAI;YAAEC;UAAK,CAAC;UACtBJ,QAAQ,EAAEM;QACZ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;EAEAJ,KAAKA,CACHC,IAAwB,EACxBP,SAAkB,EAClBQ,IAAiB,EACL;IACZ,MAAMI,MAAM,GAAG,IAAAC,2BAAc,EAACb,SAAS,CAAC;IACxC,IAAIY,MAAM,EAAE;MACV,OACE,IAAI,CAACd,MAAM,CAACS,IAAI,CAAC,CAIjBK,MAAM,EAAE,GAAGJ,IAAI,CAAC;IACpB,CAAC,MAAM;MACL,MAAM,IAAIM,KAAK,CACZ,wCAAuChB,MAAO,0BAAyBiB,MAAM,CAC5ER,IACF,CAAE,EACJ,CAAC;IACH;EACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/RNMBXNativeUserLocationNativeComponent.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/RNMBXNativeUserLocationNativeComponent.ts"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAQ7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAuBe,IAAAG,+BAAsB,EACnC,yBACF,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
|
+
import { processColor } from 'react-native';
|
|
2
3
|
import RNMBXNativeUserLocation from '../specs/RNMBXNativeUserLocationNativeComponent';
|
|
3
4
|
const defaultProps = {
|
|
4
5
|
visible: true
|
|
@@ -6,10 +7,13 @@ const defaultProps = {
|
|
|
6
7
|
const NativeUserLocation = /*#__PURE__*/memo(props => {
|
|
7
8
|
const {
|
|
8
9
|
iosShowsUserHeadingIndicator,
|
|
10
|
+
pulsing,
|
|
9
11
|
...rest
|
|
10
12
|
} = props;
|
|
13
|
+
const nativePulsing = pulsing ? _pulsingToNative(pulsing) : undefined;
|
|
11
14
|
let baseProps = {
|
|
12
|
-
...defaultProps
|
|
15
|
+
...defaultProps,
|
|
16
|
+
pulsing: nativePulsing
|
|
13
17
|
};
|
|
14
18
|
if (iosShowsUserHeadingIndicator) {
|
|
15
19
|
console.warn('NativeUserLocation: iosShowsUserHeadingIndicator is deprecated, use puckBearingEnabled={true} puckBearing="heading" instead');
|
|
@@ -25,5 +29,25 @@ const NativeUserLocation = /*#__PURE__*/memo(props => {
|
|
|
25
29
|
};
|
|
26
30
|
return /*#__PURE__*/React.createElement(RNMBXNativeUserLocation, actualProps);
|
|
27
31
|
});
|
|
32
|
+
function _pulsingToNative(pulsing) {
|
|
33
|
+
if (pulsing === 'default') {
|
|
34
|
+
return {
|
|
35
|
+
kind: 'default'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (pulsing == null) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const {
|
|
42
|
+
color,
|
|
43
|
+
isEnabled,
|
|
44
|
+
radius
|
|
45
|
+
} = pulsing;
|
|
46
|
+
return {
|
|
47
|
+
color: processColor(color),
|
|
48
|
+
isEnabled,
|
|
49
|
+
radius
|
|
50
|
+
};
|
|
51
|
+
}
|
|
28
52
|
export default NativeUserLocation;
|
|
29
53
|
//# sourceMappingURL=NativeUserLocation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","RNMBXNativeUserLocation","defaultProps","visible","NativeUserLocation","props","iosShowsUserHeadingIndicator","rest","baseProps","console","warn","puckBearingEnabled","puckBearing","actualProps","createElement"],"sourceRoot":"../../../src","sources":["components/NativeUserLocation.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["React","memo","processColor","RNMBXNativeUserLocation","defaultProps","visible","NativeUserLocation","props","iosShowsUserHeadingIndicator","pulsing","rest","nativePulsing","_pulsingToNative","undefined","baseProps","console","warn","puckBearingEnabled","puckBearing","actualProps","createElement","kind","color","isEnabled","radius"],"sourceRoot":"../../../src","sources":["components/NativeUserLocation.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,YAAY,QAAyB,cAAc;AAE5D,OAAOC,uBAAuB,MAEvB,iDAAiD;AA8FxD,MAAMC,YAAY,GAAG;EACnBC,OAAO,EAAE;AACX,CAAU;AAEV,MAAMC,kBAAkB,gBAAGL,IAAI,CAAEM,KAAY,IAAK;EAChD,MAAM;IAAEC,4BAA4B;IAAEC,OAAO;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAChE,MAAMI,aAAa,GAAGF,OAAO,GAAGG,gBAAgB,CAACH,OAAO,CAAC,GAAGI,SAAS;EACrE,IAAIC,SAAsB,GAAG;IAAE,GAAGV,YAAY;IAAEK,OAAO,EAAEE;EAAc,CAAC;EACxE,IAAIH,4BAA4B,EAAE;IAChCO,OAAO,CAACC,IAAI,CACV,6HACF,CAAC;IAEDF,SAAS,GAAG;MACV,GAAGA,SAAS;MACZG,kBAAkB,EAAE,IAAI;MACxBC,WAAW,EAAE;IACf,CAAC;EACH;EACA,MAAMC,WAAW,GAAG;IAAE,GAAGL,SAAS;IAAE,GAAGJ;EAAK,CAAC;EAC7C,oBAAOV,KAAA,CAAAoB,aAAA,CAACjB,uBAAuB,EAAKgB,WAAc,CAAC;AACrD,CAAC,CAAC;AAEF,SAASP,gBAAgBA,CACvBH,OAAyB,EACW;EACpC,IAAIA,OAAO,KAAK,SAAS,EAAE;IACzB,OAAO;MAAEY,IAAI,EAAE;IAAU,CAAC;EAC5B;EACA,IAAIZ,OAAO,IAAI,IAAI,EAAE;IACnB,OAAOI,SAAS;EAClB;EACA,MAAM;IAAES,KAAK;IAAEC,SAAS;IAAEC;EAAO,CAAC,GAAGf,OAAO;EAC5C,OAAO;IACLa,KAAK,EAAEpB,YAAY,CAACoB,KAAK,CAAC;IAC1BC,SAAS;IACTC;EACF,CAAC;AACH;AAEA,eAAelB,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","memo","useEffect","useImperativeHandle","useMemo","useRef","findNodeHandle","NativeViewport","RNMBXViewportModule","Viewport","props","ref","commands","NativeCommands","nativeViewport","current","setNativeRef","getState","console","log","call","idle","transitionTo","state","transition","onStatusChangedNative","propsOnStatusChanged","onStatusChanged","event","nativeEvent","payload","undefined","createElement","RNMBXViewport","_extends","hasStatusChanged","constructor","module","preRefMethodQueue","nativeRef","length","item","pop","method","resolver","res","_call","name","args","Promise","resolve","push","handle","Error","String"],"sourceRoot":"../../../src","sources":["components/Viewport.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAEVC,UAAU,EACVC,IAAI,EACJC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,OAAO;AACd,SAEEC,cAAc,QAGT,cAAc;AAErB,OAAOC,cAAc,MAGd,uCAAuC;AAC9C,OAAOC,mBAAmB,MAAM,oCAAoC;
|
|
1
|
+
{"version":3,"names":["React","forwardRef","memo","useEffect","useImperativeHandle","useMemo","useRef","findNodeHandle","NativeViewport","RNMBXViewportModule","Viewport","props","ref","commands","NativeCommands","nativeViewport","current","setNativeRef","getState","console","log","call","idle","transitionTo","state","transition","onStatusChangedNative","propsOnStatusChanged","onStatusChanged","event","nativeEvent","payload","undefined","createElement","RNMBXViewport","_extends","hasStatusChanged","constructor","module","preRefMethodQueue","nativeRef","length","item","pop","method","resolver","res","_call","name","args","Promise","resolve","push","handle","Error","String"],"sourceRoot":"../../../src","sources":["components/Viewport.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/RNMBXNativeUserLocationNativeComponent.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/RNMBXNativeUserLocationNativeComponent.ts"],"mappings":"AAKA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAQ5F;;AAuBA,eAAeA,sBAAsB,CACnC,yBACF,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type ColorValue } from 'react-native';
|
|
2
3
|
import type { Expression } from '../utils/MapboxStyles';
|
|
3
4
|
declare type Value<T> = T | Expression;
|
|
4
5
|
export declare type Props = {
|
|
@@ -52,6 +53,25 @@ export declare type Props = {
|
|
|
52
53
|
* 2.0
|
|
53
54
|
*/
|
|
54
55
|
scale?: Value<number>;
|
|
56
|
+
/**
|
|
57
|
+
* The configration parameters for sonar-like pulsing circle animation shown around the 2D puck.
|
|
58
|
+
*/
|
|
59
|
+
pulsing?: {
|
|
60
|
+
/**
|
|
61
|
+
* Flag determining whether the pulsing circle animation.
|
|
62
|
+
*/
|
|
63
|
+
isEnabled?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The color of the pulsing circle.
|
|
66
|
+
*/
|
|
67
|
+
color?: number | ColorValue;
|
|
68
|
+
/**
|
|
69
|
+
* Circle radius configuration for the pulsing circle animation.
|
|
70
|
+
* - accuracy: Pulsing circle animates with the `horizontalAccuracy` form the latest puck location.
|
|
71
|
+
* - number: Pulsing circle should animate with the constant radius.
|
|
72
|
+
*/
|
|
73
|
+
radius?: 'accuracy' | number;
|
|
74
|
+
} | 'default';
|
|
55
75
|
/**
|
|
56
76
|
* Whether location icon is visible, defaults to true
|
|
57
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeUserLocation.d.ts","sourceRoot":"","sources":["../../../../src/components/NativeUserLocation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeUserLocation.d.ts","sourceRoot":"","sources":["../../../../src/components/NativeUserLocation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAK7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAE/B,oBAAY,KAAK,GAAG;IAClB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;IAEjD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEnC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;OAKG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EACJ;QACE;;WAEG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QAEpB;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;QAE5B;;;;WAIG;QACH,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;KAC9B,GACD,SAAS,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAMF,QAAA,MAAM,kBAAkB,oCAAgB,KAAK,uBAiB3C,CAAC;AAmBH,eAAe,kBAAkB,CAAC"}
|
|
@@ -35,11 +35,42 @@ declare type FollowPuckOptions = {
|
|
|
35
35
|
right?: number;
|
|
36
36
|
} | 'keep';
|
|
37
37
|
};
|
|
38
|
+
declare type OverviewOptions = {
|
|
39
|
+
/**
|
|
40
|
+
* The geometry that the ``OverviewViewportState`` should use when calculating its camera.
|
|
41
|
+
*/
|
|
42
|
+
geometry: GeoJSON.Geometry;
|
|
43
|
+
/**
|
|
44
|
+
* The padding that ``OverviewViewportState`` should use when calculating its camera.
|
|
45
|
+
*
|
|
46
|
+
* @default 0 padding
|
|
47
|
+
*/
|
|
48
|
+
padding?: {
|
|
49
|
+
top?: number;
|
|
50
|
+
left?: number;
|
|
51
|
+
bottom?: number;
|
|
52
|
+
right?: number;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* The bearing that ``OverviewViewportState`` should use when calcualting its camera.
|
|
56
|
+
*/
|
|
57
|
+
bearing?: number;
|
|
58
|
+
/**
|
|
59
|
+
* The pitch that ``OverviewViewportState`` should use when calculating its camera.
|
|
60
|
+
*/
|
|
61
|
+
pitch?: number;
|
|
62
|
+
/**
|
|
63
|
+
* The length of the animation performed by in seconds ``OverviewViewportState`` when it starts updating
|
|
64
|
+
* the camera.
|
|
65
|
+
*/
|
|
66
|
+
animationDuration?: number;
|
|
67
|
+
};
|
|
38
68
|
declare type ViewportState = {
|
|
39
69
|
kind: 'followPuck';
|
|
40
70
|
options?: FollowPuckOptions;
|
|
41
71
|
} | {
|
|
42
72
|
kind: 'overview';
|
|
73
|
+
options?: OverviewOptions;
|
|
43
74
|
};
|
|
44
75
|
declare type ViewportStatus = {
|
|
45
76
|
kind: 'idle';
|
|
@@ -100,6 +131,6 @@ export declare const Viewport: React.MemoExoticComponent<React.ForwardRefExoticC
|
|
|
100
131
|
export declare type Viewport = Ref;
|
|
101
132
|
export declare type NativeArg = string | number | boolean | null | {
|
|
102
133
|
[k: string]: NativeArg;
|
|
103
|
-
} | NativeArg[] | Function | undefined;
|
|
134
|
+
} | NativeArg[] | Function | GeoJSON.Geometry | undefined;
|
|
104
135
|
export {};
|
|
105
136
|
//# sourceMappingURL=Viewport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../src/components/Viewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAcf,aAAK,iBAAiB,GAAG;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjD;;;;OAIG;IACH,OAAO,CAAC,EACJ;QACE,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACD,MAAM,CAAC;CACZ,CAAC;AAEF,aAAK,aAAa,GACd;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../src/components/Viewport.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import type { HostComponent, ViewProps } from 'react-native';
|
|
1
|
+
import type { HostComponent, ProcessedColorValue, ViewProps } from 'react-native';
|
|
2
2
|
import type { Expression } from '../utils/MapboxStyles';
|
|
3
3
|
import { UnsafeMixed } from './codegenUtils';
|
|
4
4
|
declare type Value<T> = T | Expression;
|
|
5
5
|
declare type OptionalProp<T> = UnsafeMixed<T>;
|
|
6
|
+
declare type Pulsing = {
|
|
7
|
+
isEnabled?: boolean;
|
|
8
|
+
radius?: 'accuracy' | number;
|
|
9
|
+
color?: ProcessedColorValue | null | undefined;
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'default';
|
|
12
|
+
};
|
|
6
13
|
export interface NativeProps extends ViewProps {
|
|
7
14
|
androidRenderMode?: OptionalProp<string>;
|
|
8
15
|
puckBearing?: OptionalProp<'heading' | 'course'>;
|
|
@@ -12,6 +19,7 @@ export interface NativeProps extends ViewProps {
|
|
|
12
19
|
topImage?: OptionalProp<string>;
|
|
13
20
|
scale?: UnsafeMixed<Value<number>>;
|
|
14
21
|
visible?: boolean;
|
|
22
|
+
pulsing?: UnsafeMixed<Pulsing>;
|
|
15
23
|
}
|
|
16
24
|
declare const _default: HostComponent<NativeProps>;
|
|
17
25
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNMBXNativeUserLocationNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/specs/RNMBXNativeUserLocationNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"RNMBXNativeUserLocationNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/specs/RNMBXNativeUserLocationNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,SAAS,EACV,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAG/B,aAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAEtC,aAAK,OAAO,GACR;IACE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC;CAChD,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,iBAAiB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAChC;;AAED,wBAEgC"}
|
package/package.json
CHANGED
package/setup-jest.js
CHANGED
|
@@ -174,7 +174,9 @@ NativeModules.RNMBXMovePointShapeAnimatorModule = {
|
|
|
174
174
|
start: jest.fn(),
|
|
175
175
|
};
|
|
176
176
|
|
|
177
|
-
NativeModules.RNMBXLogging = nativeModule({
|
|
177
|
+
NativeModules.RNMBXLogging = nativeModule({
|
|
178
|
+
setLogLevel: jest.fn(),
|
|
179
|
+
});
|
|
178
180
|
|
|
179
181
|
// Mock for global AbortController
|
|
180
182
|
global.AbortController = class {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
|
+
import { processColor, type ColorValue } from 'react-native';
|
|
2
3
|
|
|
3
4
|
import RNMBXNativeUserLocation, {
|
|
4
5
|
type NativeProps,
|
|
@@ -66,6 +67,30 @@ export type Props = {
|
|
|
66
67
|
*/
|
|
67
68
|
scale?: Value<number>;
|
|
68
69
|
|
|
70
|
+
/**
|
|
71
|
+
* The configration parameters for sonar-like pulsing circle animation shown around the 2D puck.
|
|
72
|
+
*/
|
|
73
|
+
pulsing?:
|
|
74
|
+
| {
|
|
75
|
+
/**
|
|
76
|
+
* Flag determining whether the pulsing circle animation.
|
|
77
|
+
*/
|
|
78
|
+
isEnabled?: boolean;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* The color of the pulsing circle.
|
|
82
|
+
*/
|
|
83
|
+
color?: number | ColorValue;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Circle radius configuration for the pulsing circle animation.
|
|
87
|
+
* - accuracy: Pulsing circle animates with the `horizontalAccuracy` form the latest puck location.
|
|
88
|
+
* - number: Pulsing circle should animate with the constant radius.
|
|
89
|
+
*/
|
|
90
|
+
radius?: 'accuracy' | number;
|
|
91
|
+
}
|
|
92
|
+
| 'default';
|
|
93
|
+
|
|
69
94
|
/**
|
|
70
95
|
* Whether location icon is visible, defaults to true
|
|
71
96
|
*/
|
|
@@ -77,12 +102,14 @@ const defaultProps = {
|
|
|
77
102
|
} as const;
|
|
78
103
|
|
|
79
104
|
const NativeUserLocation = memo((props: Props) => {
|
|
80
|
-
const { iosShowsUserHeadingIndicator, ...rest } = props;
|
|
81
|
-
|
|
105
|
+
const { iosShowsUserHeadingIndicator, pulsing, ...rest } = props;
|
|
106
|
+
const nativePulsing = pulsing ? _pulsingToNative(pulsing) : undefined;
|
|
107
|
+
let baseProps: NativeProps = { ...defaultProps, pulsing: nativePulsing };
|
|
82
108
|
if (iosShowsUserHeadingIndicator) {
|
|
83
109
|
console.warn(
|
|
84
110
|
'NativeUserLocation: iosShowsUserHeadingIndicator is deprecated, use puckBearingEnabled={true} puckBearing="heading" instead',
|
|
85
111
|
);
|
|
112
|
+
|
|
86
113
|
baseProps = {
|
|
87
114
|
...baseProps,
|
|
88
115
|
puckBearingEnabled: true,
|
|
@@ -93,4 +120,21 @@ const NativeUserLocation = memo((props: Props) => {
|
|
|
93
120
|
return <RNMBXNativeUserLocation {...actualProps} />;
|
|
94
121
|
});
|
|
95
122
|
|
|
123
|
+
function _pulsingToNative(
|
|
124
|
+
pulsing: Props['pulsing'],
|
|
125
|
+
): NativeProps['pulsing'] | undefined {
|
|
126
|
+
if (pulsing === 'default') {
|
|
127
|
+
return { kind: 'default' };
|
|
128
|
+
}
|
|
129
|
+
if (pulsing == null) {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
const { color, isEnabled, radius } = pulsing;
|
|
133
|
+
return {
|
|
134
|
+
color: processColor(color),
|
|
135
|
+
isEnabled,
|
|
136
|
+
radius,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
96
140
|
export default NativeUserLocation;
|
|
@@ -62,6 +62,41 @@ type FollowPuckOptions = {
|
|
|
62
62
|
| 'keep';
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
+
type OverviewOptions = {
|
|
66
|
+
/**
|
|
67
|
+
* The geometry that the ``OverviewViewportState`` should use when calculating its camera.
|
|
68
|
+
*/
|
|
69
|
+
geometry: GeoJSON.Geometry;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The padding that ``OverviewViewportState`` should use when calculating its camera.
|
|
73
|
+
*
|
|
74
|
+
* @default 0 padding
|
|
75
|
+
*/
|
|
76
|
+
padding?: {
|
|
77
|
+
top?: number;
|
|
78
|
+
left?: number;
|
|
79
|
+
bottom?: number;
|
|
80
|
+
right?: number;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* The bearing that ``OverviewViewportState`` should use when calcualting its camera.
|
|
85
|
+
*/
|
|
86
|
+
bearing?: number;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* The pitch that ``OverviewViewportState`` should use when calculating its camera.
|
|
90
|
+
*/
|
|
91
|
+
pitch?: number;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* The length of the animation performed by in seconds ``OverviewViewportState`` when it starts updating
|
|
95
|
+
* the camera.
|
|
96
|
+
*/
|
|
97
|
+
animationDuration?: number;
|
|
98
|
+
};
|
|
99
|
+
|
|
65
100
|
type ViewportState =
|
|
66
101
|
| {
|
|
67
102
|
kind: 'followPuck';
|
|
@@ -69,6 +104,7 @@ type ViewportState =
|
|
|
69
104
|
}
|
|
70
105
|
| {
|
|
71
106
|
kind: 'overview';
|
|
107
|
+
options?: OverviewOptions;
|
|
72
108
|
};
|
|
73
109
|
|
|
74
110
|
type ViewportStatus =
|
|
@@ -214,6 +250,7 @@ export type NativeArg =
|
|
|
214
250
|
| NativeArg[]
|
|
215
251
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
216
252
|
| Function
|
|
253
|
+
| GeoJSON.Geometry
|
|
217
254
|
| undefined;
|
|
218
255
|
|
|
219
256
|
type FunctionKeys<T> = keyof {
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
HostComponent,
|
|
3
|
+
ProcessedColorValue,
|
|
4
|
+
ViewProps,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
3
7
|
|
|
4
8
|
import type { Expression } from '../utils/MapboxStyles';
|
|
@@ -10,6 +14,14 @@ type Value<T> = T | Expression;
|
|
|
10
14
|
// see https://github.com/rnmapbox/maps/wiki/FabricOptionalProp
|
|
11
15
|
type OptionalProp<T> = UnsafeMixed<T>;
|
|
12
16
|
|
|
17
|
+
type Pulsing =
|
|
18
|
+
| {
|
|
19
|
+
isEnabled?: boolean;
|
|
20
|
+
radius?: 'accuracy' | number;
|
|
21
|
+
color?: ProcessedColorValue | null | undefined;
|
|
22
|
+
}
|
|
23
|
+
| { kind: 'default' };
|
|
24
|
+
|
|
13
25
|
export interface NativeProps extends ViewProps {
|
|
14
26
|
androidRenderMode?: OptionalProp<string>;
|
|
15
27
|
puckBearing?: OptionalProp<'heading' | 'course'>;
|
|
@@ -19,6 +31,7 @@ export interface NativeProps extends ViewProps {
|
|
|
19
31
|
topImage?: OptionalProp<string>;
|
|
20
32
|
scale?: UnsafeMixed<Value<number>>;
|
|
21
33
|
visible?: boolean;
|
|
34
|
+
pulsing?: UnsafeMixed<Pulsing>;
|
|
22
35
|
}
|
|
23
36
|
|
|
24
37
|
export default codegenNativeComponent<NativeProps>(
|