@rnmapbox/maps 10.1.0 → 10.1.1

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 (661) hide show
  1. package/CHANGELOG.md +9 -5
  2. package/README.md +5 -31
  3. package/android/build.gradle +6 -2
  4. package/android/install.md +5 -21
  5. package/android/src/main/AndroidManifest.xml +1 -1
  6. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +76 -12
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.kt +24 -0
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEventEmitter.kt +5 -0
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerView.kt +17 -6
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContent.kt +31 -0
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContentManager.kt +23 -0
  12. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +8 -9
  13. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotation.kt +33 -35
  14. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +8 -7
  15. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCamera.kt +4 -4
  16. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXVIewportManager.kt +55 -0
  17. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewport.kt +408 -0
  18. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewportModule.kt +66 -0
  19. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/ImageManager.kt +53 -0
  20. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImages.kt +2 -1
  21. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +31 -6
  22. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/LocationComponentManager.kt +78 -47
  23. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProvider.kt +114 -0
  24. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProviderManager.kt +54 -0
  25. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +246 -25
  26. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +90 -7
  27. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -8
  28. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +185 -114
  29. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +16 -8
  30. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyle.kt +1 -1
  31. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleFactory.kt +1184 -109
  32. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXCircleLayerManager.kt +8 -0
  33. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXFillLayerManager.kt +12 -5
  34. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXHeatmapLayerManager.kt +7 -0
  35. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLayer.kt +25 -6
  36. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLineLayerManager.kt +7 -0
  37. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayer.kt +33 -0
  38. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayerManager.kt +85 -0
  39. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayer.kt +4 -0
  40. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayerManager.kt +8 -2
  41. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXSymbolLayerManager.kt +8 -0
  42. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/codeparts/LayerManagerCommonProps.codepart-kt.ejs +59 -0
  43. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModels.kt +33 -0
  44. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModelsManager.kt +59 -0
  45. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +56 -6
  46. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +7 -5
  47. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSource.kt +1 -1
  48. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +5 -4
  49. package/android/src/main/java/com/rnmapbox/rnmbx/events/AndroidCallbackEvent.java +1 -1
  50. package/android/src/main/java/com/rnmapbox/rnmbx/events/FeatureClickEvent.java +3 -3
  51. package/android/src/main/java/com/rnmapbox/rnmbx/events/IEvent.kt +1 -4
  52. package/android/src/main/java/com/rnmapbox/rnmbx/events/ImageMissingEvent.java +1 -1
  53. package/android/src/main/java/com/rnmapbox/rnmbx/events/LocationEvent.kt +1 -1
  54. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapChangeEvent.kt +1 -1
  55. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapClickEvent.java +2 -2
  56. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapUserTrackingModeEvent.kt +4 -4
  57. package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationClickEvent.java +1 -1
  58. package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationDragEvent.java +3 -3
  59. package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.kt +44 -0
  60. package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXModule.kt +18 -1
  61. package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModule.kt +4 -1
  62. package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModuleLegacy.kt +444 -0
  63. package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/RNMBXMovePointShapeAnimatorModule.kt +55 -0
  64. package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/ShapeAnimatorCommon.kt +110 -0
  65. package/android/src/main/java/com/rnmapbox/rnmbx/utils/BitmapUtils.kt +3 -0
  66. package/android/src/main/java/com/rnmapbox/rnmbx/utils/DownloadMapImageTask.kt +5 -2
  67. package/android/src/main/java/com/rnmapbox/rnmbx/utils/GeoJSONUtils.kt +5 -0
  68. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt +21 -1
  69. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +111 -0
  70. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Annotation.kt +33 -1
  71. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +15 -0
  72. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Image.kt +17 -1
  73. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Layer.kt +7 -0
  74. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Location.kt +6 -9
  75. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/MapboxMap.kt +11 -0
  76. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/OfflineManager.kt +6 -0
  77. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +395 -0
  78. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Annotation.kt +29 -1
  79. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +3 -0
  80. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Image.kt +21 -1
  81. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Layer.kt +3 -0
  82. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Location.kt +2 -2
  83. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/MapboxMap.kt +5 -0
  84. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/OfflineManager.kt +4 -0
  85. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +8 -0
  86. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerDelegate.java +9 -6
  87. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerInterface.java +3 -2
  88. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerDelegate.java +35 -0
  89. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerInterface.java +18 -0
  90. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerDelegate.java +9 -6
  91. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerInterface.java +3 -2
  92. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerDelegate.java +9 -6
  93. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerInterface.java +3 -2
  94. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerDelegate.java +9 -6
  95. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerInterface.java +3 -2
  96. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerDelegate.java +3 -0
  97. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerInterface.java +1 -0
  98. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewContentManagerDelegate.java +25 -0
  99. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewContentManagerInterface.java +16 -0
  100. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerDelegate.java +3 -0
  101. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +1 -0
  102. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerDelegate.java +65 -0
  103. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerInterface.java +28 -0
  104. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerDelegate.java +32 -0
  105. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerInterface.java +17 -0
  106. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +23 -2
  107. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +8 -1
  108. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerDelegate.java +9 -6
  109. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerInterface.java +3 -2
  110. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerDelegate.java +9 -6
  111. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerInterface.java +3 -2
  112. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerDelegate.java +35 -0
  113. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerInterface.java +18 -0
  114. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXMovePointShapeAnimatorModuleSpec.java +44 -0
  115. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +49 -0
  116. package/ios/RNMBX/CommonLayerProperties.H +2 -0
  117. package/ios/RNMBX/CustomHttpHeaders.swift +2 -9
  118. package/ios/RNMBX/ImageManager.swift +41 -0
  119. package/ios/RNMBX/RNMBXCamera.swift +4 -4
  120. package/ios/RNMBX/RNMBXCustomLocationProvider.swift +274 -0
  121. package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.h +15 -0
  122. package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.mm +67 -0
  123. package/ios/RNMBX/RNMBXCustomLocationProviderVIewManager.swift +13 -0
  124. package/ios/RNMBX/RNMBXCustomLocationProviderViewManager.m +10 -0
  125. package/ios/RNMBX/RNMBXEvent.swift +2 -0
  126. package/ios/RNMBX/RNMBXFabricPropConvert.h +47 -0
  127. package/ios/RNMBX/RNMBXFabricPropConvert.mm +136 -0
  128. package/ios/RNMBX/RNMBXImageModule.mm +2 -2
  129. package/ios/RNMBX/RNMBXImages.swift +22 -6
  130. package/ios/RNMBX/RNMBXImagesComponentView.mm +19 -1
  131. package/ios/RNMBX/RNMBXInteractiveElement.swift +1 -1
  132. package/ios/RNMBX/RNMBXLayer.swift +27 -0
  133. package/ios/RNMBX/RNMBXLocationModule.swift +25 -14
  134. package/ios/RNMBX/RNMBXLocationModuleV11.swift +81 -14
  135. package/ios/RNMBX/RNMBXLogging.swift +8 -0
  136. package/ios/RNMBX/RNMBXMapView.swift +507 -207
  137. package/ios/RNMBX/RNMBXMapViewComponentView.mm +28 -20
  138. package/ios/RNMBX/RNMBXMapViewManager.m +1 -0
  139. package/ios/RNMBX/RNMBXMapViewManager.swift +0 -1
  140. package/ios/RNMBX/RNMBXMapViewModule.mm +0 -1
  141. package/ios/RNMBX/RNMBXMarkerView.swift +11 -3
  142. package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +5 -0
  143. package/ios/RNMBX/RNMBXMarkerViewContentComponentView.h +15 -0
  144. package/ios/RNMBX/RNMBXMarkerViewContentComponentView.mm +55 -0
  145. package/ios/RNMBX/RNMBXMarkerViewContentManager.m +6 -0
  146. package/ios/RNMBX/RNMBXMarkerViewContentManager.swift +14 -0
  147. package/ios/RNMBX/RNMBXMarkerViewManager.m +1 -0
  148. package/ios/RNMBX/RNMBXModelLayer.swift +59 -0
  149. package/ios/RNMBX/RNMBXModelLayerComponentView.h +15 -0
  150. package/ios/RNMBX/RNMBXModelLayerComponentView.mm +70 -0
  151. package/ios/RNMBX/RNMBXModelLayerViewManager.m +12 -0
  152. package/ios/RNMBX/RNMBXModelLayerViewManager.swift +13 -0
  153. package/ios/RNMBX/RNMBXModels.swift +63 -0
  154. package/ios/RNMBX/RNMBXModelsComponentView.h +17 -0
  155. package/ios/RNMBX/RNMBXModelsComponentView.mm +67 -0
  156. package/ios/RNMBX/RNMBXModelsManager.mm +9 -0
  157. package/ios/RNMBX/RNMBXModelsManager.swift +13 -0
  158. package/ios/RNMBX/RNMBXModule.m +1 -1
  159. package/ios/RNMBX/RNMBXModule.swift +24 -0
  160. package/ios/RNMBX/RNMBXNativeUserLocation.swift +248 -19
  161. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +15 -6
  162. package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +8 -0
  163. package/ios/RNMBX/RNMBXOfflineModule.m +1 -1
  164. package/ios/RNMBX/RNMBXOfflineModuleLegacy.m +33 -0
  165. package/ios/RNMBX/RNMBXOfflineModuleLegacy.swift +431 -0
  166. package/ios/RNMBX/RNMBXPointAnnotation.swift +34 -1
  167. package/ios/RNMBX/RNMBXPointAnnotationModule.mm +2 -2
  168. package/ios/RNMBX/RNMBXShapeSource.swift +54 -15
  169. package/ios/RNMBX/RNMBXStyle.swift +786 -1
  170. package/ios/RNMBX/RNMBXStyleValue.swift +56 -4
  171. package/ios/RNMBX/RNMBXUtils.swift +2 -7
  172. package/ios/RNMBX/RNMBXViewport.swift +349 -0
  173. package/ios/RNMBX/RNMBXViewportComponentView.h +17 -0
  174. package/ios/RNMBX/RNMBXViewportComponentView.mm +119 -0
  175. package/ios/RNMBX/RNMBXViewportManager.m +12 -0
  176. package/ios/RNMBX/RNMBXViewportManager.swift +38 -0
  177. package/ios/RNMBX/RNMBXViewportModule.h +18 -0
  178. package/ios/RNMBX/RNMBXViewportModule.mm +87 -0
  179. package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.m +61 -0
  180. package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.swift +47 -0
  181. package/ios/RNMBX/ShapeAnimators/ShapeAnimatorCommon.swift +76 -0
  182. package/ios/RNMBX/ShapeAnimators/ShapeAnimatorManager.swift +45 -0
  183. package/ios/RNMBX/Uitls/PropertyChanges.swift +57 -0
  184. package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +3 -0
  185. package/ios/install.md +5 -26
  186. package/lib/commonjs/Mapbox.js +63 -0
  187. package/lib/commonjs/Mapbox.js.map +1 -1
  188. package/lib/commonjs/RNMBXModule.js +3 -1
  189. package/lib/commonjs/RNMBXModule.js.map +1 -1
  190. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
  191. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  192. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
  193. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  194. package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
  195. package/lib/commonjs/classes/index.d.js.map +1 -1
  196. package/lib/commonjs/classes/index.js.map +1 -1
  197. package/lib/commonjs/components/AbstractLayer.js +1 -1
  198. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  199. package/lib/commonjs/components/AbstractSource.js.map +1 -1
  200. package/lib/commonjs/components/Annotation.js.map +1 -1
  201. package/lib/commonjs/components/Atmosphere.js.map +1 -1
  202. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  203. package/lib/commonjs/components/Callout.js.map +1 -1
  204. package/lib/commonjs/components/Camera.js.map +1 -1
  205. package/lib/commonjs/components/CircleLayer.js +7 -2
  206. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  207. package/lib/commonjs/components/{NativeUserLocation.js → CustomLocationProvider.js} +5 -5
  208. package/lib/commonjs/components/CustomLocationProvider.js.map +1 -0
  209. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  210. package/lib/commonjs/components/FillLayer.js +7 -2
  211. package/lib/commonjs/components/FillLayer.js.map +1 -1
  212. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  213. package/lib/commonjs/components/HeatmapLayer.js +7 -2
  214. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  215. package/lib/commonjs/components/Image.js.map +1 -1
  216. package/lib/commonjs/components/ImageSource.js.map +1 -1
  217. package/lib/commonjs/components/Images.js.map +1 -1
  218. package/lib/commonjs/components/Light.js.map +1 -1
  219. package/lib/commonjs/components/LineLayer.js +7 -2
  220. package/lib/commonjs/components/LineLayer.js.map +1 -1
  221. package/lib/commonjs/components/LocationPuck.js +66 -0
  222. package/lib/commonjs/components/LocationPuck.js.map +1 -0
  223. package/lib/commonjs/components/MapView.js +0 -8
  224. package/lib/commonjs/components/MapView.js.map +1 -1
  225. package/lib/commonjs/components/MarkerView.js +5 -3
  226. package/lib/commonjs/components/MarkerView.js.map +1 -1
  227. package/lib/commonjs/components/ModelLayer.js +37 -0
  228. package/lib/commonjs/components/ModelLayer.js.map +1 -0
  229. package/lib/commonjs/components/Models.js +43 -0
  230. package/lib/commonjs/components/Models.js.map +1 -0
  231. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  232. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  233. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  234. package/lib/commonjs/components/RasterLayer.js +7 -2
  235. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  236. package/lib/commonjs/components/RasterSource.js.map +1 -1
  237. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  238. package/lib/commonjs/components/SkyLayer.js +2 -2
  239. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  240. package/lib/commonjs/components/Style.js.map +1 -1
  241. package/lib/commonjs/components/StyleImport.js.map +1 -1
  242. package/lib/commonjs/components/SymbolLayer.js +7 -2
  243. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  244. package/lib/commonjs/components/Terrain.js.map +1 -1
  245. package/lib/commonjs/components/UserLocation.js +2 -2
  246. package/lib/commonjs/components/UserLocation.js.map +1 -1
  247. package/lib/commonjs/components/VectorSource.js.map +1 -1
  248. package/lib/commonjs/components/Viewport.js +105 -0
  249. package/lib/commonjs/components/Viewport.js.map +1 -0
  250. package/lib/commonjs/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  251. package/lib/commonjs/global.d.js.map +1 -1
  252. package/lib/commonjs/index.js.map +1 -1
  253. package/lib/commonjs/index.web.js.map +1 -1
  254. package/lib/commonjs/modules/location/locationManager.js.map +1 -1
  255. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  256. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  257. package/lib/commonjs/modules/offline/OfflinePackLegacy.js +40 -0
  258. package/lib/commonjs/modules/offline/OfflinePackLegacy.js.map +1 -0
  259. package/lib/commonjs/modules/offline/offlineManager.js +4 -4
  260. package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
  261. package/lib/commonjs/modules/offline/offlineManagerLegacy.js +166 -0
  262. package/lib/commonjs/modules/offline/offlineManagerLegacy.js.map +1 -0
  263. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  264. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
  265. package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
  266. package/lib/commonjs/shape_animators/MovePointShapeAnimator.js +21 -0
  267. package/lib/commonjs/shape_animators/MovePointShapeAnimator.js.map +1 -0
  268. package/lib/commonjs/shape_animators/ShapeAnimatorManager.js +15 -0
  269. package/lib/commonjs/shape_animators/ShapeAnimatorManager.js.map +1 -0
  270. package/lib/commonjs/specs/NativeMapViewModule.js.map +1 -1
  271. package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -1
  272. package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js +10 -0
  273. package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
  274. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  275. package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  276. package/lib/commonjs/specs/NativeRNMBXViewportModule.js +10 -0
  277. package/lib/commonjs/specs/NativeRNMBXViewportModule.js.map +1 -0
  278. package/lib/commonjs/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  279. package/lib/commonjs/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  280. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  281. package/lib/commonjs/specs/RNMBXCameraNativeComponent.js.map +1 -1
  282. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js +2 -0
  283. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  284. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js +11 -0
  285. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
  286. package/lib/commonjs/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  287. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js +2 -0
  288. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  289. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
  290. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  291. package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -1
  292. package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  293. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -1
  294. package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -1
  295. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js +2 -0
  296. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  297. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  298. package/lib/commonjs/specs/RNMBXMarkerViewContentNativeComponent.js +11 -0
  299. package/lib/commonjs/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -0
  300. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  301. package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js +13 -0
  302. package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
  303. package/lib/commonjs/specs/RNMBXModelsNativeComponent.js +10 -0
  304. package/lib/commonjs/specs/RNMBXModelsNativeComponent.js.map +1 -0
  305. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +1 -0
  306. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  307. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  308. package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  309. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js +2 -0
  310. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  311. package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  312. package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  313. package/lib/commonjs/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  314. package/lib/commonjs/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  315. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
  316. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  317. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  318. package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  319. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js +36 -0
  320. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js.map +1 -0
  321. package/lib/commonjs/specs/codegenUtils.js.map +1 -1
  322. package/lib/commonjs/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
  323. package/lib/commonjs/types/BaseProps.js.map +1 -1
  324. package/lib/commonjs/types/OnPressEvent.js.map +1 -1
  325. package/lib/commonjs/types/Position.js.map +1 -1
  326. package/lib/commonjs/types/index.js.map +1 -1
  327. package/lib/commonjs/utils/BridgeValue.js.map +1 -1
  328. package/lib/commonjs/utils/Logger.js.map +1 -1
  329. package/lib/commonjs/utils/MapboxStyles.d.js +5 -0
  330. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  331. package/lib/commonjs/utils/StyleValue.js.map +1 -1
  332. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  333. package/lib/commonjs/utils/checkRequiredProps.js.map +1 -1
  334. package/lib/commonjs/utils/deprecation.js.map +1 -1
  335. package/lib/commonjs/utils/filterUtils.js.map +1 -1
  336. package/lib/commonjs/utils/geoUtils.js.map +1 -1
  337. package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
  338. package/lib/commonjs/utils/index.js.map +1 -1
  339. package/lib/commonjs/utils/nativeRef.js.map +1 -1
  340. package/lib/commonjs/utils/styleMap.js +67 -2
  341. package/lib/commonjs/utils/styleMap.js.map +1 -1
  342. package/lib/commonjs/web/MapContext.js.map +1 -1
  343. package/lib/commonjs/web/MapboxModule.js.map +1 -1
  344. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
  345. package/lib/commonjs/web/components/Camera.js.map +1 -1
  346. package/lib/commonjs/web/components/MapView.js.map +1 -1
  347. package/lib/commonjs/web/index.js.map +1 -1
  348. package/lib/commonjs/web/utils/Logger.js.map +1 -1
  349. package/lib/module/Mapbox.js +18 -0
  350. package/lib/module/Mapbox.js.map +1 -1
  351. package/lib/module/RNMBXModule.js +1 -0
  352. package/lib/module/RNMBXModule.js.map +1 -1
  353. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  354. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  355. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  356. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  357. package/lib/module/classes/AnimatedShape.js.map +1 -1
  358. package/lib/module/classes/index.d.js.map +1 -1
  359. package/lib/module/classes/index.js.map +1 -1
  360. package/lib/module/components/AbstractLayer.js +1 -1
  361. package/lib/module/components/AbstractLayer.js.map +1 -1
  362. package/lib/module/components/AbstractSource.js.map +1 -1
  363. package/lib/module/components/Annotation.js.map +1 -1
  364. package/lib/module/components/Atmosphere.js.map +1 -1
  365. package/lib/module/components/BackgroundLayer.js.map +1 -1
  366. package/lib/module/components/Callout.js.map +1 -1
  367. package/lib/module/components/Camera.js.map +1 -1
  368. package/lib/module/components/CircleLayer.js +7 -2
  369. package/lib/module/components/CircleLayer.js.map +1 -1
  370. package/lib/module/components/CustomLocationProvider.js +7 -0
  371. package/lib/module/components/CustomLocationProvider.js.map +1 -0
  372. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  373. package/lib/module/components/FillLayer.js +7 -2
  374. package/lib/module/components/FillLayer.js.map +1 -1
  375. package/lib/module/components/HeadingIndicator.js.map +1 -1
  376. package/lib/module/components/HeatmapLayer.js +7 -2
  377. package/lib/module/components/HeatmapLayer.js.map +1 -1
  378. package/lib/module/components/Image.js.map +1 -1
  379. package/lib/module/components/ImageSource.js.map +1 -1
  380. package/lib/module/components/Images.js.map +1 -1
  381. package/lib/module/components/Light.js.map +1 -1
  382. package/lib/module/components/LineLayer.js +7 -2
  383. package/lib/module/components/LineLayer.js.map +1 -1
  384. package/lib/module/components/LocationPuck.js +57 -0
  385. package/lib/module/components/LocationPuck.js.map +1 -0
  386. package/lib/module/components/MapView.js +0 -8
  387. package/lib/module/components/MapView.js.map +1 -1
  388. package/lib/module/components/MarkerView.js +5 -3
  389. package/lib/module/components/MarkerView.js.map +1 -1
  390. package/lib/module/components/ModelLayer.js +30 -0
  391. package/lib/module/components/ModelLayer.js.map +1 -0
  392. package/lib/module/components/Models.js +36 -0
  393. package/lib/module/components/Models.js.map +1 -0
  394. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  395. package/lib/module/components/PointAnnotation.js.map +1 -1
  396. package/lib/module/components/RasterDemSource.js.map +1 -1
  397. package/lib/module/components/RasterLayer.js +7 -2
  398. package/lib/module/components/RasterLayer.js.map +1 -1
  399. package/lib/module/components/RasterSource.js.map +1 -1
  400. package/lib/module/components/ShapeSource.js.map +1 -1
  401. package/lib/module/components/SkyLayer.js +2 -2
  402. package/lib/module/components/SkyLayer.js.map +1 -1
  403. package/lib/module/components/Style.js.map +1 -1
  404. package/lib/module/components/StyleImport.js.map +1 -1
  405. package/lib/module/components/SymbolLayer.js +7 -2
  406. package/lib/module/components/SymbolLayer.js.map +1 -1
  407. package/lib/module/components/Terrain.js.map +1 -1
  408. package/lib/module/components/UserLocation.js +1 -1
  409. package/lib/module/components/UserLocation.js.map +1 -1
  410. package/lib/module/components/VectorSource.js.map +1 -1
  411. package/lib/module/components/Viewport.js +96 -0
  412. package/lib/module/components/Viewport.js.map +1 -0
  413. package/lib/module/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  414. package/lib/module/global.d.js.map +1 -1
  415. package/lib/module/index.js.map +1 -1
  416. package/lib/module/index.web.js.map +1 -1
  417. package/lib/module/modules/location/locationManager.js.map +1 -1
  418. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  419. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  420. package/lib/module/modules/offline/OfflinePackLegacy.js +34 -0
  421. package/lib/module/modules/offline/OfflinePackLegacy.js.map +1 -0
  422. package/lib/module/modules/offline/offlineManager.js +4 -4
  423. package/lib/module/modules/offline/offlineManager.js.map +1 -1
  424. package/lib/module/modules/offline/offlineManagerLegacy.js +154 -0
  425. package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -0
  426. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  427. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  428. package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
  429. package/lib/module/shape_animators/MovePointShapeAnimator.js +13 -0
  430. package/lib/module/shape_animators/MovePointShapeAnimator.js.map +1 -0
  431. package/lib/module/shape_animators/ShapeAnimatorManager.js +8 -0
  432. package/lib/module/shape_animators/ShapeAnimatorManager.js.map +1 -0
  433. package/lib/module/specs/NativeMapViewModule.js.map +1 -1
  434. package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -1
  435. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js +6 -0
  436. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
  437. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  438. package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  439. package/lib/module/specs/NativeRNMBXViewportModule.js +6 -0
  440. package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -0
  441. package/lib/module/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  442. package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  443. package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  444. package/lib/module/specs/RNMBXCameraNativeComponent.js.map +1 -1
  445. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +3 -0
  446. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  447. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js +6 -0
  448. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
  449. package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  450. package/lib/module/specs/RNMBXFillLayerNativeComponent.js +3 -0
  451. package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  452. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +3 -0
  453. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  454. package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -1
  455. package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  456. package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -1
  457. package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -1
  458. package/lib/module/specs/RNMBXLineLayerNativeComponent.js +3 -0
  459. package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  460. package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  461. package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js +6 -0
  462. package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -0
  463. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  464. package/lib/module/specs/RNMBXModelLayerNativeComponent.js +9 -0
  465. package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
  466. package/lib/module/specs/RNMBXModelsNativeComponent.js +3 -0
  467. package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -0
  468. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
  469. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  470. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  471. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  472. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +3 -0
  473. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  474. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  475. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  476. package/lib/module/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  477. package/lib/module/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  478. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +3 -0
  479. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  480. package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  481. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  482. package/lib/module/specs/RNMBXViewportNativeComponent.js +33 -0
  483. package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -0
  484. package/lib/module/specs/codegenUtils.js.map +1 -1
  485. package/lib/module/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
  486. package/lib/module/types/BaseProps.js.map +1 -1
  487. package/lib/module/types/OnPressEvent.js.map +1 -1
  488. package/lib/module/types/Position.js.map +1 -1
  489. package/lib/module/types/index.js.map +1 -1
  490. package/lib/module/utils/BridgeValue.js.map +1 -1
  491. package/lib/module/utils/Logger.js.map +1 -1
  492. package/lib/module/utils/MapboxStyles.d.js +5 -0
  493. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  494. package/lib/module/utils/StyleValue.js.map +1 -1
  495. package/lib/module/utils/animated/Animated.js.map +1 -1
  496. package/lib/module/utils/checkRequiredProps.js.map +1 -1
  497. package/lib/module/utils/deprecation.js.map +1 -1
  498. package/lib/module/utils/filterUtils.js.map +1 -1
  499. package/lib/module/utils/geoUtils.js.map +1 -1
  500. package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
  501. package/lib/module/utils/index.js.map +1 -1
  502. package/lib/module/utils/nativeRef.js.map +1 -1
  503. package/lib/module/utils/styleMap.js +67 -2
  504. package/lib/module/utils/styleMap.js.map +1 -1
  505. package/lib/module/web/MapContext.js.map +1 -1
  506. package/lib/module/web/MapboxModule.js.map +1 -1
  507. package/lib/module/web/UnimplementedComponent.js.map +1 -1
  508. package/lib/module/web/components/Camera.js.map +1 -1
  509. package/lib/module/web/components/MapView.js.map +1 -1
  510. package/lib/module/web/index.js.map +1 -1
  511. package/lib/module/web/utils/Logger.js.map +1 -1
  512. package/lib/typescript/src/Mapbox.d.ts +16 -2
  513. package/lib/typescript/src/Mapbox.d.ts.map +1 -1
  514. package/lib/typescript/src/RNMBXModule.d.ts +1 -1
  515. package/lib/typescript/src/RNMBXModule.d.ts.map +1 -1
  516. package/lib/typescript/src/components/AbstractLayer.d.ts +9 -4
  517. package/lib/typescript/src/components/AbstractLayer.d.ts.map +1 -1
  518. package/lib/typescript/src/components/Camera.d.ts +5 -3
  519. package/lib/typescript/src/components/Camera.d.ts.map +1 -1
  520. package/lib/typescript/src/components/CircleLayer.d.ts +11 -3
  521. package/lib/typescript/src/components/CircleLayer.d.ts.map +1 -1
  522. package/lib/typescript/src/components/CustomLocationProvider.d.ts +15 -0
  523. package/lib/typescript/src/components/CustomLocationProvider.d.ts.map +1 -0
  524. package/lib/typescript/src/components/FillLayer.d.ts +10 -1
  525. package/lib/typescript/src/components/FillLayer.d.ts.map +1 -1
  526. package/lib/typescript/src/components/HeatmapLayer.d.ts +12 -4
  527. package/lib/typescript/src/components/HeatmapLayer.d.ts.map +1 -1
  528. package/lib/typescript/src/components/Images.d.ts +1 -1
  529. package/lib/typescript/src/components/LineLayer.d.ts +10 -1
  530. package/lib/typescript/src/components/LineLayer.d.ts.map +1 -1
  531. package/lib/typescript/src/components/LocationPuck.d.ts +85 -0
  532. package/lib/typescript/src/components/LocationPuck.d.ts.map +1 -0
  533. package/lib/typescript/src/components/MapView.d.ts +6 -6
  534. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  535. package/lib/typescript/src/components/MarkerView.d.ts +5 -1
  536. package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
  537. package/lib/typescript/src/components/ModelLayer.d.ts +77 -0
  538. package/lib/typescript/src/components/ModelLayer.d.ts.map +1 -0
  539. package/lib/typescript/src/components/Models.d.ts +15 -0
  540. package/lib/typescript/src/components/Models.d.ts.map +1 -0
  541. package/lib/typescript/src/components/RasterLayer.d.ts +11 -2
  542. package/lib/typescript/src/components/RasterLayer.d.ts.map +1 -1
  543. package/lib/typescript/src/components/SymbolLayer.d.ts +17 -5
  544. package/lib/typescript/src/components/SymbolLayer.d.ts.map +1 -1
  545. package/lib/typescript/src/components/UserLocation.d.ts +1 -0
  546. package/lib/typescript/src/components/UserLocation.d.ts.map +1 -1
  547. package/lib/typescript/src/components/Viewport.d.ts +136 -0
  548. package/lib/typescript/src/components/Viewport.d.ts.map +1 -0
  549. package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts +24 -0
  550. package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts.map +1 -0
  551. package/lib/typescript/src/modules/offline/offlineManager.d.ts +1 -1
  552. package/lib/typescript/src/modules/offline/offlineManager.d.ts.map +1 -1
  553. package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts +93 -0
  554. package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts.map +1 -0
  555. package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts +7 -0
  556. package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts.map +1 -0
  557. package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts +5 -0
  558. package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts.map +1 -0
  559. package/lib/typescript/src/specs/NativeMapViewModule.d.ts +0 -1
  560. package/lib/typescript/src/specs/NativeMapViewModule.d.ts.map +1 -1
  561. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +0 -1
  562. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -1
  563. package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts +10 -0
  564. package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts.map +1 -0
  565. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +0 -1
  566. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -1
  567. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts +0 -1
  568. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts.map +1 -1
  569. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts +35 -0
  570. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts.map +1 -0
  571. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts +16 -11
  572. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts.map +1 -1
  573. package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts +12 -0
  574. package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts.map +1 -0
  575. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts +9 -4
  576. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts.map +1 -1
  577. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts +9 -4
  578. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts.map +1 -1
  579. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts +9 -4
  580. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts.map +1 -1
  581. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts +1 -0
  582. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts.map +1 -1
  583. package/lib/typescript/src/specs/RNMBXMarkerViewContentNativeComponent.d.ts +6 -0
  584. package/lib/typescript/src/specs/RNMBXMarkerViewContentNativeComponent.d.ts.map +1 -0
  585. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +1 -0
  586. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -1
  587. package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts +28 -0
  588. package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts.map +1 -0
  589. package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts +15 -0
  590. package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts.map +1 -0
  591. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +20 -3
  592. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
  593. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts +9 -4
  594. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts.map +1 -1
  595. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts +9 -4
  596. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts.map +1 -1
  597. package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts +59 -0
  598. package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts.map +1 -0
  599. package/lib/typescript/src/specs/codegenUtils.d.ts +0 -1
  600. package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
  601. package/lib/typescript/src/types/Position.d.ts +3 -0
  602. package/lib/typescript/src/types/Position.d.ts.map +1 -1
  603. package/lib/typescript/src/utils/styleMap.d.ts.map +1 -1
  604. package/package.json +11 -10
  605. package/plugin/install.md +6 -14
  606. package/rnmapbox-maps.podspec +26 -4
  607. package/setup-jest.js +30 -1
  608. package/src/Mapbox.ts +21 -0
  609. package/src/RNMBXModule.ts +2 -0
  610. package/src/components/AbstractLayer.tsx +11 -5
  611. package/src/components/Camera.tsx +8 -3
  612. package/src/components/CircleLayer.tsx +17 -5
  613. package/src/components/CustomLocationProvider.tsx +22 -0
  614. package/src/components/FillLayer.tsx +16 -3
  615. package/src/components/HeatmapLayer.tsx +18 -6
  616. package/src/components/Images.tsx +1 -1
  617. package/src/components/LineLayer.tsx +16 -3
  618. package/src/components/LocationPuck.tsx +143 -0
  619. package/src/components/MapView.tsx +7 -9
  620. package/src/components/MarkerView.tsx +12 -5
  621. package/src/components/ModelLayer.tsx +107 -0
  622. package/src/components/Models.tsx +44 -0
  623. package/src/components/RasterLayer.tsx +17 -4
  624. package/src/components/SkyLayer.tsx +2 -2
  625. package/src/components/SymbolLayer.tsx +26 -7
  626. package/src/components/UserLocation.tsx +2 -1
  627. package/src/components/Viewport.tsx +330 -0
  628. package/src/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  629. package/src/modules/offline/OfflinePackLegacy.ts +55 -0
  630. package/src/modules/offline/offlineManager.ts +4 -4
  631. package/src/modules/offline/offlineManagerLegacy.ts +181 -0
  632. package/src/shape_animators/MovePointShapeAnimator.ts +18 -0
  633. package/src/shape_animators/ShapeAnimatorManager.tsx +8 -0
  634. package/src/specs/NativeRNMBXMovePointShapeAnimatorModule.ts +16 -0
  635. package/src/specs/NativeRNMBXViewportModule.ts +41 -0
  636. package/src/specs/RNMBXCircleLayerNativeComponent.ts +21 -12
  637. package/src/specs/RNMBXCustomLocationProviderNativeComponent.ts +19 -0
  638. package/src/specs/RNMBXFillLayerNativeComponent.ts +13 -4
  639. package/src/specs/RNMBXHeatmapLayerNativeComponent.ts +13 -4
  640. package/src/specs/RNMBXLineLayerNativeComponent.ts +13 -4
  641. package/src/specs/RNMBXMapViewNativeComponent.ts +2 -0
  642. package/src/specs/RNMBXMarkerViewContentNativeComponent.ts +9 -0
  643. package/src/specs/RNMBXMarkerViewNativeComponent.ts +1 -0
  644. package/src/specs/RNMBXModelLayerNativeComponent.ts +38 -0
  645. package/src/specs/RNMBXModelsNativeComponent.ts +18 -0
  646. package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +29 -3
  647. package/src/specs/RNMBXRasterLayerNativeComponent.ts +13 -4
  648. package/src/specs/RNMBXSymbolLayerNativeComponent.ts +13 -4
  649. package/src/specs/RNMBXViewportNativeComponent.ts +117 -0
  650. package/src/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
  651. package/src/types/Position.ts +3 -0
  652. package/src/utils/MapboxStyles.d.ts +526 -63
  653. package/src/utils/styleMap.ts +69 -2
  654. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.java +0 -35
  655. package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.java +0 -39
  656. package/lib/commonjs/components/NativeUserLocation.js.map +0 -1
  657. package/lib/module/components/NativeUserLocation.js +0 -7
  658. package/lib/module/components/NativeUserLocation.js.map +0 -1
  659. package/lib/typescript/src/components/NativeUserLocation.d.ts +0 -22
  660. package/lib/typescript/src/components/NativeUserLocation.d.ts.map +0 -1
  661. package/src/components/NativeUserLocation.tsx +0 -29
