@maplibre/maplibre-react-native 10.0.0-alpha.2 → 10.0.0-alpha.21

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 (400) hide show
  1. package/.sonarcloud.properties +1 -1
  2. package/CHANGELOG.md +141 -50
  3. package/CONTRIBUTING.md +10 -9
  4. package/README.md +1 -1
  5. package/android/build.gradle +1 -1
  6. package/android/rctmln/.settings/org.eclipse.buildship.core.prefs +2 -0
  7. package/android/{rctmgl → rctmln}/build.gradle +5 -5
  8. package/android/{rctmgl → rctmln}/src/main/AndroidManifest.xml +1 -1
  9. package/android/rctmln/src/main/java/com/maplibre/rctmln/RCTMLNPackage.java +99 -0
  10. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/AbstractEvent.java +1 -1
  11. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/AbstractEventEmitter.java +2 -2
  12. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/AbstractMapFeature.java +4 -4
  13. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/annotation/MarkerView.java +3 -3
  14. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/annotation/MarkerViewManager.java +12 -10
  15. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCallout.java → rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNCallout.java} +3 -3
  16. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNCalloutManager.java +22 -0
  17. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.java → rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNMarkerView.java} +18 -18
  18. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerViewManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNMarkerViewManager.java} +10 -10
  19. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.java → rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNPointAnnotation.java} +27 -26
  20. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotationManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/annotation/RCTMLNPointAnnotationManager.java} +14 -14
  21. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/camera/CameraStop.java +21 -19
  22. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/camera/CameraUpdateItem.java +12 -12
  23. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/camera/CameraUpdateQueue.java +4 -4
  24. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCamera.java → rctmln/src/main/java/com/maplibre/rctmln/components/camera/RCTMLNCamera.java} +50 -50
  25. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/camera/RCTMLNCameraManager.java} +19 -19
  26. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/camera/constants/CameraMode.java +1 -1
  27. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImages.java → rctmln/src/main/java/com/maplibre/rctmln/components/images/RCTMLNImages.java} +27 -27
  28. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/images/RCTMLNImagesManager.java} +17 -17
  29. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/location/LocationComponentManager.java +25 -16
  30. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.java → rctmln/src/main/java/com/maplibre/rctmln/components/location/RCTMLNNativeUserLocation.java} +25 -15
  31. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/location/RCTMLNNativeUserLocationManager.java} +12 -7
  32. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/mapview/LayerSourceInfo.java +10 -10
  33. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNAndroidTextureMapView.java +16 -0
  34. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNAndroidTextureMapViewManager.java +31 -0
  35. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.java → rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNMapView.java} +171 -171
  36. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/mapview/RCTMLNMapViewManager.java} +46 -46
  37. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/mapview/helpers/CameraChangeTracker.java +1 -1
  38. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyle.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyle.java} +12 -12
  39. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleFactory.java} +434 -423
  40. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFunctionParser.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleFunctionParser.java} +8 -9
  41. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleValue.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/RCTMLNStyleValue.java} +9 -9
  42. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/styles/layers/RCTLayer.java +17 -17
  43. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNBackgroundLayer.java +27 -0
  44. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNBackgroundLayerManager.java} +13 -13
  45. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNCircleLayer.java} +10 -10
  46. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNCircleLayerManager.java} +15 -15
  47. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillExtrusionLayer.java} +10 -10
  48. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillExtrusionLayerManager.java} +16 -16
  49. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillLayer.java} +10 -10
  50. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNFillLayerManager.java} +16 -16
  51. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNHeatmapLayer.java} +10 -10
  52. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNHeatmapLayerManager.java} +15 -15
  53. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNLineLayer.java} +10 -10
  54. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNLineLayerManager.java} +17 -17
  55. package/android/rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNRasterLayer.java +27 -0
  56. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNRasterLayerManager.java} +13 -13
  57. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNSymbolLayer.java} +10 -10
  58. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/layers/RCTMLNSymbolLayerManager.java} +15 -15
  59. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/light/RCTMLNLight.java} +16 -16
  60. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLightManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/light/RCTMLNLightManager.java} +6 -6
  61. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNImageSource.java} +7 -7
  62. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNImageSourceManager.java} +15 -15
  63. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNRasterSource.java} +6 -6
  64. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNRasterSourceManager.java} +7 -7
  65. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNShapeSource.java} +22 -22
  66. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNShapeSourceManager.java} +35 -35
  67. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNTileSource.java} +5 -5
  68. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNTileSourceManager.java} +4 -4
  69. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNVectorSource.java} +10 -10
  70. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java → rctmln/src/main/java/com/maplibre/rctmln/components/styles/sources/RCTMLNVectorSourceManager.java} +12 -12
  71. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/components/styles/sources/RCTSource.java +14 -14
  72. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/AbstractEvent.java +1 -1
  73. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/AndroidCallbackEvent.java +2 -2
  74. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/EventEmitter.java +1 -1
  75. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/FeatureClickEvent.java +8 -8
  76. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/IEvent.java +1 -1
  77. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/ImageMissingEvent.java +3 -3
  78. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/LocationEvent.java +6 -6
  79. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/MapChangeEvent.java +3 -3
  80. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/MapClickEvent.java +5 -5
  81. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/MapUserTrackingModeEvent.java +4 -4
  82. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/OfflineEvent.java +1 -1
  83. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/PointAnnotationClickEvent.java +10 -10
  84. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/PointAnnotationDragEvent.java +10 -10
  85. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/constants/EventKeys.java +1 -1
  86. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/events/constants/EventTypes.java +1 -1
  87. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/http/CustomHeadersInterceptor.java +1 -1
  88. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/location/LocationManager.java +7 -7
  89. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/location/UserLocation.java +2 -2
  90. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/location/UserLocationVerticalAlignment.java +1 -1
  91. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/location/UserTrackingMode.java +4 -4
  92. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/location/UserTrackingState.java +1 -1
  93. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLocationModule.java → rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNLocationModule.java} +11 -11
  94. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLogging.java → rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNLogging.java} +7 -7
  95. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLModule.java → rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNModule.java} +30 -30
  96. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.java → rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNOfflineModule.java} +21 -21
  97. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLSnapshotModule.java → rctmln/src/main/java/com/maplibre/rctmln/modules/RCTMLNSnapshotModule.java} +14 -14
  98. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/BitmapUtils.java +1 -1
  99. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/ClusterPropertyEntry.java +2 -2
  100. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/ConvertUtils.java +1 -1
  101. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/DownloadMapImageTask.java +6 -6
  102. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/ExpressionParser.java +3 -3
  103. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/GeoJSONUtils.java +14 -14
  104. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/GeoViewport.java +4 -4
  105. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/ImageEntry.java +1 -1
  106. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/ResourceUtils.java +1 -1
  107. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/SimpleEventCallback.java +5 -5
  108. package/android/{rctmgl/src/main/java/com/mapbox/rctmgl → rctmln/src/main/java/com/maplibre/rctmln}/utils/SphericalMercator.java +2 -2
  109. package/android/rctmln/src/main/res/values/strings.xml +3 -0
  110. package/android/settings.gradle +1 -1
  111. package/docs/Annotations.md +1 -1
  112. package/docs/Callout.md +1 -1
  113. package/docs/Camera.md +4 -4
  114. package/docs/CustomHttpHeaders.md +4 -4
  115. package/docs/FillExtrusionLayer.md +19 -0
  116. package/docs/MapView.md +12 -36
  117. package/docs/MarkerView.md +1 -1
  118. package/docs/NativeUserLocation.md +2 -1
  119. package/docs/PointAnnotation.md +2 -2
  120. package/docs/RasterLayer.md +1 -1
  121. package/docs/SymbolLayer.md +7 -5
  122. package/docs/UserLocation.md +13 -4
  123. package/docs/docs.json +79 -52
  124. package/docs/offlineManager.md +246 -0
  125. package/ios/{RCTMGL → RCTMLN}/CameraMode.h +1 -1
  126. package/ios/{RCTMGL → RCTMLN}/CameraMode.m +1 -1
  127. package/ios/{RCTMGL → RCTMLN}/CameraStop.h +4 -4
  128. package/ios/{RCTMGL → RCTMLN}/CameraStop.m +7 -7
  129. package/ios/{RCTMGL → RCTMLN}/CameraUpdateItem.h +3 -3
  130. package/ios/{RCTMGL → RCTMLN}/CameraUpdateItem.m +19 -19
  131. package/ios/{RCTMGL → RCTMLN}/CameraUpdateQueue.h +3 -3
  132. package/ios/{RCTMGL → RCTMLN}/CameraUpdateQueue.m +3 -3
  133. package/ios/{RCTMGL → RCTMLN}/FilterParser.h +1 -1
  134. package/ios/{RCTMGL → RCTMLN}/FilterParser.m +3 -3
  135. package/ios/{RCTMGL/MGLCustomHeaders.h → RCTMLN/MLNCustomHeaders.h} +3 -3
  136. package/ios/{RCTMGL/MGLCustomHeaders.m → RCTMLN/MLNCustomHeaders.m} +11 -11
  137. package/ios/RCTMLN/MLNFaux3DUserLocationAnnotationView.h +23 -0
  138. package/ios/{RCTMGL/MGLFaux3DUserLocationAnnotationView.m → RCTMLN/MLNFaux3DUserLocationAnnotationView.m} +38 -38
  139. package/ios/{RCTMGL/MGLModule.h → RCTMLN/MLNModule.h} +3 -3
  140. package/ios/{RCTMGL/MGLModule.m → RCTMLN/MLNModule.m} +91 -91
  141. package/ios/{RCTMGL/MGLOfflineModule.h → RCTMLN/MLNOfflineModule.h} +4 -4
  142. package/ios/{RCTMGL/MGLOfflineModule.m → RCTMLN/MLNOfflineModule.m} +120 -99
  143. package/ios/{RCTMGL/MGLSnapshotModule.h → RCTMLN/MLNSnapshotModule.h} +3 -3
  144. package/ios/{RCTMGL/MGLSnapshotModule.m → RCTMLN/MLNSnapshotModule.m} +14 -14
  145. package/ios/{RCTMGL/MGLUserLocationHeadingArrowLayer.h → RCTMLN/MLNUserLocationHeadingArrowLayer.h} +4 -4
  146. package/ios/{RCTMGL/MGLUserLocationHeadingArrowLayer.m → RCTMLN/MLNUserLocationHeadingArrowLayer.m} +7 -7
  147. package/ios/RCTMLN/MLNUserLocationHeadingBeamLayer.h +11 -0
  148. package/ios/{RCTMGL/MGLUserLocationHeadingBeamLayer.m → RCTMLN/MLNUserLocationHeadingBeamLayer.m} +10 -10
  149. package/ios/{RCTMGL/MGLUserLocationHeadingIndicator.h → RCTMLN/MLNUserLocationHeadingIndicator.h} +3 -3
  150. package/ios/{RCTMGL → RCTMLN}/RCTConvert+Mapbox.h +1 -1
  151. package/ios/{RCTMGL → RCTMLN}/RCTConvert+Mapbox.m +1 -1
  152. package/ios/{RCTMGL/RCTMGL.h → RCTMLN/RCTMLN.h} +3 -3
  153. package/ios/{RCTMGL/RCTMGL.m → RCTMLN/RCTMLN.m} +4 -4
  154. package/ios/RCTMLN/RCTMLNBackgroundLayer.h +14 -0
  155. package/ios/RCTMLN/RCTMLNBackgroundLayer.m +27 -0
  156. package/ios/{RCTMGL/RCTMGLBackgroundLayerManager.h → RCTMLN/RCTMLNBackgroundLayerManager.h} +3 -3
  157. package/ios/{RCTMGL/RCTMGLBackgroundLayerManager.m → RCTMLN/RCTMLNBackgroundLayerManager.m} +6 -6
  158. package/ios/{RCTMGL/RCTMGLCallout.h → RCTMLN/RCTMLNCallout.h} +4 -4
  159. package/ios/{RCTMGL/RCTMGLCallout.m → RCTMLN/RCTMLNCallout.m} +6 -6
  160. package/ios/{RCTMGL/RCTMGLCalloutManager.h → RCTMLN/RCTMLNCalloutManager.h} +3 -3
  161. package/ios/RCTMLN/RCTMLNCalloutManager.m +21 -0
  162. package/ios/{RCTMGL/RCTMGLCamera.h → RCTMLN/RCTMLNCamera.h} +6 -6
  163. package/ios/{RCTMGL/RCTMGLCamera.m → RCTMLN/RCTMLNCamera.m} +30 -30
  164. package/ios/{RCTMGL/RCTMGLCameraManager.h → RCTMLN/RCTMLNCameraManager.h} +3 -3
  165. package/ios/{RCTMGL/RCTMGLCameraManager.m → RCTMLN/RCTMLNCameraManager.m} +7 -7
  166. package/ios/RCTMLN/RCTMLNCircleLayer.h +13 -0
  167. package/ios/{RCTMGL/RCTMGLCircleLayer.m → RCTMLN/RCTMLNCircleLayer.m} +10 -10
  168. package/ios/{RCTMGL/RCTMGLCircleLayerManager.h → RCTMLN/RCTMLNCircleLayerManager.h} +3 -3
  169. package/ios/{RCTMGL/RCTMGLCircleLayerManager.m → RCTMLN/RCTMLNCircleLayerManager.m} +6 -6
  170. package/ios/{RCTMGL/RCTMGLEvent.h → RCTMLN/RCTMLNEvent.h} +6 -6
  171. package/ios/{RCTMGL/RCTMGLEvent.m → RCTMLN/RCTMLNEvent.m} +8 -8
  172. package/ios/{RCTMGL/RCTMGLEventProtocol.h → RCTMLN/RCTMLNEventProtocol.h} +3 -3
  173. package/ios/{RCTMGL/RCTMGLEventTypes.h → RCTMLN/RCTMLNEventTypes.h} +3 -3
  174. package/ios/{RCTMGL/RCTMGLEventTypes.m → RCTMLN/RCTMLNEventTypes.m} +4 -4
  175. package/ios/RCTMLN/RCTMLNFillExtrusionLayer.h +14 -0
  176. package/ios/{RCTMGL/RCTMGLFillExtrusionLayer.m → RCTMLN/RCTMLNFillExtrusionLayer.m} +10 -10
  177. package/ios/{RCTMGL/RCTMGLFillExtrusionLayerManager.h → RCTMLN/RCTMLNFillExtrusionLayerManager.h} +3 -3
  178. package/ios/{RCTMGL/RCTMGLFillExtrusionLayerManager.m → RCTMLN/RCTMLNFillExtrusionLayerManager.m} +6 -6
  179. package/ios/RCTMLN/RCTMLNFillLayer.h +14 -0
  180. package/ios/{RCTMGL/RCTMGLFillLayer.m → RCTMLN/RCTMLNFillLayer.m} +10 -10
  181. package/ios/{RCTMGL/RCTMGLFillLayerManager.h → RCTMLN/RCTMLNFillLayerManager.h} +3 -3
  182. package/ios/{RCTMGL/RCTMGLFillLayerManager.m → RCTMLN/RCTMLNFillLayerManager.m} +6 -6
  183. package/ios/RCTMLN/RCTMLNHeatmapLayer.h +12 -0
  184. package/ios/RCTMLN/RCTMLNHeatmapLayer.m +30 -0
  185. package/ios/RCTMLN/RCTMLNHeatmapLayerManager.h +12 -0
  186. package/ios/{RCTMGL/RCTMGLHeatmapLayerManager.m → RCTMLN/RCTMLNHeatmapLayerManager.m} +6 -6
  187. package/ios/{RCTMGL/RCTMGLImageQueue.h → RCTMLN/RCTMLNImageQueue.h} +3 -3
  188. package/ios/{RCTMGL/RCTMGLImageQueue.m → RCTMLN/RCTMLNImageQueue.m} +10 -10
  189. package/ios/{RCTMGL/RCTMGLImageQueueOperation.h → RCTMLN/RCTMLNImageQueueOperation.h} +3 -3
  190. package/ios/{RCTMGL/RCTMGLImageQueueOperation.m → RCTMLN/RCTMLNImageQueueOperation.m} +12 -12
  191. package/ios/{RCTMGL/RCTMGLImageSource.h → RCTMLN/RCTMLNImageSource.h} +4 -4
  192. package/ios/{RCTMGL/RCTMGLImageSource.m → RCTMLN/RCTMLNImageSource.m} +11 -11
  193. package/ios/{RCTMGL/RCTMGLImageSourceManager.h → RCTMLN/RCTMLNImageSourceManager.h} +3 -3
  194. package/ios/{RCTMGL/RCTMGLImageSourceManager.m → RCTMLN/RCTMLNImageSourceManager.m} +6 -6
  195. package/ios/{RCTMGL/RCTMGLImages.h → RCTMLN/RCTMLNImages.h} +4 -4
  196. package/ios/{RCTMGL/RCTMGLImages.m → RCTMLN/RCTMLNImages.m} +10 -10
  197. package/ios/RCTMLN/RCTMLNImagesManager.h +5 -0
  198. package/ios/{RCTMGL/RCTMGLImagesManager.m → RCTMLN/RCTMLNImagesManager.m} +4 -4
  199. package/ios/{RCTMGL/RCTMGLLayer.h → RCTMLN/RCTMLNLayer.h} +11 -11
  200. package/ios/{RCTMGL/RCTMGLLayer.m → RCTMLN/RCTMLNLayer.m} +17 -17
  201. package/ios/{RCTMGL/RCTMGLLight.h → RCTMLN/RCTMLNLight.h} +5 -5
  202. package/ios/{RCTMGL/RCTMGLLight.m → RCTMLN/RCTMLNLight.m} +9 -9
  203. package/ios/{RCTMGL/RCTMGLLightManager.h → RCTMLN/RCTMLNLightManager.h} +3 -3
  204. package/ios/{RCTMGL/RCTMGLLightManager.m → RCTMLN/RCTMLNLightManager.m} +6 -6
  205. package/ios/RCTMLN/RCTMLNLineLayer.h +14 -0
  206. package/ios/{RCTMGL/RCTMGLLineLayer.m → RCTMLN/RCTMLNLineLayer.m} +10 -10
  207. package/ios/{RCTMGL/RCTMGLLineLayerManager.h → RCTMLN/RCTMLNLineLayerManager.h} +3 -3
  208. package/ios/{RCTMGL/RCTMGLLineLayerManager.m → RCTMLN/RCTMLNLineLayerManager.m} +6 -6
  209. package/ios/{RCTMGL/RCTMGLLocation.h → RCTMLN/RCTMLNLocation.h} +3 -3
  210. package/ios/{RCTMGL/RCTMGLLocation.m → RCTMLN/RCTMLNLocation.m} +4 -4
  211. package/ios/RCTMLN/RCTMLNLocationManager.h +30 -0
  212. package/ios/{RCTMGL/RCTMGLLocationManager.m → RCTMLN/RCTMLNLocationManager.m} +16 -16
  213. package/ios/RCTMLN/RCTMLNLocationManagerDelegate.h +20 -0
  214. package/ios/{RCTMGL/RCTMGLLocationModule.h → RCTMLN/RCTMLNLocationModule.h} +3 -3
  215. package/ios/{RCTMGL/RCTMGLLocationModule.m → RCTMLN/RCTMLNLocationModule.m} +13 -13
  216. package/ios/RCTMLN/RCTMLNLogging.h +18 -0
  217. package/ios/{RCTMGL/RCTMGLLogging.m → RCTMLN/RCTMLNLogging.m} +29 -29
  218. package/ios/{RCTMGL/RCTMGLMapTouchEvent.h → RCTMLN/RCTMLNMapTouchEvent.h} +10 -10
  219. package/ios/{RCTMGL/RCTMGLMapTouchEvent.m → RCTMLN/RCTMLNMapTouchEvent.m} +18 -18
  220. package/ios/{RCTMGL/RCTMGLMapView.h → RCTMLN/RCTMLNMapView.h} +30 -30
  221. package/ios/{RCTMGL/RCTMGLMapView.m → RCTMLN/RCTMLNMapView.m} +82 -82
  222. package/ios/{RCTMGL/RCTMGLMapViewManager.h → RCTMLN/RCTMLNMapViewManager.h} +4 -4
  223. package/ios/{RCTMGL/RCTMGLMapViewManager.m → RCTMLN/RCTMLNMapViewManager.m} +117 -117
  224. package/ios/{RCTMGL/RCTMGLNativeUserLocation.h → RCTMLN/RCTMLNNativeUserLocation.h} +5 -5
  225. package/ios/{RCTMGL/RCTMGLNativeUserLocation.m → RCTMLN/RCTMLNNativeUserLocation.m} +10 -10
  226. package/ios/RCTMLN/RCTMLNNativeUserLocationManager.h +5 -0
  227. package/ios/RCTMLN/RCTMLNNativeUserLocationManager.m +25 -0
  228. package/ios/{RCTMGL/RCTMGLPointAnnotation.h → RCTMLN/RCTMLNPointAnnotation.h} +8 -8
  229. package/ios/{RCTMGL/RCTMGLPointAnnotation.m → RCTMLN/RCTMLNPointAnnotation.m} +21 -21
  230. package/ios/{RCTMGL/RCTMGLPointAnnotationManager.h → RCTMLN/RCTMLNPointAnnotationManager.h} +3 -3
  231. package/ios/{RCTMGL/RCTMGLPointAnnotationManager.m → RCTMLN/RCTMLNPointAnnotationManager.m} +6 -6
  232. package/ios/RCTMLN/RCTMLNRasterLayer.h +14 -0
  233. package/ios/RCTMLN/RCTMLNRasterLayer.m +30 -0
  234. package/ios/{RCTMGL/RCTMGLRasterLayerManager.h → RCTMLN/RCTMLNRasterLayerManager.h} +3 -3
  235. package/ios/{RCTMGL/RCTMGLRasterLayerManager.m → RCTMLN/RCTMLNRasterLayerManager.m} +6 -6
  236. package/ios/{RCTMGL/RCTMGLRasterSource.h → RCTMLN/RCTMLNRasterSource.h} +5 -5
  237. package/ios/{RCTMGL/RCTMGLRasterSource.m → RCTMLN/RCTMLNRasterSource.m} +11 -11
  238. package/ios/{RCTMGL/RCTMGLRasterSourceManager.h → RCTMLN/RCTMLNRasterSourceManager.h} +3 -3
  239. package/ios/{RCTMGL/RCTMGLRasterSourceManager.m → RCTMLN/RCTMLNRasterSourceManager.m} +6 -6
  240. package/ios/{RCTMGL/RCTMGLShapeSource.h → RCTMLN/RCTMLNShapeSource.h} +10 -10
  241. package/ios/{RCTMGL/RCTMGLShapeSource.m → RCTMLN/RCTMLNShapeSource.m} +50 -50
  242. package/ios/{RCTMGL/RCTMGLShapeSourceManager.h → RCTMLN/RCTMLNShapeSourceManager.h} +3 -3
  243. package/ios/{RCTMGL/RCTMGLShapeSourceManager.m → RCTMLN/RCTMLNShapeSourceManager.m} +25 -25
  244. package/ios/{RCTMGL/RCTMGLSource.h → RCTMLN/RCTMLNSource.h} +8 -8
  245. package/ios/{RCTMGL/RCTMGLSource.m → RCTMLN/RCTMLNSource.m} +15 -15
  246. package/ios/RCTMLN/RCTMLNStyle.h +223 -0
  247. package/ios/{RCTMGL/RCTMGLStyle.m → RCTMLN/RCTMLNStyle.m} +352 -345
  248. package/ios/{RCTMGL/RCTMGLStyleValue.h → RCTMLN/RCTMLNStyleValue.h} +7 -7
  249. package/ios/{RCTMGL/RCTMGLStyleValue.m → RCTMLN/RCTMLNStyleValue.m} +24 -24
  250. package/ios/{RCTMGL/RCTMGLSymbolLayer.h → RCTMLN/RCTMLNSymbolLayer.h} +4 -4
  251. package/ios/{RCTMGL/RCTMGLSymbolLayer.m → RCTMLN/RCTMLNSymbolLayer.m} +12 -12
  252. package/ios/{RCTMGL/RCTMGLSymbolLayerManager.h → RCTMLN/RCTMLNSymbolLayerManager.h} +3 -3
  253. package/ios/{RCTMGL/RCTMGLSymbolLayerManager.m → RCTMLN/RCTMLNSymbolLayerManager.m} +6 -6
  254. package/ios/{RCTMGL/RCTMGLTileSource.h → RCTMLN/RCTMLNTileSource.h} +6 -6
  255. package/ios/RCTMLN/RCTMLNTileSource.m +31 -0
  256. package/ios/RCTMLN/RCTMLNUserLocation.h +15 -0
  257. package/ios/{RCTMGL/RCTMGLUserLocation.m → RCTMLN/RCTMLNUserLocation.m} +8 -8
  258. package/ios/{RCTMGL/RCTMGLUtils.h → RCTMLN/RCTMLNUtils.h} +7 -7
  259. package/ios/{RCTMGL/RCTMGLUtils.m → RCTMLN/RCTMLNUtils.m} +20 -20
  260. package/ios/{RCTMGL/RCTMGLVectorLayer.h → RCTMLN/RCTMLNVectorLayer.h} +4 -4
  261. package/ios/{RCTMGL/RCTMGLVectorLayer.m → RCTMLN/RCTMLNVectorLayer.m} +7 -7
  262. package/ios/{RCTMGL/RCTMGLVectorSource.h → RCTMLN/RCTMLNVectorSource.h} +6 -6
  263. package/ios/{RCTMGL/RCTMGLVectorSource.m → RCTMLN/RCTMLNVectorSource.m} +9 -9
  264. package/ios/{RCTMGL/RCTMGLVectorSourceManager.h → RCTMLN/RCTMLNVectorSourceManager.h} +3 -3
  265. package/ios/{RCTMGL/RCTMGLVectorSourceManager.m → RCTMLN/RCTMLNVectorSourceManager.m} +11 -11
  266. package/ios/{RCTMGL → RCTMLN}/RNMBImageUtils.h +1 -1
  267. package/ios/{RCTMGL → RCTMLN}/RNMBImageUtils.m +2 -2
  268. package/ios/{RCTMGL → RCTMLN}/ViewManager.h +3 -3
  269. package/ios/{RCTMGL → RCTMLN}/ViewManager.m +4 -4
  270. package/ios/RCTMLN.xcodeproj/project.pbxproj +775 -0
  271. package/ios/install.md +6 -7
  272. package/javascript/{MGLModule.ts → MLNModule.ts} +4 -4
  273. package/javascript/Maplibre.ts +44 -39
  274. package/javascript/components/BackgroundLayer.tsx +34 -27
  275. package/javascript/components/Callout.tsx +59 -59
  276. package/javascript/components/Camera.tsx +436 -493
  277. package/javascript/components/CircleLayer.tsx +35 -28
  278. package/javascript/components/FillExtrusionLayer.tsx +29 -29
  279. package/javascript/components/FillLayer.tsx +28 -25
  280. package/javascript/components/HeadingIndicator.tsx +8 -8
  281. package/javascript/components/HeatmapLayer.tsx +28 -26
  282. package/javascript/components/ImageSource.tsx +31 -38
  283. package/javascript/components/Images.tsx +54 -54
  284. package/javascript/components/Light.tsx +25 -52
  285. package/javascript/components/LineLayer.tsx +29 -26
  286. package/javascript/components/MapView.tsx +635 -580
  287. package/javascript/components/MarkerView.tsx +34 -49
  288. package/javascript/components/NativeUserLocation.tsx +12 -10
  289. package/javascript/components/PointAnnotation.tsx +121 -97
  290. package/javascript/components/RasterLayer.tsx +28 -25
  291. package/javascript/components/RasterSource.tsx +45 -48
  292. package/javascript/components/ShapeSource.tsx +300 -250
  293. package/javascript/components/Style.tsx +69 -59
  294. package/javascript/components/SymbolLayer.tsx +41 -35
  295. package/javascript/components/UserLocation.tsx +189 -168
  296. package/javascript/components/VectorSource.tsx +139 -128
  297. package/javascript/components/annotations/Annotation.tsx +119 -89
  298. package/javascript/hooks/useAbstractLayer.ts +127 -0
  299. package/javascript/hooks/useAbstractSource.ts +34 -0
  300. package/javascript/hooks/useNativeBridge.ts +125 -0
  301. package/javascript/hooks/useNativeRef.ts +13 -0
  302. package/javascript/hooks/useOnce.ts +12 -0
  303. package/javascript/index.ts +2 -2
  304. package/javascript/modules/location/locationManager.ts +6 -6
  305. package/javascript/modules/offline/OfflineCreatePackOptions.ts +5 -5
  306. package/javascript/modules/offline/OfflinePack.ts +5 -5
  307. package/javascript/modules/offline/offlineManager.ts +13 -14
  308. package/javascript/modules/snapshot/SnapshotOptions.ts +5 -5
  309. package/javascript/modules/snapshot/snapshotManager.ts +3 -3
  310. package/javascript/requestAndroidLocationPermissions.ts +3 -3
  311. package/javascript/types/OnPressEvent.ts +1 -1
  312. package/javascript/types/index.ts +6 -2
  313. package/javascript/utils/BridgeValue.ts +20 -20
  314. package/javascript/utils/Logger.ts +17 -17
  315. package/javascript/utils/MaplibreStyles.d.ts +399 -393
  316. package/javascript/utils/StyleValue.ts +12 -12
  317. package/javascript/utils/animated/AbstractAnimatedCoordinates.ts +6 -6
  318. package/javascript/utils/animated/Animated.ts +38 -16
  319. package/javascript/utils/animated/AnimatedCoordinatesArray.ts +7 -11
  320. package/javascript/utils/animated/AnimatedExtractCoordinateFromArray.ts +3 -3
  321. package/javascript/utils/animated/AnimatedPoint.ts +7 -7
  322. package/javascript/utils/animated/AnimatedRouteCoordinatesArray.ts +16 -20
  323. package/javascript/utils/animated/AnimatedShape.ts +16 -16
  324. package/javascript/utils/deprecation.ts +6 -3
  325. package/javascript/utils/filterUtils.ts +1 -1
  326. package/javascript/utils/geoUtils.ts +8 -8
  327. package/javascript/utils/index.ts +14 -14
  328. package/javascript/utils/styleMap.ts +19 -18
  329. package/maplibre-react-native.podspec +8 -8
  330. package/package.json +58 -39
  331. package/plugin/build/withMapLibre.d.ts +2 -2
  332. package/plugin/build/withMapLibre.js +33 -34
  333. package/react-native.config.js +1 -1
  334. package/scripts/autogenHelpers/globals.js +11 -10
  335. package/scripts/autogenerate.js +24 -17
  336. package/scripts/templates/{RCTMGLStyle.h.ejs → RCTMLNStyle.h.ejs} +8 -8
  337. package/scripts/templates/{RCTMGLStyle.m.ejs → RCTMLNStyle.m.ejs} +10 -10
  338. package/scripts/templates/{RCTMGLStyleFactory.java.ejs → RCTMLNStyleFactory.java.ejs} +24 -24
  339. package/setup-jest.js +4 -10
  340. package/style-spec/v8.json +1248 -655
  341. package/tsconfig.json +0 -1
  342. package/.eslintignore +0 -3
  343. package/.eslintrc.js +0 -166
  344. package/.prettierrc.js +0 -7
  345. package/.yarn/plugins/@yarnpkg/plugin-typescript.cjs +0 -9
  346. package/.yarn/sdks/eslint/bin/eslint.js +0 -20
  347. package/.yarn/sdks/eslint/lib/api.js +0 -20
  348. package/.yarn/sdks/eslint/package.json +0 -6
  349. package/.yarn/sdks/integrations.yml +0 -5
  350. package/.yarn/sdks/prettier/index.js +0 -20
  351. package/.yarn/sdks/prettier/package.json +0 -6
  352. package/.yarn/sdks/typescript/bin/tsc +0 -20
  353. package/.yarn/sdks/typescript/bin/tsserver +0 -20
  354. package/.yarn/sdks/typescript/lib/tsc.js +0 -20
  355. package/.yarn/sdks/typescript/lib/tsserver.js +0 -225
  356. package/.yarn/sdks/typescript/lib/tsserverlibrary.js +0 -225
  357. package/.yarn/sdks/typescript/lib/typescript.js +0 -20
  358. package/.yarn/sdks/typescript/package.json +0 -6
  359. package/android/rctmgl/.settings/org.eclipse.buildship.core.prefs +0 -2
  360. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/RCTMGLPackage.java +0 -99
  361. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCalloutManager.java +0 -22
  362. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapView.java +0 -16
  363. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapViewManager.java +0 -31
  364. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +0 -27
  365. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +0 -27
  366. package/android/rctmgl/src/main/res/values/strings.xml +0 -3
  367. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.h +0 -23
  368. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.h +0 -11
  369. package/ios/RCTMGL/RCTMGLBackgroundLayer.h +0 -14
  370. package/ios/RCTMGL/RCTMGLBackgroundLayer.m +0 -27
  371. package/ios/RCTMGL/RCTMGLCalloutManager.m +0 -21
  372. package/ios/RCTMGL/RCTMGLCircleLayer.h +0 -13
  373. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.h +0 -14
  374. package/ios/RCTMGL/RCTMGLFillLayer.h +0 -14
  375. package/ios/RCTMGL/RCTMGLHeatmapLayer.h +0 -12
  376. package/ios/RCTMGL/RCTMGLHeatmapLayer.m +0 -30
  377. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.h +0 -12
  378. package/ios/RCTMGL/RCTMGLImagesManager.h +0 -5
  379. package/ios/RCTMGL/RCTMGLLineLayer.h +0 -14
  380. package/ios/RCTMGL/RCTMGLLocationManager.h +0 -30
  381. package/ios/RCTMGL/RCTMGLLocationManagerDelegate.h +0 -20
  382. package/ios/RCTMGL/RCTMGLLogging.h +0 -18
  383. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.h +0 -5
  384. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.m +0 -25
  385. package/ios/RCTMGL/RCTMGLRasterLayer.h +0 -14
  386. package/ios/RCTMGL/RCTMGLRasterLayer.m +0 -30
  387. package/ios/RCTMGL/RCTMGLStyle.h +0 -222
  388. package/ios/RCTMGL/RCTMGLTileSource.m +0 -31
  389. package/ios/RCTMGL/RCTMGLUserLocation.h +0 -15
  390. package/ios/RCTMGL.xcodeproj/project.pbxproj +0 -775
  391. package/javascript/@types/assets.d.ts +0 -4
  392. package/javascript/components/AbstractLayer.tsx +0 -107
  393. package/javascript/components/AbstractSource.tsx +0 -27
  394. package/javascript/components/NativeBridgeComponent.tsx +0 -117
  395. /package/android/{rctmgl → rctmln}/proguard-rules.pro +0 -0
  396. /package/android/{rctmgl → rctmln}/src/main/res/drawable/empty.xml +0 -0
  397. /package/android/{rctmgl → rctmln}/src/main/res/drawable/empty_drawable.png +0 -0
  398. /package/android/{rctmgl → rctmln}/src/main/res/drawable-xxhdpi/red_marker.png +0 -0
  399. /package/android/{rctmgl → rctmln}/src/main/res/layout/annotation.xml +0 -0
  400. /package/ios/{RCTMGL → RCTMLN}/index.d.ts +0 -0
