@rnmapbox/maps 10.1.0-beta.14 → 10.1.0-beta.18

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 (310) hide show
  1. package/android/build.gradle +2 -1
  2. package/android/src/main/AndroidManifest.xml +1 -1
  3. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +25 -6
  4. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.kt +33 -0
  5. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +24 -10
  6. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotation.kt +5 -0
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +83 -0
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationModule.kt +33 -0
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImage.kt +5 -0
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImageManager.kt +25 -22
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImageModule.kt +33 -0
  12. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +9 -8
  13. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +11 -4
  14. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +140 -63
  15. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +71 -55
  16. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/atmosphere/RNMBXAtmosphereManager.kt +0 -5
  17. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/light/RNMBXLightManager.kt +27 -0
  18. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXImageSourceManager.kt +16 -8
  19. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterDemSourceManager.kt +15 -1
  20. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSourceManager.kt +11 -3
  21. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +5 -2
  22. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +45 -32
  23. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXSource.kt +1 -1
  24. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt +17 -17
  25. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +13 -32
  26. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/terrain/RNMBXTerrainManager.kt +8 -11
  27. package/android/src/main/java/com/rnmapbox/rnmbx/utils/PropertyChanges.kt +68 -0
  28. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCalloutManagerDelegate.java +25 -0
  29. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCalloutManagerInterface.java +16 -0
  30. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageManagerDelegate.java +47 -0
  31. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageManagerInterface.java +22 -0
  32. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImagesManagerDelegate.java +38 -0
  33. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImagesManagerInterface.java +19 -0
  34. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLightManagerDelegate.java +32 -0
  35. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLightManagerInterface.java +17 -0
  36. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerDelegate.java +3 -0
  37. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerInterface.java +1 -0
  38. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerDelegate.java +41 -0
  39. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +20 -0
  40. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +35 -0
  41. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +18 -0
  42. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXPointAnnotationManagerDelegate.java +41 -0
  43. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXPointAnnotationManagerInterface.java +20 -0
  44. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerDelegate.java +0 -6
  45. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerInterface.java +0 -2
  46. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXTerrainManagerDelegate.java +35 -0
  47. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXTerrainManagerInterface.java +18 -0
  48. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXImageModuleSpec.java +40 -0
  49. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java +40 -0
  50. package/ios/RNMBX/RNMBXAtmosphereComponentView.mm +3 -1
  51. package/ios/RNMBX/RNMBXBackgroundLayerComponentView.mm +1 -1
  52. package/ios/RNMBX/RNMBXCallout.swift +1 -1
  53. package/ios/RNMBX/RNMBXCalloutComponentView.h +15 -0
  54. package/ios/RNMBX/RNMBXCalloutComponentView.mm +57 -0
  55. package/ios/RNMBX/{RNMBXCalloutManager.m → RNMBXCalloutViewManager.m} +1 -1
  56. package/ios/RNMBX/{RNMBXCalloutManager.swift → RNMBXCalloutViewManager.swift} +2 -2
  57. package/ios/RNMBX/RNMBXCamera.swift +4 -4
  58. package/ios/RNMBX/RNMBXCameraComponentView.mm +1 -1
  59. package/ios/RNMBX/RNMBXCircleLayerComponentView.mm +1 -1
  60. package/ios/RNMBX/RNMBXFabricHelpers.h +1 -8
  61. package/ios/RNMBX/RNMBXFillExtrusionLayerComponentView.mm +1 -1
  62. package/ios/RNMBX/RNMBXFillLayerComponentView.mm +1 -1
  63. package/ios/RNMBX/RNMBXHeatmapLayerComponentView.mm +1 -1
  64. package/ios/RNMBX/RNMBXImage.swift +30 -22
  65. package/ios/RNMBX/RNMBXImageComponentView.h +15 -0
  66. package/ios/RNMBX/RNMBXImageComponentView.mm +100 -0
  67. package/ios/RNMBX/RNMBXImageManager.swift +0 -1
  68. package/ios/RNMBX/RNMBXImageModule.h +17 -0
  69. package/ios/RNMBX/RNMBXImageModule.mm +67 -0
  70. package/ios/RNMBX/RNMBXImageSourceComponentView.mm +1 -1
  71. package/ios/RNMBX/RNMBXImages.swift +9 -9
  72. package/ios/RNMBX/RNMBXImagesComponentView.h +15 -0
  73. package/ios/RNMBX/RNMBXImagesComponentView.mm +91 -0
  74. package/ios/RNMBX/{RNMBXImagesManager.m → RNMBXImagesViewManager.m} +1 -2
  75. package/ios/RNMBX/{RNMBXImagesManager.swift → RNMBXImagesViewManager.swift} +2 -2
  76. package/ios/RNMBX/RNMBXLight.swift +7 -7
  77. package/ios/RNMBX/RNMBXLightComponentView.h +15 -0
  78. package/ios/RNMBX/RNMBXLightComponentView.mm +68 -0
  79. package/ios/RNMBX/{RNMBXLightManager.m → RNMBXLightViewManager.m} +1 -1
  80. package/ios/RNMBX/{RNMBXLightManager.swift → RNMBXLightViewManager.swift} +2 -2
  81. package/ios/RNMBX/RNMBXLineLayerComponentView.mm +1 -1
  82. package/ios/RNMBX/RNMBXMapView.swift +326 -136
  83. package/ios/RNMBX/RNMBXMapViewComponentView.mm +1 -2
  84. package/ios/RNMBX/RNMBXMarkerView.swift +24 -17
  85. package/ios/RNMBX/RNMBXMarkerViewComponentView.h +15 -0
  86. package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +130 -0
  87. package/ios/RNMBX/RNMBXNativeUserLocation.swift +12 -10
  88. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.h +15 -0
  89. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +72 -0
  90. package/ios/RNMBX/{RNMBXNativeUserLocationManager.m → RNMBXNativeUserLocationViewManager.m} +1 -1
  91. package/ios/RNMBX/{RNMBXNativeUserLocationManager.swift → RNMBXNativeUserLocationViewManager.swift} +2 -2
  92. package/ios/RNMBX/RNMBXPointAnnotation.swift +41 -30
  93. package/ios/RNMBX/RNMBXPointAnnotationComponentView.h +15 -0
  94. package/ios/RNMBX/RNMBXPointAnnotationComponentView.mm +147 -0
  95. package/ios/RNMBX/RNMBXPointAnnotationModule.h +17 -0
  96. package/ios/RNMBX/RNMBXPointAnnotationModule.mm +66 -0
  97. package/ios/RNMBX/{RNMBXPointAnnotationManager.m → RNMBXPointAnnotationViewManager.m} +1 -6
  98. package/ios/RNMBX/RNMBXPointAnnotationViewManager.swift +14 -0
  99. package/ios/RNMBX/RNMBXRasterDemSourceComponentView.h +1 -3
  100. package/ios/RNMBX/RNMBXRasterDemSourceComponentView.mm +1 -3
  101. package/ios/RNMBX/RNMBXRasterLayerComponentView.mm +1 -1
  102. package/ios/RNMBX/RNMBXRasterSourceComponentView.h +1 -3
  103. package/ios/RNMBX/RNMBXRasterSourceComponentView.mm +1 -3
  104. package/ios/RNMBX/RNMBXShapeSourceComponentView.h +1 -3
  105. package/ios/RNMBX/RNMBXShapeSourceComponentView.mm +5 -7
  106. package/ios/RNMBX/RNMBXShapeSourceModule.mm +1 -9
  107. package/ios/RNMBX/RNMBXSingletonLayer.swift +1 -1
  108. package/ios/RNMBX/RNMBXSkyLayerComponentView.mm +1 -1
  109. package/ios/RNMBX/RNMBXSymbolLayerComponentView.mm +1 -1
  110. package/ios/RNMBX/RNMBXTerrain.swift +2 -2
  111. package/ios/RNMBX/RNMBXTerrainComponentView.h +15 -0
  112. package/ios/RNMBX/RNMBXTerrainComponentView.mm +78 -0
  113. package/ios/RNMBX/{RNMBXTerrainManager.m → RNMBXTerrainViewManager.m} +1 -1
  114. package/ios/RNMBX/{RNMBXTerrainManager.swift → RNMBXTerrainViewManager.swift} +2 -2
  115. package/ios/RNMBX/RNMBXVectorSourceComponentView.h +1 -3
  116. package/ios/RNMBX/RNMBXVectorSourceComponentView.mm +1 -3
  117. package/ios/RNMBX/Uitls/PropertyChanges.swift +58 -0
  118. package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +0 -2
  119. package/lib/commonjs/components/Callout.js +3 -4
  120. package/lib/commonjs/components/Callout.js.map +1 -1
  121. package/lib/commonjs/components/Image.js +20 -4
  122. package/lib/commonjs/components/Image.js.map +1 -1
  123. package/lib/commonjs/components/Images.js +6 -3
  124. package/lib/commonjs/components/Images.js.map +1 -1
  125. package/lib/commonjs/components/Light.js +5 -5
  126. package/lib/commonjs/components/Light.js.map +1 -1
  127. package/lib/commonjs/components/MapView.js +12 -49
  128. package/lib/commonjs/components/MapView.js.map +1 -1
  129. package/lib/commonjs/components/MarkerView.js +2 -1
  130. package/lib/commonjs/components/MarkerView.js.map +1 -1
  131. package/lib/commonjs/components/NativeBridgeComponent.js +6 -43
  132. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  133. package/lib/commonjs/components/NativeUserLocation.js +3 -4
  134. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  135. package/lib/commonjs/components/PointAnnotation.js +29 -14
  136. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  137. package/lib/commonjs/components/ShapeSource.js +7 -18
  138. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  139. package/lib/commonjs/components/Terrain.js +4 -5
  140. package/lib/commonjs/components/Terrain.js.map +1 -1
  141. package/lib/commonjs/components/VectorSource.js +2 -11
  142. package/lib/commonjs/components/VectorSource.js.map +1 -1
  143. package/lib/commonjs/specs/NativeRNMBXImageModule.js +10 -0
  144. package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -0
  145. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js +10 -0
  146. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -0
  147. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js +11 -0
  148. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -0
  149. package/lib/commonjs/specs/{RNMBXAndroidTextureMapViewNativeComponent.js → RNMBXImageNativeComponent.js} +2 -4
  150. package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -0
  151. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js +10 -0
  152. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -0
  153. package/lib/commonjs/specs/RNMBXLightNativeComponent.js +10 -0
  154. package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -0
  155. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js +1 -1
  156. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  157. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js +10 -0
  158. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -0
  159. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +10 -0
  160. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -0
  161. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js +10 -0
  162. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -0
  163. package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  164. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js +10 -0
  165. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -0
  166. package/lib/commonjs/utils/index.js +6 -30
  167. package/lib/commonjs/utils/index.js.map +1 -1
  168. package/lib/module/components/Callout.js +3 -4
  169. package/lib/module/components/Callout.js.map +1 -1
  170. package/lib/module/components/Image.js +19 -4
  171. package/lib/module/components/Image.js.map +1 -1
  172. package/lib/module/components/Images.js +7 -4
  173. package/lib/module/components/Images.js.map +1 -1
  174. package/lib/module/components/Light.js +4 -4
  175. package/lib/module/components/Light.js.map +1 -1
  176. package/lib/module/components/MapView.js +12 -49
  177. package/lib/module/components/MapView.js.map +1 -1
  178. package/lib/module/components/MarkerView.js +3 -2
  179. package/lib/module/components/MarkerView.js.map +1 -1
  180. package/lib/module/components/NativeBridgeComponent.js +7 -44
  181. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  182. package/lib/module/components/NativeUserLocation.js +2 -4
  183. package/lib/module/components/NativeUserLocation.js.map +1 -1
  184. package/lib/module/components/PointAnnotation.js +30 -15
  185. package/lib/module/components/PointAnnotation.js.map +1 -1
  186. package/lib/module/components/ShapeSource.js +7 -18
  187. package/lib/module/components/ShapeSource.js.map +1 -1
  188. package/lib/module/components/Terrain.js +2 -4
  189. package/lib/module/components/Terrain.js.map +1 -1
  190. package/lib/module/components/VectorSource.js +2 -11
  191. package/lib/module/components/VectorSource.js.map +1 -1
  192. package/lib/module/specs/NativeRNMBXImageModule.js +5 -0
  193. package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -0
  194. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js +5 -0
  195. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -0
  196. package/lib/module/specs/RNMBXCalloutNativeComponent.js +6 -0
  197. package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -0
  198. package/lib/module/specs/RNMBXImageNativeComponent.js +3 -0
  199. package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -0
  200. package/lib/module/specs/RNMBXImagesNativeComponent.js +3 -0
  201. package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -0
  202. package/lib/module/specs/RNMBXLightNativeComponent.js +3 -0
  203. package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -0
  204. package/lib/module/specs/RNMBXMapViewNativeComponent.js +2 -0
  205. package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  206. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js +3 -0
  207. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -0
  208. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
  209. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -0
  210. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js +3 -0
  211. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -0
  212. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  213. package/lib/module/specs/RNMBXTerrainNativeComponent.js +3 -0
  214. package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -0
  215. package/lib/module/utils/index.js +6 -29
  216. package/lib/module/utils/index.js.map +1 -1
  217. package/lib/typescript/src/components/Callout.d.ts +0 -1
  218. package/lib/typescript/src/components/Callout.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Image.d.ts +0 -1
  220. package/lib/typescript/src/components/Image.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Images.d.ts +0 -1
  222. package/lib/typescript/src/components/Images.d.ts.map +1 -1
  223. package/lib/typescript/src/components/Light.d.ts +0 -1
  224. package/lib/typescript/src/components/Light.d.ts.map +1 -1
  225. package/lib/typescript/src/components/MapView.d.ts +21 -28
  226. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  227. package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
  228. package/lib/typescript/src/components/NativeBridgeComponent.d.ts +5 -9
  229. package/lib/typescript/src/components/NativeBridgeComponent.d.ts.map +1 -1
  230. package/lib/typescript/src/components/NativeUserLocation.d.ts.map +1 -1
  231. package/lib/typescript/src/components/PointAnnotation.d.ts +5 -11
  232. package/lib/typescript/src/components/PointAnnotation.d.ts.map +1 -1
  233. package/lib/typescript/src/components/ShapeSource.d.ts +40 -2
  234. package/lib/typescript/src/components/ShapeSource.d.ts.map +1 -1
  235. package/lib/typescript/src/components/Terrain.d.ts +0 -1
  236. package/lib/typescript/src/components/Terrain.d.ts.map +1 -1
  237. package/lib/typescript/src/components/VectorSource.d.ts +1 -2
  238. package/lib/typescript/src/components/VectorSource.d.ts.map +1 -1
  239. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +9 -0
  240. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -0
  241. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +9 -0
  242. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -0
  243. package/lib/typescript/src/specs/RNMBXCalloutNativeComponent.d.ts +6 -0
  244. package/lib/typescript/src/specs/RNMBXCalloutNativeComponent.d.ts.map +1 -0
  245. package/lib/typescript/src/specs/RNMBXImageNativeComponent.d.ts +14 -0
  246. package/lib/typescript/src/specs/RNMBXImageNativeComponent.d.ts.map +1 -0
  247. package/lib/typescript/src/specs/RNMBXImagesNativeComponent.d.ts +18 -0
  248. package/lib/typescript/src/specs/RNMBXImagesNativeComponent.d.ts.map +1 -0
  249. package/lib/typescript/src/specs/RNMBXLightNativeComponent.d.ts +8 -0
  250. package/lib/typescript/src/specs/RNMBXLightNativeComponent.d.ts.map +1 -0
  251. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts +52 -3
  252. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts.map +1 -1
  253. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +16 -0
  254. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -0
  255. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +9 -0
  256. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -0
  257. package/lib/typescript/src/specs/RNMBXPointAnnotationNativeComponent.d.ts +37 -0
  258. package/lib/typescript/src/specs/RNMBXPointAnnotationNativeComponent.d.ts.map +1 -0
  259. package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts +0 -2
  260. package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts.map +1 -1
  261. package/lib/typescript/src/specs/RNMBXTerrainNativeComponent.d.ts +9 -0
  262. package/lib/typescript/src/specs/RNMBXTerrainNativeComponent.d.ts.map +1 -0
  263. package/lib/typescript/src/specs/codegenUtils.d.ts +0 -4
  264. package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
  265. package/lib/typescript/src/utils/index.d.ts +2 -3
  266. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  267. package/package.json +2 -1
  268. package/setup-jest.js +8 -0
  269. package/src/components/Callout.tsx +4 -11
  270. package/src/components/Image.tsx +17 -13
  271. package/src/components/Images.tsx +9 -19
  272. package/src/components/Light.tsx +4 -12
  273. package/src/components/MapView.tsx +36 -74
  274. package/src/components/MarkerView.tsx +3 -15
  275. package/src/components/NativeBridgeComponent.tsx +9 -57
  276. package/src/components/NativeUserLocation.tsx +2 -8
  277. package/src/components/PointAnnotation.tsx +32 -24
  278. package/src/components/ShapeSource.tsx +21 -44
  279. package/src/components/Terrain.tsx +3 -11
  280. package/src/components/VectorSource.tsx +2 -19
  281. package/src/specs/NativeRNMBXImageModule.ts +10 -0
  282. package/src/specs/NativeRNMBXPointAnnotationModule.ts +12 -0
  283. package/src/specs/RNMBXCalloutNativeComponent.ts +9 -0
  284. package/src/specs/RNMBXImageNativeComponent.ts +18 -0
  285. package/src/specs/RNMBXImagesNativeComponent.ts +18 -0
  286. package/src/specs/RNMBXLightNativeComponent.ts +12 -0
  287. package/src/specs/RNMBXMapViewNativeComponent.ts +69 -5
  288. package/src/specs/RNMBXMarkerViewNativeComponent.ts +21 -0
  289. package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +13 -0
  290. package/src/specs/RNMBXPointAnnotationNativeComponent.ts +40 -0
  291. package/src/specs/RNMBXShapeSourceNativeComponent.ts +0 -2
  292. package/src/specs/RNMBXTerrainNativeComponent.ts +13 -0
  293. package/src/specs/codegenUtils.ts +0 -5
  294. package/src/utils/index.ts +6 -43
  295. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.java +0 -18
  296. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.java +0 -84
  297. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXAndroidTextureMapViewManager.kt +0 -39
  298. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/light/RNMBXLightManager.java +0 -25
  299. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXAndroidTextureMapViewManagerDelegate.java +0 -95
  300. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXAndroidTextureMapViewManagerInterface.java +0 -38
  301. package/ios/RNMBX/RNMBXCircleLayerManager.m +0 -12
  302. package/ios/RNMBX/RNMBXCircleLayerManager.swift +0 -13
  303. package/ios/RNMBX/RNMBXMapFeatureView.h +0 -7
  304. package/ios/RNMBX/RNMBXPointAnnotationManager.swift +0 -34
  305. package/lib/commonjs/specs/RNMBXAndroidTextureMapViewNativeComponent.js.map +0 -1
  306. package/lib/module/specs/RNMBXAndroidTextureMapViewNativeComponent.js +0 -5
  307. package/lib/module/specs/RNMBXAndroidTextureMapViewNativeComponent.js.map +0 -1
  308. package/lib/typescript/src/specs/RNMBXAndroidTextureMapViewNativeComponent.d.ts +0 -46
  309. package/lib/typescript/src/specs/RNMBXAndroidTextureMapViewNativeComponent.d.ts.map +0 -1
  310. package/src/specs/RNMBXAndroidTextureMapViewNativeComponent.ts +0 -59
