@maplibre/maplibre-react-native 8.6.0-beta.0

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 (381) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.js +158 -0
  3. package/.gitattributes +1 -0
  4. package/.nvmrc +1 -0
  5. package/.prettierrc.js +7 -0
  6. package/.sonarcloud.properties +15 -0
  7. package/CHANGELOG.md +367 -0
  8. package/CODE_OF_CONDUCT.md +2 -0
  9. package/CONTRIBUTING.md +34 -0
  10. package/LICENSE.md +9 -0
  11. package/README.md +224 -0
  12. package/RELEASE.md +30 -0
  13. package/android/build.gradle +34 -0
  14. package/android/install.md +16 -0
  15. package/android/rctmgl/.settings/org.eclipse.buildship.core.prefs +2 -0
  16. package/android/rctmgl/build.gradle +61 -0
  17. package/android/rctmgl/proguard-rules.pro +25 -0
  18. package/android/rctmgl/src/main/AndroidManifest.xml +4 -0
  19. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/RCTMGLPackage.java +99 -0
  20. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractEvent.java +35 -0
  21. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractEventEmitter.java +80 -0
  22. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/AbstractMapFeature.java +19 -0
  23. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/MarkerView.java +23 -0
  24. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/MarkerViewManager.java +67 -0
  25. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCallout.java +15 -0
  26. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLCalloutManager.java +22 -0
  27. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerView.java +112 -0
  28. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLMarkerViewManager.java +45 -0
  29. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.java +360 -0
  30. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotationManager.java +88 -0
  31. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraStop.java +249 -0
  32. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraUpdateItem.java +125 -0
  33. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/CameraUpdateQueue.java +73 -0
  34. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCamera.java +530 -0
  35. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/RCTMGLCameraManager.java +101 -0
  36. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/camera/constants/CameraMode.java +22 -0
  37. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImages.java +234 -0
  38. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +103 -0
  39. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/LocationComponentManager.java +149 -0
  40. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocation.java +66 -0
  41. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/location/RCTMGLNativeUserLocationManager.java +35 -0
  42. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/LayerSourceInfo.java +59 -0
  43. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapView.java +16 -0
  44. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLAndroidTextureMapViewManager.java +31 -0
  45. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.java +1527 -0
  46. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.java +353 -0
  47. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/mapview/helpers/CameraChangeTracker.java +41 -0
  48. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyle.java +83 -0
  49. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFactory.java +2242 -0
  50. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleFunctionParser.java +108 -0
  51. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/RCTMGLStyleValue.java +212 -0
  52. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTLayer.java +287 -0
  53. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayer.java +27 -0
  54. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLBackgroundLayerManager.java +64 -0
  55. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayer.java +55 -0
  56. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLCircleLayerManager.java +77 -0
  57. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayer.java +55 -0
  58. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillExtrusionLayerManager.java +80 -0
  59. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayer.java +55 -0
  60. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLFillLayerManager.java +80 -0
  61. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayer.java +55 -0
  62. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLHeatmapLayerManager.java +77 -0
  63. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayer.java +55 -0
  64. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLLineLayerManager.java +79 -0
  65. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayer.java +27 -0
  66. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLRasterLayerManager.java +64 -0
  67. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayer.java +55 -0
  68. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/layers/RCTMGLSymbolLayerManager.java +75 -0
  69. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLight.java +65 -0
  70. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/light/RCTMGLLightManager.java +29 -0
  71. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSource.java +81 -0
  72. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLImageSourceManager.java +72 -0
  73. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSource.java +45 -0
  74. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLRasterSourceManager.java +44 -0
  75. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSource.java +302 -0
  76. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLShapeSourceManager.java +227 -0
  77. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSource.java +97 -0
  78. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLTileSourceManager.java +80 -0
  79. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSource.java +64 -0
  80. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTMGLVectorSourceManager.java +84 -0
  81. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/components/styles/sources/RCTSource.java +244 -0
  82. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/AbstractEvent.java +66 -0
  83. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/AndroidCallbackEvent.java +38 -0
  84. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/EventEmitter.java +45 -0
  85. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/FeatureClickEvent.java +79 -0
  86. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/IEvent.java +18 -0
  87. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/ImageMissingEvent.java +42 -0
  88. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/LocationEvent.java +100 -0
  89. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapChangeEvent.java +47 -0
  90. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapClickEvent.java +51 -0
  91. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/MapUserTrackingModeEvent.java +36 -0
  92. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/OfflineEvent.java +29 -0
  93. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/PointAnnotationClickEvent.java +46 -0
  94. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/PointAnnotationDragEvent.java +51 -0
  95. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/constants/EventKeys.java +39 -0
  96. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/events/constants/EventTypes.java +51 -0
  97. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/http/CustomHeadersInterceptor.java +38 -0
  98. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/LocationManager.java +168 -0
  99. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserLocation.java +63 -0
  100. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserLocationVerticalAlignment.java +11 -0
  101. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserTrackingMode.java +63 -0
  102. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/location/UserTrackingState.java +19 -0
  103. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLocationModule.java +158 -0
  104. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLLogging.java +140 -0
  105. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLModule.java +348 -0
  106. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLOfflineModule.java +597 -0
  107. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/modules/RCTMGLSnapshotModule.java +139 -0
  108. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/BitmapUtils.java +129 -0
  109. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ConvertUtils.java +257 -0
  110. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/DownloadMapImageTask.java +159 -0
  111. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ExpressionParser.java +74 -0
  112. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/GeoJSONUtils.java +209 -0
  113. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/GeoViewport.java +38 -0
  114. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ImageEntry.java +25 -0
  115. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/ResourceUtils.java +30 -0
  116. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/SimpleEventCallback.java +30 -0
  117. package/android/rctmgl/src/main/java/com/mapbox/rctmgl/utils/SphericalMercator.java +69 -0
  118. package/android/rctmgl/src/main/res/drawable/empty.xml +5 -0
  119. package/android/rctmgl/src/main/res/drawable/empty_drawable.png +0 -0
  120. package/android/rctmgl/src/main/res/drawable-xxhdpi/red_marker.png +0 -0
  121. package/android/rctmgl/src/main/res/layout/annotation.xml +17 -0
  122. package/android/rctmgl/src/main/res/values/strings.xml +3 -0
  123. package/android/settings.gradle +1 -0
  124. package/app.plugin.js +1 -0
  125. package/assets/heading.png +0 -0
  126. package/assets/heading@2x.png +0 -0
  127. package/assets/heading@3x.png +0 -0
  128. package/assets/indoor_building_map_android.png +0 -0
  129. package/assets/indoor_building_map_ios.png +0 -0
  130. package/assets/mapbox_logo.png +0 -0
  131. package/babel.config.js +9 -0
  132. package/docs/Annotation.md +39 -0
  133. package/docs/Annotations.md +17 -0
  134. package/docs/BackgroundLayer.md +166 -0
  135. package/docs/Callout.md +15 -0
  136. package/docs/Camera.md +162 -0
  137. package/docs/CircleLayer.md +453 -0
  138. package/docs/CustomHttpHeaders.md +87 -0
  139. package/docs/FillExtrusionLayer.md +327 -0
  140. package/docs/FillLayer.md +293 -0
  141. package/docs/GettingStarted.md +72 -0
  142. package/docs/HeadingIndicator.md +10 -0
  143. package/docs/HeatmapLayer.md +215 -0
  144. package/docs/ImageSource.md +12 -0
  145. package/docs/Images.md +12 -0
  146. package/docs/Light.md +159 -0
  147. package/docs/LineLayer.md +567 -0
  148. package/docs/Logger.md +23 -0
  149. package/docs/MapView.md +211 -0
  150. package/docs/MapboxGL.md +65 -0
  151. package/docs/MarkerView.md +14 -0
  152. package/docs/NativeUserLocation.md +11 -0
  153. package/docs/OfflineManager.md +246 -0
  154. package/docs/PointAnnotation.md +34 -0
  155. package/docs/RasterLayer.md +357 -0
  156. package/docs/RasterSource.md +17 -0
  157. package/docs/ShapeSource.md +100 -0
  158. package/docs/Style.md +10 -0
  159. package/docs/StyleSheet.md +430 -0
  160. package/docs/SymbolLayer.md +1658 -0
  161. package/docs/UserLocation.md +39 -0
  162. package/docs/VectorSource.md +48 -0
  163. package/docs/docs.json +6093 -0
  164. package/docs/snapshotManager.md +53 -0
  165. package/index.d.ts +953 -0
  166. package/ios/RCTMGL/CameraMode.h +18 -0
  167. package/ios/RCTMGL/CameraMode.m +18 -0
  168. package/ios/RCTMGL/CameraStop.h +26 -0
  169. package/ios/RCTMGL/CameraStop.m +83 -0
  170. package/ios/RCTMGL/CameraUpdateItem.h +18 -0
  171. package/ios/RCTMGL/CameraUpdateItem.m +178 -0
  172. package/ios/RCTMGL/CameraUpdateQueue.h +21 -0
  173. package/ios/RCTMGL/CameraUpdateQueue.m +74 -0
  174. package/ios/RCTMGL/FilterParser.h +14 -0
  175. package/ios/RCTMGL/FilterParser.m +22 -0
  176. package/ios/RCTMGL/MGLCustomHeaders.h +20 -0
  177. package/ios/RCTMGL/MGLCustomHeaders.m +98 -0
  178. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.h +23 -0
  179. package/ios/RCTMGL/MGLFaux3DUserLocationAnnotationView.m +474 -0
  180. package/ios/RCTMGL/MGLModule.h +13 -0
  181. package/ios/RCTMGL/MGLModule.m +269 -0
  182. package/ios/RCTMGL/MGLOfflineModule.h +19 -0
  183. package/ios/RCTMGL/MGLOfflineModule.m +516 -0
  184. package/ios/RCTMGL/MGLSnapshotModule.h +13 -0
  185. package/ios/RCTMGL/MGLSnapshotModule.m +80 -0
  186. package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.h +11 -0
  187. package/ios/RCTMGL/MGLUserLocationHeadingArrowLayer.m +57 -0
  188. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.h +11 -0
  189. package/ios/RCTMGL/MGLUserLocationHeadingBeamLayer.m +102 -0
  190. package/ios/RCTMGL/MGLUserLocationHeadingIndicator.h +10 -0
  191. package/ios/RCTMGL/RCTConvert+Mapbox.h +16 -0
  192. package/ios/RCTMGL/RCTConvert+Mapbox.m +32 -0
  193. package/ios/RCTMGL/RCTMGL.h +13 -0
  194. package/ios/RCTMGL/RCTMGL.m +13 -0
  195. package/ios/RCTMGL/RCTMGLBackgroundLayer.h +14 -0
  196. package/ios/RCTMGL/RCTMGLBackgroundLayer.m +27 -0
  197. package/ios/RCTMGL/RCTMGLBackgroundLayerManager.h +13 -0
  198. package/ios/RCTMGL/RCTMGLBackgroundLayerManager.m +35 -0
  199. package/ios/RCTMGL/RCTMGLCallout.h +15 -0
  200. package/ios/RCTMGL/RCTMGLCallout.m +74 -0
  201. package/ios/RCTMGL/RCTMGLCalloutManager.h +13 -0
  202. package/ios/RCTMGL/RCTMGLCalloutManager.m +21 -0
  203. package/ios/RCTMGL/RCTMGLCamera.h +39 -0
  204. package/ios/RCTMGL/RCTMGLCamera.m +258 -0
  205. package/ios/RCTMGL/RCTMGLCameraManager.h +13 -0
  206. package/ios/RCTMGL/RCTMGLCameraManager.m +52 -0
  207. package/ios/RCTMGL/RCTMGLCircleLayer.h +13 -0
  208. package/ios/RCTMGL/RCTMGLCircleLayer.m +34 -0
  209. package/ios/RCTMGL/RCTMGLCircleLayerManager.h +13 -0
  210. package/ios/RCTMGL/RCTMGLCircleLayerManager.m +39 -0
  211. package/ios/RCTMGL/RCTMGLEvent.h +21 -0
  212. package/ios/RCTMGL/RCTMGLEvent.m +47 -0
  213. package/ios/RCTMGL/RCTMGLEventProtocol.h +16 -0
  214. package/ios/RCTMGL/RCTMGLEventTypes.h +50 -0
  215. package/ios/RCTMGL/RCTMGLEventTypes.m +49 -0
  216. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.h +14 -0
  217. package/ios/RCTMGL/RCTMGLFillExtrusionLayer.m +32 -0
  218. package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.h +13 -0
  219. package/ios/RCTMGL/RCTMGLFillExtrusionLayerManager.m +39 -0
  220. package/ios/RCTMGL/RCTMGLFillLayer.h +14 -0
  221. package/ios/RCTMGL/RCTMGLFillLayer.m +33 -0
  222. package/ios/RCTMGL/RCTMGLFillLayerManager.h +13 -0
  223. package/ios/RCTMGL/RCTMGLFillLayerManager.m +37 -0
  224. package/ios/RCTMGL/RCTMGLHeatmapLayer.h +12 -0
  225. package/ios/RCTMGL/RCTMGLHeatmapLayer.m +30 -0
  226. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.h +12 -0
  227. package/ios/RCTMGL/RCTMGLHeatmapLayerManager.m +38 -0
  228. package/ios/RCTMGL/RCTMGLImageQueue.h +19 -0
  229. package/ios/RCTMGL/RCTMGLImageQueue.m +57 -0
  230. package/ios/RCTMGL/RCTMGLImageQueueOperation.h +17 -0
  231. package/ios/RCTMGL/RCTMGLImageQueueOperation.m +138 -0
  232. package/ios/RCTMGL/RCTMGLImageSource.h +16 -0
  233. package/ios/RCTMGL/RCTMGLImageSource.m +60 -0
  234. package/ios/RCTMGL/RCTMGLImageSourceManager.h +13 -0
  235. package/ios/RCTMGL/RCTMGLImageSourceManager.m +25 -0
  236. package/ios/RCTMGL/RCTMGLImages.h +25 -0
  237. package/ios/RCTMGL/RCTMGLImages.m +126 -0
  238. package/ios/RCTMGL/RCTMGLImagesManager.h +5 -0
  239. package/ios/RCTMGL/RCTMGLImagesManager.m +21 -0
  240. package/ios/RCTMGL/RCTMGLLayer.h +52 -0
  241. package/ios/RCTMGL/RCTMGLLayer.m +236 -0
  242. package/ios/RCTMGL/RCTMGLLight.h +17 -0
  243. package/ios/RCTMGL/RCTMGLLight.m +46 -0
  244. package/ios/RCTMGL/RCTMGLLightManager.h +13 -0
  245. package/ios/RCTMGL/RCTMGLLightManager.m +23 -0
  246. package/ios/RCTMGL/RCTMGLLineLayer.h +14 -0
  247. package/ios/RCTMGL/RCTMGLLineLayer.m +33 -0
  248. package/ios/RCTMGL/RCTMGLLineLayerManager.h +13 -0
  249. package/ios/RCTMGL/RCTMGLLineLayerManager.m +40 -0
  250. package/ios/RCTMGL/RCTMGLLocation.h +19 -0
  251. package/ios/RCTMGL/RCTMGLLocation.m +32 -0
  252. package/ios/RCTMGL/RCTMGLLocationManager.h +30 -0
  253. package/ios/RCTMGL/RCTMGLLocationManager.m +180 -0
  254. package/ios/RCTMGL/RCTMGLLocationManagerDelegate.h +20 -0
  255. package/ios/RCTMGL/RCTMGLLocationModule.h +15 -0
  256. package/ios/RCTMGL/RCTMGLLocationModule.m +99 -0
  257. package/ios/RCTMGL/RCTMGLLogging.h +18 -0
  258. package/ios/RCTMGL/RCTMGLLogging.m +132 -0
  259. package/ios/RCTMGL/RCTMGLMapTouchEvent.h +25 -0
  260. package/ios/RCTMGL/RCTMGLMapTouchEvent.m +77 -0
  261. package/ios/RCTMGL/RCTMGLMapView.h +91 -0
  262. package/ios/RCTMGL/RCTMGLMapView.m +536 -0
  263. package/ios/RCTMGL/RCTMGLMapViewManager.h +17 -0
  264. package/ios/RCTMGL/RCTMGLMapViewManager.m +625 -0
  265. package/ios/RCTMGL/RCTMGLNativeUserLocation.h +18 -0
  266. package/ios/RCTMGL/RCTMGLNativeUserLocation.m +49 -0
  267. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.h +5 -0
  268. package/ios/RCTMGL/RCTMGLNativeUserLocationManager.m +25 -0
  269. package/ios/RCTMGL/RCTMGLPointAnnotation.h +41 -0
  270. package/ios/RCTMGL/RCTMGLPointAnnotation.m +251 -0
  271. package/ios/RCTMGL/RCTMGLPointAnnotationManager.h +13 -0
  272. package/ios/RCTMGL/RCTMGLPointAnnotationManager.m +36 -0
  273. package/ios/RCTMGL/RCTMGLRasterLayer.h +14 -0
  274. package/ios/RCTMGL/RCTMGLRasterLayer.m +30 -0
  275. package/ios/RCTMGL/RCTMGLRasterLayerManager.h +13 -0
  276. package/ios/RCTMGL/RCTMGLRasterLayerManager.m +35 -0
  277. package/ios/RCTMGL/RCTMGLRasterSource.h +16 -0
  278. package/ios/RCTMGL/RCTMGLRasterSource.m +35 -0
  279. package/ios/RCTMGL/RCTMGLRasterSourceManager.h +13 -0
  280. package/ios/RCTMGL/RCTMGLRasterSourceManager.m +32 -0
  281. package/ios/RCTMGL/RCTMGLShapeSource.h +52 -0
  282. package/ios/RCTMGL/RCTMGLShapeSource.m +180 -0
  283. package/ios/RCTMGL/RCTMGLShapeSourceManager.h +14 -0
  284. package/ios/RCTMGL/RCTMGLShapeSourceManager.m +205 -0
  285. package/ios/RCTMGL/RCTMGLSource.h +35 -0
  286. package/ios/RCTMGL/RCTMGLSource.m +143 -0
  287. package/ios/RCTMGL/RCTMGLStyle.h +219 -0
  288. package/ios/RCTMGL/RCTMGLStyle.m +1654 -0
  289. package/ios/RCTMGL/RCTMGLStyleValue.h +27 -0
  290. package/ios/RCTMGL/RCTMGLStyleValue.m +167 -0
  291. package/ios/RCTMGL/RCTMGLSymbolLayer.h +19 -0
  292. package/ios/RCTMGL/RCTMGLSymbolLayer.m +121 -0
  293. package/ios/RCTMGL/RCTMGLSymbolLayerManager.h +13 -0
  294. package/ios/RCTMGL/RCTMGLSymbolLayerManager.m +40 -0
  295. package/ios/RCTMGL/RCTMGLTileSource.h +22 -0
  296. package/ios/RCTMGL/RCTMGLTileSource.m +31 -0
  297. package/ios/RCTMGL/RCTMGLUserLocation.h +15 -0
  298. package/ios/RCTMGL/RCTMGLUserLocation.m +38 -0
  299. package/ios/RCTMGL/RCTMGLUtils.h +31 -0
  300. package/ios/RCTMGL/RCTMGLUtils.m +218 -0
  301. package/ios/RCTMGL/RCTMGLVectorLayer.h +15 -0
  302. package/ios/RCTMGL/RCTMGLVectorLayer.m +59 -0
  303. package/ios/RCTMGL/RCTMGLVectorSource.h +16 -0
  304. package/ios/RCTMGL/RCTMGLVectorSource.m +28 -0
  305. package/ios/RCTMGL/RCTMGLVectorSourceManager.h +14 -0
  306. package/ios/RCTMGL/RCTMGLVectorSourceManager.m +79 -0
  307. package/ios/RCTMGL/RNMBImageUtils.h +17 -0
  308. package/ios/RCTMGL/RNMBImageUtils.m +31 -0
  309. package/ios/RCTMGL/ViewManager.h +16 -0
  310. package/ios/RCTMGL/ViewManager.m +63 -0
  311. package/ios/RCTMGL/index.d.ts +1164 -0
  312. package/ios/RCTMGL.xcodeproj/project.pbxproj +774 -0
  313. package/ios/install.md +44 -0
  314. package/javascript/components/AbstractLayer.js +75 -0
  315. package/javascript/components/AbstractSource.js +15 -0
  316. package/javascript/components/BackgroundLayer.js +97 -0
  317. package/javascript/components/Callout.js +139 -0
  318. package/javascript/components/Camera.js +665 -0
  319. package/javascript/components/CircleLayer.js +101 -0
  320. package/javascript/components/FillExtrusionLayer.js +98 -0
  321. package/javascript/components/FillLayer.js +94 -0
  322. package/javascript/components/HeadingIndicator.js +31 -0
  323. package/javascript/components/HeatmapLayer.js +99 -0
  324. package/javascript/components/ImageSource.js +82 -0
  325. package/javascript/components/Images.js +119 -0
  326. package/javascript/components/Light.js +47 -0
  327. package/javascript/components/LineLayer.js +94 -0
  328. package/javascript/components/MapView.js +817 -0
  329. package/javascript/components/MarkerView.js +87 -0
  330. package/javascript/components/NativeBridgeComponent.js +86 -0
  331. package/javascript/components/NativeUserLocation.js +41 -0
  332. package/javascript/components/PointAnnotation.js +216 -0
  333. package/javascript/components/RasterLayer.js +95 -0
  334. package/javascript/components/RasterSource.js +124 -0
  335. package/javascript/components/ShapeSource.js +357 -0
  336. package/javascript/components/Style.js +264 -0
  337. package/javascript/components/SymbolLayer.js +120 -0
  338. package/javascript/components/UserLocation.js +273 -0
  339. package/javascript/components/VectorSource.js +200 -0
  340. package/javascript/components/annotations/Annotation.js +122 -0
  341. package/javascript/index.js +153 -0
  342. package/javascript/modules/location/locationManager.js +101 -0
  343. package/javascript/modules/offline/OfflineCreatePackOptions.js +46 -0
  344. package/javascript/modules/offline/OfflinePack.js +40 -0
  345. package/javascript/modules/offline/offlineManager.js +378 -0
  346. package/javascript/modules/snapshot/SnapshotOptions.js +67 -0
  347. package/javascript/modules/snapshot/snapshotManager.js +62 -0
  348. package/javascript/utils/BridgeValue.js +81 -0
  349. package/javascript/utils/Logger.js +114 -0
  350. package/javascript/utils/animated/Animated.js +39 -0
  351. package/javascript/utils/animated/AnimatedCoordinatesArray.js +191 -0
  352. package/javascript/utils/animated/AnimatedExtractCoordinateFromArray.js +43 -0
  353. package/javascript/utils/animated/AnimatedPoint.js +126 -0
  354. package/javascript/utils/animated/AnimatedRouteCoordinatesArray.js +124 -0
  355. package/javascript/utils/animated/AnimatedShape.js +72 -0
  356. package/javascript/utils/deprecation.js +25 -0
  357. package/javascript/utils/filterUtils.js +7 -0
  358. package/javascript/utils/geoUtils.js +73 -0
  359. package/javascript/utils/index.js +113 -0
  360. package/javascript/utils/styleMap.js +1901 -0
  361. package/maplibre-react-native.podspec +79 -0
  362. package/package.json +120 -0
  363. package/plugin/build/withMapbox.d.ts +12 -0
  364. package/plugin/build/withMapbox.js +119 -0
  365. package/plugin/install.md +32 -0
  366. package/react-native.config.js +10 -0
  367. package/scripts/autogenHelpers/DocJSONBuilder.js +458 -0
  368. package/scripts/autogenHelpers/JSDocNodeTree.js +131 -0
  369. package/scripts/autogenHelpers/MarkdownBuilder.js +29 -0
  370. package/scripts/autogenHelpers/globals.js +507 -0
  371. package/scripts/autogenerate.js +374 -0
  372. package/scripts/download-style-spec.sh +15 -0
  373. package/scripts/templates/RCTMGLStyle.h.ejs +33 -0
  374. package/scripts/templates/RCTMGLStyle.m.ejs +97 -0
  375. package/scripts/templates/RCTMGLStyleFactory.java.ejs +107 -0
  376. package/scripts/templates/component.md.ejs +122 -0
  377. package/scripts/templates/index.d.ts.ejs +56 -0
  378. package/scripts/templates/styleMap.js.ejs +115 -0
  379. package/setup-jest.js +121 -0
  380. package/style-spec/v8.json +5798 -0
  381. package/tsconfig.json +65 -0
