@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,44 @@
1
+ ///
2
+ /// MarkerAnimation.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 `MarkerAnimation`, backed by a C++ enum.
10
+ */
11
+ public typealias MarkerAnimation = margelo.nitro.nitromap.MarkerAnimation
12
+
13
+ public extension MarkerAnimation {
14
+ /**
15
+ * Get a MarkerAnimation 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 "none":
21
+ self = .none
22
+ case "pop":
23
+ self = .pop
24
+ case "fadeIn":
25
+ self = .fadein
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this MarkerAnimation represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .none:
37
+ return "none"
38
+ case .pop:
39
+ return "pop"
40
+ case .fadein:
41
+ return "fadeIn"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,69 @@
1
+ ///
2
+ /// MarkerColor.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 `MarkerColor`, backed by a C++ struct.
13
+ */
14
+ public typealias MarkerColor = margelo.nitro.nitromap.MarkerColor
15
+
16
+ public extension MarkerColor {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MarkerColor`.
21
+ */
22
+ init(r: Double, g: Double, b: Double, a: Double) {
23
+ self.init(r, g, b, a)
24
+ }
25
+
26
+ var r: Double {
27
+ @inline(__always)
28
+ get {
29
+ return self.__r
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__r = newValue
34
+ }
35
+ }
36
+
37
+ var g: Double {
38
+ @inline(__always)
39
+ get {
40
+ return self.__g
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__g = newValue
45
+ }
46
+ }
47
+
48
+ var b: Double {
49
+ @inline(__always)
50
+ get {
51
+ return self.__b
52
+ }
53
+ @inline(__always)
54
+ set {
55
+ self.__b = newValue
56
+ }
57
+ }
58
+
59
+ var a: Double {
60
+ @inline(__always)
61
+ get {
62
+ return self.__a
63
+ }
64
+ @inline(__always)
65
+ set {
66
+ self.__a = newValue
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,82 @@
1
+ ///
2
+ /// MarkerConfig.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 `MarkerConfig`, backed by a C++ struct.
13
+ */
14
+ public typealias MarkerConfig = margelo.nitro.nitromap.MarkerConfig
15
+
16
+ public extension MarkerConfig {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MarkerConfig`.
21
+ */
22
+ init(style: MarkerStyle, image: ImageMarkerConfig?, priceMarker: PriceMarkerStyle?) {
23
+ self.init(style, { () -> bridge.std__optional_ImageMarkerConfig_ in
24
+ if let __unwrappedValue = image {
25
+ return bridge.create_std__optional_ImageMarkerConfig_(__unwrappedValue)
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_PriceMarkerStyle_ in
30
+ if let __unwrappedValue = priceMarker {
31
+ return bridge.create_std__optional_PriceMarkerStyle_(__unwrappedValue)
32
+ } else {
33
+ return .init()
34
+ }
35
+ }())
36
+ }
37
+
38
+ var style: MarkerStyle {
39
+ @inline(__always)
40
+ get {
41
+ return self.__style
42
+ }
43
+ @inline(__always)
44
+ set {
45
+ self.__style = newValue
46
+ }
47
+ }
48
+
49
+ var image: ImageMarkerConfig? {
50
+ @inline(__always)
51
+ get {
52
+ return self.__image.value
53
+ }
54
+ @inline(__always)
55
+ set {
56
+ self.__image = { () -> bridge.std__optional_ImageMarkerConfig_ in
57
+ if let __unwrappedValue = newValue {
58
+ return bridge.create_std__optional_ImageMarkerConfig_(__unwrappedValue)
59
+ } else {
60
+ return .init()
61
+ }
62
+ }()
63
+ }
64
+ }
65
+
66
+ var priceMarker: PriceMarkerStyle? {
67
+ @inline(__always)
68
+ get {
69
+ return self.__priceMarker.value
70
+ }
71
+ @inline(__always)
72
+ set {
73
+ self.__priceMarker = { () -> bridge.std__optional_PriceMarkerStyle_ in
74
+ if let __unwrappedValue = newValue {
75
+ return bridge.create_std__optional_PriceMarkerStyle_(__unwrappedValue)
76
+ } else {
77
+ return .init()
78
+ }
79
+ }()
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,195 @@
1
+ ///
2
+ /// MarkerData.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 `MarkerData`, backed by a C++ struct.
13
+ */
14
+ public typealias MarkerData = margelo.nitro.nitromap.MarkerData
15
+
16
+ public extension MarkerData {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MarkerData`.
21
+ */
22
+ init(id: String, coordinate: Coordinate, title: String?, description: String?, draggable: Bool, opacity: Double, rotation: Double, zIndex: Double, anchor: Point, config: MarkerConfig, clusteringEnabled: Bool, animation: MarkerAnimation) {
23
+ self.init(std.string(id), coordinate, { () -> bridge.std__optional_std__string_ in
24
+ if let __unwrappedValue = title {
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 = description {
31
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
32
+ } else {
33
+ return .init()
34
+ }
35
+ }(), draggable, opacity, rotation, zIndex, anchor, config, clusteringEnabled, animation)
36
+ }
37
+
38
+ var id: String {
39
+ @inline(__always)
40
+ get {
41
+ return String(self.__id)
42
+ }
43
+ @inline(__always)
44
+ set {
45
+ self.__id = std.string(newValue)
46
+ }
47
+ }
48
+
49
+ var coordinate: Coordinate {
50
+ @inline(__always)
51
+ get {
52
+ return self.__coordinate
53
+ }
54
+ @inline(__always)
55
+ set {
56
+ self.__coordinate = newValue
57
+ }
58
+ }
59
+
60
+ var title: String? {
61
+ @inline(__always)
62
+ get {
63
+ return { () -> String? in
64
+ if bridge.has_value_std__optional_std__string_(self.__title) {
65
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__title)
66
+ return String(__unwrapped)
67
+ } else {
68
+ return nil
69
+ }
70
+ }()
71
+ }
72
+ @inline(__always)
73
+ set {
74
+ self.__title = { () -> bridge.std__optional_std__string_ in
75
+ if let __unwrappedValue = newValue {
76
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
77
+ } else {
78
+ return .init()
79
+ }
80
+ }()
81
+ }
82
+ }
83
+
84
+ var description: String? {
85
+ @inline(__always)
86
+ get {
87
+ return { () -> String? in
88
+ if bridge.has_value_std__optional_std__string_(self.__description) {
89
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__description)
90
+ return String(__unwrapped)
91
+ } else {
92
+ return nil
93
+ }
94
+ }()
95
+ }
96
+ @inline(__always)
97
+ set {
98
+ self.__description = { () -> bridge.std__optional_std__string_ in
99
+ if let __unwrappedValue = newValue {
100
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
101
+ } else {
102
+ return .init()
103
+ }
104
+ }()
105
+ }
106
+ }
107
+
108
+ var draggable: Bool {
109
+ @inline(__always)
110
+ get {
111
+ return self.__draggable
112
+ }
113
+ @inline(__always)
114
+ set {
115
+ self.__draggable = newValue
116
+ }
117
+ }
118
+
119
+ var opacity: Double {
120
+ @inline(__always)
121
+ get {
122
+ return self.__opacity
123
+ }
124
+ @inline(__always)
125
+ set {
126
+ self.__opacity = newValue
127
+ }
128
+ }
129
+
130
+ var rotation: Double {
131
+ @inline(__always)
132
+ get {
133
+ return self.__rotation
134
+ }
135
+ @inline(__always)
136
+ set {
137
+ self.__rotation = newValue
138
+ }
139
+ }
140
+
141
+ var zIndex: Double {
142
+ @inline(__always)
143
+ get {
144
+ return self.__zIndex
145
+ }
146
+ @inline(__always)
147
+ set {
148
+ self.__zIndex = newValue
149
+ }
150
+ }
151
+
152
+ var anchor: Point {
153
+ @inline(__always)
154
+ get {
155
+ return self.__anchor
156
+ }
157
+ @inline(__always)
158
+ set {
159
+ self.__anchor = newValue
160
+ }
161
+ }
162
+
163
+ var config: MarkerConfig {
164
+ @inline(__always)
165
+ get {
166
+ return self.__config
167
+ }
168
+ @inline(__always)
169
+ set {
170
+ self.__config = newValue
171
+ }
172
+ }
173
+
174
+ var clusteringEnabled: Bool {
175
+ @inline(__always)
176
+ get {
177
+ return self.__clusteringEnabled
178
+ }
179
+ @inline(__always)
180
+ set {
181
+ self.__clusteringEnabled = newValue
182
+ }
183
+ }
184
+
185
+ var animation: MarkerAnimation {
186
+ @inline(__always)
187
+ get {
188
+ return self.__animation
189
+ }
190
+ @inline(__always)
191
+ set {
192
+ self.__animation = newValue
193
+ }
194
+ }
195
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// MarkerDragEvent.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 `MarkerDragEvent`, backed by a C++ struct.
13
+ */
14
+ public typealias MarkerDragEvent = margelo.nitro.nitromap.MarkerDragEvent
15
+
16
+ public extension MarkerDragEvent {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MarkerDragEvent`.
21
+ */
22
+ init(id: String, coordinate: Coordinate) {
23
+ self.init(std.string(id), coordinate)
24
+ }
25
+
26
+ var id: String {
27
+ @inline(__always)
28
+ get {
29
+ return String(self.__id)
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__id = std.string(newValue)
34
+ }
35
+ }
36
+
37
+ var coordinate: Coordinate {
38
+ @inline(__always)
39
+ get {
40
+ return self.__coordinate
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__coordinate = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// MarkerPressEvent.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 `MarkerPressEvent`, backed by a C++ struct.
13
+ */
14
+ public typealias MarkerPressEvent = margelo.nitro.nitromap.MarkerPressEvent
15
+
16
+ public extension MarkerPressEvent {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `MarkerPressEvent`.
21
+ */
22
+ init(id: String, coordinate: Coordinate) {
23
+ self.init(std.string(id), coordinate)
24
+ }
25
+
26
+ var id: String {
27
+ @inline(__always)
28
+ get {
29
+ return String(self.__id)
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__id = std.string(newValue)
34
+ }
35
+ }
36
+
37
+ var coordinate: Coordinate {
38
+ @inline(__always)
39
+ get {
40
+ return self.__coordinate
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__coordinate = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,44 @@
1
+ ///
2
+ /// MarkerStyle.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 `MarkerStyle`, backed by a C++ enum.
10
+ */
11
+ public typealias MarkerStyle = margelo.nitro.nitromap.MarkerStyle
12
+
13
+ public extension MarkerStyle {
14
+ /**
15
+ * Get a MarkerStyle 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 "image":
23
+ self = .image
24
+ case "priceMarker":
25
+ self = .pricemarker
26
+ default:
27
+ return nil
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Get the String value this MarkerStyle represents.
33
+ */
34
+ var stringValue: String {
35
+ switch self {
36
+ case .default:
37
+ return "default"
38
+ case .image:
39
+ return "image"
40
+ case .pricemarker:
41
+ return "priceMarker"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Point.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 `Point`, backed by a C++ struct.
13
+ */
14
+ public typealias Point = margelo.nitro.nitromap.Point
15
+
16
+ public extension Point {
17
+ private typealias bridge = margelo.nitro.nitromap.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `Point`.
21
+ */
22
+ init(x: Double, y: Double) {
23
+ self.init(x, y)
24
+ }
25
+
26
+ var x: Double {
27
+ @inline(__always)
28
+ get {
29
+ return self.__x
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__x = newValue
34
+ }
35
+ }
36
+
37
+ var y: Double {
38
+ @inline(__always)
39
+ get {
40
+ return self.__y
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__y = newValue
45
+ }
46
+ }
47
+ }