@maydon_tech/react-native-nitro-maps 0.1.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.
Files changed (283) hide show
  1. package/LICENSE +20 -0
  2. package/NitroMap.podspec +42 -0
  3. package/README.md +172 -0
  4. package/android/CMakeLists.txt +27 -0
  5. package/android/build.gradle +141 -0
  6. package/android/gradle.properties +5 -0
  7. package/android/src/main/AndroidManifest.xml +3 -0
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/nitromap/ClusterIconGenerator.kt +108 -0
  10. package/android/src/main/java/com/margelo/nitro/nitromap/ColorUtils.kt +63 -0
  11. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMap.kt +408 -0
  12. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMapConfig.kt +68 -0
  13. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconCache.kt +176 -0
  14. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconFactory.kt +252 -0
  15. package/android/src/main/java/com/margelo/nitro/nitromap/NitroMapPackage.kt +33 -0
  16. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +252 -0
  17. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/QuadTree.kt +195 -0
  18. package/android/src/main/java/com/margelo/nitro/nitromap/providers/GoogleMapProvider.kt +912 -0
  19. package/android/src/main/java/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +70 -0
  20. package/cpp/ClusterEngine.hpp +411 -0
  21. package/cpp/KDBush.hpp +238 -0
  22. package/cpp/QuadTree.hpp +246 -0
  23. package/ios/Clustering/ClusterEngineWrapper.h +58 -0
  24. package/ios/Clustering/ClusterEngineWrapper.mm +142 -0
  25. package/ios/Clustering/ClusterIconRenderer.swift +80 -0
  26. package/ios/Clustering/NitroClusterEngine.swift +117 -0
  27. package/ios/Clustering/NitroClusterIconGenerator.swift +35 -0
  28. package/ios/MarkerRenderer/MarkerIconFactory.swift +322 -0
  29. package/ios/MarkerRenderer/PriceMarkerRenderer.swift +140 -0
  30. package/ios/NitroMap.swift +332 -0
  31. package/ios/NitroMapConfig/HybridNitroMapConfig.swift +33 -0
  32. package/ios/Providers/GoogleMapDelegate.swift +310 -0
  33. package/ios/Providers/GoogleMapProvider+Camera.swift +164 -0
  34. package/ios/Providers/GoogleMapProvider.swift +924 -0
  35. package/ios/Providers/MapProviderProtocol.swift +78 -0
  36. package/ios/Shared/ClusterConfig+Factory.swift +58 -0
  37. package/ios/Shared/ClusteringManager.swift +211 -0
  38. package/ios/Shared/MapStyleProvider.swift +135 -0
  39. package/ios/Shared/MarkerSelectionHandler.swift +116 -0
  40. package/ios/Utils/ColorValueExtension.swift +54 -0
  41. package/lib/module/components/ImageMarker.js +146 -0
  42. package/lib/module/components/ImageMarker.js.map +1 -0
  43. package/lib/module/components/NitroMap.js +320 -0
  44. package/lib/module/components/NitroMap.js.map +1 -0
  45. package/lib/module/components/PriceMarker.js +165 -0
  46. package/lib/module/components/PriceMarker.js.map +1 -0
  47. package/lib/module/context/NitroMapContext.js +15 -0
  48. package/lib/module/context/NitroMapContext.js.map +1 -0
  49. package/lib/module/hooks/useNitroMarker.js +104 -0
  50. package/lib/module/hooks/useNitroMarker.js.map +1 -0
  51. package/lib/module/index.js +21 -0
  52. package/lib/module/index.js.map +1 -0
  53. package/lib/module/modules/index.js +4 -0
  54. package/lib/module/modules/index.js.map +1 -0
  55. package/lib/module/modules/module.js +30 -0
  56. package/lib/module/modules/module.js.map +1 -0
  57. package/lib/module/package.json +1 -0
  58. package/lib/module/specs/NitroMap.nitro.js +4 -0
  59. package/lib/module/specs/NitroMap.nitro.js.map +1 -0
  60. package/lib/module/specs/NitroMapConfig.nitro.js +4 -0
  61. package/lib/module/specs/NitroMapConfig.nitro.js.map +1 -0
  62. package/lib/module/types/map.js +2 -0
  63. package/lib/module/types/map.js.map +1 -0
  64. package/lib/module/types/marker.js +4 -0
  65. package/lib/module/types/marker.js.map +1 -0
  66. package/lib/module/utils/colors.js +147 -0
  67. package/lib/module/utils/colors.js.map +1 -0
  68. package/lib/typescript/package.json +1 -0
  69. package/lib/typescript/src/components/ImageMarker.d.ts +70 -0
  70. package/lib/typescript/src/components/ImageMarker.d.ts.map +1 -0
  71. package/lib/typescript/src/components/NitroMap.d.ts +14 -0
  72. package/lib/typescript/src/components/NitroMap.d.ts.map +1 -0
  73. package/lib/typescript/src/components/PriceMarker.d.ts +88 -0
  74. package/lib/typescript/src/components/PriceMarker.d.ts.map +1 -0
  75. package/lib/typescript/src/context/NitroMapContext.d.ts +16 -0
  76. package/lib/typescript/src/context/NitroMapContext.d.ts.map +1 -0
  77. package/lib/typescript/src/hooks/useNitroMarker.d.ts +78 -0
  78. package/lib/typescript/src/hooks/useNitroMarker.d.ts.map +1 -0
  79. package/lib/typescript/src/index.d.ts +12 -0
  80. package/lib/typescript/src/index.d.ts.map +1 -0
  81. package/lib/typescript/src/modules/index.d.ts +2 -0
  82. package/lib/typescript/src/modules/index.d.ts.map +1 -0
  83. package/lib/typescript/src/modules/module.d.ts +22 -0
  84. package/lib/typescript/src/modules/module.d.ts.map +1 -0
  85. package/lib/typescript/src/specs/NitroMap.nitro.d.ts +227 -0
  86. package/lib/typescript/src/specs/NitroMap.nitro.d.ts.map +1 -0
  87. package/lib/typescript/src/specs/NitroMapConfig.nitro.d.ts +10 -0
  88. package/lib/typescript/src/specs/NitroMapConfig.nitro.d.ts.map +1 -0
  89. package/lib/typescript/src/types/map.d.ts +154 -0
  90. package/lib/typescript/src/types/map.d.ts.map +1 -0
  91. package/lib/typescript/src/types/marker.d.ts +248 -0
  92. package/lib/typescript/src/types/marker.d.ts.map +1 -0
  93. package/lib/typescript/src/utils/colors.d.ts +82 -0
  94. package/lib/typescript/src/utils/colors.d.ts.map +1 -0
  95. package/nitro.json +21 -0
  96. package/nitrogen/generated/android/c++/JCamera.hpp +74 -0
  97. package/nitrogen/generated/android/c++/JClusterAnimationStyle.hpp +68 -0
  98. package/nitrogen/generated/android/c++/JClusterConfig.hpp +121 -0
  99. package/nitrogen/generated/android/c++/JClusterPressEvent.hpp +86 -0
  100. package/nitrogen/generated/android/c++/JClusterStrategy.hpp +59 -0
  101. package/nitrogen/generated/android/c++/JColorValue.cpp +26 -0
  102. package/nitrogen/generated/android/c++/JColorValue.hpp +70 -0
  103. package/nitrogen/generated/android/c++/JCoordinate.hpp +61 -0
  104. package/nitrogen/generated/android/c++/JEdgePadding.hpp +69 -0
  105. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  106. package/nitrogen/generated/android/c++/JFunc_void_ClusterPressEvent.hpp +81 -0
  107. package/nitrogen/generated/android/c++/JFunc_void_MapError.hpp +78 -0
  108. package/nitrogen/generated/android/c++/JFunc_void_MapPressEvent.hpp +81 -0
  109. package/nitrogen/generated/android/c++/JFunc_void_MarkerDragEvent.hpp +80 -0
  110. package/nitrogen/generated/android/c++/JFunc_void_MarkerPressEvent.hpp +80 -0
  111. package/nitrogen/generated/android/c++/JFunc_void_RegionChangeEvent.hpp +79 -0
  112. package/nitrogen/generated/android/c++/JHybridNitroMapConfigSpec.cpp +59 -0
  113. package/nitrogen/generated/android/c++/JHybridNitroMapConfigSpec.hpp +66 -0
  114. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.cpp +593 -0
  115. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.hpp +125 -0
  116. package/nitrogen/generated/android/c++/JImageMarkerConfig.hpp +86 -0
  117. package/nitrogen/generated/android/c++/JMapBoundaries.hpp +62 -0
  118. package/nitrogen/generated/android/c++/JMapError.hpp +61 -0
  119. package/nitrogen/generated/android/c++/JMapPressEvent.hpp +64 -0
  120. package/nitrogen/generated/android/c++/JMapProvider.hpp +62 -0
  121. package/nitrogen/generated/android/c++/JMapStyleElement.hpp +87 -0
  122. package/nitrogen/generated/android/c++/JMapStyler.hpp +78 -0
  123. package/nitrogen/generated/android/c++/JMapType.hpp +62 -0
  124. package/nitrogen/generated/android/c++/JMarkerAnimation.hpp +62 -0
  125. package/nitrogen/generated/android/c++/JMarkerColor.hpp +69 -0
  126. package/nitrogen/generated/android/c++/JMarkerConfig.hpp +77 -0
  127. package/nitrogen/generated/android/c++/JMarkerData.hpp +121 -0
  128. package/nitrogen/generated/android/c++/JMarkerDragEvent.hpp +63 -0
  129. package/nitrogen/generated/android/c++/JMarkerPressEvent.hpp +63 -0
  130. package/nitrogen/generated/android/c++/JMarkerStyle.hpp +62 -0
  131. package/nitrogen/generated/android/c++/JPoint.hpp +61 -0
  132. package/nitrogen/generated/android/c++/JPriceMarkerStyle.hpp +102 -0
  133. package/nitrogen/generated/android/c++/JRegion.hpp +69 -0
  134. package/nitrogen/generated/android/c++/JRegionChangeEvent.hpp +62 -0
  135. package/nitrogen/generated/android/c++/JVariant_String_MarkerColor.cpp +26 -0
  136. package/nitrogen/generated/android/c++/JVariant_String_MarkerColor.hpp +70 -0
  137. package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.cpp +144 -0
  138. package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.hpp +49 -0
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Camera.kt +50 -0
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterAnimationStyle.kt +24 -0
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterConfig.kt +80 -0
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterPressEvent.kt +44 -0
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterStrategy.kt +21 -0
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ColorValue.kt +59 -0
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Coordinate.kt +41 -0
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/EdgePadding.kt +47 -0
  147. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void.kt +80 -0
  148. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_ClusterPressEvent.kt +80 -0
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MapError.kt +80 -0
  150. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MapPressEvent.kt +80 -0
  151. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MarkerDragEvent.kt +80 -0
  152. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MarkerPressEvent.kt +80 -0
  153. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_RegionChangeEvent.kt +80 -0
  154. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapConfigSpec.kt +61 -0
  155. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapSpec.kt +342 -0
  156. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ImageMarkerConfig.kt +56 -0
  157. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapBoundaries.kt +41 -0
  158. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapError.kt +41 -0
  159. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapPressEvent.kt +41 -0
  160. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapProvider.kt +22 -0
  161. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapStyleElement.kt +44 -0
  162. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapStyler.kt +53 -0
  163. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapType.kt +22 -0
  164. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerAnimation.kt +22 -0
  165. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerColor.kt +47 -0
  166. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerConfig.kt +44 -0
  167. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerData.kt +71 -0
  168. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerDragEvent.kt +41 -0
  169. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerPressEvent.kt +41 -0
  170. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerStyle.kt +22 -0
  171. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Point.kt +41 -0
  172. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PriceMarkerStyle.kt +68 -0
  173. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Region.kt +47 -0
  174. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/RegionChangeEvent.kt +41 -0
  175. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Variant_String_MarkerColor.kt +59 -0
  176. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/nitromapOnLoad.kt +35 -0
  177. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/views/HybridNitroMapManager.kt +50 -0
  178. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/views/HybridNitroMapStateUpdater.kt +23 -0
  179. package/nitrogen/generated/android/nitromap+autolinking.cmake +87 -0
  180. package/nitrogen/generated/android/nitromap+autolinking.gradle +27 -0
  181. package/nitrogen/generated/android/nitromapOnLoad.cpp +70 -0
  182. package/nitrogen/generated/android/nitromapOnLoad.hpp +25 -0
  183. package/nitrogen/generated/ios/NitroMap+autolinking.rb +60 -0
  184. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.cpp +130 -0
  185. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.hpp +793 -0
  186. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Umbrella.hpp +132 -0
  187. package/nitrogen/generated/ios/NitroMapAutolinking.mm +41 -0
  188. package/nitrogen/generated/ios/NitroMapAutolinking.swift +40 -0
  189. package/nitrogen/generated/ios/c++/HybridNitroMapConfigSpecSwift.cpp +11 -0
  190. package/nitrogen/generated/ios/c++/HybridNitroMapConfigSpecSwift.hpp +84 -0
  191. package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.cpp +11 -0
  192. package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.hpp +410 -0
  193. package/nitrogen/generated/ios/c++/views/HybridNitroMapComponent.mm +206 -0
  194. package/nitrogen/generated/ios/swift/Camera.swift +80 -0
  195. package/nitrogen/generated/ios/swift/ClusterAnimationStyle.swift +52 -0
  196. package/nitrogen/generated/ios/swift/ClusterConfig.swift +268 -0
  197. package/nitrogen/generated/ios/swift/ClusterPressEvent.swift +70 -0
  198. package/nitrogen/generated/ios/swift/ClusterStrategy.swift +40 -0
  199. package/nitrogen/generated/ios/swift/ColorValue.swift +18 -0
  200. package/nitrogen/generated/ios/swift/Coordinate.swift +47 -0
  201. package/nitrogen/generated/ios/swift/EdgePadding.swift +69 -0
  202. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  203. package/nitrogen/generated/ios/swift/Func_void_Camera.swift +47 -0
  204. package/nitrogen/generated/ios/swift/Func_void_ClusterPressEvent.swift +47 -0
  205. package/nitrogen/generated/ios/swift/Func_void_MapBoundaries.swift +47 -0
  206. package/nitrogen/generated/ios/swift/Func_void_MapError.swift +47 -0
  207. package/nitrogen/generated/ios/swift/Func_void_MapPressEvent.swift +47 -0
  208. package/nitrogen/generated/ios/swift/Func_void_MarkerDragEvent.swift +47 -0
  209. package/nitrogen/generated/ios/swift/Func_void_MarkerPressEvent.swift +47 -0
  210. package/nitrogen/generated/ios/swift/Func_void_RegionChangeEvent.swift +47 -0
  211. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  212. package/nitrogen/generated/ios/swift/HybridNitroMapConfigSpec.swift +57 -0
  213. package/nitrogen/generated/ios/swift/HybridNitroMapConfigSpec_cxx.swift +142 -0
  214. package/nitrogen/generated/ios/swift/HybridNitroMapSpec.swift +93 -0
  215. package/nitrogen/generated/ios/swift/HybridNitroMapSpec_cxx.swift +953 -0
  216. package/nitrogen/generated/ios/swift/ImageMarkerConfig.swift +166 -0
  217. package/nitrogen/generated/ios/swift/MapBoundaries.swift +47 -0
  218. package/nitrogen/generated/ios/swift/MapError.swift +47 -0
  219. package/nitrogen/generated/ios/swift/MapPressEvent.swift +47 -0
  220. package/nitrogen/generated/ios/swift/MapProvider.swift +44 -0
  221. package/nitrogen/generated/ios/swift/MapStyleElement.swift +108 -0
  222. package/nitrogen/generated/ios/swift/MapStyler.swift +177 -0
  223. package/nitrogen/generated/ios/swift/MapType.swift +44 -0
  224. package/nitrogen/generated/ios/swift/MarkerAnimation.swift +44 -0
  225. package/nitrogen/generated/ios/swift/MarkerColor.swift +69 -0
  226. package/nitrogen/generated/ios/swift/MarkerConfig.swift +82 -0
  227. package/nitrogen/generated/ios/swift/MarkerData.swift +195 -0
  228. package/nitrogen/generated/ios/swift/MarkerDragEvent.swift +47 -0
  229. package/nitrogen/generated/ios/swift/MarkerPressEvent.swift +47 -0
  230. package/nitrogen/generated/ios/swift/MarkerStyle.swift +44 -0
  231. package/nitrogen/generated/ios/swift/Point.swift +47 -0
  232. package/nitrogen/generated/ios/swift/PriceMarkerStyle.swift +374 -0
  233. package/nitrogen/generated/ios/swift/Region.swift +69 -0
  234. package/nitrogen/generated/ios/swift/RegionChangeEvent.swift +47 -0
  235. package/nitrogen/generated/ios/swift/Variant_String_MarkerColor.swift +18 -0
  236. package/nitrogen/generated/shared/c++/Camera.hpp +92 -0
  237. package/nitrogen/generated/shared/c++/ClusterAnimationStyle.hpp +88 -0
  238. package/nitrogen/generated/shared/c++/ClusterConfig.hpp +140 -0
  239. package/nitrogen/generated/shared/c++/ClusterPressEvent.hpp +86 -0
  240. package/nitrogen/generated/shared/c++/ClusterStrategy.hpp +76 -0
  241. package/nitrogen/generated/shared/c++/Coordinate.hpp +79 -0
  242. package/nitrogen/generated/shared/c++/EdgePadding.hpp +87 -0
  243. package/nitrogen/generated/shared/c++/HybridNitroMapConfigSpec.cpp +22 -0
  244. package/nitrogen/generated/shared/c++/HybridNitroMapConfigSpec.hpp +65 -0
  245. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.cpp +82 -0
  246. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.hpp +173 -0
  247. package/nitrogen/generated/shared/c++/ImageMarkerConfig.hpp +103 -0
  248. package/nitrogen/generated/shared/c++/MapBoundaries.hpp +80 -0
  249. package/nitrogen/generated/shared/c++/MapError.hpp +79 -0
  250. package/nitrogen/generated/shared/c++/MapPressEvent.hpp +83 -0
  251. package/nitrogen/generated/shared/c++/MapProvider.hpp +80 -0
  252. package/nitrogen/generated/shared/c++/MapStyleElement.hpp +87 -0
  253. package/nitrogen/generated/shared/c++/MapStyler.hpp +96 -0
  254. package/nitrogen/generated/shared/c++/MapType.hpp +80 -0
  255. package/nitrogen/generated/shared/c++/MarkerAnimation.hpp +80 -0
  256. package/nitrogen/generated/shared/c++/MarkerColor.hpp +87 -0
  257. package/nitrogen/generated/shared/c++/MarkerConfig.hpp +91 -0
  258. package/nitrogen/generated/shared/c++/MarkerData.hpp +131 -0
  259. package/nitrogen/generated/shared/c++/MarkerDragEvent.hpp +81 -0
  260. package/nitrogen/generated/shared/c++/MarkerPressEvent.hpp +81 -0
  261. package/nitrogen/generated/shared/c++/MarkerStyle.hpp +80 -0
  262. package/nitrogen/generated/shared/c++/Point.hpp +79 -0
  263. package/nitrogen/generated/shared/c++/PriceMarkerStyle.hpp +119 -0
  264. package/nitrogen/generated/shared/c++/Region.hpp +87 -0
  265. package/nitrogen/generated/shared/c++/RegionChangeEvent.hpp +80 -0
  266. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.cpp +351 -0
  267. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.hpp +141 -0
  268. package/nitrogen/generated/shared/json/NitroMapConfig.json +32 -0
  269. package/package.json +176 -0
  270. package/react-native.config.js +16 -0
  271. package/src/components/ImageMarker.tsx +254 -0
  272. package/src/components/NitroMap.tsx +433 -0
  273. package/src/components/PriceMarker.tsx +311 -0
  274. package/src/context/NitroMapContext.tsx +33 -0
  275. package/src/hooks/useNitroMarker.ts +198 -0
  276. package/src/index.tsx +62 -0
  277. package/src/modules/index.ts +6 -0
  278. package/src/modules/module.ts +45 -0
  279. package/src/specs/NitroMap.nitro.ts +292 -0
  280. package/src/specs/NitroMapConfig.nitro.ts +8 -0
  281. package/src/types/map.ts +166 -0
  282. package/src/types/marker.ts +267 -0
  283. package/src/utils/colors.ts +159 -0
