@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
@@ -6,12 +6,9 @@ import com.rnmapbox.rnmbx.components.AbstractMapFeature
6
6
  import com.mapbox.maps.plugin.annotation.generated.PointAnnotation
7
7
  import com.mapbox.maps.MapboxMap
8
8
  import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
9
- import com.rnmapbox.rnmbx.components.annotation.RNMBXCallout
10
9
  import com.rnmapbox.rnmbx.utils.GeoJSONUtils
11
10
  import com.rnmapbox.rnmbx.events.constants.EventTypes
12
11
  import com.mapbox.maps.plugin.annotation.generated.PointAnnotationOptions
13
- import com.mapbox.maps.plugin.annotation.generated.PointAnnotationManager
14
- import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotation
15
12
  import com.mapbox.maps.extension.style.layers.properties.generated.IconAnchor
16
13
  import com.rnmapbox.rnmbx.events.PointAnnotationClickEvent
17
14
  import android.graphics.PointF
@@ -28,7 +25,7 @@ import java.util.*
28
25
  import com.rnmapbox.rnmbx.v11compat.annotation.*;
29
26
 
30
27
  class RNMBXPointAnnotation(private val mContext: Context, private val mManager: RNMBXPointAnnotationManager) : AbstractMapFeature(mContext), View.OnLayoutChangeListener {
31
- var marker: PointAnnotation? = null
28
+ var annotation: PointAnnotation? = null
32
29
  private set
33
30
  private var mMap: MapboxMap? = null
34
31
  private val mHasChildren = false
@@ -100,8 +97,8 @@ class RNMBXPointAnnotation(private val mContext: Context, private val mManager:
100
97
 
101
98
  override fun removeFromMap(mapView: RNMBXMapView, reason: RemovalReason): Boolean {
102
99
  val map = (if (mMapView != null) mMapView else mapView) ?: return true
103
- if (marker != null) {
104
- map.pointAnnotationManager?.delete(marker!!)
100
+ if (annotation != null) {
101
+ map.pointAnnotationManager?.delete(annotation!!)
105
102
  }
106
103
  if (mChildView != null) {
107
104
  map.offscreenAnnotationViewContainer?.removeView(mChildView)
@@ -141,37 +138,37 @@ class RNMBXPointAnnotation(private val mContext: Context, private val mManager:
141
138
  val latLng: LatLng?
142
139
  get() = mCoordinate?.let { GeoJSONUtils.toLatLng(it) }
143
140
  val mapboxID: AnnotationID
144
- get() = if (marker == null) INVALID_ANNOTATION_ID else marker!!.id
141
+ get() = if (annotation == null) INVALID_ANNOTATION_ID else annotation!!.id
145
142
 
146
143
  fun setCoordinate(point: Point) {
147
144
  mCoordinate = point
148
- if (marker != null) {
149
- marker!!.point = point
150
- mMapView?.pointAnnotationManager?.update(marker!!)
145
+ annotation?.let {
146
+ it.point = point
147
+ mMapView?.pointAnnotationManager?.update(it)
151
148
  }
152
- if (mCalloutSymbol != null) {
153
- mCalloutSymbol!!.point = point
154
- mMapView?.pointAnnotationManager?.update(mCalloutSymbol!!)
149
+ mCalloutSymbol?.let {
150
+ it.point = point
151
+ mMapView?.pointAnnotationManager?.update(it)
155
152
  }
156
153
  }
157
154
 
158
155
  fun setAnchor(x: Float, y: Float) {
159
156
  mAnchor = arrayOf(x, y)
160
- if (marker != null) {
157
+ if (annotation != null) {
161
158
  updateAnchor()
162
- mMapView?.pointAnnotationManager?.update(marker!!)
159
+ mMapView?.pointAnnotationManager?.update(annotation!!)
163
160
  }
164
161
  }
165
162
 
166
163
  fun setDraggable(draggable: Boolean) {
167
164
  mDraggable = draggable
168
- if (marker != null) {
169
- marker!!.isDraggable = draggable
170
- mMapView?.pointAnnotationManager?.update(marker!!)
165
+ annotation?.let {
166
+ it.isDraggable = draggable
167
+ mMapView?.pointAnnotationManager?.update(it)
171
168
  }
172
169
  }
173
170
 
174
- fun onSelect(shouldSendEvent: Boolean) {
171
+ fun doSelect(shouldSendEvent: Boolean) {
175
172
  if (calloutView != null) {
176
173
  makeCallout()
177
174
  }
@@ -180,7 +177,7 @@ class RNMBXPointAnnotation(private val mContext: Context, private val mManager:
180
177
  }
181
178
  }
182
179
 
183
- fun onDeselect() {
180
+ fun doDeselect() {
184
181
  mManager.handleEvent(makeEvent(false))
185
182
  if (mCalloutSymbol != null) {
186
183
  mMapView?.pointAnnotationManager?.delete(mCalloutSymbol!!)
@@ -188,17 +185,17 @@ class RNMBXPointAnnotation(private val mContext: Context, private val mManager:
188
185
  }
189
186
 
190
187
  fun onDragStart() {
191
- mCoordinate = marker!!.point
188
+ mCoordinate = annotation!!.point
192
189
  mManager.handleEvent(makeDragEvent(EventTypes.ANNOTATION_DRAG_START))
193
190
  }
194
191
 
195
192
  fun onDrag() {
196
- mCoordinate = marker!!.point
193
+ mCoordinate = annotation!!.point
197
194
  mManager.handleEvent(makeDragEvent(EventTypes.ANNOTATION_DRAG))
198
195
  }
199
196
 
200
197
  fun onDragEnd() {
201
- mCoordinate = marker!!.point
198
+ mCoordinate = annotation!!.point
202
199
  mManager.handleEvent(makeDragEvent(EventTypes.ANNOTATION_DRAG_END))
203
200
  }
204
201
 
@@ -210,41 +207,42 @@ class RNMBXPointAnnotation(private val mContext: Context, private val mManager:
210
207
  .withIconSize(1.0)
211
208
  .withSymbolSortKey(10.0)
212
209
  }
213
- val symbolManager = mMapView?.pointAnnotationManager
214
- if (symbolManager != null && options != null) {
215
- marker = symbolManager.create(options)
216
- updateOptions()
210
+ mMapView?.pointAnnotationManager?.let { annotationManager ->
211
+ options?.let {
212
+ annotation = annotationManager.create(options)
213
+ updateOptions()
214
+ }
217
215
  }
218
216
  }
219
217
 
220
218
  private fun updateOptions() {
221
- if (marker != null) {
219
+ if (annotation != null) {
222
220
  updateIconImage()
223
221
  updateAnchor()
224
- mMapView?.pointAnnotationManager?.update(marker!!)
222
+ mMapView?.pointAnnotationManager?.update(annotation!!)
225
223
  }
226
224
  }
227
225
 
228
226
  private fun updateIconImage() {
229
227
  if (mChildView != null) {
230
228
  if (mChildBitmapId != null) {
231
- marker?.iconImage = mChildBitmapId
229
+ annotation?.iconImage = mChildBitmapId
232
230
  }
233
231
  } else {
234
- marker?.iconImage = MARKER_IMAGE_ID
235
- marker?.iconAnchor = IconAnchor.BOTTOM
232
+ annotation?.iconImage = MARKER_IMAGE_ID
233
+ annotation?.iconAnchor = IconAnchor.BOTTOM
236
234
  }
237
235
  }
238
236
 
239
237
  private fun updateAnchor() {
240
- if (mAnchor != null && mChildView != null && mChildBitmap != null && marker != null) {
238
+ if (mAnchor != null && mChildView != null && mChildBitmap != null && annotation != null) {
241
239
  var w = mChildBitmap!!.width
242
240
  var h = mChildBitmap!!.height
243
241
  val scale = resources.displayMetrics.density
244
242
  w = (w / scale).toInt()
245
243
  h = (h / scale).toInt()
246
- marker?.iconAnchor = IconAnchor.TOP_LEFT
247
- marker?.iconOffset = Arrays.asList(w.toDouble() * mAnchor!![0] * -1.0, h.toDouble() * mAnchor!![1] * -1.0)
244
+ annotation?.iconAnchor = IconAnchor.TOP_LEFT
245
+ annotation?.iconOffset = Arrays.asList(w.toDouble() * mAnchor!![0] * -1.0, h.toDouble() * mAnchor!![1] * -1.0)
248
246
  }
249
247
  }
250
248
 
@@ -11,6 +11,7 @@ import com.facebook.react.viewmanagers.RNMBXPointAnnotationManagerInterface
11
11
  import com.rnmapbox.rnmbx.components.AbstractEventEmitter
12
12
  import com.rnmapbox.rnmbx.components.styles.sources.RNMBXShapeSource
13
13
  import com.rnmapbox.rnmbx.events.constants.EventKeys
14
+ import com.rnmapbox.rnmbx.events.constants.eventMapOf
14
15
  import com.rnmapbox.rnmbx.utils.GeoJSONUtils.toPointGeometry
15
16
  import com.rnmapbox.rnmbx.utils.ViewTagResolver
16
17
 
@@ -32,13 +33,13 @@ class RNMBXPointAnnotationManager(reactApplicationContext: ReactApplicationConte
32
33
  }
33
34
 
34
35
  override fun customEvents(): Map<String, String> {
35
- return MapBuilder.builder<String, String>()
36
- .put(EventKeys.POINT_ANNOTATION_SELECTED, "onMapboxPointAnnotationSelected")
37
- .put(EventKeys.POINT_ANNOTATION_DESELECTED, "onMapboxPointAnnotationDeselected")
38
- .put(EventKeys.POINT_ANNOTATION_DRAG_START, "onMapboxPointAnnotationDragStart")
39
- .put(EventKeys.POINT_ANNOTATION_DRAG, "onMapboxPointAnnotationDrag")
40
- .put(EventKeys.POINT_ANNOTATION_DRAG_END, "onMapboxPointAnnotationDragEnd")
41
- .build()
36
+ return eventMapOf(
37
+ EventKeys.POINT_ANNOTATION_SELECTED to "onMapboxPointAnnotationSelected",
38
+ EventKeys.POINT_ANNOTATION_DESELECTED to "onMapboxPointAnnotationDeselected",
39
+ EventKeys.POINT_ANNOTATION_DRAG_START to "onMapboxPointAnnotationDragStart",
40
+ EventKeys.POINT_ANNOTATION_DRAG to "onMapboxPointAnnotationDrag",
41
+ EventKeys.POINT_ANNOTATION_DRAG_END to "onMapboxPointAnnotationDragEnd"
42
+ )
42
43
  }
43
44
 
44
45
  // TODO: check why it does not work correctly
@@ -334,10 +334,10 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
334
334
  if (location?.puckBearingEnabled == true) {
335
335
  when (location.puckBearingSource) {
336
336
 
337
- PuckBearingSource.HEADING -> {
337
+ PuckBearing.HEADING -> {
338
338
  UserTrackingMode.FollowWithHeading
339
339
  }
340
- PuckBearingSource.COURSE -> {
340
+ PuckBearing.COURSE -> {
341
341
  UserTrackingMode.FollowWithCourse
342
342
  }
343
343
  else -> {
@@ -468,12 +468,12 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
468
468
  when (mFollowUserMode ?: "normal") {
469
469
  "compass" -> {
470
470
  location.puckBearingEnabled = true
471
- location.puckBearingSource = PuckBearingSource.HEADING
471
+ location.puckBearingSource = PuckBearing.HEADING
472
472
  followOptions.bearing(FollowPuckViewportStateBearing.SyncWithLocationPuck)
473
473
  }
474
474
  "course" -> {
475
475
  location.puckBearingEnabled = true
476
- location.puckBearingSource = PuckBearingSource.COURSE
476
+ location.puckBearingSource = PuckBearing.COURSE
477
477
  followOptions.bearing(FollowPuckViewportStateBearing.SyncWithLocationPuck)
478
478
  }
479
479
  "normal" -> {
@@ -0,0 +1,55 @@
1
+ package com.rnmapbox.rnmbx.components.camera
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.Dynamic
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.bridge.WritableArray
7
+ import com.facebook.react.bridge.WritableMap
8
+ import com.facebook.react.common.MapBuilder
9
+ import com.facebook.react.uimanager.ThemedReactContext
10
+ import com.facebook.react.uimanager.annotations.ReactProp
11
+ import com.facebook.react.viewmanagers.RNMBXViewportManagerInterface
12
+ import com.rnmapbox.rnmbx.components.AbstractEventEmitter
13
+ import com.rnmapbox.rnmbx.events.constants.EventKeys
14
+ import com.rnmapbox.rnmbx.events.constants.eventMapOf
15
+
16
+ class RNMBXViewportManager(private val mContext: ReactApplicationContext) : AbstractEventEmitter<RNMBXViewport?>(
17
+ mContext
18
+ ), RNMBXViewportManagerInterface<RNMBXViewport> {
19
+
20
+ override fun getName(): String {
21
+ return REACT_CLASS
22
+ }
23
+
24
+ override fun createViewInstance(reactContext: ThemedReactContext): RNMBXViewport {
25
+ return RNMBXViewport(reactContext, this)
26
+ }
27
+
28
+ @ReactProp(name = "transitionsToIdleUponUserInteraction")
29
+ override fun setTransitionsToIdleUponUserInteraction(view: RNMBXViewport?, value: Dynamic?) {
30
+ view?.transitionsToIdleUponUserInteraction = value?.asBoolean()
31
+ }
32
+
33
+ @ReactProp(name = "hasStatusChanged")
34
+ override fun setHasStatusChanged(view: RNMBXViewport?, value: Boolean) {
35
+ view?.hasStatusChanged = value
36
+ }
37
+
38
+ //region Custom Events
39
+ override fun customEvents(): Map<String, String>? {
40
+ return eventMapOf(
41
+ EventKeys.VIEWPORT_STATUS_CHANGE to "onStatusChanged"
42
+ )
43
+ }
44
+
45
+ override fun getCommandsMap(): Map<String, Int>? {
46
+ return mapOf(
47
+ "_useCommandName" to 1
48
+ );
49
+ }
50
+ //endregion
51
+
52
+ companion object {
53
+ const val REACT_CLASS = "RNMBXViewport"
54
+ }
55
+ }
@@ -0,0 +1,408 @@
1
+ package com.rnmapbox.rnmbx.components.camera
2
+
3
+ import android.content.Context
4
+ import android.util.Log
5
+ import androidx.annotation.RequiresPermission.Read
6
+ import com.facebook.react.bridge.Arguments
7
+ import com.facebook.react.bridge.Callback
8
+ import com.facebook.react.bridge.Promise
9
+ import com.facebook.react.bridge.ReadableMap
10
+ import com.facebook.react.bridge.ReadableType
11
+ import com.facebook.react.bridge.UIManager
12
+ import com.facebook.react.bridge.WritableMap
13
+ import com.facebook.react.uimanager.UIManagerHelper
14
+ import com.mapbox.maps.MapView
15
+ import com.mapbox.maps.plugin.viewport.CompletionListener
16
+ import com.mapbox.maps.plugin.viewport.ViewportPlugin
17
+ import com.mapbox.maps.plugin.viewport.ViewportStatus
18
+ import com.mapbox.maps.plugin.viewport.ViewportStatusObserver
19
+ import com.mapbox.maps.plugin.viewport.data.DefaultViewportTransitionOptions
20
+ import com.mapbox.maps.plugin.viewport.data.ViewportStatusChangeReason
21
+ import com.mapbox.maps.plugin.viewport.state.FollowPuckViewportState
22
+ import com.mapbox.maps.plugin.viewport.state.OverviewViewportState
23
+ import com.mapbox.maps.plugin.viewport.state.ViewportState
24
+ import com.mapbox.maps.plugin.viewport.transition.DefaultViewportTransition
25
+ import com.mapbox.maps.plugin.viewport.transition.ViewportTransition
26
+ import com.mapbox.maps.plugin.viewport.viewport
27
+ import com.rnmapbox.rnmbx.components.AbstractMapFeature
28
+ import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
29
+ import com.rnmapbox.rnmbx.modules.RNMBXLogging
30
+ import com.rnmapbox.rnmbx.utils.Logger
31
+ import com.rnmapbox.rnmbx.utils.extensions.*
32
+ import com.rnmapbox.rnmbx.utils.writableMapOf
33
+
34
+ import com.facebook.react.uimanager.events.Event
35
+ import com.mapbox.geojson.Geometry
36
+ import com.mapbox.maps.EdgeInsets
37
+ import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateBearing
38
+ import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateOptions
39
+ import com.mapbox.maps.plugin.viewport.data.OverviewViewportStateOptions
40
+ import com.rnmapbox.rnmbx.events.constants.EventKeys
41
+
42
+ class BaseEvent(
43
+ private val surfaceId: Int,
44
+ private val viewTag: Int,
45
+ private val eventName: String,
46
+ private val eventData: WritableMap,
47
+ private val canCoalesce: Boolean = false
48
+ ): Event<BaseEvent>(surfaceId, viewTag) {
49
+ override fun getEventName(): String {
50
+ return eventName
51
+ }
52
+
53
+ override fun canCoalesce(): Boolean {
54
+ return canCoalesce
55
+ }
56
+
57
+ override fun getEventData(): WritableMap? {
58
+ return eventData
59
+ }
60
+ }
61
+
62
+ class RNMBXViewport(private val mContext: Context, private val mManager: RNMBXViewportManager) :
63
+ AbstractMapFeature(
64
+ mContext
65
+ ) {
66
+ // region properties
67
+ var transitionsToIdleUponUserInteraction: Boolean? = null
68
+ set(value: Boolean?) {
69
+ field = value
70
+ if (value != null) {
71
+ mMapView?.let { applyTransitionsToIdleUponUserIntraction(it.mapView) }
72
+ }
73
+ }
74
+
75
+ fun applyTransitionsToIdleUponUserIntraction(mapView: MapView) {
76
+ this.transitionsToIdleUponUserInteraction?.let {
77
+ mapView.viewport.options = mapView.viewport.options.toBuilder().transitionsToIdleUponUserInteraction(it).build()
78
+ }
79
+ }
80
+
81
+ var hasStatusChanged: Boolean = false
82
+ set(value: Boolean) {
83
+ field = value
84
+ mMapView?.let { applyHasStatusChanged(it.mapView) }
85
+ }
86
+ private var statusObserver: ViewportStatusObserver? = null
87
+
88
+ private fun applyHasStatusChanged(mapView: MapView) {
89
+ val viewport = mapView.viewport
90
+ if (hasStatusChanged) {
91
+ if (statusObserver == null) {
92
+ val statusObserver = ViewportStatusObserver { from, to, reason ->
93
+ val payload = writableMapOf("from" to statusToMap(from), "to" to statusToMap(to), "reason" to reasonToSrting(reason))
94
+ mManager.dispatchEvent(
95
+ BaseEvent(
96
+ UIManagerHelper.getSurfaceId(mContext),
97
+ id,
98
+ EventKeys.VIEWPORT_STATUS_CHANGE.value,
99
+ writableMapOf(
100
+ "type" to "statuschanged",
101
+ "payload" to payload
102
+ )
103
+ )
104
+ )
105
+ }
106
+ this.statusObserver = statusObserver
107
+ viewport.addStatusObserver(statusObserver)
108
+ }
109
+ } else {
110
+ statusObserver?.let {
111
+ viewport.removeStatusObserver(it)
112
+ }
113
+ }
114
+ }
115
+ // endregion
116
+
117
+ override fun addToMap(mapView: RNMBXMapView) {
118
+ super.addToMap(mapView)
119
+ applyTransitionsToIdleUponUserIntraction(mapView.mapView)
120
+ applyHasStatusChanged(mapView.mapView)
121
+ }
122
+
123
+ private fun toState(viewport: ViewportPlugin, state: ReadableMap): ViewportState? {
124
+ return when (val kind = state.getAndLogIfNotString("kind")) {
125
+ "followPuck" -> viewport.makeFollowPuckViewportState(
126
+ parseFollowViewportOptions(state)
127
+ )
128
+ "overview" -> return viewport.makeOverviewViewportState(
129
+ parseOverviewViewportOption(state)
130
+ )
131
+ else -> {
132
+ Logger.e(LOG_TAG, "toState: unexpected state: $kind")
133
+ null
134
+ }
135
+ }
136
+ }
137
+
138
+ data class FollowPuckViewportStateBearingOrNull(val state: FollowPuckViewportStateBearing?)
139
+ private fun parseFollowViewportOptions(state: ReadableMap): FollowPuckViewportStateOptions {
140
+ val builder = FollowPuckViewportStateOptions.Builder()
141
+ state.getAndLogIfNotMap("options", LOG_TAG)?.let { options ->
142
+ if (options.hasKey("zoom")) {
143
+ if (options.isKeep("zoom")) {
144
+ builder.zoom(null)
145
+ } else {
146
+ options.getAndLogIfNotDouble("zoom", LOG_TAG)?.let { zoom ->
147
+ builder.zoom(zoom)
148
+ }
149
+ }
150
+ }
151
+ if (options.hasKey("pitch")) {
152
+ if (options.isKeep("pitch")) {
153
+ builder.pitch(null)
154
+ } else {
155
+ options.getAndLogIfNotDouble("pitch", LOG_TAG)?.let {pitch ->
156
+ builder.pitch(pitch)
157
+ }
158
+ }
159
+ }
160
+
161
+ if (options.hasKey("bearing")) {
162
+ when (options.getType("bearing")) {
163
+ ReadableType.Number ->
164
+ FollowPuckViewportStateBearingOrNull(FollowPuckViewportStateBearing.Constant(options.getDouble("bearing")))
165
+
166
+ ReadableType.String ->
167
+ when (options.getString("bearing")) {
168
+ "course" ->
169
+ FollowPuckViewportStateBearingOrNull(FollowPuckViewportStateBearing.SyncWithLocationPuck)
170
+ "heading" ->
171
+ FollowPuckViewportStateBearingOrNull(FollowPuckViewportStateBearing.SyncWithLocationPuck)
172
+ "keep" ->
173
+ FollowPuckViewportStateBearingOrNull(null)
174
+ else -> {
175
+ Logger.e(
176
+ LOG_TAG,
177
+ "bearing in viewport options should be either a constant number or syncWithLocationPuck"
178
+ )
179
+ null
180
+ }
181
+ }
182
+ else -> {
183
+ Logger.e(
184
+ LOG_TAG,
185
+ "bearing in viewport options should be either constant number or course or heading or keep"
186
+ )
187
+ null
188
+ }
189
+ }?.let { bearing ->
190
+ builder.bearing(bearing.state)
191
+ }
192
+ }
193
+ if (options.hasKey("padding")) {
194
+ if (options.isNull("padding")) {
195
+ builder.padding(null)
196
+ } else {
197
+ options.getAndLogIfNotMap("padding", LOG_TAG)?.let { paddingMap ->
198
+ paddingMap?.toPadding(LOG_TAG, resources.displayMetrics.density)?.let { padding ->
199
+ builder.padding(padding)
200
+ }
201
+ }
202
+ }
203
+ }
204
+ }
205
+ return builder.build()
206
+ }
207
+
208
+ private fun parseOverviewViewportOption(state: ReadableMap): OverviewViewportStateOptions {
209
+ val builder = OverviewViewportStateOptions.Builder()
210
+
211
+ state.getAndLogIfNotMap("options", LOG_TAG)?.let { options ->
212
+ if (options.hasKey("padding")) {
213
+ if (!options.isNull("padding")) {
214
+ options.getAndLogIfNotMap("padding", LOG_TAG)?.let { paddingMap ->
215
+ paddingMap?.toPadding(LOG_TAG, resources.displayMetrics.density)?.let { padding ->
216
+ builder.padding(padding)
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+ if (options.hasKey("bearing")) {
223
+ when (options.getType("bearing")) {
224
+ ReadableType.Number ->
225
+ builder.bearing(options.getDouble("bearing"))
226
+ ReadableType.Null ->
227
+ builder.bearing(null)
228
+ else -> {
229
+ Logger.e(
230
+ LOG_TAG,
231
+ "bearing in viewport options should be either constant number or null"
232
+ )
233
+ null
234
+ }
235
+ }
236
+ }
237
+
238
+ if (options.hasKey("pitch")) {
239
+ if (options.isNull("pitch")) {
240
+ builder.pitch(null)
241
+ } else {
242
+ options.getAndLogIfNotDouble("pitch", LOG_TAG)?.let {pitch ->
243
+ builder.pitch(pitch)
244
+ }
245
+ }
246
+ }
247
+
248
+ if (options.hasKey("animationDuration")) {
249
+ if (!options.isNull("animationDuration")) {
250
+ options.getAndLogIfNotDouble("zoom", LOG_TAG)?.let { duration ->
251
+ builder.animationDurationMs((duration * 1000.0).toLong())
252
+ }
253
+ }
254
+ }
255
+
256
+ if (options.hasKey("geometry")) {
257
+ options.getAndLogIfNotMap("geometry")?.let {map ->
258
+ map.toGeometry()?.let { geometry ->
259
+ builder.geometry(geometry)
260
+ }
261
+ }
262
+ }
263
+ }
264
+
265
+ return builder.build()
266
+ }
267
+
268
+
269
+ private fun toDefaultViewportTransitionOptions(state: ReadableMap?): DefaultViewportTransitionOptions {
270
+ val builder = DefaultViewportTransitionOptions.Builder()
271
+ if (state?.hasKey("maxDurationMs") == true) {
272
+ val maxDurationMs = state.getAndLogIfNotDouble("maxDurationMs", LOG_TAG)
273
+ if (maxDurationMs != null) {
274
+ builder.maxDurationMs(maxDurationMs.toLong())
275
+ }
276
+ builder.build()
277
+ }
278
+ return builder.build()
279
+ }
280
+
281
+ private fun toGeometry(geometry: ReadableMap): Geometry? {
282
+ return geometry.toGeometry()
283
+ }
284
+
285
+ private fun toTransition(viewport: ViewportPlugin, state: ReadableMap?): ViewportTransition? {
286
+ viewport.idle()
287
+ return when (val kind = state?.getAndLogIfNotString("kind", LOG_TAG)) {
288
+ "default" -> viewport.makeDefaultViewportTransition(
289
+ toDefaultViewportTransitionOptions(state?.getMap("options"))
290
+ )
291
+ "immediate" -> viewport.makeImmediateViewportTransition()
292
+ null -> null
293
+ else -> {
294
+ Logger.e(LOG_TAG, "toTransition: unexpected transition to: $kind")
295
+ null
296
+ }
297
+ }
298
+ }
299
+
300
+ fun transitionTo(state: ReadableMap,
301
+ transition: ReadableMap?,
302
+ promise: Promise
303
+ ) {
304
+ val mapView = mMapView
305
+ if (mapView == null) {
306
+ Logger.e(LOG_TAG, "transitionTo: mapView is null")
307
+ return
308
+ }
309
+
310
+ val toState = toState(mapView.mapView.viewport, state)
311
+ if (toState == null) {
312
+ Logger.e(LOG_TAG, "transitionTo: no state to transition to: $state")
313
+ return;
314
+ }
315
+ val transition = toTransition(mapView.mapView.viewport, transition)
316
+
317
+ mapView.mapView.viewport.transitionTo(toState, transition, CompletionListener { promise.resolve(it) } )
318
+ }
319
+
320
+ fun idle() {
321
+ val mapView = mMapView
322
+ if (mapView == null) {
323
+ Logger.e(LOG_TAG, "transitionTo: mapView is null")
324
+ return
325
+ }
326
+
327
+ mapView.mapView.viewport.idle()
328
+ }
329
+
330
+ private fun transitionToMap(transition: ViewportTransition): WritableMap? {
331
+ return when (transition) {
332
+ is DefaultViewportTransition -> writableMapOf("kind" to "default", "maxDurationMs" to transition.options.maxDurationMs)
333
+ else ->
334
+ if (transition.javaClass.toString().indexOf("ImmediateViewportTransition") >= 0) {
335
+ writableMapOf("kind" to "immediate")
336
+ } else {
337
+ writableMapOf("kind" to "unknown")
338
+ }
339
+ }
340
+ }
341
+
342
+ private fun stateToMap(state: ViewportState): WritableMap? {
343
+ return when (state) {
344
+ is FollowPuckViewportState -> writableMapOf("kind" to "followPuck")
345
+ is OverviewViewportState -> writableMapOf("kind" to "overview")
346
+ else -> {
347
+ writableMapOf("kind" to "custom", "impl" to state.javaClass.toString())
348
+ }
349
+ }
350
+ }
351
+
352
+ private fun statusToMap(status: ViewportStatus): WritableMap? {
353
+ return when (status) {
354
+ is ViewportStatus.Idle -> {
355
+ writableMapOf(
356
+ "kind" to "idle"
357
+ )
358
+ }
359
+
360
+ is ViewportStatus.State -> {
361
+ writableMapOf(
362
+ "kind" to "state",
363
+ "state" to stateToMap(status.state)
364
+ )
365
+ }
366
+
367
+ is ViewportStatus.Transition -> {
368
+ writableMapOf(
369
+ "kind" to "transition",
370
+ "transition" to transitionToMap(status.transition),
371
+ "toState" to stateToMap(status.toState)
372
+ )
373
+ }
374
+ }
375
+ }
376
+
377
+ private fun reasonToSrting(reason: ViewportStatusChangeReason): String {
378
+ return when (reason) {
379
+ ViewportStatusChangeReason.IDLE_REQUESTED -> "IdleRequested"
380
+ ViewportStatusChangeReason.TRANSITION_FAILED -> "TransitionFailed"
381
+ ViewportStatusChangeReason.TRANSITION_STARTED -> "TransitionStarted"
382
+ ViewportStatusChangeReason.USER_INTERACTION -> "UserInteraction"
383
+ ViewportStatusChangeReason.TRANSITION_SUCCEEDED -> "TransitionSucceeded"
384
+ else -> {
385
+ "Unknown:${reason.toString()}"
386
+ }
387
+ }
388
+ }
389
+
390
+ fun getState(): WritableMap? {
391
+ val mapView = mMapView
392
+ if (mapView == null) {
393
+ Logger.e(LOG_TAG, "getState: mapView is null")
394
+ return null
395
+ }
396
+ return statusToMap(mapView.mapView.viewport.status)
397
+ }
398
+
399
+ companion object {
400
+ const val LOG_TAG = "RNMBXViewport"
401
+ }
402
+ }
403
+
404
+ private fun ReadableMap.isKeep(s: String): Boolean {
405
+ return ((getType(s) == ReadableType.String) && (getString(s) == "keep"))
406
+ }
407
+
408
+