@maplibre/maplibre-react-native 11.0.0-alpha.8 → 11.0.0-alpha.9

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 (337) hide show
  1. package/android/build.gradle +0 -3
  2. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +43 -0
  3. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEvent.kt +24 -0
  4. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEventEmitter.kt +71 -0
  5. package/android/src/main/java/org/maplibre/reactnative/components/annotation/MLRNPointAnnotation.java +1 -1
  6. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraStop.kt +203 -0
  7. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateItem.kt +109 -0
  8. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateQueue.kt +60 -0
  9. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.kt +409 -0
  10. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraManager.kt +69 -0
  11. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraModule.kt +34 -0
  12. package/android/src/main/java/org/maplibre/reactnative/components/camera/constants/CameraEasing.kt +24 -0
  13. package/android/src/main/java/org/maplibre/reactnative/components/images/MLRNImages.java +1 -2
  14. package/android/src/main/java/org/maplibre/reactnative/components/location/LocationComponentManager.java +1 -1
  15. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapView.kt +23 -0
  16. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapViewManager.kt +23 -0
  17. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.kt +1338 -0
  18. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.kt +187 -0
  19. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewModule.kt +159 -0
  20. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/CameraChangeTracker.kt +26 -0
  21. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/LayerSourceInfo.kt +74 -0
  22. package/android/src/main/java/org/maplibre/reactnative/components/styles/layers/MLRNLayer.java +1 -5
  23. package/android/src/main/java/org/maplibre/reactnative/components/styles/light/MLRNLight.java +1 -6
  24. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNShapeSource.java +2 -9
  25. package/android/src/main/java/org/maplibre/reactnative/components/styles/sources/MLRNSource.java +1 -1
  26. package/android/src/main/java/org/maplibre/reactnative/events/AbstractEvent.java +2 -5
  27. package/android/src/main/java/org/maplibre/reactnative/events/MapChangeEvent.kt +18 -0
  28. package/android/src/main/java/org/maplibre/reactnative/events/MapClickEvent.java +4 -0
  29. package/android/src/main/java/org/maplibre/reactnative/events/MapPressEvent.kt +27 -0
  30. package/android/src/main/java/org/maplibre/reactnative/events/TrackUserLocationChangeEvent.kt +24 -0
  31. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventKeys.java +0 -1
  32. package/android/src/main/java/org/maplibre/reactnative/events/constants/EventTypes.java +0 -19
  33. package/android/src/main/java/org/maplibre/reactnative/location/LocationManager.java +1 -1
  34. package/android/src/main/java/org/maplibre/reactnative/location/TrackUserLocationMode.kt +43 -0
  35. package/android/src/main/java/org/maplibre/reactnative/location/{UserTrackingState.java → TrackUserLocationState.java} +1 -1
  36. package/android/src/main/java/org/maplibre/reactnative/location/UserLocation.java +1 -1
  37. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +1 -49
  38. package/android/src/main/java/org/maplibre/reactnative/utils/ConvertUtils.java +2 -9
  39. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.kt +322 -0
  40. package/android/src/main/java/org/maplibre/reactnative/utils/ReactTagResolver.kt +85 -0
  41. package/ios/MLRNCallout.h +1 -1
  42. package/ios/MLRNEvent.m +3 -1
  43. package/ios/MLRNEventTypes.h +10 -31
  44. package/ios/MLRNEventTypes.m +10 -30
  45. package/ios/MLRNImages.h +1 -1
  46. package/ios/MLRNImages.m +1 -1
  47. package/ios/MLRNLayer.h +1 -1
  48. package/ios/MLRNLayer.m +2 -2
  49. package/ios/MLRNLight.h +2 -1
  50. package/ios/MLRNLocationModule.m +2 -2
  51. package/ios/MLRNMapTouchEvent.h +2 -1
  52. package/ios/MLRNMapTouchEvent.m +12 -10
  53. package/ios/MLRNModule.m +5 -52
  54. package/ios/MLRNNativeUserLocation.m +0 -1
  55. package/ios/MLRNOfflineModule.h +2 -2
  56. package/ios/MLRNOfflineModule.m +9 -9
  57. package/ios/MLRNPointAnnotation.h +1 -1
  58. package/ios/MLRNShapeSource.h +1 -1
  59. package/ios/MLRNSource.h +3 -1
  60. package/ios/MLRNStyle.m +20 -20
  61. package/ios/MLRNUtils.h +17 -2
  62. package/ios/MLRNUtils.m +25 -2
  63. package/ios/components/camera/CameraEasing.h +8 -0
  64. package/ios/{CameraStop.h → components/camera/CameraStop.h} +10 -6
  65. package/ios/components/camera/CameraStop.m +75 -0
  66. package/ios/{CameraUpdateItem.m → components/camera/CameraUpdateItem.m} +45 -46
  67. package/ios/components/camera/MLRNCamera.h +26 -0
  68. package/ios/components/camera/MLRNCamera.m +195 -0
  69. package/ios/components/camera/MLRNCameraComponentView.h +18 -0
  70. package/ios/components/camera/MLRNCameraComponentView.mm +192 -0
  71. package/ios/components/camera/MLRNCameraManager.h +11 -0
  72. package/ios/components/camera/MLRNCameraManager.m +20 -0
  73. package/ios/components/camera/MLRNCameraModule.h +4 -0
  74. package/ios/components/camera/MLRNCameraModule.mm +111 -0
  75. package/ios/{MLRNMapView.h → components/map-view/MLRNMapView.h} +42 -20
  76. package/ios/components/map-view/MLRNMapView.m +809 -0
  77. package/ios/components/map-view/MLRNMapViewComponentView.h +18 -0
  78. package/ios/components/map-view/MLRNMapViewComponentView.mm +400 -0
  79. package/ios/components/map-view/MLRNMapViewManager.h +70 -0
  80. package/ios/components/map-view/MLRNMapViewManager.m +163 -0
  81. package/ios/components/map-view/MLRNMapViewModule.h +4 -0
  82. package/ios/components/map-view/MLRNMapViewModule.mm +249 -0
  83. package/ios/{MLRNSnapshotModule → modules/snapshot}/MLRNSnapshotModule.mm +0 -1
  84. package/lib/commonjs/MLRNModule.js +1 -3
  85. package/lib/commonjs/MLRNModule.js.map +1 -1
  86. package/lib/commonjs/components/Annotation.js +1 -13
  87. package/lib/commonjs/components/Annotation.js.map +1 -1
  88. package/lib/commonjs/components/Images.js.map +1 -1
  89. package/lib/commonjs/components/ShapeSource.js +2 -21
  90. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  91. package/lib/commonjs/components/VectorSource.js +3 -26
  92. package/lib/commonjs/components/VectorSource.js.map +1 -1
  93. package/lib/commonjs/components/camera/Camera.js +97 -0
  94. package/lib/commonjs/components/camera/Camera.js.map +1 -0
  95. package/lib/commonjs/components/camera/CameraNativeComponent.ts +61 -0
  96. package/lib/commonjs/components/camera/NativeCameraModule.js +11 -0
  97. package/lib/commonjs/components/camera/NativeCameraModule.js.map +1 -0
  98. package/lib/commonjs/components/map-view/MapView.js +115 -0
  99. package/lib/commonjs/components/map-view/MapView.js.map +1 -0
  100. package/lib/commonjs/components/map-view/MapViewNativeComponent.ts +96 -0
  101. package/lib/commonjs/components/map-view/NativeMapViewModule.js +9 -0
  102. package/lib/commonjs/components/map-view/NativeMapViewModule.js.map +1 -0
  103. package/lib/commonjs/index.js +246 -4
  104. package/lib/commonjs/index.js.map +1 -1
  105. package/lib/commonjs/modules/snapshot/NativeSnapshotModule.js +2 -2
  106. package/lib/commonjs/modules/snapshot/NativeSnapshotModule.js.map +1 -1
  107. package/lib/commonjs/modules/snapshot/SnapshotManager.js +3 -2
  108. package/lib/commonjs/modules/snapshot/SnapshotManager.js.map +1 -1
  109. package/lib/commonjs/types/Bounds.js +2 -0
  110. package/lib/commonjs/types/{OnPressEvent.js.map → Bounds.js.map} +1 -1
  111. package/lib/commonjs/types/PressEvent.js +2 -0
  112. package/lib/{module/types/OnPressEvent.js.map → commonjs/types/PressEvent.js.map} +1 -1
  113. package/lib/commonjs/types/ViewPadding.js +2 -0
  114. package/lib/commonjs/types/{MapLibreRNEvent.js.map → ViewPadding.js.map} +1 -1
  115. package/lib/commonjs/types/codegen/UnsafeMixed.js +2 -0
  116. package/lib/commonjs/types/codegen/UnsafeMixed.js.map +1 -0
  117. package/lib/commonjs/utils/index.js +0 -11
  118. package/lib/commonjs/utils/index.js.map +1 -1
  119. package/lib/module/MLRNModule.js +0 -1
  120. package/lib/module/MLRNModule.js.map +1 -1
  121. package/lib/module/components/Annotation.js +2 -14
  122. package/lib/module/components/Annotation.js.map +1 -1
  123. package/lib/module/components/Images.js.map +1 -1
  124. package/lib/module/components/ShapeSource.js +3 -22
  125. package/lib/module/components/ShapeSource.js.map +1 -1
  126. package/lib/module/components/VectorSource.js +4 -27
  127. package/lib/module/components/VectorSource.js.map +1 -1
  128. package/lib/module/components/camera/Camera.js +92 -0
  129. package/lib/module/components/camera/Camera.js.map +1 -0
  130. package/lib/module/components/camera/CameraNativeComponent.ts +61 -0
  131. package/lib/module/components/camera/NativeCameraModule.js +10 -0
  132. package/lib/module/components/camera/NativeCameraModule.js.map +1 -0
  133. package/lib/module/components/map-view/MapView.js +110 -0
  134. package/lib/module/components/map-view/MapView.js.map +1 -0
  135. package/lib/module/components/map-view/MapViewNativeComponent.ts +96 -0
  136. package/lib/module/components/map-view/NativeMapViewModule.js +5 -0
  137. package/lib/module/components/map-view/NativeMapViewModule.js.map +1 -0
  138. package/lib/module/index.js +30 -1
  139. package/lib/module/index.js.map +1 -1
  140. package/lib/module/modules/snapshot/NativeSnapshotModule.js +1 -1
  141. package/lib/module/modules/snapshot/NativeSnapshotModule.js.map +1 -1
  142. package/lib/module/modules/snapshot/SnapshotManager.js +1 -1
  143. package/lib/module/modules/snapshot/SnapshotManager.js.map +1 -1
  144. package/lib/module/types/Bounds.js +2 -0
  145. package/lib/module/types/{MapLibreRNEvent.js.map → Bounds.js.map} +1 -1
  146. package/lib/module/types/PressEvent.js +2 -0
  147. package/lib/module/types/PressEvent.js.map +1 -0
  148. package/lib/module/types/ViewPadding.js +2 -0
  149. package/lib/module/types/ViewPadding.js.map +1 -0
  150. package/lib/module/types/codegen/UnsafeMixed.js +2 -0
  151. package/lib/module/types/codegen/UnsafeMixed.js.map +1 -0
  152. package/lib/module/utils/index.js +0 -9
  153. package/lib/module/utils/index.js.map +1 -1
  154. package/lib/typescript/commonjs/src/MLRNModule.d.ts +1 -7
  155. package/lib/typescript/commonjs/src/MLRNModule.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/components/Annotation.d.ts +3 -3
  157. package/lib/typescript/commonjs/src/components/Annotation.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/src/components/Images.d.ts +1 -2
  159. package/lib/typescript/commonjs/src/components/Images.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts +2 -5
  161. package/lib/typescript/commonjs/src/components/ShapeSource.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/components/VectorSource.d.ts +3 -2
  163. package/lib/typescript/commonjs/src/components/VectorSource.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/components/camera/Camera.d.ts +180 -0
  165. package/lib/typescript/commonjs/src/components/camera/Camera.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/src/components/camera/CameraNativeComponent.d.ts +37 -0
  167. package/lib/typescript/commonjs/src/components/camera/CameraNativeComponent.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/src/components/camera/NativeCameraModule.d.ts +27 -0
  169. package/lib/typescript/commonjs/src/components/camera/NativeCameraModule.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts +323 -0
  171. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts +69 -0
  173. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/src/components/map-view/NativeMapViewModule.d.ts +45 -0
  175. package/lib/typescript/commonjs/src/components/map-view/NativeMapViewModule.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/src/index.d.ts +41 -1
  177. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/snapshot/NativeSnapshotModule.d.ts +2 -1
  179. package/lib/typescript/commonjs/src/modules/snapshot/NativeSnapshotModule.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/types/Bounds.d.ts +2 -0
  181. package/lib/typescript/commonjs/src/types/Bounds.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/src/types/PressEvent.d.ts +16 -0
  183. package/lib/typescript/commonjs/src/types/PressEvent.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/src/types/ViewPadding.d.ts +7 -0
  185. package/lib/typescript/commonjs/src/types/ViewPadding.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/src/types/codegen/UnsafeMixed.d.ts +10 -0
  187. package/lib/typescript/commonjs/src/types/codegen/UnsafeMixed.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/src/utils/index.d.ts +1 -3
  189. package/lib/typescript/commonjs/src/utils/index.d.ts.map +1 -1
  190. package/lib/typescript/module/src/MLRNModule.d.ts +1 -7
  191. package/lib/typescript/module/src/MLRNModule.d.ts.map +1 -1
  192. package/lib/typescript/module/src/components/Annotation.d.ts +3 -3
  193. package/lib/typescript/module/src/components/Annotation.d.ts.map +1 -1
  194. package/lib/typescript/module/src/components/Images.d.ts +1 -2
  195. package/lib/typescript/module/src/components/Images.d.ts.map +1 -1
  196. package/lib/typescript/module/src/components/ShapeSource.d.ts +2 -5
  197. package/lib/typescript/module/src/components/ShapeSource.d.ts.map +1 -1
  198. package/lib/typescript/module/src/components/VectorSource.d.ts +3 -2
  199. package/lib/typescript/module/src/components/VectorSource.d.ts.map +1 -1
  200. package/lib/typescript/module/src/components/camera/Camera.d.ts +180 -0
  201. package/lib/typescript/module/src/components/camera/Camera.d.ts.map +1 -0
  202. package/lib/typescript/module/src/components/camera/CameraNativeComponent.d.ts +37 -0
  203. package/lib/typescript/module/src/components/camera/CameraNativeComponent.d.ts.map +1 -0
  204. package/lib/typescript/module/src/components/camera/NativeCameraModule.d.ts +27 -0
  205. package/lib/typescript/module/src/components/camera/NativeCameraModule.d.ts.map +1 -0
  206. package/lib/typescript/module/src/components/map-view/MapView.d.ts +323 -0
  207. package/lib/typescript/module/src/components/map-view/MapView.d.ts.map +1 -0
  208. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts +69 -0
  209. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -0
  210. package/lib/typescript/module/src/components/map-view/NativeMapViewModule.d.ts +45 -0
  211. package/lib/typescript/module/src/components/map-view/NativeMapViewModule.d.ts.map +1 -0
  212. package/lib/typescript/module/src/index.d.ts +41 -1
  213. package/lib/typescript/module/src/index.d.ts.map +1 -1
  214. package/lib/typescript/module/src/modules/snapshot/NativeSnapshotModule.d.ts +2 -1
  215. package/lib/typescript/module/src/modules/snapshot/NativeSnapshotModule.d.ts.map +1 -1
  216. package/lib/typescript/module/src/types/Bounds.d.ts +2 -0
  217. package/lib/typescript/module/src/types/Bounds.d.ts.map +1 -0
  218. package/lib/typescript/module/src/types/PressEvent.d.ts +16 -0
  219. package/lib/typescript/module/src/types/PressEvent.d.ts.map +1 -0
  220. package/lib/typescript/module/src/types/ViewPadding.d.ts +7 -0
  221. package/lib/typescript/module/src/types/ViewPadding.d.ts.map +1 -0
  222. package/lib/typescript/module/src/types/codegen/UnsafeMixed.d.ts +10 -0
  223. package/lib/typescript/module/src/types/codegen/UnsafeMixed.d.ts.map +1 -0
  224. package/lib/typescript/module/src/utils/index.d.ts +1 -3
  225. package/lib/typescript/module/src/utils/index.d.ts.map +1 -1
  226. package/package.json +38 -28
  227. package/src/MLRNModule.ts +0 -10
  228. package/src/components/Annotation.tsx +8 -23
  229. package/src/components/Images.tsx +2 -4
  230. package/src/components/ShapeSource.tsx +18 -31
  231. package/src/components/VectorSource.tsx +5 -28
  232. package/src/components/camera/Camera.tsx +311 -0
  233. package/src/components/camera/CameraNativeComponent.ts +61 -0
  234. package/src/components/camera/NativeCameraModule.ts +39 -0
  235. package/src/components/map-view/MapView.tsx +582 -0
  236. package/src/components/map-view/MapViewNativeComponent.ts +96 -0
  237. package/src/components/map-view/NativeMapViewModule.ts +83 -0
  238. package/src/index.ts +86 -1
  239. package/src/modules/snapshot/NativeSnapshotModule.ts +1 -2
  240. package/src/modules/snapshot/SnapshotManager.ts +1 -1
  241. package/src/types/Bounds.ts +1 -0
  242. package/src/types/PressEvent.ts +19 -0
  243. package/src/types/ViewPadding.ts +6 -0
  244. package/src/types/codegen/UnsafeMixed.ts +9 -0
  245. package/src/utils/index.ts +1 -14
  246. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEvent.java +0 -35
  247. package/android/src/main/java/org/maplibre/reactnative/components/AbstractEventEmitter.java +0 -80
  248. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraStop.java +0 -245
  249. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateItem.java +0 -121
  250. package/android/src/main/java/org/maplibre/reactnative/components/camera/CameraUpdateQueue.java +0 -68
  251. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.java +0 -519
  252. package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCameraManager.java +0 -101
  253. package/android/src/main/java/org/maplibre/reactnative/components/camera/constants/CameraMode.java +0 -18
  254. package/android/src/main/java/org/maplibre/reactnative/components/mapview/LayerSourceInfo.java +0 -59
  255. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapView.java +0 -13
  256. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNAndroidTextureMapViewManager.java +0 -27
  257. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.java +0 -1521
  258. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.java +0 -342
  259. package/android/src/main/java/org/maplibre/reactnative/components/mapview/helpers/CameraChangeTracker.java +0 -37
  260. package/android/src/main/java/org/maplibre/reactnative/events/MapChangeEvent.java +0 -43
  261. package/android/src/main/java/org/maplibre/reactnative/events/MapUserTrackingModeEvent.java +0 -32
  262. package/android/src/main/java/org/maplibre/reactnative/location/UserLocationVerticalAlignment.java +0 -7
  263. package/android/src/main/java/org/maplibre/reactnative/location/UserTrackingMode.java +0 -59
  264. package/android/src/main/java/org/maplibre/reactnative/utils/GeoJSONUtils.java +0 -310
  265. package/ios/CameraMode.h +0 -10
  266. package/ios/CameraMode.m +0 -10
  267. package/ios/CameraStop.m +0 -73
  268. package/ios/MLRNCamera.h +0 -29
  269. package/ios/MLRNCamera.m +0 -236
  270. package/ios/MLRNCameraManager.h +0 -5
  271. package/ios/MLRNCameraManager.m +0 -39
  272. package/ios/MLRNMapView.m +0 -497
  273. package/ios/MLRNMapViewManager.h +0 -9
  274. package/ios/MLRNMapViewManager.m +0 -604
  275. package/lib/commonjs/MapLibreRN.js +0 -266
  276. package/lib/commonjs/MapLibreRN.js.map +0 -1
  277. package/lib/commonjs/components/Camera.js +0 -333
  278. package/lib/commonjs/components/Camera.js.map +0 -1
  279. package/lib/commonjs/components/MapView.js +0 -449
  280. package/lib/commonjs/components/MapView.js.map +0 -1
  281. package/lib/commonjs/hooks/useNativeRef.js +0 -14
  282. package/lib/commonjs/hooks/useNativeRef.js.map +0 -1
  283. package/lib/commonjs/types/CameraMode.js +0 -14
  284. package/lib/commonjs/types/CameraMode.js.map +0 -1
  285. package/lib/commonjs/types/MapLibreRNEvent.js +0 -6
  286. package/lib/commonjs/types/OnPressEvent.js +0 -2
  287. package/lib/module/MapLibreRN.js +0 -33
  288. package/lib/module/MapLibreRN.js.map +0 -1
  289. package/lib/module/components/Camera.js +0 -328
  290. package/lib/module/components/Camera.js.map +0 -1
  291. package/lib/module/components/MapView.js +0 -444
  292. package/lib/module/components/MapView.js.map +0 -1
  293. package/lib/module/hooks/useNativeRef.js +0 -10
  294. package/lib/module/hooks/useNativeRef.js.map +0 -1
  295. package/lib/module/types/CameraMode.js +0 -10
  296. package/lib/module/types/CameraMode.js.map +0 -1
  297. package/lib/module/types/MapLibreRNEvent.js +0 -4
  298. package/lib/module/types/OnPressEvent.js +0 -2
  299. package/lib/typescript/commonjs/src/MapLibreRN.d.ts +0 -41
  300. package/lib/typescript/commonjs/src/MapLibreRN.d.ts.map +0 -1
  301. package/lib/typescript/commonjs/src/components/Camera.d.ts +0 -134
  302. package/lib/typescript/commonjs/src/components/Camera.d.ts.map +0 -1
  303. package/lib/typescript/commonjs/src/components/MapView.d.ts +0 -223
  304. package/lib/typescript/commonjs/src/components/MapView.d.ts.map +0 -1
  305. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts +0 -8
  306. package/lib/typescript/commonjs/src/hooks/useNativeRef.d.ts.map +0 -1
  307. package/lib/typescript/commonjs/src/types/CameraMode.d.ts +0 -7
  308. package/lib/typescript/commonjs/src/types/CameraMode.d.ts.map +0 -1
  309. package/lib/typescript/commonjs/src/types/MapLibreRNEvent.d.ts +0 -6
  310. package/lib/typescript/commonjs/src/types/MapLibreRNEvent.d.ts.map +0 -1
  311. package/lib/typescript/commonjs/src/types/OnPressEvent.d.ts +0 -12
  312. package/lib/typescript/commonjs/src/types/OnPressEvent.d.ts.map +0 -1
  313. package/lib/typescript/module/src/MapLibreRN.d.ts +0 -41
  314. package/lib/typescript/module/src/MapLibreRN.d.ts.map +0 -1
  315. package/lib/typescript/module/src/components/Camera.d.ts +0 -134
  316. package/lib/typescript/module/src/components/Camera.d.ts.map +0 -1
  317. package/lib/typescript/module/src/components/MapView.d.ts +0 -223
  318. package/lib/typescript/module/src/components/MapView.d.ts.map +0 -1
  319. package/lib/typescript/module/src/hooks/useNativeRef.d.ts +0 -8
  320. package/lib/typescript/module/src/hooks/useNativeRef.d.ts.map +0 -1
  321. package/lib/typescript/module/src/types/CameraMode.d.ts +0 -7
  322. package/lib/typescript/module/src/types/CameraMode.d.ts.map +0 -1
  323. package/lib/typescript/module/src/types/MapLibreRNEvent.d.ts +0 -6
  324. package/lib/typescript/module/src/types/MapLibreRNEvent.d.ts.map +0 -1
  325. package/lib/typescript/module/src/types/OnPressEvent.d.ts +0 -12
  326. package/lib/typescript/module/src/types/OnPressEvent.d.ts.map +0 -1
  327. package/src/MapLibreRN.ts +0 -75
  328. package/src/components/Camera.tsx +0 -568
  329. package/src/components/MapView.tsx +0 -838
  330. package/src/hooks/useNativeRef.ts +0 -14
  331. package/src/types/CameraMode.ts +0 -6
  332. package/src/types/MapLibreRNEvent.ts +0 -7
  333. package/src/types/OnPressEvent.ts +0 -11
  334. /package/ios/{CameraUpdateItem.h → components/camera/CameraUpdateItem.h} +0 -0
  335. /package/ios/{CameraUpdateQueue.h → components/camera/CameraUpdateQueue.h} +0 -0
  336. /package/ios/{CameraUpdateQueue.m → components/camera/CameraUpdateQueue.m} +0 -0
  337. /package/ios/{MLRNSnapshotModule → modules/snapshot}/MLRNSnapshotModule.h +0 -0
