@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,166 @@
1
+ ///
2
+ /// ImageMarkerConfig.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 `ImageMarkerConfig`, backed by a C++ struct.
13
+ */
14
+ public typealias ImageMarkerConfig = margelo.nitro.nitromap.ImageMarkerConfig
15
+
16
+ public extension ImageMarkerConfig {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `ImageMarkerConfig`.
21
+ */
22
+ init(imageUrl: String?, imageBase64: String?, width: Double, height: Double, cornerRadius: Double, borderWidth: Double, borderColor: ColorValue) {
23
+ self.init({ () -> bridge.std__optional_std__string_ in
24
+ if let __unwrappedValue = imageUrl {
25
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_std__string_ in
30
+ if let __unwrappedValue = imageBase64 {
31
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
32
+ } else {
33
+ return .init()
34
+ }
35
+ }(), width, height, cornerRadius, borderWidth, { () -> bridge.std__variant_std__string__MarkerColor_ in
36
+ switch borderColor {
37
+ case .first(let __value):
38
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
39
+ case .second(let __value):
40
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
41
+ }
42
+ }().variant)
43
+ }
44
+
45
+ var imageUrl: String? {
46
+ @inline(__always)
47
+ get {
48
+ return { () -> String? in
49
+ if bridge.has_value_std__optional_std__string_(self.__imageUrl) {
50
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__imageUrl)
51
+ return String(__unwrapped)
52
+ } else {
53
+ return nil
54
+ }
55
+ }()
56
+ }
57
+ @inline(__always)
58
+ set {
59
+ self.__imageUrl = { () -> bridge.std__optional_std__string_ in
60
+ if let __unwrappedValue = newValue {
61
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
62
+ } else {
63
+ return .init()
64
+ }
65
+ }()
66
+ }
67
+ }
68
+
69
+ var imageBase64: String? {
70
+ @inline(__always)
71
+ get {
72
+ return { () -> String? in
73
+ if bridge.has_value_std__optional_std__string_(self.__imageBase64) {
74
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__imageBase64)
75
+ return String(__unwrapped)
76
+ } else {
77
+ return nil
78
+ }
79
+ }()
80
+ }
81
+ @inline(__always)
82
+ set {
83
+ self.__imageBase64 = { () -> bridge.std__optional_std__string_ in
84
+ if let __unwrappedValue = newValue {
85
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
86
+ } else {
87
+ return .init()
88
+ }
89
+ }()
90
+ }
91
+ }
92
+
93
+ var width: Double {
94
+ @inline(__always)
95
+ get {
96
+ return self.__width
97
+ }
98
+ @inline(__always)
99
+ set {
100
+ self.__width = newValue
101
+ }
102
+ }
103
+
104
+ var height: Double {
105
+ @inline(__always)
106
+ get {
107
+ return self.__height
108
+ }
109
+ @inline(__always)
110
+ set {
111
+ self.__height = newValue
112
+ }
113
+ }
114
+
115
+ var cornerRadius: Double {
116
+ @inline(__always)
117
+ get {
118
+ return self.__cornerRadius
119
+ }
120
+ @inline(__always)
121
+ set {
122
+ self.__cornerRadius = newValue
123
+ }
124
+ }
125
+
126
+ var borderWidth: Double {
127
+ @inline(__always)
128
+ get {
129
+ return self.__borderWidth
130
+ }
131
+ @inline(__always)
132
+ set {
133
+ self.__borderWidth = newValue
134
+ }
135
+ }
136
+
137
+ var borderColor: ColorValue {
138
+ @inline(__always)
139
+ get {
140
+ return { () -> ColorValue in
141
+ let __variant = bridge.std__variant_std__string__MarkerColor_(self.__borderColor)
142
+ switch __variant.index() {
143
+ case 0:
144
+ let __actual = __variant.get_0()
145
+ return .first(String(__actual))
146
+ case 1:
147
+ let __actual = __variant.get_1()
148
+ return .second(__actual)
149
+ default:
150
+ fatalError("Variant can never have index \(__variant.index())!")
151
+ }
152
+ }()
153
+ }
154
+ @inline(__always)
155
+ set {
156
+ self.__borderColor = { () -> bridge.std__variant_std__string__MarkerColor_ in
157
+ switch newValue {
158
+ case .first(let __value):
159
+ return bridge.create_std__variant_std__string__MarkerColor_(std.string(__value))
160
+ case .second(let __value):
161
+ return bridge.create_std__variant_std__string__MarkerColor_(__value)
162
+ }
163
+ }().variant
164
+ }
165
+ }
166
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// MapBoundaries.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 `MapBoundaries`, backed by a C++ struct.
13
+ */
14
+ public typealias MapBoundaries = margelo.nitro.nitromap.MapBoundaries
15
+
16
+ public extension MapBoundaries {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MapBoundaries`.
21
+ */
22
+ init(northEast: Coordinate, southWest: Coordinate) {
23
+ self.init(northEast, southWest)
24
+ }
25
+
26
+ var northEast: Coordinate {
27
+ @inline(__always)
28
+ get {
29
+ return self.__northEast
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__northEast = newValue
34
+ }
35
+ }
36
+
37
+ var southWest: Coordinate {
38
+ @inline(__always)
39
+ get {
40
+ return self.__southWest
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__southWest = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// MapError.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 `MapError`, backed by a C++ struct.
13
+ */
14
+ public typealias MapError = margelo.nitro.nitromap.MapError
15
+
16
+ public extension MapError {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MapError`.
21
+ */
22
+ init(code: String, message: String) {
23
+ self.init(std.string(code), std.string(message))
24
+ }
25
+
26
+ var code: String {
27
+ @inline(__always)
28
+ get {
29
+ return String(self.__code)
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__code = std.string(newValue)
34
+ }
35
+ }
36
+
37
+ var message: String {
38
+ @inline(__always)
39
+ get {
40
+ return String(self.__message)
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__message = std.string(newValue)
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// MapPressEvent.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 `MapPressEvent`, backed by a C++ struct.
13
+ */
14
+ public typealias MapPressEvent = margelo.nitro.nitromap.MapPressEvent
15
+
16
+ public extension MapPressEvent {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MapPressEvent`.
21
+ */
22
+ init(coordinate: Coordinate, position: Point) {
23
+ self.init(coordinate, position)
24
+ }
25
+
26
+ var coordinate: Coordinate {
27
+ @inline(__always)
28
+ get {
29
+ return self.__coordinate
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__coordinate = newValue
34
+ }
35
+ }
36
+
37
+ var position: Point {
38
+ @inline(__always)
39
+ get {
40
+ return self.__position
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__position = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// MapProvider.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 `MapProvider`, backed by a C++ enum.
10
+ */
11
+ public typealias MapProvider = margelo.nitro.nitromap.MapProvider
12
+
13
+ public extension MapProvider {
14
+ /**
15
+ * Get a MapProvider 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 "google":
21
+ self = .google
22
+ case "apple":
23
+ self = .apple
24
+ case "yandex":
25
+ self = .yandex
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this MapProvider represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .google:
37
+ return "google"
38
+ case .apple:
39
+ return "apple"
40
+ case .yandex:
41
+ return "yandex"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,108 @@
1
+ ///
2
+ /// MapStyleElement.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 `MapStyleElement`, backed by a C++ struct.
13
+ */
14
+ public typealias MapStyleElement = margelo.nitro.nitromap.MapStyleElement
15
+
16
+ public extension MapStyleElement {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MapStyleElement`.
21
+ */
22
+ init(featureType: String?, elementType: String?, stylers: [MapStyler]) {
23
+ self.init({ () -> bridge.std__optional_std__string_ in
24
+ if let __unwrappedValue = featureType {
25
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_std__string_ in
30
+ if let __unwrappedValue = elementType {
31
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
32
+ } else {
33
+ return .init()
34
+ }
35
+ }(), { () -> bridge.std__vector_MapStyler_ in
36
+ var __vector = bridge.create_std__vector_MapStyler_(stylers.count)
37
+ for __item in stylers {
38
+ __vector.push_back(__item)
39
+ }
40
+ return __vector
41
+ }())
42
+ }
43
+
44
+ var featureType: String? {
45
+ @inline(__always)
46
+ get {
47
+ return { () -> String? in
48
+ if bridge.has_value_std__optional_std__string_(self.__featureType) {
49
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__featureType)
50
+ return String(__unwrapped)
51
+ } else {
52
+ return nil
53
+ }
54
+ }()
55
+ }
56
+ @inline(__always)
57
+ set {
58
+ self.__featureType = { () -> bridge.std__optional_std__string_ in
59
+ if let __unwrappedValue = newValue {
60
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
61
+ } else {
62
+ return .init()
63
+ }
64
+ }()
65
+ }
66
+ }
67
+
68
+ var elementType: String? {
69
+ @inline(__always)
70
+ get {
71
+ return { () -> String? in
72
+ if bridge.has_value_std__optional_std__string_(self.__elementType) {
73
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__elementType)
74
+ return String(__unwrapped)
75
+ } else {
76
+ return nil
77
+ }
78
+ }()
79
+ }
80
+ @inline(__always)
81
+ set {
82
+ self.__elementType = { () -> bridge.std__optional_std__string_ in
83
+ if let __unwrappedValue = newValue {
84
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
85
+ } else {
86
+ return .init()
87
+ }
88
+ }()
89
+ }
90
+ }
91
+
92
+ var stylers: [MapStyler] {
93
+ @inline(__always)
94
+ get {
95
+ return self.__stylers.map({ __item in __item })
96
+ }
97
+ @inline(__always)
98
+ set {
99
+ self.__stylers = { () -> bridge.std__vector_MapStyler_ in
100
+ var __vector = bridge.create_std__vector_MapStyler_(newValue.count)
101
+ for __item in newValue {
102
+ __vector.push_back(__item)
103
+ }
104
+ return __vector
105
+ }()
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,177 @@
1
+ ///
2
+ /// MapStyler.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 `MapStyler`, backed by a C++ struct.
13
+ */
14
+ public typealias MapStyler = margelo.nitro.nitromap.MapStyler
15
+
16
+ public extension MapStyler {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MapStyler`.
21
+ */
22
+ init(color: String?, visibility: String?, weight: Double?, saturation: Double?, lightness: Double?, gamma: Double?) {
23
+ self.init({ () -> bridge.std__optional_std__string_ in
24
+ if let __unwrappedValue = color {
25
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_std__string_ in
30
+ if let __unwrappedValue = visibility {
31
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
32
+ } else {
33
+ return .init()
34
+ }
35
+ }(), { () -> bridge.std__optional_double_ in
36
+ if let __unwrappedValue = weight {
37
+ return bridge.create_std__optional_double_(__unwrappedValue)
38
+ } else {
39
+ return .init()
40
+ }
41
+ }(), { () -> bridge.std__optional_double_ in
42
+ if let __unwrappedValue = saturation {
43
+ return bridge.create_std__optional_double_(__unwrappedValue)
44
+ } else {
45
+ return .init()
46
+ }
47
+ }(), { () -> bridge.std__optional_double_ in
48
+ if let __unwrappedValue = lightness {
49
+ return bridge.create_std__optional_double_(__unwrappedValue)
50
+ } else {
51
+ return .init()
52
+ }
53
+ }(), { () -> bridge.std__optional_double_ in
54
+ if let __unwrappedValue = gamma {
55
+ return bridge.create_std__optional_double_(__unwrappedValue)
56
+ } else {
57
+ return .init()
58
+ }
59
+ }())
60
+ }
61
+
62
+ var color: String? {
63
+ @inline(__always)
64
+ get {
65
+ return { () -> String? in
66
+ if bridge.has_value_std__optional_std__string_(self.__color) {
67
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__color)
68
+ return String(__unwrapped)
69
+ } else {
70
+ return nil
71
+ }
72
+ }()
73
+ }
74
+ @inline(__always)
75
+ set {
76
+ self.__color = { () -> bridge.std__optional_std__string_ in
77
+ if let __unwrappedValue = newValue {
78
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
79
+ } else {
80
+ return .init()
81
+ }
82
+ }()
83
+ }
84
+ }
85
+
86
+ var visibility: String? {
87
+ @inline(__always)
88
+ get {
89
+ return { () -> String? in
90
+ if bridge.has_value_std__optional_std__string_(self.__visibility) {
91
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__visibility)
92
+ return String(__unwrapped)
93
+ } else {
94
+ return nil
95
+ }
96
+ }()
97
+ }
98
+ @inline(__always)
99
+ set {
100
+ self.__visibility = { () -> bridge.std__optional_std__string_ in
101
+ if let __unwrappedValue = newValue {
102
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
103
+ } else {
104
+ return .init()
105
+ }
106
+ }()
107
+ }
108
+ }
109
+
110
+ var weight: Double? {
111
+ @inline(__always)
112
+ get {
113
+ return self.__weight.value
114
+ }
115
+ @inline(__always)
116
+ set {
117
+ self.__weight = { () -> bridge.std__optional_double_ in
118
+ if let __unwrappedValue = newValue {
119
+ return bridge.create_std__optional_double_(__unwrappedValue)
120
+ } else {
121
+ return .init()
122
+ }
123
+ }()
124
+ }
125
+ }
126
+
127
+ var saturation: Double? {
128
+ @inline(__always)
129
+ get {
130
+ return self.__saturation.value
131
+ }
132
+ @inline(__always)
133
+ set {
134
+ self.__saturation = { () -> bridge.std__optional_double_ in
135
+ if let __unwrappedValue = newValue {
136
+ return bridge.create_std__optional_double_(__unwrappedValue)
137
+ } else {
138
+ return .init()
139
+ }
140
+ }()
141
+ }
142
+ }
143
+
144
+ var lightness: Double? {
145
+ @inline(__always)
146
+ get {
147
+ return self.__lightness.value
148
+ }
149
+ @inline(__always)
150
+ set {
151
+ self.__lightness = { () -> bridge.std__optional_double_ in
152
+ if let __unwrappedValue = newValue {
153
+ return bridge.create_std__optional_double_(__unwrappedValue)
154
+ } else {
155
+ return .init()
156
+ }
157
+ }()
158
+ }
159
+ }
160
+
161
+ var gamma: Double? {
162
+ @inline(__always)
163
+ get {
164
+ return self.__gamma.value
165
+ }
166
+ @inline(__always)
167
+ set {
168
+ self.__gamma = { () -> bridge.std__optional_double_ in
169
+ if let __unwrappedValue = newValue {
170
+ return bridge.create_std__optional_double_(__unwrappedValue)
171
+ } else {
172
+ return .init()
173
+ }
174
+ }()
175
+ }
176
+ }
177
+ }
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// MapType.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 `MapType`, backed by a C++ enum.
10
+ */
11
+ public typealias MapType = margelo.nitro.nitromap.MapType
12
+
13
+ public extension MapType {
14
+ /**
15
+ * Get a MapType 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 "standard":
21
+ self = .standard
22
+ case "satellite":
23
+ self = .satellite
24
+ case "hybrid":
25
+ self = .hybrid
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this MapType represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .standard:
37
+ return "standard"
38
+ case .satellite:
39
+ return "satellite"
40
+ case .hybrid:
41
+ return "hybrid"
42
+ }
43
+ }
44
+ }