@@ -1,12 +1,11 @@
1
- import {toJSONString} from '../utils';
2
- import {makePoint} from '../utils/geoUtils';
1
+ import React, { ReactElement, useMemo } from "react";
2
+ import { Platform, requireNativeComponent, ViewProps } from "react-native";
3
3
 
4
- import PointAnnotation from './PointAnnotation';
4
+ import PointAnnotation from "./PointAnnotation";
5
+ import { toJSONString } from "../utils";
6
+ import { makePoint } from "../utils/geoUtils";
5
7
 
6
- import React, {ReactElement} from 'react';
7
- import {Platform, requireNativeComponent, ViewProps} from 'react-native';
8
-
9
- export const NATIVE_MODULE_NAME = 'RCTMGLMarkerView';
8
+ export const NATIVE_MODULE_NAME = "RCTMLNMarkerView";
10
9
 
11
10
  interface MarkerViewProps extends ViewProps {
12
11
  /**
@@ -21,7 +20,7 @@ interface MarkerViewProps extends ViewProps {
21
20
  * Note this is only for custom annotations not the default pin view.
22
21
  * Defaults to the center of the view.
23
22
  */
24
- anchor: {
23
+ anchor?: {
25
24
  /**
26
25
  * `x` of anchor
27
26
  */
@@ -31,8 +30,8 @@ interface MarkerViewProps extends ViewProps {
31
30
  */
32
31
  y: number;
33
32
  };
34
- allowOverlap: boolean;
35
- isSelected: boolean;
33
+ allowOverlap?: boolean;
34
+ isSelected?: boolean;
36
35
  /**
37
36
  * Expects one child - can be container with multiple elements
38
37
  */
@@ -41,7 +40,7 @@ interface MarkerViewProps extends ViewProps {
41
40
 
42
41
  interface NativeProps extends ViewProps {
43
42
  coordinate: string | undefined;
44
- anchor: {x: number; y: number};
43
+ anchor: { x: number; y: number };
45
44
  allowOverlap: boolean;
46
45
  isSelected: boolean;
47
46
  }
@@ -54,51 +53,37 @@ interface NativeProps extends ViewProps {
54
53
  * This is based on [MakerView plugin](https://docs.mapbox.com/android/plugins/overview/markerview/) on Android
55
54
  * and PointAnnotation on iOS.
56
55
  */
57
- class MarkerView extends React.PureComponent<MarkerViewProps> {
58
- static defaultProps = {
59
- anchor: {x: 0.5, y: 0.5},
60
- allowOverlap: false,
61
- isSelected: false,
62
- };
56
+ const MarkerView = ({
57
+ anchor = { x: 0.5, y: 0.5 },
58
+ allowOverlap = false,
59
+ isSelected = false,
60
+ ...rest
61
+ }: MarkerViewProps): ReactElement => {
62
+ const props = { anchor, allowOverlap, isSelected, ...rest };
63
+ const coordinate = props.coordinate
64
+ ? toJSONString(makePoint(props.coordinate))
65
+ : undefined;
63
66
 
64
- static lastId = 0;
65
- __idForPointAnnotation?: string;
67
+ const idForPointAnnotation = useMemo(() => {
68
+ lastId = lastId + 1;
69
+ return `MV-${lastId}`;
70
+ }, []);
66
71
 
67
- _idForPointAnnotation(): string {
68
- if (this.__idForPointAnnotation === undefined) {
69
- MarkerView.lastId = MarkerView.lastId + 1;
70
- this.__idForPointAnnotation = `MV-${MarkerView.lastId}`;
71
- }
72
- return this.__idForPointAnnotation;
72
+ if (Platform.OS === "ios") {
73
+ return <PointAnnotation id={idForPointAnnotation} {...props} />;
73
74
  }
74
75
 
75
- _getCoordinate(): string | undefined {
76
- if (!this.props.coordinate) {
77
- return undefined;
78
- }
79
- return toJSONString(makePoint(this.props.coordinate));
80
- }
81
-
82
- render(): ReactElement {
83
- if (Platform.OS === 'ios') {
84
- return (
85
- <PointAnnotation id={this._idForPointAnnotation()} {...this.props} />
86
- );
87
- }
76
+ const propsToSend = {
77
+ ...props,
78
+ coordinate,
79
+ };
88
80
 
89
- const props = {
90
- ...this.props,
91
- anchor: this.props.anchor,
92
- coordinate: this._getCoordinate(),
93
- };
81
+ return <RCTMLNMarkerView {...propsToSend}>{props.children}</RCTMLNMarkerView>;
82
+ };
94
83
 
95
- return (
96
- <RCTMGLMarkerView {...props}>{this.props.children}</RCTMGLMarkerView>
97
- );
98
- }
99
- }
84
+ let lastId = 0;
100
85
 
101
- const RCTMGLMarkerView =
86
+ const RCTMLNMarkerView =
102
87
  requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
103
88
 
104
89
  export default MarkerView;
@@ -1,7 +1,7 @@
1
- import React, {ReactElement} from 'react';
2
- import {requireNativeComponent} from 'react-native';
1
+ import React, { ReactElement } from "react";
2
+ import { requireNativeComponent } from "react-native";
3
3
 
4
- const NATIVE_MODULE_NAME = 'RCTMGLNativeUserLocation';
4
+ const NATIVE_MODULE_NAME = "RCTMLNNativeUserLocation";
5
5
 
6
6
  interface NativeUserLocationProps {
7
7
  /**
@@ -13,21 +13,23 @@ interface NativeUserLocationProps {
13
13
  *
14
14
  * @platform android
15
15
  */
16
- androidRenderMode?: 'normal' | 'compass' | 'gps';
16
+ androidRenderMode?: "normal" | "compass" | "gps";
17
17
  /**
18
18
  * iOS only. A Boolean value indicating whether the user location annotation may display a permanent heading indicator.
19
19
  *
20
20
  * @platform ios
21
21
  */
22
22
  iosShowsUserHeadingIndicator?: boolean;
23
+ /**
24
+ * Android only. Set max FPS at which location animators can output updates. Use this setting to limit animation rate of the location puck on higher zoom levels to decrease the stress on the device's CPU which can directly improve battery life, without sacrificing UX.
25
+ */
26
+ androidPreferredFramesPerSecond?: number;
23
27
  }
24
28
 
25
- class NativeUserLocation extends React.Component<NativeUserLocationProps> {
26
- render(): ReactElement {
27
- return <RCTMGLNativeUserLocation {...this.props} />;
28
- }
29
- }
29
+ const NativeUserLocation = (props: NativeUserLocationProps): ReactElement => {
30
+ return <RCTMLNNativeUserLocation {...props} />;
31
+ };
30
32
 
31
- const RCTMGLNativeUserLocation = requireNativeComponent(NATIVE_MODULE_NAME);
33
+ const RCTMLNNativeUserLocation = requireNativeComponent(NATIVE_MODULE_NAME);
32
34
 
33
35
  export default NativeUserLocation;
@@ -1,23 +1,29 @@
1
- import {toJSONString, isFunction} from '../utils';
2
- import {makePoint} from '../utils/geoUtils';
3
-
4
- import NativeBridgeComponent, {RNMLEvent} from './NativeBridgeComponent';
5
-
6
- import React, {Component, ReactElement, SyntheticEvent} from 'react';
1
+ import React, {
2
+ Component,
3
+ SyntheticEvent,
4
+ forwardRef,
5
+ useImperativeHandle,
6
+ useRef,
7
+ ReactElement,
8
+ } from "react";
7
9
  import {
8
- requireNativeComponent,
9
- StyleSheet,
10
10
  Platform,
11
+ StyleSheet,
11
12
  ViewProps,
12
- } from 'react-native';
13
+ requireNativeComponent,
14
+ } from "react-native";
15
+
16
+ import useNativeBridge, { RNMLEvent } from "../hooks/useNativeBridge";
17
+ import { isFunction, toJSONString } from "../utils";
18
+ import { makePoint } from "../utils/geoUtils";
13
19
 
14
- export const NATIVE_MODULE_NAME = 'RCTMGLPointAnnotation';
20
+ export const NATIVE_MODULE_NAME = "RCTMLNPointAnnotation";
15
21
 
16
22
  const styles = StyleSheet.create({
17
23
  container: {
18
- alignItems: 'center',
19
- justifyContent: 'center',
20
- position: 'absolute',
24
+ alignItems: "center",
25
+ justifyContent: "center",
26
+ position: "absolute",
21
27
  },
22
28
  });
23
29
 
@@ -29,7 +35,7 @@ type FeaturePayload = GeoJSON.Feature<
29
35
  }
30
36
  >;
31
37
 
32
- interface PointAnnotationProps {
38
+ export interface PointAnnotationProps {
33
39
  /**
34
40
  * A string that uniquely identifies the annotation
35
41
  */
@@ -98,7 +104,15 @@ interface PointAnnotationProps {
98
104
  */
99
105
  children: React.ReactElement | [React.ReactElement, React.ReactElement];
100
106
 
101
- style?: ViewProps['style'];
107
+ style?: ViewProps["style"];
108
+ }
109
+
110
+ interface NativeProps extends Omit<PointAnnotationProps, "coordinate"> {
111
+ coordinate?: string;
112
+ }
113
+
114
+ export interface PointAnnotationRef {
115
+ refresh(): void;
102
116
  }
103
117
 
104
118
  /**
@@ -111,111 +125,121 @@ interface PointAnnotationProps {
111
125
  * If you need interctive views please use MarkerView,
112
126
  * as with PointAnnotation on Android child views are rendered onto a bitmap for better performance.
113
127
  */
114
- class PointAnnotation extends NativeBridgeComponent(
115
- React.PureComponent<PointAnnotationProps>,
116
- NATIVE_MODULE_NAME,
117
- ) {
118
- static defaultProps = {
119
- anchor: {x: 0.5, y: 0.5},
120
- draggable: false,
121
- };
122
-
123
- _nativeRef: Component<NativeProps> | null = null;
128
+ const PointAnnotation = forwardRef<PointAnnotationRef, PointAnnotationProps>(
129
+ (
130
+ {
131
+ anchor = { x: 0.5, y: 0.5 },
132
+ draggable = false,
133
+ ...props
134
+ }: PointAnnotationProps,
135
+ ref,
136
+ ): ReactElement => {
137
+ useImperativeHandle(
138
+ ref,
139
+ (): PointAnnotationRef => ({
140
+ /**
141
+ * On android point annotation is rendered offscreen with a canvas into an image.
142
+ * To rerender the image from the current state of the view call refresh.
143
+ * Call this for example from Image#onLoad.
144
+ */
145
+ refresh,
146
+ }),
147
+ );
124
148
 
125
- constructor(props: PointAnnotationProps) {
126
- super(props);
127
- this._onSelected = this._onSelected.bind(this);
128
- this._onDeselected = this._onDeselected.bind(this);
129
- this._onDragStart = this._onDragStart.bind(this);
130
- this._onDrag = this._onDrag.bind(this);
131
- this._onDragEnd = this._onDragEnd.bind(this);
132
- }
149
+ const { _runNativeCommand, _runPendingNativeCommands } =
150
+ useNativeBridge(NATIVE_MODULE_NAME);
151
+ const _nativeRef = useRef<Component<NativeProps> | null>();
133
152
 
134
- _onSelected(e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>): void {
135
- if (isFunction(this.props.onSelected)) {
136
- this.props.onSelected(e.nativeEvent.payload);
153
+ function refresh(): void {
154
+ if (Platform.OS === "android") {
155
+ _runNativeCommand("refresh", _nativeRef.current, []);
156
+ }
137
157
  }
138
- }
139
158
 
140
- _onDeselected(e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>): void {
141
- if (isFunction(this.props.onDeselected)) {
142
- this.props.onDeselected(e.nativeEvent.payload);
159
+ function _onSelected(
160
+ e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>,
161
+ ): void {
162
+ if (isFunction(props.onSelected)) {
163
+ props.onSelected(e.nativeEvent.payload);
164
+ }
143
165
  }
144
- }
145
166
 
146
- _onDragStart(e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>): void {
147
- if (isFunction(this.props.onDragStart)) {
148
- this.props.onDragStart(e.nativeEvent.payload);
167
+ function _onDeselected(
168
+ e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>,
169
+ ): void {
170
+ if (isFunction(props.onDeselected)) {
171
+ props.onDeselected(e.nativeEvent.payload);
172
+ }
149
173
  }
150
- }
151
174
 
152
- _onDrag(e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>): void {
153
- if (isFunction(this.props.onDrag)) {
154
- this.props.onDrag(e.nativeEvent.payload);
175
+ function _onDragStart(
176
+ e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>,
177
+ ): void {
178
+ if (isFunction(props.onDragStart)) {
179
+ props.onDragStart(e.nativeEvent.payload);
180
+ }
155
181
  }
156
- }
157
182
 
158
- _onDragEnd(e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>): void {
159
- if (isFunction(this.props.onDragEnd)) {
160
- this.props.onDragEnd(e.nativeEvent.payload);
183
+ function _onDrag(
184
+ e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>,
185
+ ): void {
186
+ if (isFunction(props.onDrag)) {
187
+ props.onDrag(e.nativeEvent.payload);
188
+ }
161
189
  }
162
- }
163
190
 
164
- _getCoordinate(): string | undefined {
165
- if (!this.props.coordinate) {
166
- return undefined;
191
+ function _onDragEnd(
192
+ e: SyntheticEvent<Element, RNMLEvent<FeaturePayload>>,
193
+ ): void {
194
+ if (isFunction(props.onDragEnd)) {
195
+ props.onDragEnd(e.nativeEvent.payload);
196
+ }
167
197
  }
168
- return toJSONString(makePoint(this.props.coordinate));
169
- }
170
198
 
171
- /**
172
- * On android point annotation is rendered offscreen with a canvas into an image.
173
- * To rerender the image from the current state of the view call refresh.
174
- * Call this for example from Image#onLoad.
175
- */
176
- refresh(): void {
177
- if (Platform.OS === 'android') {
178
- this._runNativeCommand('refresh', this._nativeRef, []);
199
+ function _getCoordinate(): string | undefined {
200
+ if (!props.coordinate) {
201
+ return undefined;
202
+ }
203
+ return toJSONString(makePoint(props.coordinate));
179
204
  }
180
- }
181
205
 
182
- _setNativeRef(nativeRef: Component<NativeProps> | null): void {
183
- this._nativeRef = nativeRef;
184
- super._runPendingNativeCommands(nativeRef);
185
- }
206
+ const _setNativeRef = (nativeRef: Component<NativeProps> | null): void => {
207
+ _nativeRef.current = nativeRef;
208
+ _runPendingNativeCommands(nativeRef);
209
+ };
186
210
 
187
- render(): ReactElement {
188
- const props = {
189
- ...this.props,
211
+ const nativeProps = {
212
+ ...props,
213
+ anchor,
214
+ draggable,
190
215
  ref: (nativeRef: Component<NativeProps> | null) =>
191
- this._setNativeRef(nativeRef),
192
- id: this.props.id,
193
- title: this.props.title,
194
- snippet: this.props.snippet,
195
- anchor: this.props.anchor,
196
- selected: this.props.selected,
197
- draggable: this.props.draggable,
198
- style: [this.props.style, styles.container],
199
- onMapboxPointAnnotationSelected: this._onSelected,
200
- onMapboxPointAnnotationDeselected: this._onDeselected,
201
- onMapboxPointAnnotationDragStart: this._onDragStart,
202
- onMapboxPointAnnotationDrag: this._onDrag,
203
- onMapboxPointAnnotationDragEnd: this._onDragEnd,
204
- coordinate: this._getCoordinate(),
216
+ _setNativeRef(nativeRef),
217
+ id: props.id,
218
+ title: props.title,
219
+ snippet: props.snippet,
220
+ selected: props.selected,
221
+ style: [props.style, styles.container],
222
+ onMapboxPointAnnotationSelected: _onSelected,
223
+ onMapboxPointAnnotationDeselected: _onDeselected,
224
+ onMapboxPointAnnotationDragStart: _onDragStart,
225
+ onMapboxPointAnnotationDrag: _onDrag,
226
+ onMapboxPointAnnotationDragEnd: _onDragEnd,
227
+ coordinate: _getCoordinate(),
205
228
  };
229
+
206
230
  return (
207
- <RCTMGLPointAnnotation {...props}>
208
- {this.props.children}
209
- </RCTMGLPointAnnotation>
231
+ <RCTMLNPointAnnotation {...nativeProps}>
232
+ {props.children}
233
+ </RCTMLNPointAnnotation>
210
234
  );
211
- }
212
- }
235
+ },
236
+ );
213
237
 
214
- interface NativeProps extends Omit<PointAnnotationProps, 'coordinate'> {
215
- coordinate?: string;
216
- }
238
+ // eslint complains about it
239
+ // not sure why only in this component
240
+ PointAnnotation.displayName = "PointAnnotation";
217
241
 
218
- const RCTMGLPointAnnotation =
242
+ const RCTMLNPointAnnotation =
219
243
  requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
220
244
 
221
245
  export default PointAnnotation;
@@ -1,16 +1,18 @@
1
- import {RasterLayerStyleProps} from '../utils/MaplibreStyles';
2
- import BaseProps from '../types/BaseProps';
1
+ import React from "react";
2
+ import { NativeModules, requireNativeComponent } from "react-native";
3
3
 
4
- import AbstractLayer, {BaseLayerProps, NativeBaseProps} from './AbstractLayer';
4
+ import useAbstractLayer, {
5
+ BaseLayerProps,
6
+ NativeBaseProps,
7
+ } from "../hooks/useAbstractLayer";
8
+ import BaseProps from "../types/BaseProps";
9
+ import { RasterLayerStyleProps } from "../utils/MaplibreStyles";
5
10
 
6
- import React, {ReactElement} from 'react';
7
- import {NativeModules, requireNativeComponent} from 'react-native';
11
+ const MapLibreGL = NativeModules.MLNModule;
8
12
 
9
- const MapLibreGL = NativeModules.MGLModule;
13
+ export const NATIVE_MODULE_NAME = "RCTMLNRasterLayer";
10
14
 
11
- export const NATIVE_MODULE_NAME = 'RCTMGLRasterLayer';
12
-
13
- interface RasterLayerProps extends BaseProps, BaseLayerProps {
15
+ export interface RasterLayerProps extends BaseProps, BaseLayerProps {
14
16
  /**
15
17
  * Customizable style attributes
16
18
  */
@@ -18,24 +20,25 @@ interface RasterLayerProps extends BaseProps, BaseLayerProps {
18
20
  }
19
21
 
20
22
  interface NativeProps
21
- extends Omit<RasterLayerProps, 'style'>,
23
+ extends Omit<RasterLayerProps, "style">,
22
24
  NativeBaseProps {}
23
25
 
24
- class RasterLayer extends AbstractLayer<RasterLayerProps, NativeProps> {
25
- static defaultProps = {
26
- sourceID: MapLibreGL.StyleSource.DefaultSourceID,
27
- };
28
-
29
- render(): ReactElement {
30
- const props = {
31
- ...this.baseProps,
32
- sourceLayerID: this.props.sourceLayerID,
33
- };
34
- return <RCTMGLRasterLayer ref={this.setNativeLayer} {...props} />;
35
- }
36
- }
37
-
38
- const RCTMGLRasterLayer =
26
+ const RCTMLNRasterLayer =
39
27
  requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
40
28
 
29
+ const RasterLayer: React.FC<RasterLayerProps> = ({
30
+ sourceID = MapLibreGL.StyleSource.DefaultSourceID,
31
+ ...props
32
+ }: RasterLayerProps) => {
33
+ const { baseProps, setNativeLayer } = useAbstractLayer<
34
+ RasterLayerProps,
35
+ NativeProps
36
+ >({
37
+ ...props,
38
+ sourceID,
39
+ });
40
+
41
+ return <RCTMLNRasterLayer ref={setNativeLayer} {...baseProps} />;
42
+ };
43
+
41
44
  export default RasterLayer;
@@ -1,18 +1,18 @@
1
- import {cloneReactChildrenWithProps} from '../utils';
2
- import BaseProps from '../types/BaseProps';
1
+ import React from "react";
2
+ import { NativeModules, requireNativeComponent } from "react-native";
3
3
 
4
- import AbstractSource from './AbstractSource';
4
+ import useAbstractSource from "../hooks/useAbstractSource";
5
+ import useOnce from "../hooks/useOnce";
6
+ import BaseProps from "../types/BaseProps";
7
+ import { cloneReactChildrenWithProps } from "../utils";
5
8
 
6
- import {NativeModules, requireNativeComponent} from 'react-native';
7
- import React, {ReactElement} from 'react';
9
+ const MapLibreGL = NativeModules.MLNModule;
8
10
 
9
- const MapLibreGL = NativeModules.MGLModule;
10
-
11
- export const NATIVE_MODULE_NAME = 'RCTMGLRasterSource';
11
+ export const NATIVE_MODULE_NAME = "RCTMLNRasterSource";
12
12
 
13
13
  const isTileTemplateUrl = (url?: string): url is string =>
14
14
  !!url &&
15
- (url.includes('{z}') || url.includes('{bbox-') || url.includes('{quadkey}'));
15
+ (url.includes("{z}") || url.includes("{bbox-") || url.includes("{quadkey}"));
16
16
 
17
17
  interface RasterSourceProps extends BaseProps {
18
18
  /**
@@ -60,58 +60,55 @@ interface RasterSourceProps extends BaseProps {
60
60
 
61
61
  type NativeProps = RasterSourceProps;
62
62
 
63
+ const RCTMLNRasterSource =
64
+ requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
65
+
63
66
  /**
64
67
  * RasterSource is a map content source that supplies raster image tiles to be shown on the map.
65
68
  * The location of and metadata about the tiles are defined either by an option dictionary
66
69
  * or by an external file that conforms to the TileJSON specification.
67
70
  */
68
- class RasterSource extends AbstractSource<RasterSourceProps, NativeProps> {
69
- static defaultProps = {
70
- id: MapLibreGL.StyleSource.DefaultSourceID,
71
- };
72
-
73
- constructor(props: RasterSourceProps) {
74
- super(props);
75
- if (isTileTemplateUrl(props.url)) {
71
+ const RasterSource: React.FC<RasterSourceProps> = ({
72
+ id = MapLibreGL.StyleSource.DefaultSourceID,
73
+ ...props
74
+ }: RasterSourceProps) => {
75
+ useOnce(() => {
76
+ if (props.url && props.tileUrlTemplates) {
76
77
  console.warn(
77
78
  `RasterSource 'url' property contains a Tile URL Template, but is intended for a StyleJSON URL. Please migrate your VectorSource to use: \`tileUrlTemplates=["${props.url}"]\` instead.`,
78
79
  );
79
80
  }
80
- }
81
+ });
81
82
 
82
- render(): ReactElement {
83
- let {url} = this.props;
84
- let {tileUrlTemplates} = this.props;
83
+ const { setNativeRef } = useAbstractSource<NativeProps>();
85
84
 
86
- // Swapping url for tileUrlTemplates to provide backward compatiblity
87
- // when RasterSource supported only tile url as url prop
88
- if (isTileTemplateUrl(url)) {
89
- tileUrlTemplates = [url];
90
- url = undefined;
91
- }
85
+ let { url, tileUrlTemplates } = props;
92
86
 
93
- const props = {
94
- ...this.props,
95
- id: this.props.id,
96
- url,
97
- tileUrlTemplates,
98
- minZoomLevel: this.props.minZoomLevel,
99
- maxZoomLevel: this.props.maxZoomLevel,
100
- tileSize: this.props.tileSize,
101
- tms: this.props.tms,
102
- attribution: this.props.attribution,
103
- };
104
- return (
105
- <RCTMGLRasterSource ref={this.setNativeRef} {...props}>
106
- {cloneReactChildrenWithProps(this.props.children, {
107
- sourceID: this.props.id,
108
- })}
109
- </RCTMGLRasterSource>
110
- );
87
+ // Swapping url for tileUrlTemplates to provide backward compatiblity
88
+ // when RasterSource supported only tile url as url prop
89
+ if (isTileTemplateUrl(url)) {
90
+ tileUrlTemplates = [url];
91
+ url = undefined;
111
92
  }
112
- }
93
+ const allProps = {
94
+ ...props,
95
+ id,
96
+ url,
97
+ tileUrlTemplates,
98
+ minZoomLevel: props.minZoomLevel,
99
+ maxZoomLevel: props.maxZoomLevel,
100
+ tileSize: props.tileSize,
101
+ tms: props.tms,
102
+ attribution: props.attribution,
103
+ };
113
104
 
114
- const RCTMGLRasterSource =
115
- requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
105
+ return (
106
+ <RCTMLNRasterSource ref={setNativeRef} {...allProps}>
107
+ {cloneReactChildrenWithProps(props.children, {
108
+ sourceID: id,
109
+ })}
110
+ </RCTMLNRasterSource>
111
+ );
112
+ };
116
113
 
117
114
  export default RasterSource;