@rnmapbox/maps 10.1.0 → 10.1.2

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 +521 -210
  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
@@ -348,9 +348,7 @@ class RNMBXStyleValue {
348
348
  return .constant(valueObj.map { $0.doubleValue })
349
349
  } else {
350
350
  do {
351
- let data = try JSONSerialization.data(withJSONObject: valueObj, options: .prettyPrinted)
352
- let decodedExpression = try JSONDecoder().decode(Expression.self, from: data)
353
- return .expression(decodedExpression)
351
+ return .expression(try _toExpressions(valueObj))
354
352
  } catch {
355
353
  Logger.log(level: .error, message: "Invalid value for array number: \(value) error: \(error) setting dummy value")
356
354
  return .constant([1.0,1.0])
@@ -358,6 +356,39 @@ class RNMBXStyleValue {
358
356
  }
359
357
  }
360
358
 
359
+ private func _toExpressions(_ valueObj: Any) throws -> Expression {
360
+ if let valueObj = valueObj as? NSNumber {
361
+ throw RNMBXError.parseError("valueObj is a single number and cannot be converted to expressions")
362
+ }
363
+
364
+ let data = try JSONSerialization.data(withJSONObject: valueObj, options: .prettyPrinted)
365
+ let decodedExpression = try JSONDecoder().decode(Expression.self, from: data)
366
+ return decodedExpression
367
+ }
368
+
369
+ func mglStyleValueString() -> Value<String> {
370
+ if let value = value as? Dictionary<String,Any> {
371
+ let value = RNMBXStyleValue.convert(value["stylevalue"] as! [String:Any])
372
+ if let value = value as? String {
373
+ return Value.constant(value)
374
+ } else if let value = value as? [Any] {
375
+ if let parsedExpression = (logged("mglStyleValueEnum: failed to parse expression") {
376
+ try parseExpression(value)
377
+ }) {
378
+ return .expression(parsedExpression)
379
+ } else {
380
+ return Value.constant(value[0] as! String)
381
+ }
382
+ } else {
383
+ Logger.log(level: .error, message:"Invalid value for string (nor string, not array): \(value) returning something")
384
+ return Value.constant("")
385
+ }
386
+ } else {
387
+ Logger.log(level: .error, message:"Invalid value for enum: \(value) returning something")
388
+ return Value.constant("")
389
+ }
390
+ }
391
+
361
392
  func mglStyleValueArrayString() -> Value<[String]> {
362
393
  guard let value = value as? Dictionary<String,Any> else {
363
394
  Logger.log(level: .error, message: "Invalid value for array of strings: \(value)")
@@ -525,7 +556,28 @@ class RNMBXStyleValue {
525
556
  }
526
557
 
527
558
  func mglStyleValueArrayTextVariableAnchor() -> Value<[TextAnchor]> {
528
- return Value.constant([.left])
559
+ guard let value = value as? Dictionary<String,Any> else {
560
+ Logger.log(level: .error, message: "Invalid value for array of TextAnchor: \(value)")
561
+ return .constant([.left])
562
+ }
563
+ let valueObj = RNMBXStyleValue.convert(value["stylevalue"] as! [String:Any])
564
+
565
+ if let valueObj = valueObj as? [String] {
566
+ let convertedVal = valueObj.compactMap(TextAnchor.init(rawValue:))
567
+ return .constant(convertedVal)
568
+ } else {
569
+ do {
570
+ if valueObj is String {
571
+ throw StyleConversionError.unexpectedType(message: "should be array constant or expression")
572
+ }
573
+ let data = try JSONSerialization.data(withJSONObject: valueObj, options: .prettyPrinted)
574
+ let decodedExpression = try JSONDecoder().decode(Expression.self, from: data)
575
+ return .expression(decodedExpression)
576
+ } catch {
577
+ Logger.log(level: .error, message: "Invalid value for array => value: \(value) error: \(error) setting dummy value")
578
+ return .constant([.left])
579
+ }
580
+ }
529
581
  }
530
582
 
531
583
  #if RNMBX_11
@@ -8,9 +8,8 @@ class RNMBXUtils {
8
8
  RNMBXImageQueue.sharedInstance.addImage(url, scale: scale, bridge: bridge, handler: callback)
9
9
  }
10
10
 
11
- static func fetchImages(_ bridge: RCTBridge, style: Style, objects: [String:Any], forceUpdate: Bool, loaded: @escaping (_ name:String) -> Void, callback: @escaping ()->Void) {
11
+ static func fetchImages(_ bridge: RCTBridge, style: Style, objects: [String:Any], forceUpdate: Bool, loaded: @escaping (String, UIImage) -> Void) {
12
12
  guard !objects.isEmpty else {
13
- callback()
14
13
  return
15
14
  }
16
15
 
@@ -19,9 +18,6 @@ class RNMBXUtils {
19
18
 
20
19
  let imageLoadedBlock = { () in
21
20
  imagesToLoad = imagesToLoad - 1;
22
- if imagesToLoad == 0 {
23
- callback()
24
- }
25
21
  }
26
22
 
27
23
  for imageName in imageNames {
@@ -55,8 +51,7 @@ class RNMBXUtils {
55
51
  if let image = image {
56
52
  logged("RNMBXUtils.fetchImage-\(imageName)") {
57
53
  try style.addImage(image, id: imageName, sdf:sdf, stretchX: stretchX, stretchY: stretchY, content: content)
58
- loaded(imageName)
59
- imageLoadedBlock()
54
+ loaded(imageName, image)
60
55
  }
61
56
  }
62
57
  }
@@ -0,0 +1,349 @@
1
+ @_spi(Experimental) import MapboxMaps
2
+
3
+ #if RNMBX_11
4
+ #else
5
+ typealias ViewportManager = Viewport
6
+ #endif
7
+
8
+ @objc(RNMBXViewport)
9
+ open class RNMBXViewport : UIView, RNMBXMapComponent, ViewportStatusObserver {
10
+ var mapView: MapView? = nil
11
+
12
+ // MARK: React properties
13
+ @objc
14
+ public var onStatusChanged: RCTBubblingEventBlock? = nil
15
+
16
+ @objc
17
+ public var hasStatusChanged: Bool = false {
18
+ didSet {
19
+ if let mapView = mapView {
20
+ applyHasStatusChanged(mapView: mapView)
21
+ }
22
+ }
23
+ }
24
+
25
+ func applyHasStatusChanged(mapView: MapView) {
26
+ if (hasStatusChanged) {
27
+ mapView.viewport.addStatusObserver(self)
28
+ } else {
29
+ mapView.viewport.removeStatusObserver(self)
30
+ }
31
+ }
32
+
33
+ public func viewportStatusDidChange(from fromStatus: ViewportStatus,
34
+ to toStatus: ViewportStatus,
35
+ reason: ViewportStatusChangeReason)
36
+ {
37
+ onStatusChanged?([
38
+ "type": "statuschanged",
39
+ "payload": [
40
+ "from": statusToMap(fromStatus),
41
+ "to": statusToMap(toStatus),
42
+ "reason": reasonToString(reason)
43
+ ]])
44
+ }
45
+
46
+ @objc
47
+ public var transitionsToIdleUponUserInteraction: NSNumber? = nil {
48
+ didSet {
49
+ if let mapView = mapView {
50
+ apply(mapView: mapView)
51
+ }
52
+ }
53
+ }
54
+
55
+ func waitForStyleLoad() -> Bool {
56
+ true
57
+ }
58
+
59
+ func addToMap(_ map: RNMBXMapView, style: Style) {
60
+ mapView = map.mapView
61
+ applyHasStatusChanged(mapView: mapView!)
62
+ apply(mapView: map.mapView)
63
+ }
64
+
65
+ func removeFromMap(_ map: RNMBXMapView, reason: RemovalReason) -> Bool {
66
+ if (hasStatusChanged) {
67
+ map.mapView.viewport.removeStatusObserver(self)
68
+ }
69
+ self.mapView = nil
70
+ return true
71
+ }
72
+
73
+ func apply(mapView: MapView) {
74
+ if let value = transitionsToIdleUponUserInteraction {
75
+ var origOptions = mapView.viewport.options
76
+ origOptions.transitionsToIdleUponUserInteraction = value.boolValue
77
+ mapView.viewport.options = origOptions
78
+ }
79
+ }
80
+
81
+ func reasonToString(_ reason: ViewportStatusChangeReason) -> String {
82
+ switch (reason) {
83
+ case .idleRequested:
84
+ return "IdleRequested"
85
+ case .transitionFailed:
86
+ return "TransitionFailed"
87
+ case .transitionStarted:
88
+ return "TransitionStarted"
89
+ case .transitionSucceeded:
90
+ return "TransitionSucceeded"
91
+ case .userInteraction:
92
+ return "UserInteraction"
93
+ default:
94
+ return "Unknown:\(reason)"
95
+ }
96
+ }
97
+
98
+ func stateToMap(_ state: ViewportState) -> [String: Any] {
99
+ if let state = state as? FollowPuckViewportState {
100
+ return ["kind": "followPuck"]
101
+ } else if let state = state as? OverviewViewportState {
102
+ return ["kind": "overview"]
103
+ } else {
104
+ return ["kind": "custom", "impl": "\(type(of: state))"]
105
+ }
106
+ }
107
+
108
+ func transitionToMap(_ transition: ViewportTransition) -> [String:Any] {
109
+ if let transition = transition as? DefaultViewportTransition {
110
+ return ["kind": "default", "maxDurationMs": transition.options.maxDuration * 1000.0] as [String:Any]
111
+ } else if let transition = transition as? ImmediateViewportTransition {
112
+ return ["kind": "immediate"]
113
+ } else {
114
+ return ["kind": "unknown", "impl": "\(type(of: transition))"]
115
+ }
116
+ }
117
+
118
+ func statusToMap(_ status: ViewportStatus) -> [String: Any] {
119
+ switch (status) {
120
+ case .idle:
121
+ return ["kind": "idle"]
122
+ case .state(let state):
123
+ return ["kind": "state",
124
+ "state": stateToMap(state)
125
+ ] as [String : Any]
126
+ case .transition(let transition, let toState):
127
+ return ["kind": "transition",
128
+ "transition": transitionToMap(transition),
129
+ "toState": stateToMap(toState)
130
+ ] as [String:Any]
131
+ }
132
+ }
133
+
134
+ func getState() -> [String:Any] {
135
+ guard let mapView = mapView else {
136
+ Logger.log(level:.error, message: "mapView is null in RNMBXViewport.getState")
137
+ return [:]
138
+ }
139
+ return statusToMap(mapView.viewport.status)
140
+ }
141
+
142
+ func idle() {
143
+ guard let mapView = mapView else {
144
+ Logger.log(level:.error, message: "mapView is null in RNMBXViewport.idle")
145
+ return
146
+ }
147
+ mapView.viewport.idle()
148
+ }
149
+
150
+ func toState(_ viewport: ViewportManager?,_ state: [String:Any]) -> ViewportState? {
151
+ guard let viewport = viewport else {
152
+ Logger.log(level:.error, message: "no viewport")
153
+ return nil
154
+ }
155
+ guard let kind = state["kind"] as? String else {
156
+ Logger.log(level:.error, message: "no kind found in state")
157
+ return nil
158
+ }
159
+
160
+ switch (kind) {
161
+ case "followPuck":
162
+ return viewport.makeFollowPuckViewportState(options:
163
+ parseFollowViewportOptions(state)
164
+ )
165
+ case "overview":
166
+ if let options = parseOverviewViewportOptions(state) {
167
+ return viewport.makeOverviewViewportState(options: options)
168
+ } else {
169
+ Logger.log(level:.error, message: "Cannot parse overview options")
170
+ return nil
171
+ }
172
+ default:
173
+ Logger.log(level:.error, message: "unexpected state kind: \(kind)")
174
+ return nil
175
+ }
176
+ }
177
+
178
+ func parseFollowViewportOptions(_ state: [String:Any]) -> FollowPuckViewportStateOptions {
179
+ var result = FollowPuckViewportStateOptions()
180
+ if let options = state["options"] as? [String:Any] {
181
+ if let zoom = options["zoom"] as? String, (zoom == "keep") {
182
+ result.zoom = nil
183
+ } else if let zoom = options["zoom"] as? Double {
184
+ result.zoom = zoom
185
+ } else if options["zoom"] != nil {
186
+ Logger.log(level: .error, message: "parseFollowViewportOptions expected zoom to be number or 'keep', but was \(options["zoom"])")
187
+ }
188
+
189
+ if let pitch = options["pitch"] as? String, (pitch == "keep") {
190
+ result.pitch = nil
191
+ } else if let pitch = options["pitch"] as? Double {
192
+ result.pitch = pitch
193
+ } else if options["pitch"] != nil{
194
+ Logger.log(level: .error, message: "parseFollowViewportOptions expected pitch to be number or 'keep', but was \(options["pitch"])")
195
+ }
196
+
197
+ if let bearing = options["bearing"] as? String {
198
+ switch (bearing) {
199
+ case "keep":
200
+ result.bearing = nil
201
+ case "course":
202
+ result.bearing = .course
203
+ case "heading":
204
+ result.bearing = .heading
205
+ default:
206
+ Logger.log(level: .error, message: "bearing expected to be a number or 'keep' or 'course' or 'heading', but was \(options["bearing"])")
207
+ }
208
+ } else if let bearing = options["bearing"] as? NSNumber {
209
+ result.bearing = .constant(bearing.doubleValue)
210
+ } else if options["bearing"] != nil {
211
+ Logger.log(level: .error, message: "bearing expected to be a number or 'keep' or 'course' or 'heading', but was \(options["bearing"])")
212
+ }
213
+
214
+ if let padding = options["padding"] as? String, (padding == "keep") {
215
+ result.padding = nil
216
+ } else if let padding = options["padding"] as? [String: NSNumber] {
217
+ result.padding = toPadding(padding)
218
+ } else if (options["padding"] != nil) {
219
+ Logger.log(level: .error, message: "padding expected to be an object or 'keep' or but was \(options["bearing"])")
220
+ }
221
+ }
222
+
223
+ return result
224
+ }
225
+
226
+ func parseOverviewViewportOptions(_ state: [String:Any]) -> OverviewViewportStateOptions? {
227
+ guard let options = state["options"] as? [String:Any] else {
228
+ return nil
229
+ }
230
+ guard let geometry = options["geometry"], let geometry = toGeometry(geometry) else {
231
+ return nil
232
+ }
233
+
234
+ var result = OverviewViewportStateOptions(geometry: geometry)
235
+
236
+ if let padding = options["padding"] as? [String: NSNumber] {
237
+ result.padding = toPadding(padding)
238
+ } else if (options["padding"] != nil) {
239
+ Logger.log(level: .error, message: "padding expected to be an object or nil or but was \(options["padding"])")
240
+ }
241
+
242
+ if options["bearing"] == nil {
243
+ result.bearing = (CLLocationDirection?)(nil)
244
+ } else if let bearing = options["bearing"] as? NSNumber {
245
+ result.bearing = bearing.doubleValue
246
+ } else if options["bearing"] != nil {
247
+ Logger.log(level: .error, message: "bearing expected to be a number or nil but was \(options["bearing"])")
248
+ }
249
+
250
+ if options["pitch"] == nil {
251
+ result.pitch = (CGFloat?)(nil)
252
+ } else if let pitch = options["pitch"] as? Double {
253
+ result.pitch = pitch
254
+ } else if options["pitch"] != nil{
255
+ Logger.log(level: .error, message: "parseOverviewViewportOptions expected pitch to be number or nil, but was \(options["pitch"])")
256
+ }
257
+
258
+ if let animationDuration = options["animationDuration"] as? Double {
259
+ result.animationDuration = animationDuration
260
+ } else if let animationDuration = options["animationDuration"] as? NSNumber {
261
+ result.animationDuration = animationDuration.doubleValue
262
+ } else if options["animationDuration"] != nil {
263
+ Logger.log(level: .error, message: "parseOverviewViewportOptions expected animationDuration to be a number or nil but was \(options["animationDuration"])")
264
+ }
265
+
266
+ return result
267
+ }
268
+
269
+ func toGeometry(_ geometry: Any) -> GeometryConvertible? {
270
+ return logged("toGeometry") {
271
+ let jsonData = try JSONSerialization.data(withJSONObject: geometry)
272
+ let geometry = try JSONDecoder().decode(Geometry.self, from: jsonData)
273
+ return geometry
274
+ }
275
+ }
276
+
277
+ func toTransition(_ from: [String: Any], _ viewport: ViewportManager?) -> ViewportTransition? {
278
+ guard let viewport = viewport else {
279
+ Logger.log(level:.error, message: "no viewport")
280
+ return nil
281
+ }
282
+ guard let kind = from["kind"] as? String else {
283
+ Logger.log(level:.error, message: "no kind found in state")
284
+ return nil
285
+ }
286
+
287
+ switch (kind) {
288
+ case "immediate":
289
+ return viewport.makeImmediateViewportTransition()
290
+ case "default":
291
+ var options = DefaultViewportTransitionOptions()
292
+ if let maxDurationMs = from["maxDurationMs"] as? NSNumber {
293
+ options.maxDuration = maxDurationMs.doubleValue/1000.0
294
+ }
295
+ return viewport.makeDefaultViewportTransition(
296
+ options: options
297
+ )
298
+
299
+ default:
300
+ Logger.log(level:.error, message: "unexpected transition kind: \(kind)")
301
+ return nil
302
+ }
303
+ }
304
+
305
+ func transitionTo(
306
+ state: [String: Any],
307
+ transition: [String: Any],
308
+ resolve: @escaping (NSNumber) -> Void
309
+ ) {
310
+ guard let mapView = mapView else {
311
+ Logger.log(level:.error, message: "mapView is null in RNMBXViewport.transitionTo")
312
+ return
313
+ }
314
+ guard let state = toState(mapView.viewport, state) else {
315
+ Logger.log(level:.error, message: "unable to parse toState in RNMBXViewport.transitionTo")
316
+ return
317
+ }
318
+ guard let transition = toTransition(transition, mapView.viewport) else {
319
+ Logger.log(level:.error, message: "unable to parse transition in RNMBXViewport.transitionTo")
320
+ return
321
+ }
322
+ mapView.viewport.transition(to: state, transition: transition) { completed in
323
+ resolve(NSNumber(booleanLiteral: completed))
324
+ }
325
+ }
326
+ }
327
+
328
+
329
+ func toPadding(_ value: [String: NSNumber]) -> UIEdgeInsets {
330
+ var result = UIEdgeInsets()
331
+
332
+ if let top = value["top"] as? NSNumber {
333
+ result.top = top.CGFloat
334
+ }
335
+
336
+ if let bottom = value["bottom"] as? NSNumber {
337
+ result.bottom = bottom.CGFloat
338
+ }
339
+
340
+ if let left = value["left"] as? NSNumber {
341
+ result.left = left.CGFloat
342
+ }
343
+
344
+ if let right = value["right"] as? NSNumber {
345
+ result.right = right.CGFloat
346
+ }
347
+
348
+ return result
349
+ }
@@ -0,0 +1,17 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+
3
+ #import <UIKit/UIKit.h>
4
+
5
+ #import <React/RCTUIManager.h>
6
+ #import <React/RCTViewComponentView.h>
7
+
8
+ NS_ASSUME_NONNULL_BEGIN
9
+
10
+
11
+ @interface RNMBXViewportComponentView : RCTViewComponentView
12
+
13
+ @end
14
+
15
+ NS_ASSUME_NONNULL_END
16
+
17
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,119 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+
3
+ #import "RNMBXViewportComponentView.h"
4
+
5
+ #import <React/RCTConversions.h>
6
+ #import <React/RCTFabricComponentsPlugins.h>
7
+
8
+ #import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
9
+ #import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
10
+ #import <react/renderer/components/rnmapbox_maps_specs/Props.h>
11
+ #import <react/renderer/components/rnmapbox_maps_specs/RCTComponentViewHelpers.h>
12
+
13
+ #import "rnmapbox_maps-Swift.pre.h"
14
+
15
+ #import "RCTFollyConvert.h"
16
+
17
+
18
+ // TODO: use generated RNMBXViewportEventEmitter, but need 0.73+ for dynamic support
19
+ class RNMBXViewportEventEmitter : public facebook::react::ViewEventEmitter {
20
+ public:
21
+ using facebook::react::ViewEventEmitter::ViewEventEmitter;
22
+
23
+ struct OnStatusChanged {
24
+ std::string type;
25
+ folly::dynamic payload;
26
+ };
27
+ void onStatusChanged(OnStatusChanged $event) const {
28
+ dispatchEvent("statusChanged", [$event=std::move($event)](facebook::jsi::Runtime &runtime) {
29
+ auto $payload = facebook::jsi::Object(runtime);
30
+ $payload.setProperty(runtime, "type", $event.type);
31
+ $payload.setProperty(runtime, "payload", facebook::jsi::valueFromDynamic(runtime, $event.payload));
32
+ return $payload;
33
+ });
34
+ }
35
+ };
36
+
37
+ using namespace facebook::react;
38
+
39
+ NSNumber* convertDynamicToOptional_boolean(const folly::dynamic &dyn, NSString* propertyName) {
40
+ switch (dyn.type()) {
41
+ case folly::dynamic::NULLT:
42
+ return NULL;
43
+ case folly::dynamic::BOOL:
44
+ return [NSNumber numberWithBool:dyn.getBool()];
45
+ default:
46
+ std::stringstream ss;
47
+ ss << dyn;
48
+ [RNMBXLogger error:[NSString stringWithFormat:@"Property %@ expected to be a boolean or nil but was: $d",
49
+ propertyName,
50
+ ss.str().c_str()
51
+ ]];
52
+ }
53
+ }
54
+
55
+ @implementation RNMBXViewportComponentView {
56
+ RNMBXViewport *_view;
57
+ }
58
+
59
+ - (instancetype)initWithFrame:(CGRect)frame
60
+ {
61
+ if (self = [super initWithFrame:frame]) {
62
+ static const auto defaultProps = std::make_shared<const RNMBXViewportProps>();
63
+ _props = defaultProps;
64
+ _view = [[RNMBXViewport alloc] init];
65
+ [self prepareView];
66
+
67
+ self.contentView = _view;
68
+ }
69
+
70
+ return self;
71
+ }
72
+
73
+ - (void)prepareView
74
+ {
75
+ __weak __typeof__(self) weakSelf = self;
76
+
77
+ [_view setOnStatusChanged:^(NSDictionary* event) {
78
+ __typeof__(self) strongSelf = weakSelf;
79
+
80
+ if (strongSelf != nullptr && strongSelf->_eventEmitter != nullptr) {
81
+ auto type = std::string([[event objectForKey:@"type"] UTF8String]);
82
+ auto payload = convertIdToFollyDynamic([event objectForKey:@"payload"]);
83
+ ::RNMBXViewportEventEmitter::OnStatusChanged event = {type, payload};
84
+ std::reinterpret_pointer_cast<const ::RNMBXViewportEventEmitter>(strongSelf->_eventEmitter)->onStatusChanged(event);
85
+ }
86
+ }];
87
+ }
88
+
89
+
90
+ #pragma mark - RCTComponentViewProtocol
91
+
92
+ + (ComponentDescriptorProvider)componentDescriptorProvider
93
+ {
94
+ return concreteComponentDescriptorProvider<RNMBXViewportComponentDescriptor>();
95
+ }
96
+
97
+ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps
98
+ {
99
+ const auto &oldViewProps = static_cast<const RNMBXViewportProps &>(*oldProps);
100
+ const auto &newViewProps = static_cast<const RNMBXViewportProps &>(*props);
101
+
102
+ if (!oldProps.get() || oldViewProps.transitionsToIdleUponUserInteraction != newViewProps.transitionsToIdleUponUserInteraction) {
103
+ _view.transitionsToIdleUponUserInteraction = convertDynamicToOptional_boolean(newViewProps.transitionsToIdleUponUserInteraction, @"transitionsToIdleUponUserInteraction");
104
+ }
105
+ if (!oldProps.get() ||
106
+ oldViewProps.hasStatusChanged !=
107
+ newViewProps.hasStatusChanged) {
108
+ _view.hasStatusChanged = newViewProps.hasStatusChanged;
109
+ }
110
+ [super updateProps:props oldProps:oldProps];
111
+ }
112
+ @end
113
+
114
+ Class<RCTComponentViewProtocol> RNMBXViewportCls(void)
115
+ {
116
+ return RNMBXViewportComponentView.class;
117
+ }
118
+
119
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,12 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTViewManager.h>
3
+
4
+ @interface RCT_EXTERN_REMAP_MODULE(RNMBXViewport, RNMBXViewportManager, RCTViewManager)
5
+
6
+ RCT_EXPORT_VIEW_PROPERTY(transitionsToIdleUponUserInteraction, NSNumber)
7
+
8
+ RCT_EXPORT_VIEW_PROPERTY(hasStatusChanged, BOOL)
9
+
10
+ RCT_EXPORT_VIEW_PROPERTY(onStatusChanged, RCTBubblingEventBlock)
11
+
12
+ @end
@@ -0,0 +1,38 @@
1
+ @objc(RNMBXViewportManager)
2
+ public class RNMBXViewportManager : RCTViewManager {
3
+ @objc
4
+ public override static func requiresMainQueueSetup() -> Bool {
5
+ return true
6
+ }
7
+
8
+ public override func view() -> UIView! {
9
+ let layer = RNMBXViewport()
10
+ return layer
11
+ }
12
+
13
+ @objc public static func getState(
14
+ _ view: RNMBXViewport,
15
+ resolve: @escaping RCTPromiseResolveBlock,
16
+ reject: @escaping RCTPromiseRejectBlock) {
17
+ resolve(view.getState())
18
+ }
19
+
20
+ @objc public static func idle(
21
+ _ view: RNMBXViewport,
22
+ resolve: @escaping RCTPromiseResolveBlock,
23
+ reject: @escaping RCTPromiseRejectBlock) {
24
+ resolve(view.idle())
25
+ }
26
+
27
+ @objc public static func transitionTo(
28
+ _ view: RNMBXViewport,
29
+ state: [String: Any],
30
+ transition: [String: Any],
31
+ resolve: @escaping RCTPromiseResolveBlock,
32
+ reject: @escaping RCTPromiseRejectBlock
33
+ ) {
34
+ view.transitionTo(state: state, transition: transition) { finished in
35
+ resolve(finished)
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,18 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import <UIKit/UIKit.h>
3
+
4
+ #ifdef RCT_NEW_ARCH_ENABLED
5
+ #import "rnmapbox_maps_specs.h"
6
+ #else
7
+ #import <React/RCTBridge.h>
8
+ #endif
9
+
10
+ @interface RNMBXViewportModule : NSObject
11
+ #ifdef RCT_NEW_ARCH_ENABLED
12
+ <NativeRNMBXViewportModuleSpec>
13
+ #else
14
+ <RCTBridgeModule>
15
+ #endif
16
+
17
+ @end
18
+