@@ -0,0 +1,52 @@
1
+ ///
2
+ /// ClusterAnimationStyle.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS union `ClusterAnimationStyle`, backed by a C++ enum.
10
+ */
11
+ public typealias ClusterAnimationStyle = margelo.nitro.nitromap.ClusterAnimationStyle
12
+
13
+ public extension ClusterAnimationStyle {
14
+ /**
15
+ * Get a ClusterAnimationStyle for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "default":
21
+ self = .default
22
+ case "bounce":
23
+ self = .bounce
24
+ case "scale":
25
+ self = .scale
26
+ case "fade":
27
+ self = .fade
28
+ case "spring":
29
+ self = .spring
30
+ default:
31
+ return nil
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Get the String value this ClusterAnimationStyle represents.
37
+ */
38
+ var stringValue: String {
39
+ switch self {
40
+ case .default:
41
+ return "default"
42
+ case .bounce:
43
+ return "bounce"
44
+ case .scale:
45
+ return "scale"
46
+ case .fade:
47
+ return "fade"
48
+ case .spring:
49
+ return "spring"
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,268 @@
1
+ ///
2
+ /// ClusterConfig.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `ClusterConfig`, backed by a C++ struct.
13
+ */
14
+ public typealias ClusterConfig = margelo.nitro.nitromap.ClusterConfig
15
+
16
+ public extension ClusterConfig {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `ClusterConfig`.
21
+ */
22
+ init(enabled: Bool, strategy: ClusterStrategy, radius: Double, minimumClusterSize: Double, maxZoom: Double, backgroundColor: ColorValue, textColor: ColorValue, borderWidth: Double, borderColor: ColorValue, animatesClusters: Bool, animationDuration: Double, animationStyle: ClusterAnimationStyle, realtimeClustering: Bool, renderBuffer: Double, throttleInterval: Double) {
23
+ self.init(enabled, strategy, radius, minimumClusterSize, maxZoom, { () -> bridge.std__variant_std__string__MarkerColor_ in
24
+ switch backgroundColor {
25
+ case .first(let __value):
26
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
27
+ case .second(let __value):
28
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
29
+ }
30
+ }().variant, { () -> bridge.std__variant_std__string__MarkerColor_ in
31
+ switch textColor {
32
+ case .first(let __value):
33
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
34
+ case .second(let __value):
35
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
36
+ }
37
+ }().variant, borderWidth, { () -> bridge.std__variant_std__string__MarkerColor_ in
38
+ switch borderColor {
39
+ case .first(let __value):
40
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
41
+ case .second(let __value):
42
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
43
+ }
44
+ }().variant, animatesClusters, animationDuration, animationStyle, realtimeClustering, renderBuffer, throttleInterval)
45
+ }
46
+
47
+ var enabled: Bool {
48
+ @inline(__always)
49
+ get {
50
+ return self.__enabled
51
+ }
52
+ @inline(__always)
53
+ set {
54
+ self.__enabled = newValue
55
+ }
56
+ }
57
+
58
+ var strategy: ClusterStrategy {
59
+ @inline(__always)
60
+ get {
61
+ return self.__strategy
62
+ }
63
+ @inline(__always)
64
+ set {
65
+ self.__strategy = newValue
66
+ }
67
+ }
68
+
69
+ var radius: Double {
70
+ @inline(__always)
71
+ get {
72
+ return self.__radius
73
+ }
74
+ @inline(__always)
75
+ set {
76
+ self.__radius = newValue
77
+ }
78
+ }
79
+
80
+ var minimumClusterSize: Double {
81
+ @inline(__always)
82
+ get {
83
+ return self.__minimumClusterSize
84
+ }
85
+ @inline(__always)
86
+ set {
87
+ self.__minimumClusterSize = newValue
88
+ }
89
+ }
90
+
91
+ var maxZoom: Double {
92
+ @inline(__always)
93
+ get {
94
+ return self.__maxZoom
95
+ }
96
+ @inline(__always)
97
+ set {
98
+ self.__maxZoom = newValue
99
+ }
100
+ }
101
+
102
+ var backgroundColor: ColorValue {
103
+ @inline(__always)
104
+ get {
105
+ return { () -> ColorValue in
106
+ let __variant = bridge.std__variant_std__string__MarkerColor_(self.__backgroundColor)
107
+ switch __variant.index() {
108
+ case 0:
109
+ let __actual = __variant.get_0()
110
+ return .first(String(__actual))
111
+ case 1:
112
+ let __actual = __variant.get_1()
113
+ return .second(__actual)
114
+ default:
115
+ fatalError("Variant can never have index \(__variant.index())!")
116
+ }
117
+ }()
118
+ }
119
+ @inline(__always)
120
+ set {
121
+ self.__backgroundColor = { () -> bridge.std__variant_std__string__MarkerColor_ in
122
+ switch newValue {
123
+ case .first(let __value):
124
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
125
+ case .second(let __value):
126
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
127
+ }
128
+ }().variant
129
+ }
130
+ }
131
+
132
+ var textColor: ColorValue {
133
+ @inline(__always)
134
+ get {
135
+ return { () -> ColorValue in
136
+ let __variant = bridge.std__variant_std__string__MarkerColor_(self.__textColor)
137
+ switch __variant.index() {
138
+ case 0:
139
+ let __actual = __variant.get_0()
140
+ return .first(String(__actual))
141
+ case 1:
142
+ let __actual = __variant.get_1()
143
+ return .second(__actual)
144
+ default:
145
+ fatalError("Variant can never have index \(__variant.index())!")
146
+ }
147
+ }()
148
+ }
149
+ @inline(__always)
150
+ set {
151
+ self.__textColor = { () -> bridge.std__variant_std__string__MarkerColor_ in
152
+ switch newValue {
153
+ case .first(let __value):
154
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
155
+ case .second(let __value):
156
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
157
+ }
158
+ }().variant
159
+ }
160
+ }
161
+
162
+ var borderWidth: Double {
163
+ @inline(__always)
164
+ get {
165
+ return self.__borderWidth
166
+ }
167
+ @inline(__always)
168
+ set {
169
+ self.__borderWidth = newValue
170
+ }
171
+ }
172
+
173
+ var borderColor: ColorValue {
174
+ @inline(__always)
175
+ get {
176
+ return { () -> ColorValue in
177
+ let __variant = bridge.std__variant_std__string__MarkerColor_(self.__borderColor)
178
+ switch __variant.index() {
179
+ case 0:
180
+ let __actual = __variant.get_0()
181
+ return .first(String(__actual))
182
+ case 1:
183
+ let __actual = __variant.get_1()
184
+ return .second(__actual)
185
+ default:
186
+ fatalError("Variant can never have index \(__variant.index())!")
187
+ }
188
+ }()
189
+ }
190
+ @inline(__always)
191
+ set {
192
+ self.__borderColor = { () -> bridge.std__variant_std__string__MarkerColor_ in
193
+ switch newValue {
194
+ case .first(let __value):
195
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
196
+ case .second(let __value):
197
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
198
+ }
199
+ }().variant
200
+ }
201
+ }
202
+
203
+ var animatesClusters: Bool {
204
+ @inline(__always)
205
+ get {
206
+ return self.__animatesClusters
207
+ }
208
+ @inline(__always)
209
+ set {
210
+ self.__animatesClusters = newValue
211
+ }
212
+ }
213
+
214
+ var animationDuration: Double {
215
+ @inline(__always)
216
+ get {
217
+ return self.__animationDuration
218
+ }
219
+ @inline(__always)
220
+ set {
221
+ self.__animationDuration = newValue
222
+ }
223
+ }
224
+
225
+ var animationStyle: ClusterAnimationStyle {
226
+ @inline(__always)
227
+ get {
228
+ return self.__animationStyle
229
+ }
230
+ @inline(__always)
231
+ set {
232
+ self.__animationStyle = newValue
233
+ }
234
+ }
235
+
236
+ var realtimeClustering: Bool {
237
+ @inline(__always)
238
+ get {
239
+ return self.__realtimeClustering
240
+ }
241
+ @inline(__always)
242
+ set {
243
+ self.__realtimeClustering = newValue
244
+ }
245
+ }
246
+
247
+ var renderBuffer: Double {
248
+ @inline(__always)
249
+ get {
250
+ return self.__renderBuffer
251
+ }
252
+ @inline(__always)
253
+ set {
254
+ self.__renderBuffer = newValue
255
+ }
256
+ }
257
+
258
+ var throttleInterval: Double {
259
+ @inline(__always)
260
+ get {
261
+ return self.__throttleInterval
262
+ }
263
+ @inline(__always)
264
+ set {
265
+ self.__throttleInterval = newValue
266
+ }
267
+ }
268
+ }
@@ -0,0 +1,70 @@
1
+ ///
2
+ /// ClusterPressEvent.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `ClusterPressEvent`, backed by a C++ struct.
13
+ */
14
+ public typealias ClusterPressEvent = margelo.nitro.nitromap.ClusterPressEvent
15
+
16
+ public extension ClusterPressEvent {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `ClusterPressEvent`.
21
+ */
22
+ init(coordinate: Coordinate, markerIds: [String], count: Double) {
23
+ self.init(coordinate, { () -> bridge.std__vector_std__string_ in
24
+ var __vector = bridge.create_std__vector_std__string_(markerIds.count)
25
+ for __item in markerIds {
26
+ __vector.push_back(std.string(__item))
27
+ }
28
+ return __vector
29
+ }(), count)
30
+ }
31
+
32
+ var coordinate: Coordinate {
33
+ @inline(__always)
34
+ get {
35
+ return self.__coordinate
36
+ }
37
+ @inline(__always)
38
+ set {
39
+ self.__coordinate = newValue
40
+ }
41
+ }
42
+
43
+ var markerIds: [String] {
44
+ @inline(__always)
45
+ get {
46
+ return self.__markerIds.map({ __item in String(__item) })
47
+ }
48
+ @inline(__always)
49
+ set {
50
+ self.__markerIds = { () -> bridge.std__vector_std__string_ in
51
+ var __vector = bridge.create_std__vector_std__string_(newValue.count)
52
+ for __item in newValue {
53
+ __vector.push_back(std.string(__item))
54
+ }
55
+ return __vector
56
+ }()
57
+ }
58
+ }
59
+
60
+ var count: Double {
61
+ @inline(__always)
62
+ get {
63
+ return self.__count
64
+ }
65
+ @inline(__always)
66
+ set {
67
+ self.__count = newValue
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,40 @@
1
+ ///
2
+ /// ClusterStrategy.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS union `ClusterStrategy`, backed by a C++ enum.
10
+ */
11
+ public typealias ClusterStrategy = margelo.nitro.nitromap.ClusterStrategy
12
+
13
+ public extension ClusterStrategy {
14
+ /**
15
+ * Get a ClusterStrategy for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "supercluster":
21
+ self = .supercluster
22
+ case "hideOnOverlap":
23
+ self = .hideonoverlap
24
+ default:
25
+ return nil
26
+ }
27
+ }
28
+
29
+ /**
30
+ * Get the String value this ClusterStrategy represents.
31
+ */
32
+ var stringValue: String {
33
+ switch self {
34
+ case .supercluster:
35
+ return "supercluster"
36
+ case .hideonoverlap:
37
+ return "hideOnOverlap"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,18 @@
1
+ ///
2
+ /// ColorValue.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+
9
+
10
+ /**
11
+ * An Swift enum with associated values representing a Variant/Union type.
12
+ * JS type: `string | struct`
13
+ */
14
+ @frozen
15
+ public indirect enum ColorValue {
16
+ case first(String)
17
+ case second(MarkerColor)
18
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Coordinate.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `Coordinate`, backed by a C++ struct.
13
+ */
14
+ public typealias Coordinate = margelo.nitro.nitromap.Coordinate
15
+
16
+ public extension Coordinate {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `Coordinate`.
21
+ */
22
+ init(latitude: Double, longitude: Double) {
23
+ self.init(latitude, longitude)
24
+ }
25
+
26
+ var latitude: Double {
27
+ @inline(__always)
28
+ get {
29
+ return self.__latitude
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__latitude = newValue
34
+ }
35
+ }
36
+
37
+ var longitude: Double {
38
+ @inline(__always)
39
+ get {
40
+ return self.__longitude
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__longitude = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,69 @@
1
+ ///
2
+ /// EdgePadding.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `EdgePadding`, backed by a C++ struct.
13
+ */
14
+ public typealias EdgePadding = margelo.nitro.nitromap.EdgePadding
15
+
16
+ public extension EdgePadding {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `EdgePadding`.
21
+ */
22
+ init(top: Double, right: Double, bottom: Double, left: Double) {
23
+ self.init(top, right, bottom, left)
24
+ }
25
+
26
+ var top: Double {
27
+ @inline(__always)
28
+ get {
29
+ return self.__top
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__top = newValue
34
+ }
35
+ }
36
+
37
+ var right: Double {
38
+ @inline(__always)
39
+ get {
40
+ return self.__right
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__right = newValue
45
+ }
46
+ }
47
+
48
+ var bottom: Double {
49
+ @inline(__always)
50
+ get {
51
+ return self.__bottom
52
+ }
53
+ @inline(__always)
54
+ set {
55
+ self.__bottom = newValue
56
+ }
57
+ }
58
+
59
+ var left: Double {
60
+ @inline(__always)
61
+ get {
62
+ return self.__left
63
+ }
64
+ @inline(__always)
65
+ set {
66
+ self.__left = newValue
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Wraps a Swift `() -> Void` as a class.
13
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
14
+ */
15
+ public final class Func_void {
16
+ public typealias bridge = margelo.nitro.nitromap.bridge.swift
17
+
18
+ private let closure: () -> Void
19
+
20
+ public init(_ closure: @escaping () -> Void) {
21
+ self.closure = closure
22
+ }
23
+
24
+ @inline(__always)
25
+ public func call() -> Void {
26
+ self.closure()
27
+ }
28
+
29
+ /**
30
+ * Casts this instance to a retained unsafe raw pointer.
31
+ * This acquires one additional strong reference on the object!
32
+ */
33
+ @inline(__always)
34
+ public func toUnsafe() -> UnsafeMutableRawPointer {
35
+ return Unmanaged.passRetained(self).toOpaque()
36
+ }
37
+
38
+ /**
39
+ * Casts an unsafe pointer to a `Func_void`.
40
+ * The pointer has to be a retained opaque `Unmanaged<Func_void>`.
41
+ * This removes one strong reference from the object!
42
+ */
43
+ @inline(__always)
44
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void {
45
+ return Unmanaged<Func_void>.fromOpaque(pointer).takeRetainedValue()
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void_Camera.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Wraps a Swift `(_ value: Camera) -> Void` as a class.
13
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
14
+ */
15
+ public final class Func_void_Camera {
16
+ public typealias bridge = margelo.nitro.nitromap.bridge.swift
17
+
18
+ private let closure: (_ value: Camera) -> Void
19
+
20
+ public init(_ closure: @escaping (_ value: Camera) -> Void) {
21
+ self.closure = closure
22
+ }
23
+
24
+ @inline(__always)
25
+ public func call(value: Camera) -> Void {
26
+ self.closure(value)
27
+ }
28
+
29
+ /**
30
+ * Casts this instance to a retained unsafe raw pointer.
31
+ * This acquires one additional strong reference on the object!
32
+ */
33
+ @inline(__always)
34
+ public func toUnsafe() -> UnsafeMutableRawPointer {
35
+ return Unmanaged.passRetained(self).toOpaque()
36
+ }
37
+
38
+ /**
39
+ * Casts an unsafe pointer to a `Func_void_Camera`.
40
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_Camera>`.
41
+ * This removes one strong reference from the object!
42
+ */
43
+ @inline(__always)
44
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_Camera {
45
+ return Unmanaged<Func_void_Camera>.fromOpaque(pointer).takeRetainedValue()
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void_ClusterPressEvent.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Wraps a Swift `(_ event: ClusterPressEvent) -> Void` as a class.
13
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
14
+ */
15
+ public final class Func_void_ClusterPressEvent {
16
+ public typealias bridge = margelo.nitro.nitromap.bridge.swift
17
+
18
+ private let closure: (_ event: ClusterPressEvent) -> Void
19
+
20
+ public init(_ closure: @escaping (_ event: ClusterPressEvent) -> Void) {
21
+ self.closure = closure
22
+ }
23
+
24
+ @inline(__always)
25
+ public func call(event: ClusterPressEvent) -> Void {
26
+ self.closure(event)
27
+ }
28
+
29
+ /**
30
+ * Casts this instance to a retained unsafe raw pointer.
31
+ * This acquires one additional strong reference on the object!
32
+ */
33
+ @inline(__always)
34
+ public func toUnsafe() -> UnsafeMutableRawPointer {
35
+ return Unmanaged.passRetained(self).toOpaque()
36
+ }
37
+
38
+ /**
39
+ * Casts an unsafe pointer to a `Func_void_ClusterPressEvent`.
40
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_ClusterPressEvent>`.
41
+ * This removes one strong reference from the object!
42
+ */
43
+ @inline(__always)
44
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_ClusterPressEvent {
45
+ return Unmanaged<Func_void_ClusterPressEvent>.fromOpaque(pointer).takeRetainedValue()
46
+ }
47
+ }