@@ -1,15 +1,19 @@
1
1
  package com.rnmapbox.rnmbx.components.styles.sources
2
2
 
3
+ import com.facebook.react.bridge.Dynamic
3
4
  import com.facebook.react.bridge.ReactApplicationContext
4
5
  import com.facebook.react.common.MapBuilder
5
6
  import com.facebook.react.uimanager.ThemedReactContext
7
+ import com.facebook.react.uimanager.annotations.ReactProp
8
+ import com.facebook.react.viewmanagers.RNMBXRasterDemSourceManagerInterface
9
+ import com.rnmapbox.rnmbx.utils.Logger
6
10
 
7
11
  // import com.rnmapbox.rnmbx.components.annotation.RNMBXCallout;
8
12
  // import com.rnmapbox.rnmbx.utils.ResourceUtils;
9
13
  class RNMBXRasterDemSourceManager(private val mContext: ReactApplicationContext) :
10
14
  RNMBXTileSourceManager<RNMBXRasterDemSource?>(
11
15
  mContext
12
- ) {
16
+ ), RNMBXRasterDemSourceManagerInterface<RNMBXRasterDemSource> {
13
17
  override fun customEvents(): Map<String, String>? {
14
18
  return MapBuilder.builder<String, String>()
15
19
  .build()
@@ -27,4 +31,14 @@ class RNMBXRasterDemSourceManager(private val mContext: ReactApplicationContext)
27
31
  const val LOG_TAG = "RNMBXRasterDemSourceManager"
28
32
  const val REACT_CLASS = "RNMBXRasterDemSource"
29
33
  }
34
+
35
+ @ReactProp(name = "existing")
36
+ override fun setExisting(view: RNMBXRasterDemSource, value: Dynamic) {
37
+ view.mExisting = value.asBoolean()
38
+ }
39
+
40
+ @ReactProp(name = "tileSize")
41
+ override fun setTileSize(view: RNMBXRasterDemSource, value: Dynamic) {
42
+ Logger.e("RNMBXRasterDemSourceManager", "tileSize not implemented")
43
+ }
30
44
  }
