@maydon_tech/react-native-nitro-maps 0.1.3 → 0.2.0
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/LICENSE +1 -1
- package/NitroMap.podspec +1 -1
- package/README.md +82 -9
- package/android/CMakeLists.txt +4 -1
- package/android/gradle.properties +4 -4
- package/android/src/main/cpp/ClusterEngineJNI.cpp +198 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMap.kt +397 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMapConfig.kt +53 -0
- package/android/src/main/{java → kotlin}/com/margelo/nitro/nitromap/NitroMapPackage.kt +4 -4
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMapView.kt +73 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/UserLocationManager.kt +295 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/ClusterIconRenderer.kt +111 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/ClusteringManager.kt +104 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +166 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/MarkerIconFactory.kt +303 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/MarkerSelectionHandler.kt +72 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/PriceMarkerRenderer.kt +159 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/MapProviderFactory.kt +24 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +128 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapDelegate.kt +317 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Clustering.kt +524 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Markers.kt +358 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Overlays.kt +272 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+UserLocation.kt +296 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider.kt +815 -0
- package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/MarkerTagData.kt +19 -0
- package/ios/Clustering/ClusterIconRenderer.swift +3 -3
- package/ios/Location/NitroLocationManager.swift +116 -0
- package/ios/MarkerRenderer/MarkerIconFactory.swift +1 -3
- package/ios/MarkerRenderer/PriceMarkerRenderer.swift +10 -6
- package/ios/NitroMap.swift +279 -13
- package/ios/NitroMapConfig/NitroMapConfig.swift +45 -0
- package/ios/Providers/{GoogleMapDelegate.swift → Google/GoogleMapDelegate.swift} +48 -23
- package/ios/Providers/Google/GoogleMapProvider+Camera.swift +180 -0
- package/ios/Providers/Google/GoogleMapProvider+Clustering.swift +541 -0
- package/ios/Providers/Google/GoogleMapProvider+Markers.swift +270 -0
- package/ios/Providers/Google/GoogleMapProvider+Overlays.swift +245 -0
- package/ios/Providers/Google/GoogleMapProvider+UserLocation.swift +180 -0
- package/ios/Providers/Google/GoogleMapProvider.swift +342 -0
- package/ios/Providers/MapProviderFactory.swift +17 -0
- package/ios/Providers/MapProviderProtocol.swift +48 -1
- package/ios/Shared/ClusterConfig+Factory.swift +2 -2
- package/ios/Shared/MapStyleProvider.swift +6 -4
- package/ios/Shared/MarkerSelectionHandler.swift +4 -1
- package/ios/Utils/ColorValueExtension.swift +46 -67
- package/lib/module/components/ImageMarker.js +39 -29
- package/lib/module/components/ImageMarker.js.map +1 -1
- package/lib/module/components/Marker.js +118 -0
- package/lib/module/components/Marker.js.map +1 -0
- package/lib/module/components/NitroCircle.js +92 -0
- package/lib/module/components/NitroCircle.js.map +1 -0
- package/lib/module/components/NitroMap.js +216 -76
- package/lib/module/components/NitroMap.js.map +1 -1
- package/lib/module/components/NitroPolygon.js +135 -0
- package/lib/module/components/NitroPolygon.js.map +1 -0
- package/lib/module/components/NitroPolyline.js +115 -0
- package/lib/module/components/NitroPolyline.js.map +1 -0
- package/lib/module/components/PriceMarker.js +16 -29
- package/lib/module/components/PriceMarker.js.map +1 -1
- package/lib/module/context/NitroMapContext.js.map +1 -1
- package/lib/module/hooks/useNitroCircle.js +18 -0
- package/lib/module/hooks/useNitroCircle.js.map +1 -0
- package/lib/module/hooks/useNitroMarker.js +26 -9
- package/lib/module/hooks/useNitroMarker.js.map +1 -1
- package/lib/module/hooks/useNitroOverlay.js +59 -0
- package/lib/module/hooks/useNitroOverlay.js.map +1 -0
- package/lib/module/hooks/useNitroPolygon.js +18 -0
- package/lib/module/hooks/useNitroPolygon.js.map +1 -0
- package/lib/module/hooks/useNitroPolyline.js +18 -0
- package/lib/module/hooks/useNitroPolyline.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/overlay.js +4 -0
- package/lib/module/types/overlay.js.map +1 -0
- package/lib/module/types/theme.js +4 -0
- package/lib/module/types/theme.js.map +1 -0
- package/lib/module/utils/colors.js +41 -13
- package/lib/module/utils/colors.js.map +1 -1
- package/lib/module/utils/validation.js +45 -0
- package/lib/module/utils/validation.js.map +1 -0
- package/lib/typescript/src/components/ImageMarker.d.ts.map +1 -1
- package/lib/typescript/src/components/Marker.d.ts +34 -0
- package/lib/typescript/src/components/Marker.d.ts.map +1 -0
- package/lib/typescript/src/components/NitroCircle.d.ts +70 -0
- package/lib/typescript/src/components/NitroCircle.d.ts.map +1 -0
- package/lib/typescript/src/components/NitroMap.d.ts +60 -3
- package/lib/typescript/src/components/NitroMap.d.ts.map +1 -1
- package/lib/typescript/src/components/NitroPolygon.d.ts +86 -0
- package/lib/typescript/src/components/NitroPolygon.d.ts.map +1 -0
- package/lib/typescript/src/components/NitroPolyline.d.ts +84 -0
- package/lib/typescript/src/components/NitroPolyline.d.ts.map +1 -0
- package/lib/typescript/src/components/PriceMarker.d.ts +0 -5
- package/lib/typescript/src/components/PriceMarker.d.ts.map +1 -1
- package/lib/typescript/src/context/NitroMapContext.d.ts +2 -0
- package/lib/typescript/src/context/NitroMapContext.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useNitroCircle.d.ts +7 -0
- package/lib/typescript/src/hooks/useNitroCircle.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useNitroMarker.d.ts +20 -0
- package/lib/typescript/src/hooks/useNitroMarker.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useNitroOverlay.d.ts +26 -0
- package/lib/typescript/src/hooks/useNitroOverlay.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useNitroPolygon.d.ts +7 -0
- package/lib/typescript/src/hooks/useNitroPolygon.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useNitroPolyline.d.ts +7 -0
- package/lib/typescript/src/hooks/useNitroPolyline.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +15 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/NitroMap.nitro.d.ts +248 -6
- package/lib/typescript/src/specs/NitroMap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types/map.d.ts +34 -4
- package/lib/typescript/src/types/map.d.ts.map +1 -1
- package/lib/typescript/src/types/marker.d.ts +24 -36
- package/lib/typescript/src/types/marker.d.ts.map +1 -1
- package/lib/typescript/src/types/overlay.d.ts +75 -0
- package/lib/typescript/src/types/overlay.d.ts.map +1 -0
- package/lib/typescript/src/types/theme.d.ts +93 -0
- package/lib/typescript/src/types/theme.d.ts.map +1 -0
- package/lib/typescript/src/utils/colors.d.ts +6 -8
- package/lib/typescript/src/utils/colors.d.ts.map +1 -1
- package/lib/typescript/src/utils/validation.d.ts +12 -0
- package/lib/typescript/src/utils/validation.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JCircleData.hpp +94 -0
- package/nitrogen/generated/android/c++/JClusterConfig.hpp +5 -7
- package/nitrogen/generated/android/c++/JFunc_void_UserLocationChangeEvent.hpp +79 -0
- package/nitrogen/generated/android/c++/JFunc_void_UserTrackingMode.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
- package/nitrogen/generated/android/c++/JHybridNitroMapSpec.cpp +328 -21
- package/nitrogen/generated/android/c++/JHybridNitroMapSpec.hpp +53 -2
- package/nitrogen/generated/android/c++/JMarkerAnimation.hpp +3 -6
- package/nitrogen/generated/android/c++/JMarkerData.hpp +15 -3
- package/nitrogen/generated/android/c++/JPolygonData.hpp +149 -0
- package/nitrogen/generated/android/c++/JPolylineData.hpp +113 -0
- package/nitrogen/generated/android/c++/JUserLocationChangeEvent.hpp +70 -0
- package/nitrogen/generated/android/c++/JUserTrackingMode.hpp +62 -0
- package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.cpp +72 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/CircleData.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterConfig.kt +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_UserLocationChangeEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_UserTrackingMode.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_std__string.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapSpec.kt +228 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerAnimation.kt +1 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerData.kt +12 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PolygonData.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PolylineData.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/UserLocationChangeEvent.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/{ClusterAnimationStyle.kt → UserTrackingMode.kt} +6 -8
- package/nitrogen/generated/android/nitromapOnLoad.cpp +6 -0
- package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.cpp +24 -0
- package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.hpp +175 -17
- package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Umbrella.hpp +15 -3
- package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.hpp +249 -16
- package/nitrogen/generated/ios/c++/views/HybridNitroMapComponent.mm +90 -5
- package/nitrogen/generated/ios/swift/CircleData.swift +143 -0
- package/nitrogen/generated/ios/swift/ClusterConfig.swift +22 -15
- package/nitrogen/generated/ios/swift/Func_void_UserLocationChangeEvent.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_UserTrackingMode.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridNitroMapSpec.swift +35 -1
- package/nitrogen/generated/ios/swift/HybridNitroMapSpec_cxx.swift +582 -8
- package/nitrogen/generated/ios/swift/MarkerAnimation.swift +4 -8
- package/nitrogen/generated/ios/swift/MarkerData.swift +54 -2
- package/nitrogen/generated/ios/swift/PolygonData.swift +179 -0
- package/nitrogen/generated/ios/swift/PolylineData.swift +155 -0
- package/nitrogen/generated/ios/swift/UserLocationChangeEvent.swift +69 -0
- package/nitrogen/generated/ios/swift/UserTrackingMode.swift +44 -0
- package/nitrogen/generated/shared/c++/CircleData.hpp +113 -0
- package/nitrogen/generated/shared/c++/ClusterConfig.hpp +5 -8
- package/nitrogen/generated/shared/c++/HybridNitroMapSpec.cpp +53 -2
- package/nitrogen/generated/shared/c++/HybridNitroMapSpec.hpp +75 -6
- package/nitrogen/generated/shared/c++/MarkerAnimation.hpp +4 -8
- package/nitrogen/generated/shared/c++/MarkerData.hpp +14 -2
- package/nitrogen/generated/shared/c++/PolygonData.hpp +114 -0
- package/nitrogen/generated/shared/c++/PolylineData.hpp +114 -0
- package/nitrogen/generated/shared/c++/UserLocationChangeEvent.hpp +88 -0
- package/nitrogen/generated/shared/c++/UserTrackingMode.hpp +80 -0
- package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.cpp +216 -12
- package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.hpp +23 -1
- package/nitrogen/generated/shared/json/NitroMapConfig.json +18 -1
- package/package.json +36 -5
- package/src/components/ImageMarker.tsx +58 -42
- package/src/components/Marker.tsx +161 -0
- package/src/components/NitroCircle.tsx +183 -0
- package/src/components/NitroMap.tsx +328 -78
- package/src/components/NitroPolygon.tsx +229 -0
- package/src/components/NitroPolyline.tsx +208 -0
- package/src/components/PriceMarker.tsx +23 -48
- package/src/context/NitroMapContext.tsx +4 -0
- package/src/hooks/useNitroCircle.ts +25 -0
- package/src/hooks/useNitroMarker.ts +49 -10
- package/src/hooks/useNitroOverlay.ts +68 -0
- package/src/hooks/useNitroPolygon.ts +25 -0
- package/src/hooks/useNitroPolyline.ts +25 -0
- package/src/index.tsx +23 -2
- package/src/specs/NitroMap.nitro.ts +294 -5
- package/src/types/map.ts +36 -4
- package/src/types/marker.ts +24 -44
- package/src/types/overlay.ts +77 -0
- package/src/types/theme.ts +101 -0
- package/src/utils/colors.ts +48 -16
- package/src/utils/validation.ts +69 -0
- package/android/src/main/java/com/margelo/nitro/nitromap/ClusterIconGenerator.kt +0 -108
- package/android/src/main/java/com/margelo/nitro/nitromap/ColorUtils.kt +0 -63
- package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMap.kt +0 -408
- package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMapConfig.kt +0 -68
- package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconCache.kt +0 -176
- package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconFactory.kt +0 -252
- package/android/src/main/java/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +0 -252
- package/android/src/main/java/com/margelo/nitro/nitromap/clustering/QuadTree.kt +0 -195
- package/android/src/main/java/com/margelo/nitro/nitromap/providers/GoogleMapProvider.kt +0 -912
- package/android/src/main/java/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +0 -70
- package/cpp/QuadTree.hpp +0 -246
- package/ios/NitroMapConfig/HybridNitroMapConfig.swift +0 -33
- package/ios/Providers/GoogleMapProvider+Camera.swift +0 -164
- package/ios/Providers/GoogleMapProvider.swift +0 -924
- package/nitrogen/generated/android/c++/JClusterAnimationStyle.hpp +0 -68
- package/nitrogen/generated/ios/swift/ClusterAnimationStyle.swift +0 -52
- package/nitrogen/generated/shared/c++/ClusterAnimationStyle.hpp +0 -88
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseColor","color","defaultAlpha","undefined","r","g","b","a","hex","
|
|
1
|
+
{"version":3,"names":["parseColor","color","defaultAlpha","undefined","r","g","b","a","hex","rgb","hexStr","alpha","result8","exec","parseInt","result6","result4","result3","__DEV__","console","warn","Colors","white","black","red","blue","green","orange","gray","lightGray","areColorsEqual","ca","cb"],"sourceRoot":"../../../src","sources":["utils/colors.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// src/utils/validation.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Validate a coordinate in __DEV__ mode.
|
|
7
|
+
* Warns on NaN, Infinity, or out-of-range values.
|
|
8
|
+
*/
|
|
9
|
+
export function validateCoordinate(coordinate, context) {
|
|
10
|
+
if (!__DEV__) return;
|
|
11
|
+
const {
|
|
12
|
+
latitude,
|
|
13
|
+
longitude
|
|
14
|
+
} = coordinate;
|
|
15
|
+
if (!Number.isFinite(latitude) || !Number.isFinite(longitude)) {
|
|
16
|
+
console.warn(`[NitroMap] Invalid coordinate in ${context}: ` + `latitude=${latitude}, longitude=${longitude}. ` + 'Coordinates must be finite numbers.');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (latitude < -90 || latitude > 90) {
|
|
20
|
+
console.warn(`[NitroMap] Out-of-range latitude in ${context}: ${latitude}. ` + 'Latitude must be between -90 and 90.');
|
|
21
|
+
}
|
|
22
|
+
if (longitude < -180 || longitude > 180) {
|
|
23
|
+
console.warn(`[NitroMap] Out-of-range longitude in ${context}: ${longitude}. ` + 'Longitude must be between -180 and 180.');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Validate an array of coordinates in __DEV__ mode.
|
|
29
|
+
* Only reports the first invalid coordinate to avoid console spam.
|
|
30
|
+
*/
|
|
31
|
+
export function validateCoordinates(coordinates, context) {
|
|
32
|
+
if (!__DEV__) return;
|
|
33
|
+
for (let i = 0; i < coordinates.length; i++) {
|
|
34
|
+
const coord = coordinates[i];
|
|
35
|
+
const {
|
|
36
|
+
latitude,
|
|
37
|
+
longitude
|
|
38
|
+
} = coord;
|
|
39
|
+
if (!Number.isFinite(latitude) || !Number.isFinite(longitude) || latitude < -90 || latitude > 90 || longitude < -180 || longitude > 180) {
|
|
40
|
+
console.warn(`[NitroMap] Invalid coordinate at index ${i} in ${context}: ` + `latitude=${latitude}, longitude=${longitude}.`);
|
|
41
|
+
return; // report first invalid only
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["validateCoordinate","coordinate","context","__DEV__","latitude","longitude","Number","isFinite","console","warn","validateCoordinates","coordinates","i","length","coord"],"sourceRoot":"../../../src","sources":["utils/validation.ts"],"mappings":";;AAAA;;AAIA;AACA;AACA;AACA;AACA,OAAO,SAASA,kBAAkBA,CAChCC,UAAsB,EACtBC,OAAe,EACT;EACN,IAAI,CAACC,OAAO,EAAE;EAEd,MAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGJ,UAAU;EAE1C,IAAI,CAACK,MAAM,CAACC,QAAQ,CAACH,QAAQ,CAAC,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACF,SAAS,CAAC,EAAE;IAC7DG,OAAO,CAACC,IAAI,CACV,oCAAoCP,OAAO,IAAI,GAC7C,YAAYE,QAAQ,eAAeC,SAAS,IAAI,GAChD,qCACJ,CAAC;IACD;EACF;EAEA,IAAID,QAAQ,GAAG,CAAC,EAAE,IAAIA,QAAQ,GAAG,EAAE,EAAE;IACnCI,OAAO,CAACC,IAAI,CACV,uCAAuCP,OAAO,KAAKE,QAAQ,IAAI,GAC7D,sCACJ,CAAC;EACH;EAEA,IAAIC,SAAS,GAAG,CAAC,GAAG,IAAIA,SAAS,GAAG,GAAG,EAAE;IACvCG,OAAO,CAACC,IAAI,CACV,wCAAwCP,OAAO,KAAKG,SAAS,IAAI,GAC/D,yCACJ,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,mBAAmBA,CACjCC,WAAyB,EACzBT,OAAe,EACT;EACN,IAAI,CAACC,OAAO,EAAE;EAEd,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IAC3C,MAAME,KAAK,GAAGH,WAAW,CAACC,CAAC,CAAE;IAC7B,MAAM;MAAER,QAAQ;MAAEC;IAAU,CAAC,GAAGS,KAAK;IACrC,IACE,CAACR,MAAM,CAACC,QAAQ,CAACH,QAAQ,CAAC,IAC1B,CAACE,MAAM,CAACC,QAAQ,CAACF,SAAS,CAAC,IAC3BD,QAAQ,GAAG,CAAC,EAAE,IACdA,QAAQ,GAAG,EAAE,IACbC,SAAS,GAAG,CAAC,GAAG,IAChBA,SAAS,GAAG,GAAG,EACf;MACAG,OAAO,CAACC,IAAI,CACV,0CAA0CG,CAAC,OAAOV,OAAO,IAAI,GAC3D,YAAYE,QAAQ,eAAeC,SAAS,GAChD,CAAC;MACD,OAAO,CAAC;IACV;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageMarker.d.ts","sourceRoot":"","sources":["../../../../src/components/ImageMarker.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"ImageMarker.d.ts","sourceRoot":"","sources":["../../../../src/components/ImageMarker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAiBzB;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AAmDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,WAAW,wDAqHP,CAAC;AAElB,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type CommonMarkerProps } from '../hooks/useNitroMarker';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the Marker component (default Google Maps pin)
|
|
4
|
+
*/
|
|
5
|
+
export type MarkerProps = CommonMarkerProps;
|
|
6
|
+
declare const arePropsEqual: (prevProps: MarkerProps, nextProps: MarkerProps) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Marker - Display the default Google Maps pin on the map
|
|
9
|
+
*
|
|
10
|
+
* The simplest marker component. Uses the standard red Google Maps pin.
|
|
11
|
+
* For custom images, use `<ImageMarker>`. For price tags, use `<PriceMarker>`.
|
|
12
|
+
*
|
|
13
|
+
* @example Basic marker
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <Marker
|
|
16
|
+
* coordinate={{ latitude: 41.29, longitude: 69.24 }}
|
|
17
|
+
* title="Hello World"
|
|
18
|
+
* description="This is a default marker"
|
|
19
|
+
* />
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @example Draggable marker
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <Marker
|
|
25
|
+
* coordinate={{ latitude: 41.30, longitude: 69.25 }}
|
|
26
|
+
* draggable={true}
|
|
27
|
+
* onDragEnd={(coord) => console.log('Dropped at:', coord)}
|
|
28
|
+
* />
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const Marker: import("react").NamedExoticComponent<CommonMarkerProps>;
|
|
32
|
+
export { arePropsEqual as areMarkerPropsEqual };
|
|
33
|
+
export default Marker;
|
|
34
|
+
//# sourceMappingURL=Marker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Marker.d.ts","sourceRoot":"","sources":["../../../../src/components/Marker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAG5C,QAAA,MAAM,aAAa,GACjB,WAAW,WAAW,EACtB,WAAW,WAAW,KACrB,OAoCF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM,yDA8EF,CAAC;AAElB,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAC;AAChD,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Coordinate } from '../types/map';
|
|
2
|
+
import { type ColorValue } from '../utils/colors';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the NitroCircle component
|
|
5
|
+
*/
|
|
6
|
+
export interface NitroCircleProps {
|
|
7
|
+
/** Unique identifier for the circle */
|
|
8
|
+
id?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Center coordinate of the circle.
|
|
11
|
+
* @required
|
|
12
|
+
*/
|
|
13
|
+
center: Coordinate;
|
|
14
|
+
/**
|
|
15
|
+
* Radius of the circle in meters.
|
|
16
|
+
* @required
|
|
17
|
+
*/
|
|
18
|
+
radius: number;
|
|
19
|
+
/**
|
|
20
|
+
* Fill color of the circle (hex string like \"#00000040\" or MarkerColor object).
|
|
21
|
+
* Use 8-char hex for alpha: "#RRGGBBAA"
|
|
22
|
+
* @default MarkerColor { r: 0, g: 0, b: 0, a: 77 } (~30% opacity black)
|
|
23
|
+
*/
|
|
24
|
+
fillColor?: ColorValue;
|
|
25
|
+
/**
|
|
26
|
+
* Stroke color of the circle border (hex string or MarkerColor object).
|
|
27
|
+
* @default '#000000'
|
|
28
|
+
*/
|
|
29
|
+
strokeColor?: ColorValue;
|
|
30
|
+
/**
|
|
31
|
+
* Stroke width of the circle border in pixels.
|
|
32
|
+
* @default 1
|
|
33
|
+
*/
|
|
34
|
+
strokeWidth?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Z-index for controlling overlay stacking order.
|
|
37
|
+
* Higher values render on top.
|
|
38
|
+
* @default 0
|
|
39
|
+
*/
|
|
40
|
+
zIndex?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Whether this circle responds to tap events.
|
|
43
|
+
* When true, `onCirclePress` on `<NitroMap>` fires with this circle's ID.
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
tappable?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Accessibility label read by screen readers (VoiceOver / TalkBack).
|
|
49
|
+
*/
|
|
50
|
+
accessibilityLabel?: string;
|
|
51
|
+
}
|
|
52
|
+
declare const arePropsEqual: (prev: NitroCircleProps, next: NitroCircleProps) => boolean;
|
|
53
|
+
/**
|
|
54
|
+
* NitroCircle - Draw a circle overlay on the map
|
|
55
|
+
*
|
|
56
|
+
* @example Basic circle
|
|
57
|
+
* ```tsx
|
|
58
|
+
* <NitroCircle
|
|
59
|
+
* center={{ latitude: 41.31, longitude: 69.26 }}
|
|
60
|
+
* radius={500}
|
|
61
|
+
* fillColor="#4285F440"
|
|
62
|
+
* strokeColor="#4285F4"
|
|
63
|
+
* strokeWidth={2}
|
|
64
|
+
* />
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare const NitroCircle: import("react").NamedExoticComponent<NitroCircleProps>;
|
|
68
|
+
export { arePropsEqual as areCirclePropsEqual };
|
|
69
|
+
export default NitroCircle;
|
|
70
|
+
//# sourceMappingURL=NitroCircle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NitroCircle.d.ts","sourceRoot":"","sources":["../../../../src/components/NitroCircle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAWD,QAAA,MAAM,aAAa,GACjB,MAAM,gBAAgB,EACtB,MAAM,gBAAgB,KACrB,OAwBF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,wDAuDV,CAAC;AAEf,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAC;AAChD,eAAe,WAAW,CAAC"}
|
|
@@ -1,14 +1,71 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import type { NitroMapMethods, NitroMapProps as NitroMapPropsSpec } from '../specs/NitroMap.nitro';
|
|
4
|
+
import type { EdgePadding, MapProvider, MapStyle } from '../types/map';
|
|
5
|
+
import type { ThemeForProvider } from '../types/theme';
|
|
4
6
|
export * from '../specs/NitroMap.nitro';
|
|
5
7
|
export * from '../context/NitroMapContext';
|
|
6
|
-
export interface NitroMapProps extends Omit<NitroMapPropsSpec, 'style' | 'hybridRef'> {
|
|
8
|
+
export interface NitroMapProps<P extends MapProvider = 'google'> extends Omit<NitroMapPropsSpec, 'style' | 'hybridRef' | 'minZoom' | 'maxZoom' | 'mapPadding' | 'customMapStyle' | 'provider' | 'userLocationImage' | 'userLocationSize'> {
|
|
7
9
|
style?: StyleProp<ViewStyle>;
|
|
8
10
|
children?: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Map provider to use. Typed as generic `P` so that `theme` narrows
|
|
13
|
+
* to the correct provider-specific type.
|
|
14
|
+
* @default 'google'
|
|
15
|
+
*/
|
|
16
|
+
provider?: P;
|
|
17
|
+
/** Minimum zoom level (1 = world). @default 1 */
|
|
18
|
+
minZoom?: number;
|
|
19
|
+
/** Maximum zoom level (22 = building). @default 22 */
|
|
20
|
+
maxZoom?: number;
|
|
21
|
+
/** URL or asset name for custom user location icon. @default '' */
|
|
22
|
+
userLocationImage?: string;
|
|
23
|
+
/** Size of the custom user location icon in points. @default 40 */
|
|
24
|
+
userLocationSize?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Padding around map edges to offset center and controls.
|
|
27
|
+
* Pass a single number for uniform padding on all sides,
|
|
28
|
+
* or an EdgePadding object for per-side control.
|
|
29
|
+
* @default {0,0,0,0}
|
|
30
|
+
*/
|
|
31
|
+
mapPadding?: number | EdgePadding;
|
|
32
|
+
/**
|
|
33
|
+
* Provider-aware map theme. The accepted type depends on the `provider` prop:
|
|
34
|
+
* - `'google'` → `GoogleMapTheme` (JSON style array)
|
|
35
|
+
* - `'apple'` → `AppleMapTheme` (configuration object) — Phase 3
|
|
36
|
+
* - `'yandex'` → `YandexMapTheme` (style URI / night mode) — Phase 4
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* // Google — JSON style array
|
|
41
|
+
* <NitroMap provider="google" theme={[
|
|
42
|
+
* { featureType: 'water', stylers: [{ color: '#0e171d' }] },
|
|
43
|
+
* ]} />
|
|
44
|
+
*
|
|
45
|
+
* // Apple (future) — configuration object
|
|
46
|
+
* <NitroMap provider="apple" theme={{
|
|
47
|
+
* colorScheme: 'dark',
|
|
48
|
+
* emphasisStyle: 'muted',
|
|
49
|
+
* }} />
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
theme?: ThemeForProvider[P];
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated Use `theme` instead. `customMapStyle` only supports Google Maps
|
|
55
|
+
* JSON format and will be removed in a future version.
|
|
56
|
+
*/
|
|
57
|
+
customMapStyle?: MapStyle;
|
|
9
58
|
}
|
|
10
59
|
export type NitroMapRef = NitroMapMethods;
|
|
11
|
-
declare const
|
|
12
|
-
|
|
60
|
+
declare const areMapPropsEqual: (prevProps: NitroMapProps, nextProps: NitroMapProps) => boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Generic NitroMap component type that preserves provider-aware theme typing.
|
|
63
|
+
*/
|
|
64
|
+
interface NitroMapComponent {
|
|
65
|
+
<P extends MapProvider = 'google'>(props: NitroMapProps<P> & React.RefAttributes<NitroMapRef>): React.ReactElement | null;
|
|
66
|
+
displayName?: string;
|
|
67
|
+
}
|
|
68
|
+
declare const NitroMap: NitroMapComponent;
|
|
69
|
+
export { NitroMap, areMapPropsEqual };
|
|
13
70
|
export default NitroMap;
|
|
14
71
|
//# sourceMappingURL=NitroMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NitroMap.d.ts","sourceRoot":"","sources":["../../../../src/components/NitroMap.tsx"],"names":[],"mappings":"AACA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,KAAK,EACV,eAAe,EACf,aAAa,IAAI,iBAAiB,EACnC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"NitroMap.d.ts","sourceRoot":"","sources":["../../../../src/components/NitroMap.tsx"],"names":[],"mappings":"AACA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,KAAK,EACV,eAAe,EACf,aAAa,IAAI,iBAAiB,EACnC,MAAM,yBAAyB,CAAC;AAYjC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAmD3C,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,QAAQ,CAC7D,SAAQ,IAAI,CACV,iBAAiB,EACf,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,mBAAmB,GACnB,kBAAkB,CACrB;IACD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAElC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAGD,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AA0Y1C,QAAA,MAAM,gBAAgB,GACpB,WAAW,aAAa,EACxB,WAAW,aAAa,KACvB,OA8GF,CAAC;AAQF;;GAEG;AACH,UAAU,iBAAiB;IACzB,CAAC,CAAC,SAAS,WAAW,GAAG,QAAQ,EAC/B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GACzD,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,QAAA,MAAM,QAAQ,EAAkC,iBAAiB,CAAC;AASlE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACtC,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { Coordinate } from '../types/map';
|
|
2
|
+
import { type ColorValue } from '../utils/colors';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the NitroPolygon component
|
|
5
|
+
*/
|
|
6
|
+
export interface NitroPolygonProps {
|
|
7
|
+
/** Unique identifier for the polygon */
|
|
8
|
+
id?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Array of geographic coordinates that form the polygon boundary.
|
|
11
|
+
* At least 3 coordinates are required to render a visible polygon.
|
|
12
|
+
* The polygon is automatically closed (first and last points are connected).
|
|
13
|
+
* @required
|
|
14
|
+
*/
|
|
15
|
+
coordinates: Coordinate[];
|
|
16
|
+
/**
|
|
17
|
+
* Optional array of holes — each hole is an array of coordinates
|
|
18
|
+
* that will be cut out from the polygon fill.
|
|
19
|
+
* @default []
|
|
20
|
+
*/
|
|
21
|
+
holes?: Coordinate[][];
|
|
22
|
+
/**
|
|
23
|
+
* Fill color of the polygon (hex string like "#00000040" or MarkerColor object).
|
|
24
|
+
* Use 8-char hex for alpha: "#RRGGBBAA"
|
|
25
|
+
* @default MarkerColor { r: 0, g: 0, b: 0, a: 77 } (~30% opacity black)
|
|
26
|
+
*/
|
|
27
|
+
fillColor?: ColorValue;
|
|
28
|
+
/**
|
|
29
|
+
* Stroke color of the polygon border (hex string or MarkerColor object).
|
|
30
|
+
* @default '#000000'
|
|
31
|
+
*/
|
|
32
|
+
strokeColor?: ColorValue;
|
|
33
|
+
/**
|
|
34
|
+
* Stroke width of the polygon border in pixels.
|
|
35
|
+
* @default 1
|
|
36
|
+
*/
|
|
37
|
+
strokeWidth?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Z-index for controlling overlay stacking order.
|
|
40
|
+
* Higher values render on top.
|
|
41
|
+
* @default 0
|
|
42
|
+
*/
|
|
43
|
+
zIndex?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Whether this polygon responds to tap events.
|
|
46
|
+
* When true, `onPolygonPress` on `<NitroMap>` fires with this polygon's ID.
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
tappable?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Accessibility label read by screen readers (VoiceOver / TalkBack).
|
|
52
|
+
*/
|
|
53
|
+
accessibilityLabel?: string;
|
|
54
|
+
}
|
|
55
|
+
declare const arePropsEqual: (prev: NitroPolygonProps, next: NitroPolygonProps) => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* NitroPolygon - Draw a closed polygon shape on the map
|
|
58
|
+
*
|
|
59
|
+
* @example Basic polygon
|
|
60
|
+
* ```tsx
|
|
61
|
+
* <NitroPolygon
|
|
62
|
+
* coordinates={[
|
|
63
|
+
* { latitude: 41.29, longitude: 69.24 },
|
|
64
|
+
* { latitude: 41.31, longitude: 69.28 },
|
|
65
|
+
* { latitude: 41.33, longitude: 69.26 },
|
|
66
|
+
* ]}
|
|
67
|
+
* fillColor="#4285F440"
|
|
68
|
+
* strokeColor="#4285F4"
|
|
69
|
+
* strokeWidth={2}
|
|
70
|
+
* />
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @example Polygon with a hole
|
|
74
|
+
* ```tsx
|
|
75
|
+
* <NitroPolygon
|
|
76
|
+
* coordinates={outerBoundary}
|
|
77
|
+
* holes={[innerHole]}
|
|
78
|
+
* fillColor="#FF000040"
|
|
79
|
+
* strokeColor="#FF0000"
|
|
80
|
+
* />
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare const NitroPolygon: import("react").NamedExoticComponent<NitroPolygonProps>;
|
|
84
|
+
export { arePropsEqual as arePolygonPropsEqual };
|
|
85
|
+
export default NitroPolygon;
|
|
86
|
+
//# sourceMappingURL=NitroPolygon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NitroPolygon.d.ts","sourceRoot":"","sources":["../../../../src/components/NitroPolygon.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAWD,QAAA,MAAM,aAAa,GACjB,MAAM,iBAAiB,EACvB,MAAM,iBAAiB,KACtB,OA+CF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,YAAY,yDA8DX,CAAC;AAEf,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,CAAC;AACjD,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { Coordinate } from '../types/map';
|
|
2
|
+
import { type ColorValue } from '../utils/colors';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the NitroPolyline component
|
|
5
|
+
*/
|
|
6
|
+
export interface NitroPolylineProps {
|
|
7
|
+
/** Unique identifier for the polyline */
|
|
8
|
+
id?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Array of geographic coordinates that form the polyline path.
|
|
11
|
+
* At least 2 coordinates are required to render a visible line.
|
|
12
|
+
* @required
|
|
13
|
+
*/
|
|
14
|
+
coordinates: Coordinate[];
|
|
15
|
+
/**
|
|
16
|
+
* Stroke color of the polyline (hex string like "#4285F4" or MarkerColor object).
|
|
17
|
+
* @default '#000000'
|
|
18
|
+
*/
|
|
19
|
+
strokeColor?: ColorValue;
|
|
20
|
+
/**
|
|
21
|
+
* Stroke width in pixels.
|
|
22
|
+
* @default 1
|
|
23
|
+
*/
|
|
24
|
+
strokeWidth?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the line follows Earth's curvature (great circle path).
|
|
27
|
+
* When true, the line curves on the Mercator projection to represent
|
|
28
|
+
* the shortest path on the sphere. Noticeable on long-distance lines.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
geodesic?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether the line is rendered as dashed.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
dashed?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Z-index for controlling overlay stacking order.
|
|
39
|
+
* Higher values render on top.
|
|
40
|
+
* @default 0
|
|
41
|
+
*/
|
|
42
|
+
zIndex?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Whether this polyline responds to tap events.
|
|
45
|
+
* When true, `onPolylinePress` on `<NitroMap>` fires with this polyline's ID.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
tappable?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Accessibility label read by screen readers (VoiceOver / TalkBack).
|
|
51
|
+
*/
|
|
52
|
+
accessibilityLabel?: string;
|
|
53
|
+
}
|
|
54
|
+
declare const arePropsEqual: (prev: NitroPolylineProps, next: NitroPolylineProps) => boolean;
|
|
55
|
+
/**
|
|
56
|
+
* NitroPolyline - Draw a line connecting multiple geographic points on the map
|
|
57
|
+
*
|
|
58
|
+
* @example Basic route line
|
|
59
|
+
* ```tsx
|
|
60
|
+
* <NitroPolyline
|
|
61
|
+
* coordinates={[
|
|
62
|
+
* { latitude: 41.29, longitude: 69.24 },
|
|
63
|
+
* { latitude: 41.31, longitude: 69.28 },
|
|
64
|
+
* ]}
|
|
65
|
+
* strokeColor="#4285F4"
|
|
66
|
+
* strokeWidth={4}
|
|
67
|
+
* />
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @example Geodesic dashed line
|
|
71
|
+
* ```tsx
|
|
72
|
+
* <NitroPolyline
|
|
73
|
+
* coordinates={routeCoordinates}
|
|
74
|
+
* strokeColor="#FF0000"
|
|
75
|
+
* strokeWidth={2}
|
|
76
|
+
* geodesic={true}
|
|
77
|
+
* dashed={true}
|
|
78
|
+
* />
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare const NitroPolyline: import("react").NamedExoticComponent<NitroPolylineProps>;
|
|
82
|
+
export { arePropsEqual as arePolylinePropsEqual };
|
|
83
|
+
export default NitroPolyline;
|
|
84
|
+
//# sourceMappingURL=NitroPolyline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NitroPolyline.d.ts","sourceRoot":"","sources":["../../../../src/components/NitroPolyline.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD,QAAA,MAAM,aAAa,GACjB,MAAM,kBAAkB,EACxB,MAAM,kBAAkB,KACvB,OAiCF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,0DA2DZ,CAAC;AAEf,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,CAAC;AAClD,eAAe,aAAa,CAAC"}
|
|
@@ -35,11 +35,6 @@ export interface PriceMarkerProps extends CommonMarkerProps {
|
|
|
35
35
|
* @default 14
|
|
36
36
|
*/
|
|
37
37
|
fontSize?: number;
|
|
38
|
-
/**
|
|
39
|
-
* Corner radius in pixels (only for simple price style)
|
|
40
|
-
* @default 8
|
|
41
|
-
*/
|
|
42
|
-
cornerRadius?: number;
|
|
43
38
|
/**
|
|
44
39
|
* Background color when marker is selected (hex string like "#FF0000" or MarkerColor object)
|
|
45
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceMarker.d.ts","sourceRoot":"","sources":["../../../../src/components/PriceMarker.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"PriceMarker.d.ts","sourceRoot":"","sources":["../../../../src/components/PriceMarker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,uBAAuB,CAAC,EAAE,UAAU,CAAC;IAErC;;OAEG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAE/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA+DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,wDA4HP,CAAC;AAElB,eAAe,WAAW,CAAC"}
|
|
@@ -11,6 +11,8 @@ export interface NitroMapContextValue {
|
|
|
11
11
|
registerMarkerHandler: (markerId: string, handlers: MarkerHandlers) => void;
|
|
12
12
|
unregisterMarkerHandler: (markerId: string) => void;
|
|
13
13
|
getMarkerHandler: (markerId: string) => MarkerHandlers | undefined;
|
|
14
|
+
trackMarkerId: (markerId: string) => void;
|
|
15
|
+
untrackMarkerId: (markerId: string) => void;
|
|
14
16
|
}
|
|
15
17
|
export declare const NitroMapContext: import("react").Context<NitroMapContextValue | null>;
|
|
16
18
|
//# sourceMappingURL=NitroMapContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NitroMapContext.d.ts","sourceRoot":"","sources":["../../../../src/context/NitroMapContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC9C;AAGD,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAG/B,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAG5E,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAGpD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"NitroMapContext.d.ts","sourceRoot":"","sources":["../../../../src/context/NitroMapContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC9C;AAGD,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAG/B,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAG5E,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAGpD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;IAGnE,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAGD,eAAO,MAAM,eAAe,sDAAmD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CircleData } from '../types/overlay';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for circle lifecycle management.
|
|
4
|
+
* Adds circle on mount, updates on prop changes, removes on unmount.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useNitroCircle(buildCircleData: () => CircleData): void;
|
|
7
|
+
//# sourceMappingURL=useNitroCircle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNitroCircle.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNitroCircle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,UAAU,GAAG,IAAI,CAetE"}
|
|
@@ -16,7 +16,10 @@ export interface BaseMarkerData {
|
|
|
16
16
|
anchor: Point;
|
|
17
17
|
clusteringEnabled: boolean;
|
|
18
18
|
config: MarkerConfig;
|
|
19
|
+
accessibilityLabel?: string;
|
|
19
20
|
animation: MarkerAnimation;
|
|
21
|
+
animationDuration: number;
|
|
22
|
+
animateOnReappear: boolean;
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Props shared by all marker components
|
|
@@ -42,8 +45,25 @@ export interface CommonMarkerProps {
|
|
|
42
45
|
anchor?: Point;
|
|
43
46
|
/** Whether this marker should be included in clustering */
|
|
44
47
|
clusteringEnabled?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Accessibility label read by screen readers (VoiceOver / TalkBack).
|
|
50
|
+
* Falls back to `title` if not set.
|
|
51
|
+
*/
|
|
52
|
+
accessibilityLabel?: string;
|
|
45
53
|
/** Animation when marker appears on the map */
|
|
46
54
|
animation?: MarkerAnimation;
|
|
55
|
+
/**
|
|
56
|
+
* Animation duration in seconds
|
|
57
|
+
* @default 0.3
|
|
58
|
+
*/
|
|
59
|
+
animationDuration?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the marker should animate every time it reappears on the map
|
|
62
|
+
* (e.g., emerging from a cluster, scrolling back into viewport).
|
|
63
|
+
* When false, the animation only plays on the initial mount.
|
|
64
|
+
* @default true
|
|
65
|
+
*/
|
|
66
|
+
animateOnReappear?: boolean;
|
|
47
67
|
/** Called when the marker is tapped */
|
|
48
68
|
onPress?: () => void;
|
|
49
69
|
/** Called when the marker starts being dragged */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNitroMarker.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNitroMarker.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useNitroMarker.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNitroMarker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { NitroMapMethods } from '../specs/NitroMap.nitro';
|
|
2
|
+
/**
|
|
3
|
+
* Overlay method names used by the generic hook.
|
|
4
|
+
* Maps each overlay type to its add/update/remove native methods.
|
|
5
|
+
*/
|
|
6
|
+
interface OverlayMethods<T extends {
|
|
7
|
+
id: string;
|
|
8
|
+
}> {
|
|
9
|
+
add: (data: T) => void;
|
|
10
|
+
update: (data: T) => void;
|
|
11
|
+
remove: (id: string) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generic hook for overlay lifecycle management (polyline, polygon, circle).
|
|
15
|
+
* Adds overlay on mount, updates on prop changes, removes on unmount.
|
|
16
|
+
*
|
|
17
|
+
* Eliminates copy-paste between useNitroPolyline/useNitroPolygon/useNitroCircle.
|
|
18
|
+
*
|
|
19
|
+
* @param buildData - Memoized function that builds the overlay data object.
|
|
20
|
+
* @param getMethods - Function that extracts add/update/remove methods from the map ref.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useNitroOverlay<T extends {
|
|
23
|
+
id: string;
|
|
24
|
+
}>(buildData: () => T, getMethods: (mapRef: NitroMapMethods) => OverlayMethods<T>): void;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=useNitroOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNitroOverlay.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNitroOverlay.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,UAAU,cAAc,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IAC/C,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACtD,SAAS,EAAE,MAAM,CAAC,EAClB,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,cAAc,CAAC,CAAC,CAAC,GACzD,IAAI,CAwCN"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PolygonData } from '../types/overlay';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for polygon lifecycle management.
|
|
4
|
+
* Adds polygon on mount, updates on prop changes, removes on unmount.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useNitroPolygon(buildPolygonData: () => PolygonData): void;
|
|
7
|
+
//# sourceMappingURL=useNitroPolygon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNitroPolygon.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNitroPolygon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,WAAW,GAAG,IAAI,CAezE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PolylineData } from '../types/overlay';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for polyline lifecycle management.
|
|
4
|
+
* Adds polyline on mount, updates on prop changes, removes on unmount.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useNitroPolyline(buildPolylineData: () => PolylineData): void;
|
|
7
|
+
//# sourceMappingURL=useNitroPolyline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNitroPolyline.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNitroPolyline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,YAAY,GAAG,IAAI,CAe5E"}
|