@@ -0,0 +1,136 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+
3
+ #import <React/RCTConversions.h>
4
+ #import <React/RCTFabricComponentsPlugins.h>
5
+ #import <React/RCTBridge+Private.h>
6
+
7
+ #import "rnmapbox_maps-Swift.pre.h"
8
+ #import "RNMBXFabricPropConvert.h"
9
+
10
+ BOOL RNMBXPropConvert_BOOL(const folly::dynamic &dyn, NSString* propertyName) {
11
+ switch (dyn.type()) {
12
+ case folly::dynamic::BOOL:
13
+ return dyn.getBool();
14
+ default:
15
+ std::stringstream ss;
16
+ ss << dyn;
17
+ [RNMBXLogger error:[NSString stringWithFormat:@"Property %@ expected to be a boolean but was: $d",
18
+ propertyName,
19
+ ss.str().c_str()
20
+ ]];
21
+ return NULL;
22
+ }
23
+ }
24
+
25
+ NSNumber* RNMBXPropConvert_Optional_BOOL_NSNumber(const folly::dynamic &dyn, NSString* propertyName) {
26
+ switch (dyn.type()) {
27
+ case folly::dynamic::NULLT:
28
+ return NULL;
29
+ case folly::dynamic::BOOL:
30
+ return [NSNumber numberWithBool:dyn.getBool()];
31
+ default:
32
+ std::stringstream ss;
33
+ ss << dyn;
34
+ [RNMBXLogger error:[NSString stringWithFormat:@"Property %@ expected to be a boolean or nil but was: $d",
35
+ propertyName,
36
+ ss.str().c_str()
37
+ ]];
38
+ return NULL;
39
+ }
40
+ }
41
+
42
+ BOOL RNMBXPropConvert_Optional_BOOL(const folly::dynamic &dyn, NSString* propertyName) {
43
+ switch (dyn.type()) {
44
+ case folly::dynamic::BOOL:
45
+ return dyn.getBool();
46
+ default:
47
+ std::stringstream ss;
48
+ ss << dyn;
49
+ [RNMBXLogger error:[NSString stringWithFormat:@"Property %@ expected to be a boolean or nil but was: $d",
50
+ propertyName,
51
+ ss.str().c_str()
52
+ ]];
53
+ return NO;
54
+ }
55
+ }
56
+
57
+ NSString* RNMBXPropConvert_Optional_NSString(const folly::dynamic &dyn, NSString* propertyName) {
58
+ switch (dyn.type()) {
59
+ case folly::dynamic::STRING:
60
+ return [NSString stringWithCString:dyn.getString().c_str() encoding:NSUTF8StringEncoding];
61
+ case folly::dynamic::NULLT:
62
+ return nil;
63
+ default:
64
+ std::stringstream ss;
65
+ ss << dyn;
66
+ [RNMBXLogger error:[NSString stringWithFormat:@"Property %@ expected to be a string or nil but was: %s",
67
+ propertyName,
68
+ ss.str().c_str()
69
+ ]];
70
+ return nil;
71
+ }
72
+ }
73
+
74
+
75
+ id RNMBXPropConvert_ID(const folly::dynamic &dyn)
76
+ {
77
+ switch (dyn.type()) {
78
+ case folly::dynamic::NULLT:
79
+ return nil;
80
+ case folly::dynamic::BOOL:
81
+ return dyn.getBool() ? @YES : @NO;
82
+ case folly::dynamic::INT64:
83
+ return @(dyn.getInt());
84
+ case folly::dynamic::DOUBLE:
85
+ return @(dyn.getDouble());
86
+ case folly::dynamic::STRING:
87
+ return [NSString stringWithCString:dyn.c_str() encoding:NSUTF8StringEncoding];
88
+ case folly::dynamic::ARRAY: {
89
+ NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:dyn.size()];
90
+ for (const auto &elem : dyn) {
91
+ id value = RNMBXPropConvert_ID(elem);
92
+ if (value) {
93
+ [array addObject:value];
94
+ }
95
+ }
96
+ return array;
97
+ }
98
+ case folly::dynamic::OBJECT: {
99
+ NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:dyn.size()];
100
+ for (const auto &elem : dyn.items()) {
101
+ id key = RNMBXPropConvert_ID(elem.first);
102
+ id value = RNMBXPropConvert_ID(elem.second);
103
+ if (key && value) {
104
+ dict[key] = value;
105
+ }
106
+ }
107
+ return dict;
108
+ }
109
+ }
110
+ }
111
+
112
+ id RNMBXPropConvert_Optional_ExpressionDouble(const folly::dynamic &dyn, NSString* propertyName) {
113
+ switch (dyn.type()) {
114
+ case folly::dynamic::ARRAY:
115
+ return RNMBXPropConvert_ID(dyn);
116
+ case folly::dynamic::DOUBLE:
117
+ return [NSNumber numberWithDouble:dyn.getDouble()];
118
+ case folly::dynamic::INT64:
119
+ return [NSNumber numberWithInt:dyn.getInt()];
120
+ default:
121
+ std::stringstream ss;
122
+ ss << dyn;
123
+ [RNMBXLogger error:[NSString stringWithFormat:@"Property %@ expected to be an array or a number: %s",
124
+ propertyName,
125
+ ss.str().c_str()
126
+ ]];
127
+ return nil;
128
+ }
129
+ }
130
+
131
+ NSDictionary* RNMBXPropConvert_Optional_NSDictionary(const folly::dynamic &dyn, NSString* propertyName)
132
+ {
133
+ return RNMBXPropConvert_ID(dyn);
134
+ }
135
+
136
+ #endif
@@ -25,7 +25,7 @@ RCT_EXPORT_MODULE();
25
25
  return RCTGetUIManagerQueue();
