@rnmapbox/maps 10.1.33 → 10.1.36

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 (374) hide show
  1. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSource.kt +5 -1
  2. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSourceManager.kt +31 -1
  3. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSource.kt +5 -1
  4. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerDelegate.java +3 -0
  5. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerInterface.java +1 -0
  6. package/ios/RNMBX/RNMBXMapView.swift +17 -1
  7. package/ios/RNMBX/RNMBXMapViewComponentView.mm +9 -33
  8. package/ios/RNMBX/RNMBXRasterSource.swift +16 -10
  9. package/ios/RNMBX/RNMBXRasterSourceComponentView.mm +6 -2
  10. package/ios/RNMBX/RNMBXRasterSourceViewManager.m +1 -1
  11. package/ios/install.md +1 -1
  12. package/lib/commonjs/app.plugin.js +1 -0
  13. package/lib/commonjs/classes/index.d.js +0 -1
  14. package/lib/commonjs/classes/index.d.js.map +1 -1
  15. package/lib/commonjs/components/Annotation.js +6 -4
  16. package/lib/commonjs/components/Annotation.js.map +1 -1
  17. package/lib/commonjs/components/Atmosphere.js +4 -1
  18. package/lib/commonjs/components/Atmosphere.js.map +1 -1
  19. package/lib/commonjs/components/BackgroundLayer.js +6 -5
  20. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  21. package/lib/commonjs/components/Callout.js +22 -16
  22. package/lib/commonjs/components/Callout.js.map +1 -1
  23. package/lib/commonjs/components/Camera.js +2 -1
  24. package/lib/commonjs/components/Camera.js.map +1 -1
  25. package/lib/commonjs/components/CircleLayer.js +5 -4
  26. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  27. package/lib/commonjs/components/CustomLocationProvider.js +4 -1
  28. package/lib/commonjs/components/CustomLocationProvider.js.map +1 -1
  29. package/lib/commonjs/components/FillExtrusionLayer.js +6 -5
  30. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  31. package/lib/commonjs/components/FillLayer.js +5 -4
  32. package/lib/commonjs/components/FillLayer.js.map +1 -1
  33. package/lib/commonjs/components/HeadingIndicator.js +16 -17
  34. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  35. package/lib/commonjs/components/HeatmapLayer.js +5 -4
  36. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  37. package/lib/commonjs/components/Image.js +4 -3
  38. package/lib/commonjs/components/Image.js.map +1 -1
  39. package/lib/commonjs/components/ImageSource.js +8 -6
  40. package/lib/commonjs/components/ImageSource.js.map +1 -1
  41. package/lib/commonjs/components/Images.js +5 -1
  42. package/lib/commonjs/components/Images.js.map +1 -1
  43. package/lib/commonjs/components/Light.js +6 -6
  44. package/lib/commonjs/components/Light.js.map +1 -1
  45. package/lib/commonjs/components/LineLayer.js +5 -4
  46. package/lib/commonjs/components/LineLayer.js.map +1 -1
  47. package/lib/commonjs/components/LocationPuck.js +4 -1
  48. package/lib/commonjs/components/LocationPuck.js.map +1 -1
  49. package/lib/commonjs/components/MapView.js +14 -6
  50. package/lib/commonjs/components/MapView.js.map +1 -1
  51. package/lib/commonjs/components/MarkerView.js +20 -17
  52. package/lib/commonjs/components/MarkerView.js.map +1 -1
  53. package/lib/commonjs/components/ModelLayer.js +5 -4
  54. package/lib/commonjs/components/ModelLayer.js.map +1 -1
  55. package/lib/commonjs/components/Models.js +4 -3
  56. package/lib/commonjs/components/Models.js.map +1 -1
  57. package/lib/commonjs/components/PointAnnotation.js +5 -1
  58. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  59. package/lib/commonjs/components/RasterDemSource.js +8 -6
  60. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  61. package/lib/commonjs/components/RasterLayer.js +5 -4
  62. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  63. package/lib/commonjs/components/RasterSource.js +8 -6
  64. package/lib/commonjs/components/RasterSource.js.map +1 -1
  65. package/lib/commonjs/components/ShapeSource.js +7 -3
  66. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  67. package/lib/commonjs/components/SkyLayer.js +6 -5
  68. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  69. package/lib/commonjs/components/Style.js +24 -22
  70. package/lib/commonjs/components/Style.js.map +1 -1
  71. package/lib/commonjs/components/StyleImport.js +4 -1
  72. package/lib/commonjs/components/StyleImport.js.map +1 -1
  73. package/lib/commonjs/components/SymbolLayer.js +6 -4
  74. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  75. package/lib/commonjs/components/Terrain.js +4 -1
  76. package/lib/commonjs/components/Terrain.js.map +1 -1
  77. package/lib/commonjs/components/UserLocation.js +12 -11
  78. package/lib/commonjs/components/UserLocation.js.map +1 -1
  79. package/lib/commonjs/components/VectorSource.js +8 -6
  80. package/lib/commonjs/components/VectorSource.js.map +1 -1
  81. package/lib/commonjs/components/Viewport.js +4 -3
  82. package/lib/commonjs/components/Viewport.js.map +1 -1
  83. package/lib/commonjs/package.json +1 -0
  84. package/lib/commonjs/plugin/build/generateCode.d.ts +42 -0
  85. package/lib/commonjs/plugin/build/generateCode.js +107 -0
  86. package/lib/commonjs/plugin/build/withMapbox.d.ts +19 -0
  87. package/lib/commonjs/plugin/build/withMapbox.js +291 -0
  88. package/lib/commonjs/plugin/copy-plugin.ts +56 -0
  89. package/lib/commonjs/plugin/install.md +110 -0
  90. package/lib/commonjs/plugin/jest.config.js +1 -0
  91. package/lib/commonjs/plugin/src/generateCode.ts +155 -0
  92. package/lib/commonjs/plugin/src/withMapbox.ts +466 -0
  93. package/lib/commonjs/plugin/tsconfig.eslint.json +5 -0
  94. package/lib/commonjs/plugin/tsconfig.json +9 -0
  95. package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  96. package/lib/commonjs/utils/MapboxStyles.d.js +92 -0
  97. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  98. package/lib/commonjs/web/UnimplementedComponent.js +4 -1
  99. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
  100. package/lib/commonjs/web/components/Camera.js +2 -1
  101. package/lib/commonjs/web/components/Camera.js.map +1 -1
  102. package/lib/commonjs/web/components/MapView.js +18 -13
  103. package/lib/commonjs/web/components/MapView.js.map +1 -1
  104. package/lib/module/Mapbox.js +2 -0
  105. package/lib/module/Mapbox.js.map +1 -1
  106. package/lib/module/RNMBXModule.js +2 -0
  107. package/lib/module/RNMBXModule.js.map +1 -1
  108. package/lib/module/classes/AnimatedCoordinatesArray.js +2 -0
  109. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  110. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js +2 -0
  111. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  112. package/lib/module/classes/AnimatedPoint.js +2 -0
  113. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  114. package/lib/module/classes/AnimatedRouteCoordinatesArray.js +2 -0
  115. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  116. package/lib/module/classes/AnimatedShape.js +2 -0
  117. package/lib/module/classes/AnimatedShape.js.map +1 -1
  118. package/lib/module/classes/index.d.js +2 -1
  119. package/lib/module/classes/index.d.js.map +1 -1
  120. package/lib/module/classes/index.js +2 -0
  121. package/lib/module/classes/index.js.map +1 -1
  122. package/lib/module/components/AbstractLayer.js +2 -0
  123. package/lib/module/components/AbstractLayer.js.map +1 -1
  124. package/lib/module/components/AbstractSource.js +2 -0
  125. package/lib/module/components/AbstractSource.js.map +1 -1
  126. package/lib/module/components/Annotation.js +8 -4
  127. package/lib/module/components/Annotation.js.map +1 -1
  128. package/lib/module/components/Atmosphere.js +6 -1
  129. package/lib/module/components/Atmosphere.js.map +1 -1
  130. package/lib/module/components/BackgroundLayer.js +8 -5
  131. package/lib/module/components/BackgroundLayer.js.map +1 -1
  132. package/lib/module/components/Callout.js +24 -16
  133. package/lib/module/components/Callout.js.map +1 -1
  134. package/lib/module/components/Camera.js +4 -1
  135. package/lib/module/components/Camera.js.map +1 -1
  136. package/lib/module/components/CircleLayer.js +7 -4
  137. package/lib/module/components/CircleLayer.js.map +1 -1
  138. package/lib/module/components/CustomLocationProvider.js +6 -1
  139. package/lib/module/components/CustomLocationProvider.js.map +1 -1
  140. package/lib/module/components/FillExtrusionLayer.js +8 -5
  141. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  142. package/lib/module/components/FillLayer.js +7 -4
  143. package/lib/module/components/FillLayer.js.map +1 -1
  144. package/lib/module/components/HeadingIndicator.js +18 -17
  145. package/lib/module/components/HeadingIndicator.js.map +1 -1
  146. package/lib/module/components/HeatmapLayer.js +7 -4
  147. package/lib/module/components/HeatmapLayer.js.map +1 -1
  148. package/lib/module/components/Image.js +6 -3
  149. package/lib/module/components/Image.js.map +1 -1
  150. package/lib/module/components/ImageSource.js +10 -6
  151. package/lib/module/components/ImageSource.js.map +1 -1
  152. package/lib/module/components/Images.js +7 -1
  153. package/lib/module/components/Images.js.map +1 -1
  154. package/lib/module/components/Light.js +8 -6
  155. package/lib/module/components/Light.js.map +1 -1
  156. package/lib/module/components/LineLayer.js +7 -4
  157. package/lib/module/components/LineLayer.js.map +1 -1
  158. package/lib/module/components/LocationPuck.js +6 -1
  159. package/lib/module/components/LocationPuck.js.map +1 -1
  160. package/lib/module/components/MapView.js +16 -6
  161. package/lib/module/components/MapView.js.map +1 -1
  162. package/lib/module/components/MarkerView.js +22 -17
  163. package/lib/module/components/MarkerView.js.map +1 -1
  164. package/lib/module/components/ModelLayer.js +7 -4
  165. package/lib/module/components/ModelLayer.js.map +1 -1
  166. package/lib/module/components/Models.js +6 -3
  167. package/lib/module/components/Models.js.map +1 -1
  168. package/lib/module/components/NativeBridgeComponent.js +2 -0
  169. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  170. package/lib/module/components/PointAnnotation.js +7 -1
  171. package/lib/module/components/PointAnnotation.js.map +1 -1
  172. package/lib/module/components/RasterDemSource.js +10 -6
  173. package/lib/module/components/RasterDemSource.js.map +1 -1
  174. package/lib/module/components/RasterLayer.js +7 -4
  175. package/lib/module/components/RasterLayer.js.map +1 -1
  176. package/lib/module/components/RasterSource.js +10 -6
  177. package/lib/module/components/RasterSource.js.map +1 -1
  178. package/lib/module/components/ShapeSource.js +9 -3
  179. package/lib/module/components/ShapeSource.js.map +1 -1
  180. package/lib/module/components/SkyLayer.js +8 -5
  181. package/lib/module/components/SkyLayer.js.map +1 -1
  182. package/lib/module/components/Style.js +26 -22
  183. package/lib/module/components/Style.js.map +1 -1
  184. package/lib/module/components/StyleImport.js +6 -1
  185. package/lib/module/components/StyleImport.js.map +1 -1
  186. package/lib/module/components/SymbolLayer.js +8 -4
  187. package/lib/module/components/SymbolLayer.js.map +1 -1
  188. package/lib/module/components/Terrain.js +6 -1
  189. package/lib/module/components/Terrain.js.map +1 -1
  190. package/lib/module/components/UserLocation.js +14 -11
  191. package/lib/module/components/UserLocation.js.map +1 -1
  192. package/lib/module/components/VectorSource.js +10 -6
  193. package/lib/module/components/VectorSource.js.map +1 -1
  194. package/lib/module/components/Viewport.js +6 -3
  195. package/lib/module/components/Viewport.js.map +1 -1
  196. package/lib/module/global.d.js +1 -1
  197. package/lib/module/index.js +2 -0
  198. package/lib/module/index.js.map +1 -1
  199. package/lib/module/index.web.js +2 -0
  200. package/lib/module/index.web.js.map +1 -1
  201. package/lib/module/modules/location/locationManager.js +2 -0
  202. package/lib/module/modules/location/locationManager.js.map +1 -1
  203. package/lib/module/modules/offline/OfflineCreatePackOptions.js +2 -0
  204. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  205. package/lib/module/modules/offline/OfflinePack.js +2 -0
  206. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  207. package/lib/module/modules/offline/OfflinePackLegacy.js +2 -0
  208. package/lib/module/modules/offline/OfflinePackLegacy.js.map +1 -1
  209. package/lib/module/modules/offline/TileStore.js +2 -0
  210. package/lib/module/modules/offline/TileStore.js.map +1 -1
  211. package/lib/module/modules/offline/offlineManager.js +2 -0
  212. package/lib/module/modules/offline/offlineManager.js.map +1 -1
  213. package/lib/module/modules/offline/offlineManagerLegacy.js +2 -0
  214. package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -1
  215. package/lib/module/modules/snapshot/SnapshotOptions.js +2 -0
  216. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  217. package/lib/module/modules/snapshot/snapshotManager.js +2 -0
  218. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  219. package/lib/module/package.json +1 -0
  220. package/lib/module/requestAndroidLocationPermissions.js +2 -0
  221. package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
  222. package/lib/module/shapeAnimators/ChangeLineOffsetsShapeAnimator.js +2 -0
  223. package/lib/module/shapeAnimators/ChangeLineOffsetsShapeAnimator.js.map +1 -1
  224. package/lib/module/shapeAnimators/MovePointShapeAnimator.js +2 -0
  225. package/lib/module/shapeAnimators/MovePointShapeAnimator.js.map +1 -1
  226. package/lib/module/shapeAnimators/ShapeAnimatorManager.js +2 -0
  227. package/lib/module/shapeAnimators/ShapeAnimatorManager.js.map +1 -1
  228. package/lib/module/shapeAnimators/index.js +1 -1
  229. package/lib/module/specs/NativeMapViewModule.js +2 -0
  230. package/lib/module/specs/NativeMapViewModule.js.map +1 -1
  231. package/lib/module/specs/NativeRNMBXCameraModule.js +2 -0
  232. package/lib/module/specs/NativeRNMBXCameraModule.js.map +1 -1
  233. package/lib/module/specs/NativeRNMBXChangeLineOffsetsShapeAnimatorModule.js +2 -0
  234. package/lib/module/specs/NativeRNMBXChangeLineOffsetsShapeAnimatorModule.js.map +1 -1
  235. package/lib/module/specs/NativeRNMBXImageModule.js +2 -0
  236. package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -1
  237. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js +2 -0
  238. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -1
  239. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js +2 -0
  240. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  241. package/lib/module/specs/NativeRNMBXShapeSourceModule.js +2 -0
  242. package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  243. package/lib/module/specs/NativeRNMBXTileStoreModule.js +2 -0
  244. package/lib/module/specs/NativeRNMBXTileStoreModule.js.map +1 -1
  245. package/lib/module/specs/NativeRNMBXViewportModule.js +2 -0
  246. package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -1
  247. package/lib/module/specs/RNMBXAtmosphereNativeComponent.js +2 -0
  248. package/lib/module/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  249. package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js +2 -0
  250. package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  251. package/lib/module/specs/RNMBXCalloutNativeComponent.js +2 -0
  252. package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  253. package/lib/module/specs/RNMBXCameraNativeComponent.js +2 -0
  254. package/lib/module/specs/RNMBXCameraNativeComponent.js.map +1 -1
  255. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +2 -0
  256. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  257. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js +2 -0
  258. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -1
  259. package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js +2 -0
  260. package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  261. package/lib/module/specs/RNMBXFillLayerNativeComponent.js +2 -0
  262. package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  263. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
  264. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  265. package/lib/module/specs/RNMBXImageNativeComponent.js +2 -0
  266. package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -1
  267. package/lib/module/specs/RNMBXImageSourceNativeComponent.js +2 -0
  268. package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  269. package/lib/module/specs/RNMBXImagesNativeComponent.js +2 -0
  270. package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -1
  271. package/lib/module/specs/RNMBXLightNativeComponent.js +2 -0
  272. package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -1
  273. package/lib/module/specs/RNMBXLineLayerNativeComponent.js +2 -0
  274. package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  275. package/lib/module/specs/RNMBXMapViewNativeComponent.js +2 -0
  276. package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  277. package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js +2 -0
  278. package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -1
  279. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js +2 -0
  280. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  281. package/lib/module/specs/RNMBXModelLayerNativeComponent.js +2 -0
  282. package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -1
  283. package/lib/module/specs/RNMBXModelsNativeComponent.js +2 -0
  284. package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -1
  285. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +2 -0
  286. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  287. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js +2 -0
  288. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  289. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js +2 -0
  290. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  291. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +2 -0
  292. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  293. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js +2 -0
  294. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  295. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js +2 -0
  296. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  297. package/lib/module/specs/RNMBXSkyLayerNativeComponent.js +2 -0
  298. package/lib/module/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  299. package/lib/module/specs/RNMBXStyleImportNativeComponent.js +2 -0
  300. package/lib/module/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  301. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
  302. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  303. package/lib/module/specs/RNMBXTerrainNativeComponent.js +2 -0
  304. package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  305. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js +2 -0
  306. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  307. package/lib/module/specs/RNMBXViewportNativeComponent.js +2 -0
  308. package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -1
  309. package/lib/module/specs/codegenUtils.js +2 -0
  310. package/lib/module/types/BaseProps.js +1 -1
  311. package/lib/module/types/OnPressEvent.js +1 -1
  312. package/lib/module/types/Position.js +1 -1
  313. package/lib/module/types/index.js +2 -0
  314. package/lib/module/utils/BridgeValue.js +2 -0
  315. package/lib/module/utils/BridgeValue.js.map +1 -1
  316. package/lib/module/utils/Logger.js +2 -0
  317. package/lib/module/utils/Logger.js.map +1 -1
  318. package/lib/module/utils/MapboxStyles.d.js +94 -0
  319. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  320. package/lib/module/utils/NativeCommands.js +2 -0
  321. package/lib/module/utils/NativeCommands.js.map +1 -1
  322. package/lib/module/utils/StyleValue.js +2 -0
  323. package/lib/module/utils/StyleValue.js.map +1 -1
  324. package/lib/module/utils/animated/Animated.js +2 -0
  325. package/lib/module/utils/animated/Animated.js.map +1 -1
  326. package/lib/module/utils/checkRequiredProps.js +2 -0
  327. package/lib/module/utils/checkRequiredProps.js.map +1 -1
  328. package/lib/module/utils/deprecation.js +2 -0
  329. package/lib/module/utils/deprecation.js.map +1 -1
  330. package/lib/module/utils/filterUtils.js +2 -0
  331. package/lib/module/utils/filterUtils.js.map +1 -1
  332. package/lib/module/utils/geoUtils.js +2 -0
  333. package/lib/module/utils/geoUtils.js.map +1 -1
  334. package/lib/module/utils/getAnnotationsLayerID.js +2 -0
  335. package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
  336. package/lib/module/utils/index.js +2 -0
  337. package/lib/module/utils/index.js.map +1 -1
  338. package/lib/module/utils/nativeRef.js +2 -0
  339. package/lib/module/utils/nativeRef.js.map +1 -1
  340. package/lib/module/utils/styleMap.js +2 -0
  341. package/lib/module/utils/styleMap.js.map +1 -1
  342. package/lib/module/web/MapContext.js +2 -0
  343. package/lib/module/web/MapContext.js.map +1 -1
  344. package/lib/module/web/MapboxModule.js +2 -0
  345. package/lib/module/web/MapboxModule.js.map +1 -1
  346. package/lib/module/web/UnimplementedComponent.js +6 -1
  347. package/lib/module/web/UnimplementedComponent.js.map +1 -1
  348. package/lib/module/web/components/Camera.js +4 -1
  349. package/lib/module/web/components/Camera.js.map +1 -1
  350. package/lib/module/web/components/MapView.js +19 -11
  351. package/lib/module/web/components/MapView.js.map +1 -1
  352. package/lib/module/web/components/MarkerView.js +2 -0
  353. package/lib/module/web/components/MarkerView.js.map +1 -1
  354. package/lib/module/web/index.js +2 -0
  355. package/lib/module/web/index.js.map +1 -1
  356. package/lib/module/web/utils/Logger.js +2 -0
  357. package/lib/module/web/utils/Logger.js.map +1 -1
  358. package/lib/typescript/src/components/RasterSource.d.ts +6 -0
  359. package/lib/typescript/src/components/RasterSource.d.ts.map +1 -1
  360. package/lib/typescript/src/components/SymbolLayer.d.ts +2 -2
  361. package/lib/typescript/src/components/SymbolLayer.d.ts.map +1 -1
  362. package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts +1 -0
  363. package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts.map +1 -1
  364. package/lib/typescript/src/web/components/MapView.d.ts +2 -2
  365. package/lib/typescript/src/web/components/MapView.d.ts.map +1 -1
  366. package/package.json +20 -24
  367. package/plugin/copy-plugin.ts +56 -0
  368. package/plugin/install.md +2 -2
  369. package/plugin/tsconfig.eslint.json +5 -0
  370. package/rnmapbox-maps.podspec +1 -1
  371. package/src/components/RasterSource.tsx +6 -0
  372. package/src/components/SymbolLayer.tsx +1 -1
  373. package/src/specs/RNMBXRasterSourceNativeComponent.ts +1 -0
  374. package/src/web/components/MapView.tsx +4 -2
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ /**
3
+ * Taken from @expo/config-plugins
4
+ *
5
+ * Sourcecode: https://github.com/expo/expo/blob/59ece3cb1d5a7aaea42f4c7fe9d1f4f825b338f8/packages/@expo/config-plugins/src/utils/generateCode.ts
6
+ * LICENSE: https://github.com/expo/expo/blob/59ece3cb1d5a7aaea42f4c7fe9d1f4f825b338f8/packages/@expo/config-plugins/LICENSE
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createHash = exports.createGeneratedHeaderComment = exports.removeGeneratedContents = exports.removeContents = exports.mergeContents = void 0;
13
+ /**
14
+ * Get line indexes for the generated section of a file.
15
+ *
16
+ * @param src
17
+ */
18
+ const crypto_1 = __importDefault(require("crypto"));
19
+ function getGeneratedSectionIndexes(src, tag) {
20
+ const contents = src.split('\n');
21
+ const start = contents.findIndex((line) => line.includes(`@generated begin ${tag}`));
22
+ const end = contents.findIndex((line) => line.includes(`@generated end ${tag}`));
23
+ return { contents, start, end };
24
+ }
25
+ /**
26
+ * Merge the contents of two files together and add a generated header.
27
+ *
28
+ * @param src contents of the original file
29
+ * @param newSrc new contents to merge into the original file
30
+ * @param identifier used to update and remove merges
31
+ * @param anchor regex to where the merge should begin
32
+ * @param offset line offset to start merging at (<1 for behind the anchor)
33
+ * @param comment comment style `//` or `#`
34
+ */
35
+ function mergeContents({ src, newSrc, tag, anchor, offset, comment, }) {
36
+ const header = createGeneratedHeaderComment(newSrc, tag, comment);
37
+ if (!src.includes(header)) {
38
+ // Ensure the old generated contents are removed.
39
+ const sanitizedTarget = removeGeneratedContents(src, tag);
40
+ return {
41
+ contents: addLines(sanitizedTarget ?? src, anchor, offset, [
42
+ header,
43
+ ...newSrc.split('\n'),
44
+ `${comment} @generated end ${tag}`,
45
+ ]),
46
+ didMerge: true,
47
+ didClear: !!sanitizedTarget,
48
+ };
49
+ }
50
+ return { contents: src, didClear: false, didMerge: false };
51
+ }
52
+ exports.mergeContents = mergeContents;
53
+ function removeContents({ src, tag, }) {
54
+ // Ensure the old generated contents are removed.
55
+ const sanitizedTarget = removeGeneratedContents(src, tag);
56
+ return {
57
+ contents: sanitizedTarget ?? src,
58
+ didMerge: false,
59
+ didClear: !!sanitizedTarget,
60
+ };
61
+ }
62
+ exports.removeContents = removeContents;
63
+ function addLines(content, find, offset, toAdd) {
64
+ const lines = content.split('\n');
65
+ let lineIndex = lines.findIndex((line) => line.match(find));
66
+ if (lineIndex < 0) {
67
+ const error = new Error(`Failed to match "${find}" in contents:\n${content}`);
68
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
69
+ // @ts-ignore
70
+ error.code = 'ERR_NO_MATCH';
71
+ throw error;
72
+ }
73
+ for (const newLine of toAdd) {
74
+ lines.splice(lineIndex + offset, 0, newLine);
75
+ lineIndex++;
76
+ }
77
+ return lines.join('\n');
78
+ }
79
+ /**
80
+ * Removes the generated section from a file, returns null when nothing can be removed.
81
+ * This sways heavily towards not removing lines unless it's certain that modifications were not made manually.
82
+ *
83
+ * @param src
84
+ */
85
+ function removeGeneratedContents(src, tag) {
86
+ const { contents, start, end } = getGeneratedSectionIndexes(src, tag);
87
+ if (start > -1 && end > -1 && start < end) {
88
+ contents.splice(start, end - start + 1);
89
+ // TODO: We could in theory check that the contents we're removing match the hash used in the header,
90
+ // this would ensure that we don't accidentally remove lines that someone added or removed from the generated section.
91
+ return contents.join('\n');
92
+ }
93
+ return null;
94
+ }
95
+ exports.removeGeneratedContents = removeGeneratedContents;
96
+ function createGeneratedHeaderComment(contents, tag, comment) {
97
+ const hashKey = createHash(contents);
98
+ // Everything after the `${tag} ` is unversioned and can be freely modified without breaking changes.
99
+ return `${comment} @generated begin ${tag} - expo prebuild (DO NOT MODIFY) ${hashKey}`;
100
+ }
101
+ exports.createGeneratedHeaderComment = createGeneratedHeaderComment;
102
+ function createHash(src) {
103
+ // this doesn't need to be secure, the shorter the better.
104
+ const hash = crypto_1.default.createHash('sha1').update(src).digest('hex');
105
+ return `sync-${hash}`;
106
+ }
107
+ exports.createHash = createHash;
@@ -0,0 +1,19 @@
1
+ import { ConfigPlugin } from 'expo/config-plugins';
2
+ type InstallerBlockName = 'pre' | 'post';
3
+ export type MapboxPlugProps = {
4
+ /**
5
+ * @deprecated
6
+ */
7
+ RNMapboxMapsImpl?: 'mapbox';
8
+ RNMapboxMapsVersion?: string;
9
+ RNMapboxMapsDownloadToken?: string;
10
+ RNMapboxMapsUseV11?: boolean;
11
+ };
12
+ export declare const addInstallerBlock: (src: string, blockName: InstallerBlockName) => string;
13
+ export declare const addConstantBlock: (src: string, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsDownloadToken, RNMapboxMapsUseV11, }: MapboxPlugProps) => string;
14
+ export declare const applyCocoaPodsModifications: (contents: string, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsDownloadToken, RNMapboxMapsUseV11, }: MapboxPlugProps) => string;
15
+ export declare const addMapboxInstallerBlock: (src: string, blockName: InstallerBlockName) => string;
16
+ export declare const addMapboxMavenRepo: (src: string) => string;
17
+ declare const _default: ConfigPlugin<MapboxPlugProps>;
18
+ export default _default;
19
+ export { addMapboxMavenRepo as _addMapboxMavenRepo, };
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports._addMapboxMavenRepo = exports.addMapboxMavenRepo = exports.addMapboxInstallerBlock = exports.applyCocoaPodsModifications = exports.addConstantBlock = exports.addInstallerBlock = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = __importDefault(require("path"));
9
+ const config_plugins_1 = require("expo/config-plugins");
10
+ const generateCode_1 = require("./generateCode");
11
+ let pkg = {
12
+ name: '@rnmapbox/maps',
13
+ };
14
+ try {
15
+ pkg = require('@rnmapbox/maps/package.json');
16
+ }
17
+ catch {
18
+ // empty catch block
19
+ }
20
+ const addInstallerBlock = (src, blockName) => {
21
+ const matchBlock = new RegExp(`${blockName}_install do \\|installer\\|`);
22
+ const tag = `${blockName}_installer`;
23
+ for (const line of src.split('\n')) {
24
+ const contents = line.trim();
25
+ // Ignore comments
26
+ if (!contents.startsWith('#')) {
27
+ // Prevent adding the block if it exists outside of comments.
28
+ if (contents.match(matchBlock)) {
29
+ // This helps to still allow revisions, since we enabled the block previously.
30
+ // Only continue if the generated block exists...
31
+ const modified = (0, generateCode_1.removeGeneratedContents)(src, tag);
32
+ if (!modified) {
33
+ return src;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ return (0, generateCode_1.mergeContents)({
39
+ tag,
40
+ src,
41
+ newSrc: [` ${blockName}_install do |installer|`, ' end'].join('\n'),
42
+ anchor: /use_react_native/,
43
+ // We can't go after the use_react_native block because it might have parameters, causing it to be multi-line (see react-native template).
44
+ offset: 0,
45
+ comment: '#',
46
+ }).contents;
47
+ };
48
+ exports.addInstallerBlock = addInstallerBlock;
49
+ const addConstantBlock = (src, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsDownloadToken, RNMapboxMapsUseV11, }) => {
50
+ const tag = `@rnmapbox/maps-rnmapboxmapsimpl`;
51
+ if (RNMapboxMapsVersion == null &&
52
+ RNMapboxMapsDownloadToken == null &&
53
+ RNMapboxMapsUseV11 == null) {
54
+ const modified = (0, generateCode_1.removeGeneratedContents)(src, tag);
55
+ if (!modified) {
56
+ return src;
57
+ }
58
+ else {
59
+ return modified;
60
+ }
61
+ }
62
+ const newSrc = [];
63
+ if (RNMapboxMapsDownloadToken) {
64
+ newSrc.push(`$RNMapboxMapsDownloadToken = '${RNMapboxMapsDownloadToken}'`);
65
+ }
66
+ if (RNMapboxMapsImpl) {
67
+ newSrc.push(`$RNMapboxMapsImpl = '${RNMapboxMapsImpl}'`);
68
+ }
69
+ if (RNMapboxMapsVersion) {
70
+ newSrc.push(`$RNMapboxMapsVersion = '${RNMapboxMapsVersion}'`);
71
+ }
72
+ if (RNMapboxMapsUseV11) {
73
+ newSrc.push(`$RNMapboxMapsUseV11 = true`);
74
+ }
75
+ return (0, generateCode_1.mergeContents)({
76
+ tag,
77
+ src,
78
+ newSrc: newSrc.join('\n'),
79
+ anchor: /target .+ do/,
80
+ // We can't go after the use_react_native block because it might have parameters, causing it to be multi-line (see react-native template).
81
+ offset: 0,
82
+ comment: '#',
83
+ }).contents;
84
+ };
85
+ exports.addConstantBlock = addConstantBlock;
86
+ // Only the preinstaller block is required, the post installer block is
87
+ // used for spm (swift package manager) which Expo doesn't currently support.
88
+ const applyCocoaPodsModifications = (contents, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsDownloadToken, RNMapboxMapsUseV11, }) => {
89
+ // Ensure installer blocks exist
90
+ let src = (0, exports.addConstantBlock)(contents, {
91
+ RNMapboxMapsImpl,
92
+ RNMapboxMapsVersion,
93
+ RNMapboxMapsDownloadToken,
94
+ RNMapboxMapsUseV11,
95
+ });
96
+ src = (0, exports.addInstallerBlock)(src, 'pre');
97
+ src = (0, exports.addInstallerBlock)(src, 'post');
98
+ src = (0, exports.addMapboxInstallerBlock)(src, 'pre');
99
+ src = (0, exports.addMapboxInstallerBlock)(src, 'post');
100
+ return src;
101
+ };
102
+ exports.applyCocoaPodsModifications = applyCocoaPodsModifications;
103
+ const addMapboxInstallerBlock = (src, blockName) => (0, generateCode_1.mergeContents)({
104
+ tag: `@rnmapbox/maps-${blockName}_installer`,
105
+ src,
106
+ newSrc: ` $RNMapboxMaps.${blockName}_install(installer)`,
107
+ anchor: new RegExp(`^\\s*${blockName}_install do \\|installer\\|`),
108
+ offset: 1,
109
+ comment: '#',
110
+ }).contents;
111
+ exports.addMapboxInstallerBlock = addMapboxInstallerBlock;
112
+ /**
113
+ * Dangerously adds the custom installer hooks to the Podfile.
114
+ * In the future this should be removed in favor of some custom hooks provided by Expo autolinking.
115
+ *
116
+ * https://github.com/rnmapbox/maps/blob/main/ios/install.md#react-native--0600
117
+ */
118
+ const withCocoaPodsInstallerBlocks = (config, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsDownloadToken, RNMapboxMapsUseV11, }) => (0, config_plugins_1.withDangerousMod)(config, [
119
+ 'ios',
120
+ async (exportedConfig) => {
121
+ const file = path_1.default.join(exportedConfig.modRequest.platformProjectRoot, 'Podfile');
122
+ const contents = await fs_1.promises.readFile(file, 'utf8');
123
+ await fs_1.promises.writeFile(file, (0, exports.applyCocoaPodsModifications)(contents, {
124
+ RNMapboxMapsImpl,
125
+ RNMapboxMapsVersion,
126
+ RNMapboxMapsDownloadToken,
127
+ RNMapboxMapsUseV11,
128
+ }), 'utf-8');
129
+ return exportedConfig;
130
+ },
131
+ ]);
132
+ const withAndroidPropertiesDownloadToken = (config, { RNMapboxMapsDownloadToken }) => {
133
+ const key = 'MAPBOX_DOWNLOADS_TOKEN';
134
+ if (RNMapboxMapsDownloadToken) {
135
+ return (0, config_plugins_1.withGradleProperties)(config, (exportedConfig) => {
136
+ exportedConfig.modResults = exportedConfig.modResults.filter((item) => !(item.type === 'property' && item.key === key));
137
+ exportedConfig.modResults.push({
138
+ type: 'property',
139
+ key,
140
+ value: RNMapboxMapsDownloadToken,
141
+ });
142
+ return exportedConfig;
143
+ });
144
+ }
145
+ return config;
146
+ };
147
+ const withAndroidPropertiesImpl2 = (config, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsUseV11 }) => {
148
+ const keyValues = {
149
+ expoRNMapboxMapsImpl: RNMapboxMapsImpl,
150
+ expoRNMapboxMapsVersion: RNMapboxMapsVersion,
151
+ expoRNMapboxMapsUseV11: RNMapboxMapsUseV11,
152
+ };
153
+ const keys = Object.keys(keyValues);
154
+ const values = Object.values(keyValues);
155
+ if (values.filter((v) => v).length > 0) {
156
+ return (0, config_plugins_1.withGradleProperties)(config, (exportedConfig) => {
157
+ exportedConfig.modResults = exportedConfig.modResults.filter((item) => !(item.type === 'property' && keys.includes(item.key)));
158
+ keys.forEach((key) => {
159
+ const value = keyValues[key];
160
+ if (value != null) {
161
+ exportedConfig.modResults.push({
162
+ type: 'property',
163
+ key: key,
164
+ value: value.toString(),
165
+ });
166
+ }
167
+ });
168
+ return exportedConfig;
169
+ });
170
+ }
171
+ return config;
172
+ };
173
+ const withAndroidProperties = (config, { RNMapboxMapsImpl, RNMapboxMapsDownloadToken, RNMapboxMapsVersion, RNMapboxMapsUseV11, }) => {
174
+ config = withAndroidPropertiesDownloadToken(config, {
175
+ RNMapboxMapsDownloadToken,
176
+ });
177
+ config = withAndroidPropertiesImpl2(config, {
178
+ RNMapboxMapsImpl,
179
+ RNMapboxMapsVersion,
180
+ RNMapboxMapsUseV11,
181
+ });
182
+ return config;
183
+ };
184
+ const addLibCppFilter = (appBuildGradle) => {
185
+ if (appBuildGradle.includes("pickFirst 'lib/x86/libc++_shared.so'")) {
186
+ return appBuildGradle;
187
+ }
188
+ return (0, generateCode_1.mergeContents)({
189
+ tag: `@rnmapbox/maps-libcpp`,
190
+ src: appBuildGradle,
191
+ newSrc: `packagingOptions {
192
+ pickFirst 'lib/x86/libc++_shared.so'
193
+ pickFirst 'lib/x86_64/libc++_shared.so'
194
+ pickFirst 'lib/arm64-v8a/libc++_shared.so'
195
+ pickFirst 'lib/armeabi-v7a/libc++_shared.so'
196
+ }`,
197
+ anchor: new RegExp(`^\\s*android\\s*{`),
198
+ offset: 1,
199
+ comment: '//',
200
+ }).contents;
201
+ };
202
+ // Because we need the package to be added AFTER the React and Google maven packages, we create a new allprojects.
203
+ // It's ok to have multiple allprojects.repositories, so we create a new one since it's cheaper than tokenizing
204
+ // the existing block to find the correct place to insert our mapbox maven.
205
+ const gradleMaven = `
206
+ allprojects {
207
+ repositories {
208
+ maven {
209
+ url 'https://api.mapbox.com/downloads/v2/releases/maven'
210
+ authentication { basic(BasicAuthentication) }
211
+ credentials {
212
+ username = 'mapbox'
213
+ password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
214
+ }
215
+ }
216
+ }
217
+ }
218
+ `;
219
+ // Fork of config-plugins mergeContents, but appends the contents to the end of the file.
220
+ const appendContents = ({ src, newSrc, tag, comment, }) => {
221
+ const header = (0, generateCode_1.createGeneratedHeaderComment)(newSrc, tag, comment);
222
+ if (!src.includes(header)) {
223
+ // Ensure the old generated contents are removed.
224
+ const sanitizedTarget = (0, generateCode_1.removeGeneratedContents)(src, tag);
225
+ const contentsToAdd = [
226
+ // @something
227
+ header,
228
+ // contents
229
+ newSrc,
230
+ // @end
231
+ `${comment} @generated end ${tag}`,
232
+ ].join('\n');
233
+ return {
234
+ contents: sanitizedTarget ?? src + contentsToAdd,
235
+ didMerge: true,
236
+ didClear: !!sanitizedTarget,
237
+ };
238
+ }
239
+ return { contents: src, didClear: false, didMerge: false };
240
+ };
241
+ const addMapboxMavenRepo = (src) => appendContents({
242
+ tag: '@rnmapbox/maps-v2-maven',
243
+ src,
244
+ newSrc: gradleMaven,
245
+ comment: '//',
246
+ }).contents;
247
+ exports.addMapboxMavenRepo = addMapboxMavenRepo;
248
+ exports._addMapboxMavenRepo = exports.addMapboxMavenRepo;
249
+ const withAndroidAppGradle = (config) => (0, config_plugins_1.withAppBuildGradle)(config, ({ modResults, ...exportedConfig }) => {
250
+ if (modResults.language !== 'groovy') {
251
+ config_plugins_1.WarningAggregator.addWarningAndroid('withMapbox', `Cannot automatically configure app build.gradle if it's not groovy`);
252
+ return { modResults, ...exportedConfig };
253
+ }
254
+ modResults.contents = addLibCppFilter(modResults.contents);
255
+ return { modResults, ...exportedConfig };
256
+ });
257
+ const withAndroidProjectGradle = (config) => (0, config_plugins_1.withProjectBuildGradle)(config, ({ modResults, ...exportedConfig }) => {
258
+ if (modResults.language !== 'groovy') {
259
+ config_plugins_1.WarningAggregator.addWarningAndroid('withMapbox', `Cannot automatically configure app build.gradle if it's not groovy`);
260
+ return { modResults, ...exportedConfig };
261
+ }
262
+ modResults.contents = (0, exports.addMapboxMavenRepo)(modResults.contents);
263
+ return { modResults, ...exportedConfig };
264
+ });
265
+ const withMapboxAndroid = (config, { RNMapboxMapsImpl, RNMapboxMapsDownloadToken, RNMapboxMapsVersion, RNMapboxMapsUseV11, }) => {
266
+ config = withAndroidProperties(config, {
267
+ RNMapboxMapsImpl,
268
+ RNMapboxMapsDownloadToken,
269
+ RNMapboxMapsVersion,
270
+ RNMapboxMapsUseV11,
271
+ });
272
+ config = withAndroidProjectGradle(config, { RNMapboxMapsImpl });
273
+ config = withAndroidAppGradle(config, { RNMapboxMapsImpl });
274
+ return config;
275
+ };
276
+ const withMapbox = (config, { RNMapboxMapsImpl, RNMapboxMapsVersion, RNMapboxMapsDownloadToken, RNMapboxMapsUseV11, }) => {
277
+ config = withMapboxAndroid(config, {
278
+ RNMapboxMapsImpl,
279
+ RNMapboxMapsVersion,
280
+ RNMapboxMapsUseV11,
281
+ RNMapboxMapsDownloadToken,
282
+ });
283
+ config = withCocoaPodsInstallerBlocks(config, {
284
+ RNMapboxMapsImpl,
285
+ RNMapboxMapsVersion,
286
+ RNMapboxMapsDownloadToken,
287
+ RNMapboxMapsUseV11,
288
+ });
289
+ return config;
290
+ };
291
+ exports.default = (0, config_plugins_1.createRunOncePlugin)(withMapbox, pkg.name, pkg.version);
@@ -0,0 +1,56 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+
4
+ const rootDir = path.resolve(__dirname, '..');
5
+ const destDir = path.resolve(rootDir, 'lib/commonjs');
6
+ const pluginDir = path.resolve(rootDir, 'plugin');
7
+ const appPluginFile = path.resolve(rootDir, 'app.plugin.js');
8
+
9
+ function copyFileSync(source: string, target: string) {
10
+ let targetFile = target;
11
+
12
+ // If target is a directory, a new file with the same name will be created
13
+ if (fs.existsSync(target)) {
14
+ if (fs.lstatSync(target).isDirectory()) {
15
+ targetFile = path.join(target, path.basename(source));
16
+ }
17
+ }
18
+
19
+ fs.writeFileSync(targetFile, fs.readFileSync(source));
20
+ }
21
+
22
+ function copyFolderRecursiveSync(source: string, target: string) {
23
+ let files = [];
24
+
25
+ // Check if folder needs to be created or integrated
26
+ const targetFolder = path.join(target, path.basename(source));
27
+ if (!fs.existsSync(targetFolder)) {
28
+ fs.mkdirSync(targetFolder);
29
+ }
30
+
31
+ // Copy
32
+ if (fs.lstatSync(source).isDirectory()) {
33
+ files = fs.readdirSync(source);
34
+ files.forEach((file) => {
35
+ const curSource = path.join(source, file);
36
+ if (fs.lstatSync(curSource).isDirectory()) {
37
+ copyFolderRecursiveSync(curSource, targetFolder);
38
+ } else {
39
+ copyFileSync(curSource, targetFolder);
40
+ }
41
+ });
42
+ }
43
+ }
44
+
45
+ // Ensure destination directory exists
46
+ if (!fs.existsSync(destDir)) {
47
+ fs.mkdirSync(destDir, { recursive: true });
48
+ }
49
+
50
+ // Copy app.plugin.js
51
+ copyFileSync(appPluginFile, destDir);
52
+
53
+ // Copy plugin folder
54
+ copyFolderRecursiveSync(pluginDir, destDir);
55
+
56
+ console.log('Files copied successfully.');
@@ -0,0 +1,110 @@
1
+ # Expo Installation
2
+
3
+ > :warning: This package cannot be used in the "Expo Go" app because [it requires custom native code](https://docs.expo.io/workflow/customizing/).
4
+
5
+ First install the package with [`expo`](https://docs.expo.io/workflow/expo-cli/#expo-install), [`yarn`or `npm`](../README.md#step-1---install-package).
6
+
7
+ Install the latest release:
8
+ ```sh
9
+ expo install @rnmapbox/maps
10
+ ```
11
+
12
+ ## Plugin Configuration
13
+
14
+ After installing this package, add the [config plugin](https://docs.expo.io/guides/config-plugins/) to the [`plugins`](https://docs.expo.io/versions/latest/config/app/#plugins) array of your `app.{json,config.js,config.ts}`:
15
+
16
+ ```json
17
+ {
18
+ "expo": {
19
+ "plugins": [
20
+ [
21
+ "@rnmapbox/maps",
22
+ {
23
+ "RNMapboxMapsVersion": "11.8.0"
24
+ }
25
+ ]
26
+ ]
27
+ }
28
+ }
29
+ ```
30
+
31
+ You'll need to provide `RNMapboxMapsDownloadToken` as well. This secret token requires the `DOWNLOADS:READ` scope. You can refer to the [iOS guide](https://docs.mapbox.com/ios/maps/guides/install/#configure-credentials), which explains how to configure this token under the section `Configure your secret token`.
32
+
33
+ ```json
34
+ {
35
+ "expo": {
36
+ "plugins": [
37
+ [
38
+ "@rnmapbox/maps",
39
+ {
40
+ "RNMapboxMapsDownloadToken": "sk.ey...qg"
41
+ }
42
+ ]
43
+ ]
44
+ }
45
+ }
46
+ ```
47
+
48
+ If you want to show the user's current location on the map with the [UserLocation](../docs/UserLocation.md) component, you can use the [expo-location](https://docs.expo.dev/versions/latest/sdk/location/) plugin to configure the required `NSLocationWhenInUseUsageDescription` property. Install the plugin with `npx expo install expo-location` and add its config plugin to the plugins array of your `app.{json,config.js,config.ts}`:
49
+
50
+ ```json
51
+ {
52
+ "expo": {
53
+ "plugins": [
54
+ [
55
+ "expo-location",
56
+ {
57
+ "locationWhenInUsePermission": "Show current location on map."
58
+ }
59
+ ]
60
+ ]
61
+ }
62
+ }
63
+ ```
64
+
65
+ Next, rebuild your app as described in the ["Adding custom native code"](https://docs.expo.io/workflow/customizing/) guide.
66
+
67
+ ### Advanced Configuration
68
+
69
+ It's possible to overwrite the native SDK version with `RNMapboxMapsVersion`:
70
+
71
+ ```json
72
+ {
73
+ "expo": {
74
+ "plugins": [
75
+ [
76
+ "@rnmapbox/maps",
77
+ {
78
+ "RNMapboxMapsVersion": "10.16.2",
79
+ "RNMapboxMapsDownloadToken": "sk.ey...qg"
80
+ }
81
+ ]
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ To use V11 just set the version to a 11 version, see [the ios guide](/ios/install.md):
88
+
89
+ ```json
90
+ {
91
+ "expo": {
92
+ "plugins": [
93
+ [
94
+ "@rnmapbox/maps",
95
+ {
96
+ "RNMapboxMapsVersion": "11.8.0",
97
+ "RNMapboxMapsDownloadToken": "sk.ey...qg",
98
+ }
99
+ ]
100
+ ]
101
+ }
102
+ }
103
+ ```
104
+
105
+ ## Manual Setup
106
+
107
+ For bare workflow projects, you can follow the manual setup guides:
108
+
109
+ - [iOS](/ios/install.md)
110
+ - [Android](/android/install.md)
@@ -0,0 +1 @@
1
+ module.exports = require('expo-module-scripts/jest-preset-plugin');