@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,132 @@
1
+ ///
2
+ /// NitroMap-Swift-Cxx-Umbrella.hpp
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
+ #pragma once
9
+
10
+ // Forward declarations of C++ defined types
11
+ // Forward declaration of `Camera` to properly resolve imports.
12
+ namespace margelo::nitro::nitromap { struct Camera; }
13
+ // Forward declaration of `ClusterAnimationStyle` to properly resolve imports.
14
+ namespace margelo::nitro::nitromap { enum class ClusterAnimationStyle; }
15
+ // Forward declaration of `ClusterConfig` to properly resolve imports.
16
+ namespace margelo::nitro::nitromap { struct ClusterConfig; }
17
+ // Forward declaration of `ClusterPressEvent` to properly resolve imports.
18
+ namespace margelo::nitro::nitromap { struct ClusterPressEvent; }
19
+ // Forward declaration of `ClusterStrategy` to properly resolve imports.
20
+ namespace margelo::nitro::nitromap { enum class ClusterStrategy; }
21
+ // Forward declaration of `Coordinate` to properly resolve imports.
22
+ namespace margelo::nitro::nitromap { struct Coordinate; }
23
+ // Forward declaration of `EdgePadding` to properly resolve imports.
24
+ namespace margelo::nitro::nitromap { struct EdgePadding; }
25
+ // Forward declaration of `HybridNitroMapConfigSpec` to properly resolve imports.
26
+ namespace margelo::nitro::nitromap { class HybridNitroMapConfigSpec; }
27
+ // Forward declaration of `HybridNitroMapSpec` to properly resolve imports.
28
+ namespace margelo::nitro::nitromap { class HybridNitroMapSpec; }
29
+ // Forward declaration of `ImageMarkerConfig` to properly resolve imports.
30
+ namespace margelo::nitro::nitromap { struct ImageMarkerConfig; }
31
+ // Forward declaration of `MapBoundaries` to properly resolve imports.
32
+ namespace margelo::nitro::nitromap { struct MapBoundaries; }
33
+ // Forward declaration of `MapError` to properly resolve imports.
34
+ namespace margelo::nitro::nitromap { struct MapError; }
35
+ // Forward declaration of `MapPressEvent` to properly resolve imports.
36
+ namespace margelo::nitro::nitromap { struct MapPressEvent; }
37
+ // Forward declaration of `MapProvider` to properly resolve imports.
38
+ namespace margelo::nitro::nitromap { enum class MapProvider; }
39
+ // Forward declaration of `MapStyleElement` to properly resolve imports.
40
+ namespace margelo::nitro::nitromap { struct MapStyleElement; }
41
+ // Forward declaration of `MapStyler` to properly resolve imports.
42
+ namespace margelo::nitro::nitromap { struct MapStyler; }
43
+ // Forward declaration of `MapType` to properly resolve imports.
44
+ namespace margelo::nitro::nitromap { enum class MapType; }
45
+ // Forward declaration of `MarkerAnimation` to properly resolve imports.
46
+ namespace margelo::nitro::nitromap { enum class MarkerAnimation; }
47
+ // Forward declaration of `MarkerColor` to properly resolve imports.
48
+ namespace margelo::nitro::nitromap { struct MarkerColor; }
49
+ // Forward declaration of `MarkerConfig` to properly resolve imports.
50
+ namespace margelo::nitro::nitromap { struct MarkerConfig; }
51
+ // Forward declaration of `MarkerData` to properly resolve imports.
52
+ namespace margelo::nitro::nitromap { struct MarkerData; }
53
+ // Forward declaration of `MarkerDragEvent` to properly resolve imports.
54
+ namespace margelo::nitro::nitromap { struct MarkerDragEvent; }
55
+ // Forward declaration of `MarkerPressEvent` to properly resolve imports.
56
+ namespace margelo::nitro::nitromap { struct MarkerPressEvent; }
57
+ // Forward declaration of `MarkerStyle` to properly resolve imports.
58
+ namespace margelo::nitro::nitromap { enum class MarkerStyle; }
59
+ // Forward declaration of `Point` to properly resolve imports.
60
+ namespace margelo::nitro::nitromap { struct Point; }
61
+ // Forward declaration of `PriceMarkerStyle` to properly resolve imports.
62
+ namespace margelo::nitro::nitromap { struct PriceMarkerStyle; }
63
+ // Forward declaration of `RegionChangeEvent` to properly resolve imports.
64
+ namespace margelo::nitro::nitromap { struct RegionChangeEvent; }
65
+ // Forward declaration of `Region` to properly resolve imports.
66
+ namespace margelo::nitro::nitromap { struct Region; }
67
+
68
+ // Include C++ defined types
69
+ #include "Camera.hpp"
70
+ #include "ClusterAnimationStyle.hpp"
71
+ #include "ClusterConfig.hpp"
72
+ #include "ClusterPressEvent.hpp"
73
+ #include "ClusterStrategy.hpp"
74
+ #include "Coordinate.hpp"
75
+ #include "EdgePadding.hpp"
76
+ #include "HybridNitroMapConfigSpec.hpp"
77
+ #include "HybridNitroMapSpec.hpp"
78
+ #include "ImageMarkerConfig.hpp"
79
+ #include "MapBoundaries.hpp"
80
+ #include "MapError.hpp"
81
+ #include "MapPressEvent.hpp"
82
+ #include "MapProvider.hpp"
83
+ #include "MapStyleElement.hpp"
84
+ #include "MapStyler.hpp"
85
+ #include "MapType.hpp"
86
+ #include "MarkerAnimation.hpp"
87
+ #include "MarkerColor.hpp"
88
+ #include "MarkerConfig.hpp"
89
+ #include "MarkerData.hpp"
90
+ #include "MarkerDragEvent.hpp"
91
+ #include "MarkerPressEvent.hpp"
92
+ #include "MarkerStyle.hpp"
93
+ #include "Point.hpp"
94
+ #include "PriceMarkerStyle.hpp"
95
+ #include "Region.hpp"
96
+ #include "RegionChangeEvent.hpp"
97
+ #include <NitroModules/Promise.hpp>
98
+ #include <NitroModules/Result.hpp>
99
+ #include <exception>
100
+ #include <functional>
101
+ #include <memory>
102
+ #include <optional>
103
+ #include <string>
104
+ #include <variant>
105
+ #include <vector>
106
+
107
+ // C++ helpers for Swift
108
+ #include "NitroMap-Swift-Cxx-Bridge.hpp"
109
+
110
+ // Common C++ types used in Swift
111
+ #include <NitroModules/ArrayBufferHolder.hpp>
112
+ #include <NitroModules/AnyMapUtils.hpp>
113
+ #include <NitroModules/RuntimeError.hpp>
114
+ #include <NitroModules/DateToChronoDate.hpp>
115
+
116
+ // Forward declarations of Swift defined types
117
+ // Forward declaration of `HybridNitroMapConfigSpec_cxx` to properly resolve imports.
118
+ namespace NitroMap { class HybridNitroMapConfigSpec_cxx; }
119
+ // Forward declaration of `HybridNitroMapSpec_cxx` to properly resolve imports.
120
+ namespace NitroMap { class HybridNitroMapSpec_cxx; }
121
+
122
+ // Include Swift defined types
123
+ #if __has_include("NitroMap-Swift.h")
124
+ // This header is generated by Xcode/Swift on every app build.
125
+ // If it cannot be found, make sure the Swift module's name (= podspec name) is actually "NitroMap".
126
+ #include "NitroMap-Swift.h"
127
+ // Same as above, but used when building with frameworks (`use_frameworks`)
128
+ #elif __has_include(<NitroMap/NitroMap-Swift.h>)
129
+ #include <NitroMap/NitroMap-Swift.h>
130
+ #else
131
+ #error NitroMap's autogenerated Swift header cannot be found! Make sure the Swift module's name (= podspec name) is actually "NitroMap", and try building the app first.
132
+ #endif
@@ -0,0 +1,41 @@
1
+ ///
2
+ /// NitroMapAutolinking.mm
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/Foundation.h>
9
+ #import <NitroModules/HybridObjectRegistry.hpp>
10
+ #import "NitroMap-Swift-Cxx-Umbrella.hpp"
11
+ #import <type_traits>
12
+
13
+ #include "HybridNitroMapSpecSwift.hpp"
14
+ #include "HybridNitroMapConfigSpecSwift.hpp"
15
+
16
+ @interface NitroMapAutolinking : NSObject
17
+ @end
18
+
19
+ @implementation NitroMapAutolinking
20
+
21
+ + (void) load {
22
+ using namespace margelo::nitro;
23
+ using namespace margelo::nitro::nitromap;
24
+
25
+ HybridObjectRegistry::registerHybridObjectConstructor(
26
+ "NitroMap",
27
+ []() -> std::shared_ptr<HybridObject> {
28
+ std::shared_ptr<HybridNitroMapSpec> hybridObject = NitroMap::NitroMapAutolinking::createNitroMap();
29
+ return hybridObject;
30
+ }
31
+ );
32
+ HybridObjectRegistry::registerHybridObjectConstructor(
33
+ "NitroMapConfig",
34
+ []() -> std::shared_ptr<HybridObject> {
35
+ std::shared_ptr<HybridNitroMapConfigSpec> hybridObject = NitroMap::NitroMapAutolinking::createNitroMapConfig();
36
+ return hybridObject;
37
+ }
38
+ );
39
+ }
40
+
41
+ @end
@@ -0,0 +1,40 @@
1
+ ///
2
+ /// NitroMapAutolinking.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
+ public final class NitroMapAutolinking {
9
+ public typealias bridge = margelo.nitro.nitromap.bridge.swift
10
+
11
+ /**
12
+ * Creates an instance of a Swift class that implements `HybridNitroMapSpec`,
13
+ * and wraps it in a Swift class that can directly interop with C++ (`HybridNitroMapSpec_cxx`)
14
+ *
15
+ * This is generated by Nitrogen and will initialize the class specified
16
+ * in the `"autolinking"` property of `nitro.json` (in this case, `HybridNitroMap`).
17
+ */
18
+ public static func createNitroMap() -> bridge.std__shared_ptr_HybridNitroMapSpec_ {
19
+ let hybridObject = HybridNitroMap()
20
+ return { () -> bridge.std__shared_ptr_HybridNitroMapSpec_ in
21
+ let __cxxWrapped = hybridObject.getCxxWrapper()
22
+ return __cxxWrapped.getCxxPart()
23
+ }()
24
+ }
25
+
26
+ /**
27
+ * Creates an instance of a Swift class that implements `HybridNitroMapConfigSpec`,
28
+ * and wraps it in a Swift class that can directly interop with C++ (`HybridNitroMapConfigSpec_cxx`)
29
+ *
30
+ * This is generated by Nitrogen and will initialize the class specified
31
+ * in the `"autolinking"` property of `nitro.json` (in this case, `HybridNitroMapConfig`).
32
+ */
33
+ public static func createNitroMapConfig() -> bridge.std__shared_ptr_HybridNitroMapConfigSpec_ {
34
+ let hybridObject = HybridNitroMapConfig()
35
+ return { () -> bridge.std__shared_ptr_HybridNitroMapConfigSpec_ in
36
+ let __cxxWrapped = hybridObject.getCxxWrapper()
37
+ return __cxxWrapped.getCxxPart()
38
+ }()
39
+ }
40
+ }
@@ -0,0 +1,11 @@
1
+ ///
2
+ /// HybridNitroMapConfigSpecSwift.cpp
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
+ #include "HybridNitroMapConfigSpecSwift.hpp"
9
+
10
+ namespace margelo::nitro::nitromap {
11
+ } // namespace margelo::nitro::nitromap
@@ -0,0 +1,84 @@
1
+ ///
2
+ /// HybridNitroMapConfigSpecSwift.hpp
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
+ #pragma once
9
+
10
+ #include "HybridNitroMapConfigSpec.hpp"
11
+
12
+ // Forward declaration of `HybridNitroMapConfigSpec_cxx` to properly resolve imports.
13
+ namespace NitroMap { class HybridNitroMapConfigSpec_cxx; }
14
+
15
+ // Forward declaration of `MapProvider` to properly resolve imports.
16
+ namespace margelo::nitro::nitromap { enum class MapProvider; }
17
+
18
+ #include <string>
19
+ #include "MapProvider.hpp"
20
+
21
+ #include "NitroMap-Swift-Cxx-Umbrella.hpp"
22
+
23
+ namespace margelo::nitro::nitromap {
24
+
25
+ /**
26
+ * The C++ part of HybridNitroMapConfigSpec_cxx.swift.
27
+ *
28
+ * HybridNitroMapConfigSpecSwift (C++) accesses HybridNitroMapConfigSpec_cxx (Swift), and might
29
+ * contain some additional bridging code for C++ <> Swift interop.
30
+ *
31
+ * Since this obviously introduces an overhead, I hope at some point in
32
+ * the future, HybridNitroMapConfigSpec_cxx can directly inherit from the C++ class HybridNitroMapConfigSpec
33
+ * to simplify the whole structure and memory management.
34
+ */
35
+ class HybridNitroMapConfigSpecSwift: public virtual HybridNitroMapConfigSpec {
36
+ public:
37
+ // Constructor from a Swift instance
38
+ explicit HybridNitroMapConfigSpecSwift(const NitroMap::HybridNitroMapConfigSpec_cxx& swiftPart):
39
+ HybridObject(HybridNitroMapConfigSpec::TAG),
40
+ _swiftPart(swiftPart) { }
41
+
42
+ public:
43
+ // Get the Swift part
44
+ inline NitroMap::HybridNitroMapConfigSpec_cxx& getSwiftPart() noexcept {
45
+ return _swiftPart;
46
+ }
47
+
48
+ public:
49
+ inline size_t getExternalMemorySize() noexcept override {
50
+ return _swiftPart.getMemorySize();
51
+ }
52
+ void dispose() noexcept override {
53
+ _swiftPart.dispose();
54
+ }
55
+ std::string toString() override {
56
+ return _swiftPart.toString();
57
+ }
58
+
59
+ public:
60
+ // Properties
61
+
62
+
63
+ public:
64
+ // Methods
65
+ inline void NitroMapInitialize(const std::string& apiKey, MapProvider provider) override {
66
+ auto __result = _swiftPart.NitroMapInitialize(apiKey, static_cast<int>(provider));
67
+ if (__result.hasError()) [[unlikely]] {
68
+ std::rethrow_exception(__result.error());
69
+ }
70
+ }
71
+ inline bool IsNitroMapInitialized() override {
72
+ auto __result = _swiftPart.IsNitroMapInitialized();
73
+ if (__result.hasError()) [[unlikely]] {
74
+ std::rethrow_exception(__result.error());
75
+ }
76
+ auto __value = std::move(__result.value());
77
+ return __value;
78
+ }
79
+
80
+ private:
81
+ NitroMap::HybridNitroMapConfigSpec_cxx _swiftPart;
82
+ };
83
+
84
+ } // namespace margelo::nitro::nitromap
@@ -0,0 +1,11 @@
1
+ ///
2
+ /// HybridNitroMapSpecSwift.cpp
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
+ #include "HybridNitroMapSpecSwift.hpp"
9
+
10
+ namespace margelo::nitro::nitromap {
11
+ } // namespace margelo::nitro::nitromap