26
26
  }
27
27
 
28
- - (void)withImage:(NSNumber*)viewRef block:(void (^)(RNMBXImage *))block reject:(RCTPromiseRejectBlock)reject methodName:(NSString *)methodName
28
+ - (void)withImage:(nonnull NSNumber*)viewRef block:(void (^)(RNMBXImage *))block reject:(RCTPromiseRejectBlock)reject methodName:(NSString *)methodName
29
29
  {
30
30
  #ifdef RCT_NEW_ARCH_ENABLED
31
31
  [self.viewRegistry_DEPRECATED addUIBlock:^(RCTViewRegistry *viewRegistry) {
@@ -46,7 +46,7 @@ RCT_EXPORT_MODULE();
46
46
  }
47
47
 
48
48
 
49
- RCT_EXPORT_METHOD(refresh:(NSNumber*)viewRef resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
49
+ RCT_EXPORT_METHOD(refresh:(nonnull NSNumber*)viewRef resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
50
50
  {
51
51
  [self withImage:viewRef block:^(RNMBXImage *view) {
52
52
  // TODO: implement refresh on iOS
@@ -22,6 +22,8 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
22
22
 
23
23
  weak var style: Style? = nil
24
24
 
25
+ var imageManager: ImageManager? = nil
26
+
25
27
  @objc
26
28
  public var onImageMissing: RCTBubblingEventBlock? = nil
27
29
 
@@ -46,9 +48,18 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
46
48
  typealias NativeImageInfo = (name:String, sdf: Bool, stretchX:[(from:Float, to:Float)], stretchY:[(from:Float, to:Float)], content: (left:Float,top:Float,right:Float,bottom:Float)? );
47
49
  var nativeImageInfos: [NativeImageInfo] = []
48
50
 
51
+ @objc public func addImageView(_ image: RNMBXImage) {
52
+ imageViews.append(image)
53
+ }
54
+
55
+ @objc public func removeImageView(_ image: RNMBXImage) {
56
+ imageViews.removeAll { $0 == image }
57
+ image.images = nil
58
+ }
59
+
49
60
  @objc open override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
50
61
  if let image = subview as? RNMBXImage {
51
- imageViews.insert(image, at: atIndex)
62
+ addImageView(image)
52
63
  } else {
53
64
  Logger.log(level:.warn, message: "RNMBXImages children can only be RNMBXImage, got \(optional: subview)")
54
65
  }
@@ -57,8 +68,7 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
57
68
 
58
69
  @objc open override func removeReactSubview(_ subview: UIView!) {
59
70
  if let image = subview as? RNMBXImage {
60
- imageViews.removeAll { $0 == image }
61
- image.images = nil
71
+ removeImageView(image)
62
72
  }
63
73
  super.removeReactSubview(subview)
64
74
  }
@@ -71,6 +81,7 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
71
81
 
72
82
  func addToMap(_ map: RNMBXMapView, style: Style) {
73
83
  self.style = style
84
+ imageManager = map.imageManager
74
85
  map.images.append(self)
75
86
 
76
87
  self.addNativeImages(style: style, nativeImages: nativeImageInfos)
@@ -80,6 +91,7 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
80
91
 
81
92
  func removeFromMap(_ map: RNMBXMapView, reason: RemovalReason) -> Bool {
82
93
  self.style = nil
94
+ imageManager = nil
83
95
  // v10todo
84
96
  return true
85
97
  }
@@ -116,7 +128,7 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
116
128
  if !sameImage(oldValue: oldImages[name], newValue: images[name]) {
117
129
  missingImages[name] = images[name]
118
130
  } else {
119
- if hasImage(style: style, name: name) {
131
+ if !hasImage(style: style, name: name) {
120
132
  logged("RNMBXImages.addImagePlaceholder") {
121
133
  try style.addImage(placeholderImage, id: name, stretchX: [], stretchY: [])
122
134
  missingImages[name] = images[name]
@@ -127,7 +139,10 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
127
139
  }
128
140
 
129
141
  if missingImages.count > 0 {
130
- RNMBXUtils.fetchImages(bridge, style: style, objects: missingImages, forceUpdate: true, loaded: { name in self.loadedImages.insert(name) } ,callback: { })
142
+ RNMBXUtils.fetchImages(bridge, style: style, objects: missingImages, forceUpdate: true) { name, image in
143
+ self.loadedImages.insert(name)
144
+ self.imageManager?.resolve(name: name, image: image)
145
+ }
131
146
  }
132
147
  }
133
148
 
@@ -243,7 +258,7 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
243
258
  func addNativeImages(style: Style, nativeImages: [NativeImageInfo]) {
244
259
  for imageInfo in nativeImages {
245
260
  let imageName = imageInfo.name
246
- if hasImage(style: style, name:imageName) {
261
+ if !hasImage(style: style, name: imageName) {
247
262
  if let image = UIImage(named: imageName) {
248
263
  logged("RNMBXImage.addNativeImage: \(imageName)") {
249
264
  try style.addImage(image, id: imageName, sdf: imageInfo.sdf,
@@ -252,6 +267,7 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
252
267
  content: RNMBXImages.convert(content: imageInfo.content, scale: image.scale)
253
268
  )
254
269
  }
270
+ imageManager?.resolve(name: imageName, image: image)
255
271
  } else {
256
272
  Logger.log(level:.error, message: "Cannot find nativeImage named \(imageName)")
257
273
  }
@@ -3,6 +3,8 @@
3
3
  #import "RNMBXImagesComponentView.h"
4
4
  #import "RNMBXFabricHelpers.h"
5
5
 
6
+ #include "RNMBXImageComponentView.h"
7
+
6
8
  #import <React/RCTBridge+Private.h>
7
9
  #import <React/RCTConversions.h>
8
10
  #import <React/RCTFabricComponentsPlugins.h>
@@ -68,7 +70,7 @@ using namespace facebook::react;
68
70
 
69
71
  - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps
70
72
  {
71
- const auto &newProps = static_cast<const RNMBXImagesProps &>(*props);
73
+ const auto &newProps = static_cast<const RNMBXImagesProps &>(*props);
72
74
  id images = RNMBXConvertFollyDynamicToId(newProps.images);
73
75
  if (images != nil) {
74
76
  _view.images = images;
@@ -81,6 +83,22 @@ using namespace facebook::react;
81
83
  [super updateProps:props oldProps:oldProps];
82
84
  }
83
85
 
86
+ - (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
87
+ {
88
+ if ([childComponentView isKindOfClass:[RNMBXImageComponentView class]] && ((RNMBXImageComponentView *)childComponentView).contentView) {
89
+ [_view addImageView:((RNMBXImageComponentView *)childComponentView).contentView];
90
+ }
91
+ [super mountChildComponentView:childComponentView index:index];
92
+ }
93
+
94
+ - (void)unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
95
+ {
96
+ if ([childComponentView isKindOfClass:[RCTViewComponentView class]] && ((RCTViewComponentView *)childComponentView).contentView) {
97
+ [_view removeImageView:((RCTViewComponentView *)childComponentView).contentView];
98
+ }
99
+ [super unmountChildComponentView:childComponentView index:index];
100
+ }
101
+
84
102
  @end
85
103
 
86
104
  Class<RCTComponentViewProtocol> RNMBXImagesCls(void)
@@ -18,7 +18,7 @@ public class RNMBXInteractiveElement : UIView, RNMBXMapComponent {
18
18
  @objc public var id: String! = nil {
19
19
  willSet {
20
20
  if id != nil && newValue != id {
21
- Logger.log(level:.warn, message: "Changing id from: \(optional: id) to \(optional: newValue), changing of id is supported")
21
+ Logger.log(level:.warn, message: "Changing id from: \(optional: id) to \(optional: newValue), changing of id is not supported")
22
22
  if let map = map { removeFromMap(map, reason: .ComponentChange) }
23
23
  }
24
24
  }
@@ -96,6 +96,12 @@ public class RNMBXLayer : UIView, RNMBXMapComponent, RNMBXSourceConsumer {
96
96
  }
97
97
  }
98
98
 
99
+ @objc public var slot: String? = nil {
100
+ didSet {
101
+ optionsChanged()
102
+ }
103
+ }
104
+
99
105
  @objc weak var map: RNMBXMapView? = nil
100
106
 
101
107
  deinit {
@@ -252,6 +258,21 @@ public class RNMBXLayer : UIView, RNMBXMapComponent, RNMBXSourceConsumer {
252
258
  removeFromMap(style)
253
259
  }
254
260
 
261
+ #if RNMBX_11
262
+ func _toSlot(_ slot: String) -> Slot? {
263
+ switch slot {
264
+ case "top":
265
+ return Slot.top;
266
+ case "bottom":
267
+ return Slot.bottom;
268
+ case "middle":
269
+ return Slot.middle;
270
+ default:
271
+ return Slot(rawValue: slot);
272
+ }
273
+ }
274
+ #endif
275
+
255
276
  func setBaseOptions<T: Layer>(_ layer: inout T) {
256
277
  if let minZoom = minZoomLevel {
257
278
  layer.minZoom = minZoom.doubleValue
@@ -260,6 +281,12 @@ public class RNMBXLayer : UIView, RNMBXMapComponent, RNMBXSourceConsumer {
260
281
  if let maxZoom = maxZoomLevel {
261
282
  layer.maxZoom = maxZoom.doubleValue
262
283
  }
284
+
285
+ #if RNMBX_11
286
+ if let slot = slot {
287
+ layer.slot = _toSlot(slot)
288
+ }
289
+ #endif
263
290
  }
264
291
 
265
292
  func setOptions(_ layer: inout Layer) {
@@ -457,14 +457,9 @@ class RNMBXLocationModule: RCTEventEmitter, LocationProviderRNMBXDelegate {
457
457
 
458
458
  static weak var shared : RNMBXLocationModule? = nil
459
459
 
460
- var locationProviderRNMBX : LocationProviderRNMBX
461
460
  var hasListener = false
462
461
 
463
- var locationProvider : LocationProvider {
464
- get {
465
- return locationProviderRNMBX
466
- }
467
- }
462
+ var locationProvider : LocationProvider
468
463
 
469
464
  var locationEventThrottle : (
470
465
  waitBetweenEvents: Double?,
@@ -475,9 +470,11 @@ class RNMBXLocationModule: RCTEventEmitter, LocationProviderRNMBXDelegate {
475
470
  )
476
471
 
477
472
  override init() {
478
- locationProviderRNMBX = LocationProviderRNMBX()
473
+ locationProvider = LocationProviderRNMBX()
479
474
  super.init()
480
- locationProviderRNMBX.delegate = self
475
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
476
+ locationProvider.delegate = self
477
+ }
481
478
  RNMBXLocationModule.shared = self
482
479
  }
483
480
 
@@ -497,12 +494,20 @@ class RNMBXLocationModule: RCTEventEmitter, LocationProviderRNMBXDelegate {
497
494
  }
498
495
 
499
496
  @objc func start(_ minDisplacement: CLLocationDistance) {
500
- if minDisplacement >= 0.0 { locationProviderRNMBX.setDistanceFilter(minDisplacement) }
501
- locationProviderRNMBX.start()
497
+ if minDisplacement >= 0.0 {
498
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
499
+ locationProvider.setDistanceFilter(minDisplacement)
500
+ }
501
+ }
502
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
503
+ locationProvider.start()
504
+ }
502
505
  }
503
506
 
504
507
  @objc func stop() {
505
- locationProviderRNMBX.stop()
508
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
509
+ locationProvider.stop()
510
+ }
506
511
  }
507
512
 
508
513
  @objc func getLastKnownLocation() -> RNMBXLocation? {
@@ -510,15 +515,21 @@ class RNMBXLocationModule: RCTEventEmitter, LocationProviderRNMBXDelegate {
510
515
  }
511
516
 
512
517
  @objc func setMinDisplacement(_ minDisplacement: CLLocationDistance) {
513
- locationProviderRNMBX.setDistanceFilter(minDisplacement)
518
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
519
+ locationProvider.setDistanceFilter(minDisplacement)
520
+ }
514
521
  }
515
522
 
516
523
  @objc func setRequestsAlwaysUse(_ requestsAlwaysUse: Bool) {
517
- locationProviderRNMBX.setRequestsAlwaysUse(requestsAlwaysUse);
524
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
525
+ locationProvider.setRequestsAlwaysUse(requestsAlwaysUse)
526
+ }
518
527
  }
519
528
 
520
529
  @objc func simulateHeading(_ changesPerSecond: NSNumber, increment: NSNumber) {
521
- locationProviderRNMBX.simulateHeading(changesPerSecond: changesPerSecond.intValue, increment: increment.doubleValue)
530
+ if let locationProvider = locationProvider as? LocationProviderRNMBX {
531
+ locationProvider.simulateHeading(changesPerSecond: changesPerSecond.intValue, increment: increment.doubleValue)
532
+ }
522
533
  }
523
534
 
524
535
  @objc
@@ -133,10 +133,9 @@ extension RNMBXAppleLocationProviderProxy {
133
133
  class RNMBXLocationModule: RCTEventEmitter {
134
134
  static weak var shared : RNMBXLocationModule? = nil
135
135
 
136
- // var _locationProvider : RNMBXAppleLocationProviderProxy = RNMBXAppleLocationProviderProxy(provider: AppleLocationProvider())
137
- var _locationProvider : AppleLocationProvider = AppleLocationProvider()
138
- var locationUpdateObserver : AnyCancelable? = nil
139
- var locationHeadingObserver : AnyCancelable? = nil
136
+ var _locationProvider : LocationProvider & HeadingProvider = AppleLocationProvider()
137
+ var locationUpdateObserver : Cancelable? = nil
138
+ var locationHeadingObserver : Cancelable? = nil
140
139
 
141
140
  var actLocation : RNMBXLocation = RNMBXLocation()
142
141
 
@@ -164,12 +163,10 @@ class RNMBXLocationModule: RCTEventEmitter {
164
163
  }
165
164
 
166
165
  @objc func start(_ minDisplacement: CLLocationDistance) {
167
- var newOptions = _locationProvider.options
168
- newOptions.distanceFilter = minDisplacement
169
- if minDisplacement >= 0.0 { _locationProvider.options = newOptions }
166
+ setMinDisplacement(minDisplacement)
170
167
 
171
168
  locationUpdateObserver?.cancel()
172
- locationUpdateObserver = _locationProvider.onLocationUpdate.observe { location in
169
+ locationUpdateObserver = observeLocationUpdates(_locationProvider) { location in
173
170
  guard self.hasListener else { return }
174
171
 
175
172
  self.actLocation.location = location.last
@@ -178,7 +175,7 @@ class RNMBXLocationModule: RCTEventEmitter {
178
175
  }
179
176
  }
180
177
  locationHeadingObserver?.cancel()
181
- locationHeadingObserver = _locationProvider.onHeadingUpdate.observe { heading in
178
+ locationHeadingObserver = observeHeadingUpdates(_locationProvider) { heading in
182
179
  guard self.hasListener else { return }
183
180
 
184
181
  self.actLocation.heading = heading
@@ -188,6 +185,64 @@ class RNMBXLocationModule: RCTEventEmitter {
188
185
  }
189
186
  }
190
187
 
188
+ class _LocationObserver : Cancelable, LocationObserver {
189
+ weak var locationProvider: LocationProvider?
190
+ var callback: (([Location]) -> Void)?
191
+
192
+ init(_ locationProvider: LocationProvider) {
193
+ self.locationProvider = locationProvider
194
+ }
195
+
196
+ func onLocationUpdateReceived(for locations: [Location]) {
197
+ callback?(locations)
198
+ }
199
+
200
+ func cancel() {
201
+ locationProvider?.removeLocationObserver(for: self)
202
+ locationProvider = nil
203
+ }
204
+
205
+ deinit {
206
+ self.cancel()
207
+ }
208
+ }
209
+
210
+ class _HeadingObserver: Cancelable, HeadingObserver {
211
+ var headingProvider: HeadingProvider?
212
+ var callback: ((Heading) -> Void)?
213
+
214
+ init(_ headingProvider: HeadingProvider) {
215
+ self.headingProvider = headingProvider
216
+ }
217
+
218
+ func onHeadingUpdate(_ heading: MapboxMaps.Heading) {
219
+ callback?(heading)
220
+ }
221
+
222
+ func cancel() {
223
+ headingProvider?.remove(headingObserver: self)
224
+ headingProvider = nil
225
+ }
226
+
227
+ deinit {
228
+ self.cancel()
229
+ }
230
+ }
231
+
232
+ func observeLocationUpdates(_ locationProvider: LocationProvider, callback: @escaping ([Location]) -> Void) -> Cancelable {
233
+ let observer = _LocationObserver(locationProvider)
234
+ observer.callback = callback
235
+ locationProvider.addLocationObserver(for: observer)
236
+ return observer
237
+ }
238
+
239
+ func observeHeadingUpdates(_ headingProvider: HeadingProvider, callback: @escaping (Heading) -> Void) -> Cancelable {
240
+ let observer = _HeadingObserver(headingProvider)
241
+ observer.callback = callback
242
+ headingProvider.add(headingObserver: observer)
243
+ return observer
244
+ }
245
+
191
246
  @objc func stop() {
192
247
  locationUpdateObserver?.cancel()
193
248
  locationUpdateObserver = nil
@@ -199,14 +254,17 @@ class RNMBXLocationModule: RCTEventEmitter {
199
254
  @objc func getLastKnownLocation() -> RNMBXLocation? {
200
255
  let last = RNMBXLocation()
201
256
  last.heading = _locationProvider.latestHeading
202
- last.location = _locationProvider.latestLocation
257
+ last.location = _locationProvider.getLastObservedLocation()
203
258
  return last
204
259
  }
205
260
 
206
- @objc func setMinDisplacement(_ minDisplacement: CLLocationDistance) {
207
- var newOptions = _locationProvider.options
208
- newOptions.distanceFilter = minDisplacement
209
- _locationProvider.options = newOptions
261
+ @objc
262
+ func setMinDisplacement(_ minDisplacement: CLLocationDistance) {
263
+ if let appleLocationProvider = _locationProvider as? AppleLocationProvider {
264
+ var newOptions = appleLocationProvider.options
265
+ newOptions.distanceFilter = minDisplacement
266
+ if minDisplacement >= 0.0 { appleLocationProvider.options = newOptions }
267
+ }
210
268
  }
211
269
 
212
270
  @objc
@@ -236,7 +294,16 @@ class RNMBXLocationModule: RCTEventEmitter {
236
294
  get {
237
295
  return _locationProvider
238
296
  }
297
+ set(value) {
298
+ _locationProvider = value
299
+ }
239
300
  }
301
+
302
+ func overrideLocationProvider(newProvider: LocationProvider & HeadingProvider) {
303
+ _locationProvider = newProvider
304
+ }
305
+
306
+
240
307
  }
241
308
 
242
309
  class EventThrottler {
@@ -115,6 +115,14 @@ func logged<T>(_ msg: String, info: (() -> String)? = nil, errorResult: (Error)
115
115
  }
116
116
  }
117
117
 
118
+ @objc(RNMBXLogger)
119
+ public class RNMBXLogger : NSObject {
120
+ @objc
121
+ static public func error(_ message: String) {
122
+ Logger.error(message)
123
+ }
124
+ }
125
+
118
126
  @objc(RNMBXLogging)
119
127
  class RNMBXLogging: RCTEventEmitter {
120
128
  static var shared : RNMBXLogging? = nil