@@ -1,12 +1,15 @@
1
1
  package com.rnmapbox.rnmbx.components.styles.sources
2
2
 
3
+ import com.facebook.react.bridge.Dynamic
3
4
  import com.facebook.react.bridge.ReactApplicationContext
4
5
  import com.facebook.react.uimanager.ThemedReactContext
5
6
  import com.facebook.react.uimanager.annotations.ReactProp
7
+ import com.facebook.react.viewmanagers.RNMBXRasterSourceManagerInterface
6
8
  import javax.annotation.Nonnull
7
9
 
8
10
  class RNMBXRasterSourceManager(reactApplicationContext: ReactApplicationContext) :
9
- RNMBXTileSourceManager<RNMBXRasterSource?>(reactApplicationContext) {
11
+ RNMBXTileSourceManager<RNMBXRasterSource?>(reactApplicationContext),
12
+ RNMBXRasterSourceManagerInterface<RNMBXRasterSource> {
10
13
  @Nonnull
11
14
  override fun getName(): String {
12
15
  return REACT_CLASS
@@ -18,8 +21,8 @@ class RNMBXRasterSourceManager(reactApplicationContext: ReactApplicationContext)
18
21
  }
19
22
 
20
23
  @ReactProp(name = "tileSize")
21
- fun setTileSize(source: RNMBXRasterSource, tileSize: Int) {
22
- source.setTileSize(tileSize)
24
+ override fun setTileSize(source: RNMBXRasterSource, tileSize: Dynamic) {
25
+ source.setTileSize(tileSize.asInt())
23
26
  }
24
27
 
25
28
  override fun customEvents(): Map<String, String>? {
@@ -29,4 +32,9 @@ class RNMBXRasterSourceManager(reactApplicationContext: ReactApplicationContext)
29
32
  companion object {
30
33
  const val REACT_CLASS = "RNMBXRasterSource"
31
34
  }
35
+
36
+ @ReactProp(name = "existing")
37
+ override fun setExisting(source: RNMBXRasterSource, value: Dynamic) {
38
+ source.mExisting = value.asBoolean()
39
+ }
32
40
  }
@@ -35,8 +35,6 @@ class RNMBXShapeSource(context: Context, private val mManager: RNMBXShapeSourceM
35
35
  private var mBuffer: Long? = null
36
36
  private var mTolerance: Double? = null
37
37
  private var mLineMetrics: Boolean? = null
38
- private val mImages: List<Map.Entry<String, ImageEntry>>? = null
39
- private val mNativeImages: List<Map.Entry<String, BitmapDrawable>>? = null
40
38
 
41
39
  override fun hasNoDataSoRefersToExisting(): Boolean {
42
40
  return (mURL == null) && (mShape == null)
@@ -50,6 +48,11 @@ class RNMBXShapeSource(context: Context, private val mManager: RNMBXShapeSourceM
50
48
  }
51
49
  }
52
50
 
51
+ override fun setId(id: Int) {
52
+ super.setId(id)
53
+ mManager.tagAssigned(id)
54
+ }
55
+
53
56
  override fun makeSource(): GeoJsonSource {
54
57
  val builder = GeoJsonSource.Builder(iD.toString())
55
58
  getOptions(builder)
@@ -1,28 +1,30 @@
1
1
  package com.rnmapbox.rnmbx.components.styles.sources
2
2
 
3
3
  import android.view.View
4
+ import com.facebook.react.bridge.Dynamic
4
5
  import com.facebook.react.bridge.ReactApplicationContext
5
6
  import com.rnmapbox.rnmbx.components.AbstractEventEmitter
6
7
  import com.facebook.react.uimanager.ThemedReactContext
7
8
  import com.facebook.react.uimanager.annotations.ReactProp
8
- import com.facebook.react.bridge.ReadableMap
9
9
  import com.facebook.react.bridge.ReadableType
10
10
  import com.facebook.react.common.MapBuilder
11
+ import com.facebook.react.viewmanagers.RNMBXShapeSourceManagerInterface
11
12
  import com.mapbox.bindgen.Value
12
13
  import com.mapbox.maps.extension.style.expressions.generated.Expression
13
14
  import com.rnmapbox.rnmbx.events.constants.EventKeys
14
15
  import com.rnmapbox.rnmbx.utils.ExpressionParser
15
16
  import com.rnmapbox.rnmbx.utils.Logger
17
+ import com.rnmapbox.rnmbx.utils.ViewTagResolver
16
18
  import java.net.MalformedURLException
17
19
  import java.net.URL
18
20
  import java.util.ArrayList
19
21
  import java.util.HashMap
20
22
 
21
23
 
22
- class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext) :
24
+ class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) :
23
25
  AbstractEventEmitter<RNMBXShapeSource>(
24
26
  mContext
25
- ) {
27
+ ), RNMBXShapeSourceManagerInterface<RNMBXShapeSource> {
26
28
  override fun getName(): String {
27
29
  return REACT_CLASS
28
30
  }
@@ -47,52 +49,63 @@ class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext) :
47
49
  source.removeLayer(childPosition)
48
50
  }
49
51
 
52
+ override fun onDropViewInstance(view: RNMBXShapeSource) {
53
+ val reactTag = view.id
54
+
55
+ viewTagResolver.viewRemoved(reactTag)
56
+ super.onDropViewInstance(view)
57
+ }
58
+
59
+ fun tagAssigned(reactTag: Int) {
60
+ return viewTagResolver.tagAssigned(reactTag)
61
+ }
62
+
50
63
  @ReactProp(name = "id")
51
- fun setId(source: RNMBXShapeSource, id: String) {
52
- source.iD = id
64
+ override fun setId(source: RNMBXShapeSource, id: Dynamic) {
65
+ source.iD = id.asString()
53
66
  }
54
67
 
55
68
  @ReactProp(name = "existing")
56
- fun setExisting(source: RNMBXShapeSource, existing: Boolean) {
57
- source.mExisting = existing;
69
+ override fun setExisting(source: RNMBXShapeSource, existing: Dynamic) {
70
+ source.mExisting = existing.asBoolean()
58
71
  }
59
72
 
60
73
  @ReactProp(name = "url")
61
- fun setURL(source: RNMBXShapeSource, urlStr: String) {
74
+ override fun setUrl(source: RNMBXShapeSource, urlStr: Dynamic) {
62
75
  try {
63
- source.setURL(URL(urlStr))
76
+ source.setURL(URL(urlStr.asString()))
64
77
  } catch (e: MalformedURLException) {
65
78
  Logger.w(LOG_TAG, e.localizedMessage ?: "Unknown URL error")
66
79
  }
67
80
  }
68
81
 
69
82
  @ReactProp(name = "shape")
70
- fun setGeometry(source: RNMBXShapeSource, geoJSONStr: String) {
71
- source.setShape(geoJSONStr)
83
+ override fun setShape(source: RNMBXShapeSource, geoJSONStr: Dynamic) {
84
+ source.setShape(geoJSONStr.asString())
72
85
  }
73
86
 
74
87
  @ReactProp(name = "cluster")
75
- fun setCluster(source: RNMBXShapeSource, cluster: Int) {
76
- source.setCluster(cluster == 1)
88
+ override fun setCluster(source: RNMBXShapeSource, cluster: Dynamic) {
89
+ source.setCluster(cluster.asInt() == 1)
77
90
  }
78
91
 
79
92
  @ReactProp(name = "clusterRadius")
80
- fun setClusterRadius(source: RNMBXShapeSource, radius: Int) {
81
- source.setClusterRadius(radius.toLong())
93
+ override fun setClusterRadius(source: RNMBXShapeSource, radius: Dynamic) {
94
+ source.setClusterRadius(radius.asInt().toLong())
82
95
  }
83
96
 
84
97
  @ReactProp(name = "clusterMaxZoomLevel")
85
- fun setClusterMaxZoomLevel(source: RNMBXShapeSource, clusterMaxZoom: Int) {
86
- source.setClusterMaxZoom(clusterMaxZoom.toLong())
98
+ override fun setClusterMaxZoomLevel(source: RNMBXShapeSource, clusterMaxZoom: Dynamic) {
99
+ source.setClusterMaxZoom(clusterMaxZoom.asInt().toLong())
87
100
  }
88
101
 
89
102
  @ReactProp(name = "clusterProperties")
90
- fun setClusterProperties(source: RNMBXShapeSource, map: ReadableMap) {
103
+ override fun setClusterProperties(source: RNMBXShapeSource, map: Dynamic) {
91
104
  val properties = HashMap<String, Any>()
92
- val iterator = map.keySetIterator()
105
+ val iterator = map.asMap().keySetIterator()
93
106
  while (iterator.hasNextKey()) {
94
107
  val name = iterator.nextKey()
95
- val expressions = map.getArray(name)
108
+ val expressions = map.asMap().getArray(name)
96
109
  val builder: MutableList<Value> = ArrayList()
97
110
  for (iExp in 0 until expressions!!.size()) {
98
111
  var argument: Expression
@@ -115,33 +128,33 @@ class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext) :
115
128
  }
116
129
 
117
130
  @ReactProp(name = "maxZoomLevel")
118
- fun setMaxZoomLevel(source: RNMBXShapeSource, maxZoom: Int) {
119
- source.setMaxZoom(maxZoom.toLong())
131
+ override fun setMaxZoomLevel(source: RNMBXShapeSource, maxZoom: Dynamic) {
132
+ source.setMaxZoom(maxZoom.asInt().toLong())
120
133
  }
121
134
 
122
135
  @ReactProp(name = "buffer")
123
- fun setBuffer(source: RNMBXShapeSource, buffer: Int) {
124
- source.setBuffer(buffer.toLong())
136
+ override fun setBuffer(source: RNMBXShapeSource, buffer: Dynamic) {
137
+ source.setBuffer(buffer.asInt().toLong())
125
138
  }
126
139
 
127
140
  @ReactProp(name = "tolerance")
128
- fun setTolerance(source: RNMBXShapeSource, tolerance: Double) {
129
- source.setTolerance(tolerance)
141
+ override fun setTolerance(source: RNMBXShapeSource, tolerance: Dynamic) {
142
+ source.setTolerance(tolerance.asDouble())
130
143
  }
131
144
 
132
145
  @ReactProp(name = "lineMetrics")
133
- fun setLineMetrics(source: RNMBXShapeSource, lineMetrics: Boolean) {
134
- source.setLineMetrics(lineMetrics)
146
+ override fun setLineMetrics(source: RNMBXShapeSource, lineMetrics: Dynamic) {
147
+ source.setLineMetrics(lineMetrics.asBoolean())
135
148
  }
136
149
 
137
150
  @ReactProp(name = "hasPressListener")
138
- fun setHasPressListener(source: RNMBXShapeSource, hasPressListener: Boolean) {
139
- source.setHasPressListener(hasPressListener)
151
+ override fun setHasPressListener(source: RNMBXShapeSource, hasPressListener: Dynamic) {
152
+ source.setHasPressListener(hasPressListener.asBoolean())
140
153
  }
141
154
 
142
155
  @ReactProp(name = "hitbox")
143
- fun setHitbox(source: RNMBXShapeSource, map: ReadableMap) {
144
- source.setHitbox(map)
156
+ override fun setHitbox(source: RNMBXShapeSource, map: Dynamic) {
157
+ source.setHitbox(map.asMap())
145
158
  }
146
159
 
147
160
  override fun customEvents(): Map<String, String>? {
@@ -61,7 +61,7 @@ abstract class RNMBXSource<T : Source?>(context: Context?) : AbstractMapFeature(
61
61
  if (hasNoDataSoRefersToExisting()) {
62
62
  Logger.w(
63
63
  LOG_TAG,
64
- "RNMBXSource: soure with id: $id seems to refer to existing value but existing flag is not set. This is deprecated."
64
+ "RNMBXSource: source with id: $id seems to refer to existing value but existing flag is not set. This is deprecated."
65
65
  )
66
66
  result = true
67
67
  } else {
@@ -1,8 +1,8 @@
1
1
  package com.rnmapbox.rnmbx.components.styles.sources
2
2
 
3
3
  import android.view.View
4
+ import com.facebook.react.bridge.Dynamic
4
5
  import com.facebook.react.bridge.ReactApplicationContext
5
- import com.facebook.react.bridge.ReadableArray
6
6
  import com.facebook.react.bridge.ReadableType
7
7
  import com.facebook.react.uimanager.annotations.ReactProp
8
8
  import com.rnmapbox.rnmbx.components.AbstractEventEmitter
@@ -27,43 +27,43 @@ abstract class RNMBXTileSourceManager<T : RNMBXTileSource<*>?> internal construc
27
27
  }
28
28
 
29
29
  @ReactProp(name = "id")
30
- fun setID(source: T, id: String?) {
31
- source!!.iD = id
30
+ fun setId(source: T, id: Dynamic) {
31
+ source!!.iD = id.asString()
32
32
  }
33
33
 
34
34
  @ReactProp(name = "url")
35
- fun setURL(source: T, url: String?) {
36
- source!!.uRL = url
35
+ fun setUrl(source: T, url: Dynamic) {
36
+ source!!.uRL = url.asString()
37
37
  }
38
38
 
39
39
  @ReactProp(name = "tileUrlTemplates")
40
- fun setTileUrlTemplates(source: T, tileUrlTemplates: ReadableArray) {
40
+ fun setTileUrlTemplates(source: T, tileUrlTemplates: Dynamic) {
41
41
  val urls: MutableList<String> = ArrayList()
42
- for (i in 0 until tileUrlTemplates.size()) {
43
- if (tileUrlTemplates.getType(0) == ReadableType.String) {
44
- urls.add(tileUrlTemplates.getString(i))
42
+ for (i in 0 until tileUrlTemplates.asArray().size()) {
43
+ if (tileUrlTemplates.asArray().getType(0) == ReadableType.String) {
44
+ urls.add(tileUrlTemplates.asArray().getString(i))
45
45
  }
46
46
  }
47
47
  source!!.tileUrlTemplates = urls
48
48
  }
49
49
 
50
50
  @ReactProp(name = "attribution")
51
- fun setAttribution(source: T, attribution: String?) {
52
- source!!.attribution = attribution
51
+ fun setAttribution(source: T, attribution: Dynamic) {
52
+ source!!.attribution = attribution.asString()
53
53
  }
54
54
 
55
55
  @ReactProp(name = "minZoomLevel")
56
- fun setMinZoomLevel(source: T, minZoomLevel: Int) {
57
- source!!.minZoomLevel = minZoomLevel
56
+ fun setMinZoomLevel(source: T, minZoomLevel: Dynamic) {
57
+ source!!.minZoomLevel = minZoomLevel.asInt()
58
58
  }
59
59
 
60
60
  @ReactProp(name = "maxZoomLevel")
61
- fun setMaxZoomLevel(source: T, maxZoomLevel: Int) {
62
- source!!.maxZoomLevel = maxZoomLevel
61
+ fun setMaxZoomLevel(source: T, maxZoomLevel: Dynamic) {
62
+ source!!.maxZoomLevel = maxZoomLevel.asInt()
63
63
  }
64
64
 
65
65
  @ReactProp(name = "tms")
66
- fun setTMS(source: T, tms: Boolean) {
67
- source!!.tMS = tms
66
+ fun setTms(source: T, tms: Dynamic) {
67
+ source!!.tMS = tms.asBoolean()
68
68
  }
69
69
  }
@@ -1,18 +1,17 @@
1
1
  package com.rnmapbox.rnmbx.components.styles.sources
2
2
 
3
+ import com.facebook.react.bridge.Dynamic
3
4
  import com.facebook.react.bridge.ReactApplicationContext
4
- import com.facebook.react.bridge.ReadableArray
5
- import com.facebook.react.bridge.ReadableMap
6
5
  import com.facebook.react.common.MapBuilder
7
6
  import com.facebook.react.uimanager.ThemedReactContext
8
7
  import com.facebook.react.uimanager.annotations.ReactProp
8
+ import com.facebook.react.viewmanagers.RNMBXVectorSourceManagerInterface
9
9
  import com.rnmapbox.rnmbx.events.constants.EventKeys
10
- import com.rnmapbox.rnmbx.utils.ConvertUtils
11
- import com.rnmapbox.rnmbx.utils.ExpressionParser
12
10
  import javax.annotation.Nonnull
13
11
 
14
12
  class RNMBXVectorSourceManager(reactApplicationContext: ReactApplicationContext) :
15
- RNMBXTileSourceManager<RNMBXVectorSource?>(reactApplicationContext) {
13
+ RNMBXTileSourceManager<RNMBXVectorSource?>(reactApplicationContext),
14
+ RNMBXVectorSourceManagerInterface<RNMBXVectorSource> {
16
15
  @Nonnull
17
16
  override fun getName(): String {
18
17
  return REACT_CLASS
@@ -24,13 +23,18 @@ class RNMBXVectorSourceManager(reactApplicationContext: ReactApplicationContext)
24
23
  }
25
24
 
26
25
  @ReactProp(name = "hasPressListener")
27
- fun setHasPressListener(source: RNMBXVectorSource, hasPressListener: Boolean) {
28
- source.setHasPressListener(hasPressListener)
26
+ override fun setHasPressListener(source: RNMBXVectorSource, hasPressListener: Dynamic) {
27
+ source.setHasPressListener(hasPressListener.asBoolean())
29
28
  }
30
29
 
31
30
  @ReactProp(name = "hitbox")
32
- fun setHitbox(source: RNMBXVectorSource, map: ReadableMap?) {
33
- source.setHitbox(map!!)
31
+ override fun setHitbox(source: RNMBXVectorSource, map: Dynamic) {
32
+ source.setHitbox(map.asMap())
33
+ }
34
+
35
+ @ReactProp(name = "existing")
36
+ override fun setExisting(view: RNMBXVectorSource, value: Dynamic) {
37
+ view.mExisting = value.asBoolean()
34
38
  }
35
39
 
36
40
  override fun customEvents(): Map<String, String>? {
@@ -40,30 +44,7 @@ class RNMBXVectorSourceManager(reactApplicationContext: ReactApplicationContext)
40
44
  .build()
41
45
  }
42
46
 
43
- override fun getCommandsMap(): Map<String, Int>? {
44
- return MapBuilder.builder<String, Int>()
45
- .put("features", METHOD_FEATURES)
46
- .build()
47
- }
48
-
49
- override fun receiveCommand(
50
- vectorSource: RNMBXVectorSource,
51
- commandID: Int,
52
- args: ReadableArray?
53
- ) {
54
- when (commandID) {
55
- METHOD_FEATURES -> vectorSource.querySourceFeatures(
56
- args!!.getString(0),
57
- ConvertUtils.toStringList(args.getArray(1)),
58
- ExpressionParser.from(args.getArray(2))
59
- )
60
- }
61
- }
62
-
63
47
  companion object {
64
48
  const val REACT_CLASS = "RNMBXVectorSource"
65
-
66
- //region React Methods
67
- const val METHOD_FEATURES = 102
68
49
  }
69
50
  }
@@ -1,11 +1,13 @@
1
1
  package com.rnmapbox.rnmbx.components.styles.terrain
2
2
 
3
- import com.facebook.react.bridge.ReadableMap
3
+ import com.facebook.react.bridge.Dynamic
4
4
  import com.facebook.react.uimanager.ThemedReactContext
5
5
  import com.facebook.react.uimanager.ViewGroupManager
6
6
  import com.facebook.react.uimanager.annotations.ReactProp
7
+ import com.facebook.react.viewmanagers.RNMBXTerrainManagerInterface
7
8
 
8
- class RNMBXTerrainManager : ViewGroupManager<RNMBXTerrain>() {
9
+ class RNMBXTerrainManager : ViewGroupManager<RNMBXTerrain>(),
10
+ RNMBXTerrainManagerInterface<RNMBXTerrain> {
9
11
  override fun getName(): String {
10
12
  return REACT_CLASS
11
13
  }
@@ -14,19 +16,14 @@ class RNMBXTerrainManager : ViewGroupManager<RNMBXTerrain>() {
14
16
  return RNMBXTerrain(reactContext)
15
17
  }
16
18
 
17
- @ReactProp(name = "id")
18
- fun setId(layer: RNMBXTerrain, id: String?) {
19
- layer.iD = id
20
- }
21
-
22
19
  @ReactProp(name = "sourceID")
23
- fun setSourceID(layer: RNMBXTerrain, sourceID: String?) {
24
- layer.setSourceID(sourceID)
20
+ override fun setSourceID(layer: RNMBXTerrain, sourceID: Dynamic) {
21
+ layer.setSourceID(sourceID.asString())
25
22
  }
26
23
 
27
24
  @ReactProp(name = "reactStyle")
28
- fun setReactStyle(terrain: RNMBXTerrain, reactStyle: ReadableMap?) {
29
- terrain.setReactStyle(reactStyle)
25
+ override fun setReactStyle(terrain: RNMBXTerrain, reactStyle: Dynamic) {
26
+ terrain.setReactStyle(reactStyle.asMap())
30
27
  }
31
28
 
32
29
  companion object {
@@ -0,0 +1,68 @@
1
+ package com.rnmapbox.rnmbx.utils
2
+
3
+ /**
4
+ * This mechanism allows to separate property updates from application of property updates. Usefull for delaying the propery updates
5
+ * because the object is not yet created for example. Or to apply multiple propery changes at once.
6
+ *
7
+ * @sample
8
+ *
9
+ * class MapView {
10
+ * enum class Property(_apply: (MapView)->Unit) : PropertyUpdaterWithName<MapView> {
11
+ * class LOGO_POSITION(MapView.applyLogoPosition)
12
+ *
13
+ * override fun apply(mapView: MapView): Unit {
14
+ * _apply(mapView)
15
+ * }
16
+ * }
17
+ * val changes: PropertyUpdates()
18
+ *
19
+ * var logoPosition: LogoPosition;
20
+ *
21
+ * fun setLogoPosition(value: LogoPosition) {
22
+ * logoPosition = value
23
+ * changes.add(Property::LOGO_POSITION)
24
+ * }
25
+ *
26
+ * fun setGestureSettings(value: Custom) {
27
+ * changes.add(Property::CUSTOM("gestures") {
28
+ * mapboxMap.updateGestures(...)
29
+ * })
30
+ * }
31
+ *
32
+ * fun applyLogoPosition() {
33
+ * mapboxMap.updateLogoPosition(logoPosition)
34
+ * }
35
+ * }
36
+ * }
37
+ */
38
+
39
+ interface PropertyUpdater<Base: Any> {
40
+ fun apply(item: Base): Unit;
41
+ }
42
+ interface PropertyUpdaterWithName<Base: Any> : PropertyUpdater<Base> {
43
+ val name: String;
44
+ }
45
+
46
+ class CustomPropUpdater<T: Any>(val _apply: (T) -> Unit) : PropertyUpdater<T> {
47
+ override fun apply(item: T): Unit {
48
+ _apply(item)
49
+ }
50
+ }
51
+ class PropertyChanges<T : Any> {
52
+ val changes = mutableMapOf<String, PropertyUpdater<T>>();
53
+
54
+ fun add(change: PropertyUpdaterWithName<T>) {
55
+ changes.set(change.name, change)
56
+ }
57
+
58
+ fun add(key: String, apply: (T) -> Unit) {
59
+ changes.set(key, CustomPropUpdater(apply))
60
+ }
61
+
62
+ fun apply(target: T) {
63
+ for (entry in changes.entries.iterator()) {
64
+ entry.value.apply(target)
65
+ }
66
+ changes.clear()
67
+ }
68
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
15
+ import com.facebook.react.uimanager.BaseViewManagerInterface;
16
+
17
+ public class RNMBXCalloutManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNMBXCalloutManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
18
+ public RNMBXCalloutManagerDelegate(U viewManager) {
19
+ super(viewManager);
20
+ }
21
+ @Override
22
+ public void setProperty(T view, String propName, @Nullable Object value) {
23
+ super.setProperty(view, propName, value);
24
+ }
25
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+
14
+ public interface RNMBXCalloutManagerInterface<T extends View> {
15
+ // No props
16
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.DynamicFromObject;
15
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
16
+ import com.facebook.react.uimanager.BaseViewManagerInterface;
17
+
18
+ public class RNMBXImageManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNMBXImageManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
19
+ public RNMBXImageManagerDelegate(U viewManager) {
20
+ super(viewManager);
21
+ }
22
+ @Override
23
+ public void setProperty(T view, String propName, @Nullable Object value) {
24
+ switch (propName) {
25
+ case "stretchX":
26
+ mViewManager.setStretchX(view, new DynamicFromObject(value));
27
+ break;
28
+ case "stretchY":
29
+ mViewManager.setStretchY(view, new DynamicFromObject(value));
30
+ break;
31
+ case "content":
32
+ mViewManager.setContent(view, new DynamicFromObject(value));
33
+ break;
34
+ case "sdf":
35
+ mViewManager.setSdf(view, new DynamicFromObject(value));
36
+ break;
37
+ case "name":
38
+ mViewManager.setName(view, new DynamicFromObject(value));
39
+ break;
40
+ case "scale":
41
+ mViewManager.setScale(view, new DynamicFromObject(value));
42
+ break;
43
+ default:
44
+ super.setProperty(view, propName, value);
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import com.facebook.react.bridge.Dynamic;
14
+
15
+ public interface RNMBXImageManagerInterface<T extends View> {
16
+ void setStretchX(T view, Dynamic value);
17
+ void setStretchY(T view, Dynamic value);
18
+ void setContent(T view, Dynamic value);
19
+ void setSdf(T view, Dynamic value);
20
+ void setName(T view, Dynamic value);
21
+ void setScale(T view, Dynamic value);
22
+ }