@@ -1,568 +0,0 @@
1
- import { point } from "@turf/helpers";
2
- import {
3
- forwardRef,
4
- memo,
5
- useEffect,
6
- useImperativeHandle,
7
- useMemo,
8
- useState,
9
- } from "react";
10
- import { Platform, requireNativeComponent, type ViewProps } from "react-native";
11
-
12
- import { CameraModes } from "../MLRNModule";
13
- import { useNativeRef } from "../hooks/useNativeRef";
14
- import { type BaseProps } from "../types/BaseProps";
15
- import { CameraMode } from "../types/CameraMode";
16
- import { type MapLibreRNEvent } from "../types/MapLibreRNEvent";
17
- import { makeNativeBounds } from "../utils/makeNativeBounds";
18
-
19
- export const NATIVE_MODULE_NAME = "MLRNCamera";
20
-
21
- export enum UserTrackingMode {
22
- Follow = "normal",
23
- FollowWithHeading = "compass",
24
- FollowWithCourse = "course",
25
- }
26
-
27
- export type UserTrackingModeChangeCallback = (
28
- event: MapLibreRNEvent<
29
- "usertrackingmodechange",
30
- {
31
- followUserLocation: boolean;
32
- followUserMode: UserTrackingMode | null;
33
- }
34
- >,
35
- ) => void;
36
-
37
- export function getNativeCameraMode(mode?: CameraAnimationMode): CameraMode {
38
- switch (mode) {
39
- case "flyTo":
40
- return CameraModes.Flight;
41
- case "moveTo":
42
- return CameraModes.None;
43
- case "linearTo":
44
- return CameraModes.Linear;
45
- case "easeTo":
46
- return CameraModes.Ease;
47
- default:
48
- return CameraModes.None;
49
- }
50
- }
51
-
52
- function makeNativeCameraStop(stop?: CameraStop): NativeCameraStop | undefined {
53
- if (!stop) {
54
- return undefined;
55
- }
56
-
57
- const newNativeStop: NativeCameraStop = {};
58
-
59
- if (stop.animationDuration !== undefined) {
60
- newNativeStop.duration = stop.animationDuration;
61
- }
62
- if (stop.animationMode !== undefined) {
63
- newNativeStop.mode = getNativeCameraMode(stop.animationMode);
64
- }
65
- if (stop.centerCoordinate) {
66
- newNativeStop.centerCoordinate = JSON.stringify(
67
- point(stop.centerCoordinate),
68
- );
69
- }
70
- if (stop.heading !== undefined) {
71
- newNativeStop.heading = stop.heading;
72
- }
73
- if (stop.pitch !== undefined) {
74
- newNativeStop.pitch = stop.pitch;
75
- }
76
- if (stop.zoomLevel !== undefined) {
77
- newNativeStop.zoom = stop.zoomLevel;
78
- }
79
-
80
- if (stop.bounds && stop.bounds.ne && stop.bounds.sw) {
81
- const { ne, sw } = stop.bounds;
82
- newNativeStop.bounds = makeNativeBounds(ne, sw);
83
- }
84
-
85
- const paddingTop = stop.padding?.paddingTop ?? stop.bounds?.paddingTop;
86
- if (paddingTop !== undefined) {
87
- newNativeStop.paddingTop = paddingTop;
88
- }
89
-
90
- const paddingRight = stop.padding?.paddingRight ?? stop.bounds?.paddingRight;
91
- if (paddingRight !== undefined) {
92
- newNativeStop.paddingRight = paddingRight;
93
- }
94
-
95
- const paddingBottom =
96
- stop.padding?.paddingBottom ?? stop.bounds?.paddingBottom;
97
- if (paddingBottom !== undefined) {
98
- newNativeStop.paddingBottom = paddingBottom;
99
- }
100
-
101
- const paddingLeft = stop.padding?.paddingLeft ?? stop.bounds?.paddingLeft;
102
- if (paddingLeft !== undefined) {
103
- newNativeStop.paddingLeft = paddingLeft;
104
- }
105
-
106
- if (newNativeStop.centerCoordinate && newNativeStop.bounds) {
107
- throw new Error(
108
- "Create a camera stop with bounds and centerCoordinate – this is not possible.",
109
- );
110
- }
111
-
112
- return newNativeStop;
113
- }
114
-
115
- export interface CameraRef {
116
- setCamera: (config: CameraStop | CameraStops) => void;
117
-
118
- fitBounds: (
119
- ne: GeoJSON.Position,
120
- sw: GeoJSON.Position,
121
- paddingConfig?: number | number[],
122
- animationDuration?: number,
123
- ) => void;
124
-
125
- flyTo: (coordinates: GeoJSON.Position, animationDuration?: number) => void;
126
-
127
- moveTo: (coordinates: GeoJSON.Position, animationDuration?: number) => void;
128
-
129
- zoomTo: (zoomLevel: number, animationDuration?: number) => void;
130
- }
131
-
132
- export interface CameraPadding {
133
- /**
134
- * Left padding in points
135
- */
136
- paddingLeft?: number;
137
- /**
138
- * Right padding in points
139
- */
140
- paddingRight?: number;
141
- /**
142
- * Top padding in points
143
- */
144
- paddingTop?: number;
145
- /**
146
- * Bottom padding in points
147
- */
148
- paddingBottom?: number;
149
- }
150
-
151
- export interface CameraBounds {
152
- /**
153
- * North east coordinate of bound
154
- */
155
- ne: number[];
156
- /**
157
- * South west coordinate of bound
158
- */
159
- sw: number[];
160
- }
161
-
162
- interface CameraBoundsWithPadding
163
- extends CameraBounds,
164
- Partial<CameraPadding> {}
165
-
166
- export type CameraAnimationMode = "flyTo" | "easeTo" | "linearTo" | "moveTo";
167
-
168
- export interface NativeCameraStop extends CameraPadding {
169
- duration?: number;
170
- mode?: CameraMode;
171
- pitch?: number;
172
- heading?: number;
173
- zoom?: number;
174
- centerCoordinate?: string;
175
- bounds?: string;
176
- }
177
-
178
- export interface CameraStop {
179
- /** The location on which the map should center. */
180
- centerCoordinate?: GeoJSON.Position;
181
- /** The corners of a box around which the map should bound. Contains padding props for backwards
182
- * compatibility; the root `padding` prop should be used instead. */
183
- bounds?: CameraBoundsWithPadding;
184
- /** The heading (orientation) of the map. */
185
- heading?: number;
186
- /** The pitch of the map. */
187
- pitch?: number;
188
- /** The zoom level of the map. */
189
- zoomLevel?: number;
190
- /** The viewport padding in points. */
191
- padding?: CameraPadding;
192
- /** The duration the map takes to animate to a new configuration. */
193
- animationDuration?: number;
194
- /** The easing or path the camera uses to animate to a new configuration. */
195
- animationMode?: CameraAnimationMode;
196
- }
197
-
198
- export type CameraStops = {
199
- stops: CameraStop[];
200
- };
201
-
202
- export interface CameraProps extends BaseProps, CameraStop {
203
- /**
204
- * Default view settings applied on camera
205
- */
206
- defaultSettings?: CameraStop;
207
-
208
- /**
209
- * Minimum zoom level of the map
210
- */
211
- minZoomLevel?: number;
212
-
213
- /**
214
- * Maximum zoom level of the map
215
- */
216
- maxZoomLevel?: number;
217
-
218
- /**
219
- * Restrict map panning so that the center is within these bounds
220
- */
221
- maxBounds?: CameraBounds;
222
-
223
- /**
224
- * Should the map orientation follow the user's.
225
- */
226
- followUserLocation?: boolean;
227
-
228
- /**
229
- * The mode used to track the user location on the map. One of; "normal", "compass", "course". Each mode string is also available as a member on the `UserTrackingMode` object. `Follow` (normal), `FollowWithHeading` (compass), `FollowWithCourse` (course). NOTE: `followUserLocation` must be set to `true` for any of the modes to take effect.
230
- */
231
- followUserMode?: UserTrackingMode;
232
-
233
- /**
234
- * The zoomLevel on map while followUserLocation is set to `true`
235
- */
236
- followZoomLevel?: number;
237
-
238
- /**
239
- * The pitch on map while followUserLocation is set to `true`
240
- */
241
- followPitch?: number;
242
-
243
- /**
244
- * The heading on map while followUserLocation is set to `true`
245
- */
246
- followHeading?: number;
247
-
248
- /**
249
- * Triggered when `followUserLocation` or `followUserMode` changes
250
- */
251
- onUserTrackingModeChange?: UserTrackingModeChangeCallback;
252
- }
253
-
254
- export interface NativeCameraProps
255
- extends Omit<CameraProps, "maxBounds">,
256
- ViewProps {
257
- maxBounds?: string;
258
- stop?: NativeCameraStop;
259
- defaultStop?: NativeCameraStop;
260
- }
261
-
262
- export const Camera = memo(
263
- forwardRef<CameraRef, CameraProps>(
264
- (
265
- {
266
- animationMode,
267
- animationDuration,
268
- bounds,
269
- centerCoordinate,
270
- defaultSettings,
271
- followUserLocation,
272
- followHeading,
273
- followPitch,
274
- followUserMode,
275
- followZoomLevel,
276
- heading,
277
- maxBounds,
278
- maxZoomLevel,
279
- minZoomLevel,
280
- onUserTrackingModeChange,
281
- padding,
282
- pitch,
283
- zoomLevel,
284
- }: CameraProps,
285
- ref,
286
- ) => {
287
- const nativeCameraRef = useNativeRef<NativeCameraProps>();
288
-
289
- const setCamera = (config: CameraStop | CameraStops = {}): void => {
290
- if ("stops" in config) {
291
- nativeCameraRef.current?.setNativeProps({
292
- stop: {
293
- stops: config.stops
294
- .map((stopItem) => makeNativeCameraStop(stopItem))
295
- .filter((stopItem) => !!stopItem),
296
- },
297
- });
298
- } else {
299
- const stop = makeNativeCameraStop(config);
300
-
301
- if (stop) {
302
- nativeCameraRef.current?.setNativeProps({ stop });
303
- }
304
- }
305
- };
306
-
307
- const fitBounds = (
308
- ne: GeoJSON.Position,
309
- sw: GeoJSON.Position,
310
- padding?: number | number[],
311
- animationDuration?: number,
312
- ): void => {
313
- const _padding: CameraPadding = {};
314
-
315
- if (Array.isArray(padding)) {
316
- if (padding.length === 2) {
317
- _padding.paddingTop = padding[0];
318
- _padding.paddingBottom = padding[0];
319
- _padding.paddingLeft = padding[1];
320
- _padding.paddingRight = padding[1];
321
- } else if (padding.length === 4) {
322
- _padding.paddingTop = padding[0];
323
- _padding.paddingRight = padding[1];
324
- _padding.paddingBottom = padding[2];
325
- _padding.paddingLeft = padding[3];
326
- }
327
- } else if (typeof padding === "number") {
328
- _padding.paddingLeft = padding;
329
- _padding.paddingRight = padding;
330
- _padding.paddingTop = padding;
331
- _padding.paddingBottom = padding;
332
- }
333
-
334
- setCamera({
335
- bounds: { ne, sw },
336
- padding: _padding,
337
- animationDuration,
338
- animationMode: "easeTo",
339
- });
340
- };
341
-
342
- const flyTo = (
343
- coordinates: GeoJSON.Position,
344
- animationDuration = 2000,
345
- ): void => {
346
- setCamera({
347
- centerCoordinate: coordinates,
348
- animationDuration,
349
- animationMode: "flyTo",
350
- });
351
- };
352
-
353
- const moveTo = (
354
- coordinates: GeoJSON.Position,
355
- animationDuration = 0,
356
- ): void => {
357
- setCamera({
358
- centerCoordinate: coordinates,
359
- animationDuration,
360
- animationMode: "easeTo",
361
- });
362
- };
363
-
364
- const zoomTo = (zoomLevel: number, animationDuration = 2000): void => {
365
- setCamera({
366
- zoomLevel,
367
- animationDuration,
368
- animationMode: "flyTo",
369
- });
370
- };
371
-
372
- useImperativeHandle(
373
- ref,
374
- (): CameraRef => ({
375
- /**
376
- * Map camera transitions to fit provided bounds
377
- *
378
- * @example
379
- * cameraRef.current?.fitBounds([lng, lat], [lng, lat])
380
- * cameraRef.current?.fitBounds([lng, lat], [lng, lat], 20, 1000) // padding for all sides
381
- * cameraRef.current?.fitBounds([lng, lat], [lng, lat], [verticalPadding, horizontalPadding], 1000)
382
- * cameraRef.current?.fitBounds([lng, lat], [lng, lat], [top, right, bottom, left], 1000)
383
- *
384
- * @param {number[]} ne - North east coordinate of bound
385
- * @param {number[]} sw - South west coordinate of bound
386
- * @param {number|number[]|undefined} padding - Padding for the bounds
387
- * @param {number=} animationDuration - Duration of camera animation
388
- * @return {void}
389
- */
390
- fitBounds,
391
- /**
392
- * Map camera will fly to new coordinate
393
- *
394
- * @example
395
- * cameraRef.current?.flyTo([lng, lat])
396
- * cameraRef.current?.flyTo([lng, lat], 12000)
397
- *
398
- * @param {number[]} coordinates - Coordinates that map camera will jump to
399
- * @param {number=} animationDuration - Duration of camera animation
400
- * @return {void}
401
- */
402
- flyTo,
403
- /**
404
- * Map camera will move to new coordinate at the same zoom level
405
- *
406
- * @example
407
- * cameraRef.current?.moveTo([lng, lat], 200) // eases camera to new location based on duration
408
- * cameraRef.current?.moveTo([lng, lat]) // snaps camera to new location without any easing
409
- *
410
- * @param {number[]} coordinates - Coordinates that map camera will move too
411
- * @param {number=} animationDuration - Duration of camera animation
412
- * @return {void}
413
- */
414
- moveTo,
415
- /**
416
- * Map camera will zoom to specified level
417
- *
418
- * @example
419
- * cameraRef.current?.zoomTo(16)
420
- * cameraRef.current?.zoomTo(16, 100)
421
- *
422
- * @param {number} zoomLevel - Zoom level that the map camera will animate too
423
- * @param {number=} animationDuration - Duration of camera animation
424
- * @return {void}
425
- */
426
- zoomTo,
427
- /**
428
- * Map camera will perform updates based on provided config. Advanced use only!
429
- *
430
- * @example
431
- * cameraRef.current?.setCamera({
432
- * centerCoordinate: [lng, lat],
433
- * zoomLevel: 16,
434
- * animationDuration: 2000,
435
- * })
436
- *
437
- * cameraRef.current?.setCamera({
438
- * stops: [
439
- * { pitch: 45, animationDuration: 200 },
440
- * { heading: 180, animationDuration: 300 },
441
- * ]
442
- * })
443
- *
444
- * @param {Object} config - Camera configuration
445
- */
446
- setCamera,
447
- }),
448
- );
449
-
450
- const followProps = useMemo(() => {
451
- return {
452
- followUserMode,
453
- followPitch: followPitch ?? pitch,
454
- followHeading: followHeading ?? heading,
455
- followZoomLevel: followZoomLevel ?? zoomLevel,
456
- };
457
- }, [
458
- followUserMode,
459
- followPitch,
460
- pitch,
461
- followHeading,
462
- heading,
463
- followZoomLevel,
464
- zoomLevel,
465
- ]);
466
-
467
- useEffect(() => {
468
- if (followUserLocation) {
469
- if (Platform.OS === "android") {
470
- nativeCameraRef.current?.setNativeProps({
471
- ...followProps,
472
- followUserLocation,
473
- });
474
- } else {
475
- nativeCameraRef.current?.setNativeProps({
476
- ...followProps,
477
- });
478
- nativeCameraRef.current?.setNativeProps({
479
- followUserLocation,
480
- });
481
- }
482
- } else {
483
- nativeCameraRef.current?.setNativeProps({
484
- followUserLocation,
485
- });
486
- }
487
- }, [followUserLocation, followProps]);
488
-
489
- const nativeMaxBounds = useMemo(() => {
490
- if (!maxBounds?.ne || !maxBounds?.sw) {
491
- return undefined;
492
- }
493
-
494
- return makeNativeBounds(maxBounds.ne, maxBounds.sw);
495
- }, [maxBounds]);
496
-
497
- useEffect(() => {
498
- if (!followUserLocation) {
499
- nativeCameraRef.current?.setNativeProps({
500
- maxBounds: nativeMaxBounds,
501
- });
502
- }
503
- }, [followUserLocation, nativeMaxBounds]);
504
-
505
- useEffect(() => {
506
- if (!followUserLocation) {
507
- nativeCameraRef.current?.setNativeProps({
508
- minZoomLevel,
509
- });
510
- }
511
- }, [followUserLocation, minZoomLevel]);
512
-
513
- useEffect(() => {
514
- if (!followUserLocation) {
515
- nativeCameraRef.current?.setNativeProps({
516
- maxZoomLevel,
517
- });
518
- }
519
- }, [followUserLocation, maxZoomLevel]);
520
-
521
- const nativeStop = useMemo(() => {
522
- return makeNativeCameraStop({
523
- animationDuration,
524
- animationMode,
525
- bounds,
526
- centerCoordinate,
527
- heading,
528
- padding,
529
- pitch,
530
- zoomLevel,
531
- });
532
- }, [
533
- animationDuration,
534
- animationMode,
535
- bounds,
536
- centerCoordinate,
537
- heading,
538
- padding,
539
- pitch,
540
- zoomLevel,
541
- ]);
542
-
543
- useEffect(() => {
544
- if (!followUserLocation) {
545
- nativeCameraRef.current?.setNativeProps({
546
- stop: nativeStop,
547
- });
548
- }
549
- }, [followUserLocation, nativeStop]);
550
-
551
- const [nativeDefaultStop] = useState(
552
- makeNativeCameraStop(defaultSettings),
553
- );
554
-
555
- return (
556
- <MLRNCamera
557
- testID="Camera"
558
- ref={nativeCameraRef}
559
- defaultStop={nativeDefaultStop}
560
- onUserTrackingModeChange={onUserTrackingModeChange}
561
- />
562
- );
563
- },
564
- ),
565
- );
566
-
567
- const MLRNCamera =
568
- requireNativeComponent<NativeCameraProps>(NATIVE_MODULE_NAME);