@@ -0,0 +1,507 @@
1
+ let iosPropNameOverrides = {};
2
+
3
+ const iosSpecOverrides = {
4
+ 'icon-allow-overlap': 'icon-allows-overlap',
5
+ 'icon-image': 'icon-image-name',
6
+ 'icon-ignore-placement': 'icon-ignores-placement',
7
+ 'icon-keep-upright': 'keeps-icon-upright',
8
+ 'icon-rotate': 'icon-rotation',
9
+ 'icon-size': 'icon-scale',
10
+ 'symbol-avoid-edges': 'symbol-avoids-edges',
11
+ 'text-allow-overlap': 'text-allows-overlap',
12
+ 'text-field': 'text',
13
+ 'text-font': 'text-font-names',
14
+ 'text-ignore-placement': 'text-ignores-placement',
15
+ 'text-justify': 'text-justification',
16
+ 'text-keep-upright': 'keeps-text-upright',
17
+ 'text-max-angle': 'maximum-text-angle',
18
+ 'text-max-width': 'maximum-text-width',
19
+ 'text-rotate': 'text-rotation',
20
+ 'text-size': 'text-font-size',
21
+ 'circle-pitch-scale': 'circle-scale-alignment',
22
+ 'circle-translate': 'circle-translation',
23
+ 'circle-translate-anchor': 'circle-translation-anchor',
24
+ 'fill-antialias': 'fill-antialiased',
25
+ 'fill-translate': 'fill-translation',
26
+ 'fill-translate-anchor': 'fill-translation-anchor',
27
+ 'fill-extrusion-translate': 'fill-extrusion-translation',
28
+ 'fill-extrusion-translate-anchor': 'fill-extrusion-translation-anchor',
29
+ 'raster-brightness-min': 'minimum-raster-brightness',
30
+ 'raster-brightness-max': 'maximum-raster-brightness',
31
+ 'raster-hue-rotate': 'raster-hue-rotation',
32
+ 'line-dasharray': 'line-dash-pattern',
33
+ 'line-translate': 'line-translation',
34
+ 'line-translate-anchor': 'line-translation-anchor',
35
+ 'icon-translate': 'icon-translation',
36
+ 'icon-translate-anchor': 'icon-translation-anchor',
37
+ 'text-translate': 'text-translation',
38
+ 'text-translate-anchor': 'text-translation-anchor',
39
+ 'raster-resampling': 'raster-resampling-mode',
40
+ 'text-writing-mode': 'text-writing-modes',
41
+ };
42
+
43
+ global.getValue = function (value, defaultValue) {
44
+ if (!exists(value) || value === '') {
45
+ return defaultValue;
46
+ }
47
+ return value;
48
+ };
49
+
50
+ global.exists = function (value) {
51
+ return typeof value !== 'undefined' && value !== null;
52
+ };
53
+
54
+ global.camelCase = function (str, delimiter = '-') {
55
+ const parts = str.split(delimiter);
56
+ return parts
57
+ .map((part, index) => {
58
+ if (index === 0) {
59
+ return part;
60
+ }
61
+ return part.charAt(0).toUpperCase() + part.substring(1);
62
+ })
63
+ .join('');
64
+ };
65
+
66
+ global.pascelCase = function (str, delimiter = '-') {
67
+ const parts = str.split(delimiter);
68
+ return parts
69
+ .map((part, index) => {
70
+ return part.charAt(0).toUpperCase() + part.substring(1);
71
+ })
72
+ .join('');
73
+ };
74
+
75
+ global.setLayerMethodName = function (layer, platform) {
76
+ if (platform === 'ios') {
77
+ return `${camelCase(layer.name)}Layer`;
78
+ }
79
+ return `set${pascelCase(layer.name)}LayerStyle`;
80
+ };
81
+
82
+ global.getLayerType = function (layer, platform) {
83
+ const isIOS = platform === 'ios';
84
+
85
+ switch (layer.name) {
86
+ case 'fill':
87
+ return isIOS ? 'MGLFillStyleLayer' : 'FillLayer';
88
+ case 'fill-extrusion':
89
+ return isIOS ? 'MGLFillExtrusionStyleLayer' : 'FillExtrusionLayer';
90
+ case 'line':
91
+ return isIOS ? 'MGLLineStyleLayer' : 'LineLayer';
92
+ case 'symbol':
93
+ return isIOS ? 'MGLSymbolStyleLayer' : 'SymbolLayer';
94
+ case 'circle':
95
+ return isIOS ? 'MGLCircleStyleLayer' : 'CircleLayer';
96
+ case 'background':
97
+ return isIOS ? 'MGLBackgroundStyleLayer' : 'BackgroundLayer';
98
+ case 'raster':
99
+ return isIOS ? 'MGLRasterStyleLayer' : 'RasterLayer';
100
+ case 'heatmap':
101
+ return isIOS ? 'MGLHeatmapStyleLayer' : 'HeatmapLayer';
102
+ case 'hillshade':
103
+ return isIOS ? 'MGLHillshadeStyleLayer' : 'HillshadeLayer';
104
+ case 'light':
105
+ return isIOS ? 'MGLLight' : 'Light';
106
+ default:
107
+ throw new Error(
108
+ `Is ${layer.name} a new layer? We should add support for it!`,
109
+ );
110
+ }
111
+ };
112
+
113
+ global.ifOrElseIf = function (index) {
114
+ if (index === 0) {
115
+ return 'if';
116
+ }
117
+ return '} else if';
118
+ };
119
+
120
+ global.iosStringArrayLiteral = function (arr) {
121
+ return `@[@${arr.map((item) => `"${item}"`).join(', @')}]`;
122
+ };
123
+
124
+ global.iosPropName = function (name) {
125
+ if (name.indexOf('visibility') !== -1) {
126
+ return 'visible';
127
+ }
128
+ if (name === 'fillExtrusionVerticalGradient') {
129
+ return 'fillExtrusionHasVerticalGradient';
130
+ }
131
+ if (iosPropNameOverrides[name]) {
132
+ return iosPropNameOverrides[name];
133
+ }
134
+ return name;
135
+ };
136
+
137
+ global.iosMapLibrePropName = function (name) {
138
+ let result = iosPropName(name);
139
+ if (result === 'fillExtrusionVerticalGradient') {
140
+ return 'fillExtrusionHasVerticalGradient';
141
+ }
142
+ return undefined;
143
+ };
144
+
145
+ global.iosPropMethodName = function (layer, name) {
146
+ if (name.indexOf('Visibility') !== -1) {
147
+ return pascelCase(layer.name) + 'StyleLayer' + name;
148
+ }
149
+ return name;
150
+ };
151
+
152
+ global.androidInputType = function (type, value) {
153
+ if (type === 'array' && value) {
154
+ return `${androidInputType(value)}[]`;
155
+ }
156
+
157
+ switch (type) {
158
+ case 'color':
159
+ return 'Integer';
160
+ case 'boolean':
161
+ return 'Boolean';
162
+ case 'number':
163
+ return 'Float';
164
+ default:
165
+ return 'String';
166
+ }
167
+ };
168
+
169
+ global.androidOutputType = function (type, value) {
170
+ if (type === 'array' && value) {
171
+ return `${androidOutputType(value)}[]`;
172
+ }
173
+
174
+ switch (type) {
175
+ case 'color':
176
+ return 'String';
177
+ case 'boolean':
178
+ return 'Boolean';
179
+ case 'number':
180
+ return 'Float';
181
+ default:
182
+ return 'String';
183
+ }
184
+ };
185
+
186
+ global.androidGetConfigType = function (androidType, prop) {
187
+ switch (androidType) {
188
+ case 'Integer':
189
+ return 'styleValue.getInt(VALUE_KEY)';
190
+ case 'Float':
191
+ return 'styleValue.getFloat(VALUE_KEY)';
192
+ case 'Boolean':
193
+ return 'styleValue.getBoolean(VALUE_KEY)';
194
+ case 'Float[]':
195
+ return 'styleValue.getFloatArray(VALUE_KEY)';
196
+ case 'String[]':
197
+ return 'styleValue.getStringArray(VALUE_KEY)';
198
+ default:
199
+ if (prop && prop.image) {
200
+ return 'styleValue.getImageURI()';
201
+ } else {
202
+ return 'styleValue.getString(VALUE_KEY)';
203
+ }
204
+ }
205
+ };
206
+
207
+ global.jsStyleType = function (prop) {
208
+ if (prop.type === 'color') {
209
+ return 'StyleTypes.Color';
210
+ }
211
+
212
+ if (prop.type === 'enum') {
213
+ return 'StyleTypes.Enum';
214
+ }
215
+
216
+ if (prop.type === 'string' && prop.image) {
217
+ return 'StyleTypes.Image';
218
+ }
219
+
220
+ if (prop.type === 'resolvedImage') {
221
+ return 'StyleTypes.Image';
222
+ }
223
+
224
+ if (prop.name.indexOf('Translate') !== -1) {
225
+ return 'StyleTypes.Translation';
226
+ }
227
+
228
+ return 'StyleTypes.Constant';
229
+ };
230
+
231
+ global.jsDocPropRequires = function (prop) {
232
+ if (!prop.doc.requires) {
233
+ return;
234
+ }
235
+
236
+ let desc = '';
237
+ for (let item of prop.doc.requires) {
238
+ if (typeof item === 'string') {
239
+ desc += item + ', ';
240
+ }
241
+ }
242
+
243
+ return desc;
244
+ };
245
+
246
+ global.getEnums = function (layers) {
247
+ let result = {};
248
+
249
+ layers.forEach((layer) => {
250
+ layer.properties.forEach((property) => {
251
+ if (
252
+ property.type === 'enum' ||
253
+ (property.type === 'array' && property.value === 'enum')
254
+ ) {
255
+ result[property.name] = {
256
+ values: property.doc.values,
257
+ name: property.name,
258
+ };
259
+ }
260
+ });
261
+ });
262
+ return Object.values(result);
263
+ };
264
+
265
+ global.dtsInterfaceType = function (prop) {
266
+ let propTypes = [];
267
+
268
+ if (prop.name.indexOf('Translate') !== -1) {
269
+ propTypes.push('Translation');
270
+ } else if (prop.type === 'color') {
271
+ propTypes.push('string');
272
+ // propTypes.push('ConstantPropType');
273
+ } else if (prop.type === 'array') {
274
+ switch (prop.value) {
275
+ case 'number':
276
+ propTypes.push('number[]');
277
+ break;
278
+ case 'boolean':
279
+ propTypes.push('boolean[]');
280
+ break;
281
+ case 'string':
282
+ propTypes.push('string[]');
283
+ break;
284
+ case 'enum':
285
+ propTypes.push(
286
+ `Enum<${pascelCase(prop.name)}Enum, ${pascelCase(
287
+ prop.name,
288
+ )}EnumValues>[]`,
289
+ );
290
+ break;
291
+ }
292
+ // propTypes.push('ConstantPropType');
293
+ } else if (prop.type === 'number') {
294
+ propTypes.push('number');
295
+ } else if (prop.type === 'enum') {
296
+ propTypes.push(
297
+ `Enum<${pascelCase(prop.name)}Enum, ${pascelCase(prop.name)}EnumValues>`,
298
+ );
299
+ } else if (prop.type === 'boolean') {
300
+ propTypes.push('boolean');
301
+ } else if (prop.type === 'resolvedImage') {
302
+ propTypes.push('ResolvedImageType');
303
+ } else if (prop.type === 'formatted') {
304
+ propTypes.push('FormattedString');
305
+ } else if (prop.type === 'string') {
306
+ propTypes.push('string');
307
+ } else {
308
+ console.error('Unexpected type:', prop.type);
309
+ throw new Error(`Unexpected type: ${prop.type} for ${prop.name}`);
310
+ }
311
+
312
+ /*
313
+ if (prop.allowedFunctionTypes && prop.allowedFunctionTypes.length > 0) {
314
+ propTypes.push('StyleFunctionProps');
315
+ }
316
+ */
317
+
318
+ if (propTypes.length > 1) {
319
+ return `${propTypes.map((p) => startAtSpace(4, p)).join(' | ')},
320
+ ${startAtSpace(2, '')}`;
321
+ } else {
322
+ if (prop.expressionSupported) {
323
+ let params = '';
324
+ if (prop.expression && prop.expression.parameters) {
325
+ params = `,[${prop.expression.parameters
326
+ .map((v) => `'${v}'`)
327
+ .join(',')}]`;
328
+ }
329
+ return `Value<${propTypes[0]}${params}>`;
330
+ } else {
331
+ return propTypes[0];
332
+ }
333
+ }
334
+ };
335
+
336
+ global.jsDocReactProp = function (prop) {
337
+ let propTypes = [];
338
+
339
+ if (prop.type === 'color') {
340
+ propTypes.push('PropTypes.string');
341
+ } else if (prop.type === 'array') {
342
+ switch (prop.value) {
343
+ case 'number':
344
+ propTypes.push('PropTypes.arrayOf(PropTypes.number)');
345
+ break;
346
+ case 'boolean':
347
+ propTypes.push('PropTypes.arrayOf(PropTypes.bool)');
348
+ break;
349
+ case 'string':
350
+ propTypes.push('PropTypes.arrayOf(PropTypes.string)');
351
+ break;
352
+ default:
353
+ propTypes.push('PropTypes.array');
354
+ }
355
+ } else if (prop.type === 'number') {
356
+ propTypes.push('PropTypes.number');
357
+ } else if (prop.type === 'boolean') {
358
+ propTypes.push('PropTypes.bool');
359
+ } else if (prop.type === 'enum') {
360
+ if (prop.doc.values) {
361
+ propTypes.push(
362
+ `PropTypes.oneOf([${Object.keys(prop.doc.values)
363
+ .map((v) => `'${v}'`)
364
+ .join(', ')}])`,
365
+ );
366
+ } else {
367
+ propTypes.push('PropTypes.any');
368
+ }
369
+ } else {
370
+ // images can be required which result in a number
371
+ if (prop.image) {
372
+ propTypes.push('PropTypes.number');
373
+ }
374
+ propTypes.push('PropTypes.string');
375
+ }
376
+
377
+ if (prop.expressionSupported && !propTypes.includes('PropTypes.array')) {
378
+ propTypes.push('PropTypes.array');
379
+ }
380
+
381
+ if (propTypes.length > 1) {
382
+ return `PropTypes.oneOfType([
383
+ ${propTypes.map((p) => startAtSpace(4, p)).join(',\n')},
384
+ ${startAtSpace(2, '])')}`;
385
+ } else {
386
+ return propTypes[0];
387
+ }
388
+ };
389
+
390
+ global.startAtSpace = function (spaceCount, str) {
391
+ let value = '';
392
+
393
+ for (let i = 0; i < spaceCount; i++) {
394
+ value += ' ';
395
+ }
396
+
397
+ return `${value}${str}`;
398
+ };
399
+
400
+ global.replaceNewLine = function (str) {
401
+ if (str === undefined) {
402
+ return undefined;
403
+ }
404
+ if (str === null) {
405
+ return null;
406
+ }
407
+ return str.replace(/\n/g, '<br/>');
408
+ };
409
+
410
+ global.styleMarkdownTableRow = function (style) {
411
+ return `| \`${style.name}\` | \`${style.type}\` | \`${
412
+ style.requires.join(', ') || 'none'
413
+ }\` | \`${style.disabledBy.join(', ') || 'none'}\` | ${replaceNewLine(
414
+ style.description,
415
+ )} |`;
416
+ };
417
+
418
+ global.methodMarkdownTableRow = function (method) {
419
+ return method.params
420
+ .map((param) => {
421
+ return `| \`${param.name}\` | \`${
422
+ (param.type && param.type.name) || 'n/a'
423
+ }\` | \`${param.optional ? 'No' : 'Yes'}\` | ${replaceNewLine(
424
+ param.description,
425
+ )} |`;
426
+ })
427
+ .join('\n');
428
+ };
429
+
430
+ function _propMarkdownTableRows(props, prefix = '') {
431
+ return props
432
+ .map((prop) => {
433
+ let { type } = prop;
434
+ if (typeof type === 'object') {
435
+ type = type.name;
436
+ }
437
+ let defaultValue = prop.default || '';
438
+ let { description = '' } = prop;
439
+ let result = `| ${prefix}${
440
+ prop.name
441
+ } | \`${type}\` | \`${defaultValue}\` | \`${
442
+ prop.required
443
+ }\` | ${replaceNewLine(description)} |`;
444
+ if (type == 'shape') {
445
+ result = `${result}\n${_propMarkdownTableRows(
446
+ prop.type.value,
447
+ `&nbsp;&nbsp;${prefix}`,
448
+ )}`;
449
+ }
450
+ return result;
451
+ })
452
+ .join('\n');
453
+ }
454
+ global.propMarkdownTableRows = function (component) {
455
+ return _propMarkdownTableRows(component.props, '');
456
+ };
457
+
458
+ global.getMarkdownMethodSignature = function (method) {
459
+ const params = method.params
460
+ .map((param, i) => {
461
+ const isOptional = param.optional;
462
+
463
+ let name = '';
464
+
465
+ if (i !== 0) {
466
+ name += ', ';
467
+ }
468
+
469
+ name += param.name;
470
+ return isOptional ? `[${name}]` : name;
471
+ })
472
+ .join('');
473
+
474
+ return `${method.name}(${params})`;
475
+ };
476
+
477
+ global.getMarkdownMethodExamples = function (method) {
478
+ if (method.examples == null) {
479
+ return null;
480
+ }
481
+ return method.examples
482
+ .map((example) => {
483
+ return `
484
+
485
+ \`\`\`javascript
486
+ ${example.trim()}
487
+ \`\`\`
488
+
489
+ `;
490
+ })
491
+ .join('');
492
+ };
493
+
494
+ global.getStyleDefaultValue = function (style) {
495
+ if (style.type === 'string' && style.default === '') {
496
+ return 'empty string';
497
+ } else if (style.type.includes('array')) {
498
+ return `[${style.default}]`;
499
+ } else {
500
+ return style.default;
501
+ }
502
+ };
503
+
504
+ Object.keys(iosSpecOverrides).forEach((propName) => {
505
+ const camelCasePropName = camelCase(propName);
506
+ iosPropNameOverrides[camelCasePropName] = camelCase(iosSpecOverrides[propName]);
507
+ });